Шаблоны 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-ключ в качестве пароля формы. Пользователь формы запускает обработку за счёт владельца подключённого ключа, поэтому делитесь доступом только с теми, кому разрешено расходовать эти кредиты.
Импорт и первый запуск¶
- Скачайте нужный JSON из таблицы и импортируйте его в новый workflow n8n через Import from File.
- Создайте credential Header Auth с заголовком из таблицы выше. Выберите его во всех HTTP Request нодах, обращающихся к Speech Expert. Они используют Generic Credential Type → Header Auth.
- Откройте начальную ноду Form Trigger. В ней уже выбран Basic Auth; подключите отдельный credential с логином и паролем формы.
- Прочитайте заметки на схеме и проверьте значения в форме. Для первого запуска возьмите небольшой файл или короткий текст.
- Запустите workflow вручную, откройте Test URL, введите логин и пароль формы и отправьте данные. Дождитесь страницы со скачиванием результата.
- Проверьте скачанный файл и выполненную операцию в 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.
В нём находятся сообщение, известный идентификатор операции и идентификаторы
уже загруженных исследовательских источников. Это помогает проверить статус
или найти сохранённые файлы, не запуская обработку повторно.