Перейти к содержанию

Шаблоны Speech Expert для n8n

Команда n8n верифицировала узел Speech Expert: операции распознавания, синтеза и исследования настраиваются прямо в его интерфейсе. Он уже доступен из npm для self-hosted n8n; выпуск в каталог verified nodes ожидается. Ниже описаны шаблоны со встроенными узлами — их можно использовать без установки npm-пакета, в том числе в n8n Cloud.

Четыре шаблона соединяют форму n8n с API Speech Expert. Пользователь загружает аудио или вводит текст, а после обработки скачивает результат в той же форме. Используются встроенные ноды n8n: отдельный коннектор устанавливать не требуется.

Задача Что отправить Что получится Шаблон
Распознавание Один аудио- или видеофайл и один из семи языков TXT с расшифровкой и, при включении, резюме Скачать JSON
Синтез Текст и выбранный голос WAV с озвучкой Скачать JSON
Исследование аудио Запись и фрагмент продолжительностью 20–120 секунд JSON с наблюдениями и ограничениями анализа Скачать JSON
Сравнение TTS Два полных аудиоклипа и исходный текст JSON со сравнением вариантов A и B Скачать JSON

Это файлы для самостоятельного импорта. Публикация в каталоге шаблонов n8n — отдельный этап; ссылки выше ведут на шаблоны Speech Expert.

Проверенная версия — n8n 2.46.6. В изолированной установке прошли четыре успешных сценария и семь проверок ошибок и граничных условий с имитацией API Speech Expert. Реальные провайдеры распознавания, синтеза и анализа в этих проверках не вызывались. Отдельно после обновления сервера проверены загрузка аудио по API-ключу и предварительный расчёт (preview) исследования и A/B-сравнения на публичном API; платный анализ не запускался.

Подготовка

Понадобятся установленный n8n или аккаунт n8n Cloud, аккаунт Speech Expert, активный API-ключ и кредиты для выбранной обработки. Ключ можно создать в личном кабинете Speech Expert. Первое знакомство с API описано в быстром старте.

В шаблонах два независимых вида доступа:

Credential n8n Для чего Как настроить
Header Auth Запросы к Speech Expert Name: Authorization; Value: Api-Key <ваш-ключ>
Basic Auth Доступ к форме n8n Придумайте отдельные логин и пароль для пользователей формы

Не используйте API-ключ в качестве пароля формы. Пользователь формы запускает обработку за счёт владельца подключённого ключа, поэтому делитесь доступом только с теми, кому разрешено расходовать эти кредиты.

Импорт и первый запуск

  1. Скачайте нужный JSON из таблицы и импортируйте его в новый workflow n8n через Import from File.
  2. Создайте credential Header Auth с заголовком из таблицы выше. Выберите его во всех HTTP Request нодах, обращающихся к Speech Expert. Они используют Generic Credential Type → Header Auth.
  3. Откройте начальную ноду Form Trigger. В ней уже выбран Basic Auth; подключите отдельный credential с логином и паролем формы.
  4. Прочитайте заметки на схеме и проверьте значения в форме. Для первого запуска возьмите небольшой файл или короткий текст.
  5. Запустите workflow вручную, откройте Test URL, введите логин и пароль формы и отправьте данные. Дождитесь страницы со скачиванием результата.
  6. Проверьте скачанный файл и выполненную операцию в n8n. После проверки опубликуйте или активируйте workflow и используйте Production URL.

Шаблоны импортируются выключенными. В распространяемых JSON нет API-ключей, паролей, привязок к чужим credentials или идентификаторов чужих записей. Идентификаторы новых операций и источников берутся из ответов API во время выполнения.

Аудио → расшифровка и резюме

Сценарий: форма → фоновое распознавание → опрос операции → TXT → скачивание. Файл из бинарного поля audio отправляется в POST /api/stt/v1:recognizeAsync. Затем workflow опрашивает GET /api/operations/{id} с интервалом 5 секунд, проверяя завершение и ошибку операции. Ожидание ограничено 10 минутами; сетевые запросы могут добавлять время к этому интервалу.

В поле Speech language доступны семь основных языков. Пустой выбор означает русский; нода Validate input автоматически подставляет совместимую пару языка и модели:

Язык в форме lang Модель шаблона
Russian ru-RU SpeechExpert-STT-RU
English en-US Parakeet-EN
Kazakh kk-KZ SpeechExpert-STT-KK-Large
Kyrgyz ky-KG SpeechExpert-STT-KY-Large
Uzbek uz-UZ SpeechExpert-STT-UZ
Tajik tg-TJ SpeechExpert-STT-TG-Large
Armenian hy-AM SpeechExpert-STT-HY-Large

Это выбранные маршруты данного шаблона. Стоимость зависит от модели. Модели Large для казахского, кыргызского, таджикского и армянского используют внешнюю обработку аудио; подробности приведены в описании моделей. Все запросы используют mono, без диаризации и LLM-коррекции. Автоматического определения языка в шаблоне нет.

В форме можно выбрать No summary, Short summary или Conversation summary; пустой выбор означает распознавание без резюме. Резюме требует дополнительной обработки текста внешней LLM и по умолчанию создаётся на преобладающем языке расшифровки. Выбор языка записи не переводит транскрипт на другой язык. В TXT сохраняются текст и доступное резюме. Детальные поля исходного ответа можно посмотреть в выполнении n8n и использовать в следующих нодах.

Загрузка через поле audio этого API — временный источник: запись не добавляется автоматически в раздел Мои записи. История выполнения n8n может сохранять загруженный файл и результат по настройкам вашего экземпляра.

Если 10 минут оказалось недостаточно, сначала проверьте существующую операцию по её id. Завершение ожидания в n8n не отменяет обработку в Speech Expert; повторная отправка формы создаст новую операцию.

Подробнее: фоновый STT v1, модели и языки, операции.

Текст → WAV

Сценарий: форма → фоновый синтез → опрос операции → скачивание WAV.

Введите текст от 1 до 40 000 символов. Пустое поле голоса означает pavel-higgs — Профессор Петухов; пустой выбор движка означает higgs. По умолчанию заданы русский язык ru-RU, скорость 1.0 и WAV 48 кГц.

Чтобы использовать другой голос, получите актуальный каталог через GET /api/tts/v1/voices и скопируйте его точное значение name в поле Catalogue voice name. Отображаемое имя label и ID провайдера не заменяют этот идентификатор. В форме также можно выбрать eleven_v4: поле synthesis_engines выбранного голоса должно содержать нужный движок. Workflow передаёт имя серверу, который проверяет его доступность и совместимость; отдельного запроса каталога в шаблоне нет.

Задание создаётся через POST /api/tts/v1/operations, статус читается через GET /api/tts/v1/operations/{id}, готовое аудио — через GET /api/tts/v1/operations/{id}/audio. Опрос выполняется с интервалом 5 секунд и ограничением ожидания 10 минут. WAV скачивается после успешного завершения, а ошибка операции не выдаётся за готовую озвучку.

Для первого запуска достаточно одного-двух предложений. Длинный текст может потребовать большего времени: при достижении лимита проверьте уже созданное задание, прежде чем отправлять текст заново.

Подробнее: каталог голосов, фоновый синтез.

Исследование звучания

Сценарий: загрузка источника → предварительная проверка → проверка стоимости → анализ → скачивание JSON.

Загрузите запись, выберите непрерывный фрагмент продолжительностью 20–120 секунд и укажите задачу исследования. Сам исходный файл может быть длиннее выбранного фрагмента. Границы должны находиться внутри записи.

В форме доступны три пресета:

Значение Задача
prosody_meaning Смысловые акценты и возможные прочтения интонации
audience_peaks Слышимые реакции аудитории: смех, аплодисменты и отклик
tension_delivery Изменения темпа, громкости и подачи без диагностики состояния человека

Введите начало и конец фрагмента в секундах; необязательный вопрос — до 4000 символов. Шаблон использует evidenceMode=none: модель получает аудио и вопрос, без подмешивания сохранённых результатов распознавания и анализаторов.

Источник добавляется через POST /api/creator-research/sources и сохраняется в архиве аккаунта. Затем POST /api/creator-research/preview проверяет запрос и возвращает предварительную стоимость без вызова модели анализа. В форме обязательно задаётся максимальная сумма в кредитах. Workflow сравнивает её с preview.billing.credits и запускает исследование только в пределах лимита. Для запроса /analyze используется maxCredits из проверенного расчёта.

POST /api/creator-research/analyze выполняется синхронно. Обращение к модели может занимать до 240 секунд при стандартной настройке сервера, а подготовка аудио добавляет время. Дождитесь результата, не отправляя форму повторно. JSON содержит ответ исследования, включая доступные наблюдения, таймкоды и ограничения. Описание полей приведено в руководстве по исследованию аудио.

Сравнение двух вариантов TTS

Сценарий сравнивает две озвучки одного исходного текста с пресетом tts_ab_quality. Загрузите два полных клипа: каждый должен быть длиннее нуля и не длиннее 120 секунд. В отличие от обычного исследования, здесь допустимы записи короче 20 секунд. Обрезание внутри шаблона не выполняется.

В форме укажите:

  • Вариант A и вариант B: два файла для сравнения.
  • Исходный текст (targetText): текст, который должны произнести оба варианта, до 4000 символов.
  • Контекст речи (speechContext): необязательное пояснение о нужном языке, диалекте или подаче, до 1000 символов.
  • Лимит кредитов: максимальную сумму для запуска анализа обоих клипов.

Метка pairId создаётся автоматически из идентификатора выполнения n8n. Её не нужно вводить в форме.

Оба файла загружаются отдельно через /sources с presetId=tts_ab_quality. Из ответов берутся id и duration_ms; анализ охватывает каждый клип целиком с нулевой начальной границей. Проверка стоимости учитывает суммарную длительность A и B. Как и в обычном исследовании, платный /analyze вызывается только после предварительной проверки и проверки лимита.

Скачиваемый JSON содержит субъективный разбор моделью: услышанный текст, замеченные ошибки, оценки и предпочтение, когда данных для него достаточно. Это не измеренный MOS и не замена прослушиванию людьми. Для ответственного выбора голоса проверьте отмеченные места на слух. Исходники остаются в архиве, а история сравнения привязывается к варианту A.

Подробнее: API и структура результатов исследования.

Размеры файлов, хранение и повторы

Размер загрузки. По умолчанию n8n ограничивает один файл в multipart-форме величиной 200 МиБ (N8N_FORMDATA_FILE_SIZE_MAX). Сервер Speech Expert обычно допускает загрузку до 500 МиБ, но это не увеличивает лимит вашей формы n8n. Фактический предел также зависит от reverse proxy и доступной памяти. Для больших файлов согласуйте настройки всех звеньев. У n8n по умолчанию бинарные данные находятся в памяти; для большого объёма настройте подходящее хранилище бинарных данных.

Хранение. Исследование аудио и A/B-сравнение добавляют исходники в архив Speech Expert. Если проверка стоимости остановила workflow после загрузки, источники уже сохранены. Удалить их или изменить политику хранения можно в личном кабинете. Отдельно проверьте срок хранения выполнений и файлов в n8n. Исследование передаёт выбранное аудио внешнему провайдеру; условия приведены в описании обработки данных.

Повторы. Для создающих и платных POST-запросов автоматические повторы отключены. Опрос состояния использует ограниченные повторы GET. У импорта исследовательского источника есть requestId, защищающий от дубликата при повторе именно этой загрузки. Он не делает повтор /analyze бесплатным и не объединяет разные отправки формы в одну задачу.

Долгий запрос. Ограничение времени workflow, тайм-аут HTTP Request и тайм-аут reverse proxy должны учитывать длительность анализа. В n8n Cloud входящий webhook-запрос ограничен 100 секундами; многостраничная форма и ожидание результата должны быть проверены в вашем окружении, прежде чем вы начнёте обрабатывать длинные записи. При обрыве ответа исследования сначала проверьте сохранённый результат в архиве: повторный /analyze может создать новый платный запуск.

Частые ошибки

Ситуация Что проверить
Форма требует логин и пароль Введите данные отдельного Basic Auth credential формы, не ключ Speech Expert
401 у HTTP Request Выбран ли Header Auth во всех нодах, активен ли ключ, точно ли указан Authorization: Api-Key …
402 или превышение лимита Баланс Speech Expert и лимит кредитов, заданный для исследования
413 при отправке файла Лимиты n8n, reverse proxy и Speech Expert
Голос не найден или несовместим Точное name из актуального каталога и поддержка higgs
409 при исследовании Не выполняется ли другое исследование того же аккаунта
Ожидание операции закончилось Её id и текущий статус; задача на сервере может продолжаться
Ошибка в сохранённом исследовании Ограничения входного фрагмента, исходный текст для A/B и сведения об ошибке в выполнении n8n

После изменения шаблона проверьте не только успешный запуск, но и ошибочный файл, отказ по лимиту и достижение времени ожидания. Для интеграции со своим хранилищем замените завершающую форму нужной нодой, сохранив проверку успешного результата перед его передачей.

При обработанной ошибке форма предлагает скачать speech-expert-error.json. В нём находятся сообщение, известный идентификатор операции и идентификаторы уже загруженных исследовательских источников. Это помогает проверить статус или найти сохранённые файлы, не запуская обработку повторно.