§ БЛОГ

Синтез речи в workflow: новая нода Staqflow — текст на входе, аудиофайл на выходе

В Staqflow появился узел «Синтез речи»: текст озвучивают OpenAI, Gemini, Qwen, Groq, Mistral, ElevenLabs, Deepgram, Yandex SpeechKit или ваш сервер. Девять провайдеров настраиваются одной панелью — голос, манера речи, роль и скорость, — а готовый аудиофайл сразу уходит голосовым в Telegram, в рассылку или в хранилище.

Синтез речи в workflow: новая нода Staqflow — текст на входе, аудиофайл на выходе

Голос нужен там, где текст уже не читают. Клиент не откроет письмо со статусом заказа, но прослушает голосовое в мессенджере. Оператор не будет листать сводку — послушает её по дороге. Курьеру удобнее услышать адрес, чем разбирать его с экрана на морозе.

Обычно озвучку делают руками: диктор, студия, правки на каждую запятую в тексте. Либо пишут свой скрипт вокруг API одной нейросети — и он ломается при первой же смене сервиса.

Синтез речи в workflow — это шаг процесса, который превращает текст в аудиофайл: на вход приходит строка, на выход — готовый файл, который следующий узел отправляет в Telegram, кладёт в хранилище или прикладывает к письму.

В Staqflow появился узел «Синтез речи». Девять провайдеров и все их голоса настраиваются одной панелью, поэтому сменить сервис можно, не перестраивая процесс.

Что умеет узел «Синтез речи»

  • Читает текст из процесса. В поле «Текст» подставляется что угодно через выражения: ответ языковой модели, название товара, имя клиента.
  • Отдаёт готовый файл. Аудио кладётся в бинарное поле элемента, поэтому его сразу принимает любой узел, работающий с файлами.
  • Скрывает различия провайдеров. Формат, скорость и манера задаются одинаково, а перевод в параметры конкретного API узел берёт на себя.
  • Не молчит про отказы. Если провайдер не принял параметр, он вернётся в поле ignored, а не потеряется.
  • Работает на том же подключении, что распознавание. Ключ заводится один раз и годится и для узла «Распознавание речи», и для синтеза.

Девять провайдеров в одной панели

ПровайдерЧем озвучиваетОсобенность
OpenAIgpt-4o-mini-tts и другие, голоса alloy, nova, onyx и ещё восемьманера речи задаётся словами; текст до 4096 символов
Google Geminiтридцать встроенных голосов — Zephyr, Puck, Kore и другиевсегда отвечает WAV
Qwen (Alibaba Cloud)qwen3-tts-flash и qwen3-tts-instruct-flashманеру принимают только модели с instruct в имени
Groqбыстрые модели озвучки, голоса troy, hannah, austinотвечает заметно быстрее остальных
Mistralголоса вашего аккаунтасписок голосов подтягивается из аккаунта
ElevenLabsмодель определяет языки и скорость ответасвои и клонированные голоса, стабильность и похожесть
Deepgramголос и есть модель: aura-2-thalia-en и подобныеотдельного поля модели нет; текст до 2000 символов
Yandex SpeechKitмодель general, русские голоса alena, filipp, zahar и другиероли: нейтрально, доброжелательно, строго, шёпотом
Свой сервервсё, что говорит на протоколе OpenAIключи и голоса остаются в вашем контуре

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

Честная оговорка: SaluteSpeech в синтезе нет — у Сбера в Staqflow остаётся распознавание речи. Русские голоса берите в SpeechKit, а сложные интонации — в ElevenLabs.

Какой провайдер выбрать

  • Русскоязычным клиентам — Yandex SpeechKit: голоса звучат естественно и есть роли, а ключ и данные остаются в российском облаке.
  • Когда важна интонация — ElevenLabs: он же даёт свои и клонированные голоса.
  • Когда уже есть ключ OpenAI или Gemini — берите их: отдельное подключение заводить не нужно, оно общее с языковой моделью.
  • Когда озвучек много и нужен быстрый ответ — Groq.
  • Когда наружу нельзя — свой сервер с моделью, совместимой с протоколом OpenAI.

Менять решение не страшно: провайдер — это поле в узле, а не переписанный процесс.

Как настроить

  1. Добавьте подключение к нужному сервису в учётных данных пространства. Тот же ключ будет работать и в распознавании речи.
  2. Поставьте узел «Синтез речи» на канву и выберите провайдера, модель и голос.
  3. Напишите текст. Здесь работают выражения: Здравствуйте, {{ $json.name }}. Ваш заказ уже в пути.
  4. Выберите формат файла: MP3, Opus, WAV, FLAC или AAC. MP3 подходит мессенджерам и вебу, WAV — без сжатия.

Дальше ставьте узел отправки: Telegram, почта, хранилище. Аудио уже лежит в поле data, имя поля меняется в параметрах.

Параметры, которые слышно

  • Манера речи — как произнести, своими словами: «говори тепло и неторопливо, как оператор поддержки». Принимают OpenAI, Gemini, Qwen и свой сервер; у OpenAI слушают это только новые модели, у Qwen — модели с instruct в имени.
  • Скорость от 0,25 до 4: единица — обычный темп. Есть у OpenAI, ElevenLabs, SpeechKit и своего сервера.
  • Роль у SpeechKit: нейтрально, доброжелательно, зло, строго, дружелюбно, шёпотом. Не у каждого голоса есть каждая роль — неподходящую сервис вернёт ошибкой.
  • Стабильность и похожесть на голос у ElevenLabs: меньше стабильность — живее и непредсказуемее, больше — ровнее.
  • Таймаут — по умолчанию 5 минут. Длинный текст читается минутами, лучше поднять, чем оборвать прогон.

Параметры показываются только тем провайдерам, которые их принимают, а ограничения проверяются до запроса: текст длиннее лимита провайдера узел остановит сразу, не потратив оплаченный вызов.

Что приходит на выход

Файл лежит в бинарном поле, а рядом — данные о нём:

  • provider, model, voice — кто озвучил, чем и каким голосом;
  • fileName, mimeType, bytes — имя файла, тип и размер;
  • characters — сколько символов озвучено: провайдеры берут плату за символы, так что по этому числу видно, во что обошлась озвучка;
  • ignored — параметры, которые провайдер не принял.

Ошибки тоже говорят по-человечески: «Модель ответила текстом, а не озвучила», «Провайдер отказался озвучивать» с его собственным объяснением, «Провайдер вернул пустой файл». Это тот случай, когда из истории запусков сразу видно, что произошло.

Сценарии автоматизации с озвучкой

Голосовые уведомления клиентам

Статус заказа сменился в учётной системе → текст собирается из данных заказа → узел озвучивает его голосом SpeechKit → сообщение уходит в Telegram-бот голосовым. Для клиента это удобнее ссылки на личный кабинет.

Озвучка статей и рассылок

Новая статья в CMS → узел читает текст и отдаёт MP3 → файл ложится в хранилище и попадает в подкаст-ленту. К обложке, нарисованной соседним узлом, добавляется звуковая версия — оба файла делает один процесс.

Ответы поддержки голосом

Языковая модель формулирует ответ клиенту → узел синтеза озвучивает его с манерой «тепло и неторопливо» → голосовое уходит в чат. Текст и аудио отправляются вместе, клиент выбирает, что ему удобнее.

Сводки для тех, у кого заняты руки

Утренний отчёт по продажам, список задач на день, сводка по заявкам — процесс по расписанию собирает текст, озвучивает и присылает файл в чат. Слушают в дороге.

Объявления и напоминания

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

Сколько это стоит

Провайдеры берут плату за символы по вашему тарифу — поэтому в ответе и есть поле characters. В Staqflow оплачивается только работа процесса: токены за CPU-секунды, а ожидание ответа нейросети процессор почти не грузит, так что сама озвучка в токенах стоит немного. Тарифы — на странице цен.

Частые вопросы

Какие нейросети озвучивают текст в Staqflow?

Девять провайдеров: OpenAI, Google Gemini, Qwen, Groq, Mistral, ElevenLabs, Deepgram, Yandex SpeechKit и любой сервер с протоколом OpenAI. Моделей и голосов внутри них гораздо больше.

Есть ли русские голоса?

Да, в Yandex SpeechKit: alena, filipp, zahar, jane и другие, с ролями от нейтральной до шёпота. Русский язык понимают и модели ElevenLabs, Gemini и OpenAI.

Можно ли озвучить своим голосом?

Голоса, созданные или клонированные в вашем аккаунте ElevenLabs, приходят в список голосов узла. То же и у Mistral.

Как отправить озвучку в Telegram?

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

Что делать с длинным текстом?

У OpenAI ограничение 4096 символов, у Deepgram — 2000. Длинный текст разбивают на части узлом-разделителем и озвучивают по очереди — каждый кусок придёт отдельным элементом с готовым файлом.

Можно ли сменить провайдера в готовом процессе?

Да, в этом и смысл общей панели: формат, скорость и остальные параметры переводятся под новый сервис, а то, что новый провайдер не принял, честно возвращается полем ignored.

Данные уходят во внешний сервис?

В облачные — да, как и при любом вызове чужого API. Если так нельзя, в собственном контуре к узлу подключается локальная модель, совместимая с протоколом OpenAI.

Попробуйте

  1. Создайте аккаунт — карта не нужна.
  2. Добавьте подключение к сервису, которым пользуетесь, и поставьте узел «Синтез речи».
  3. Или опишите задачу своему ИИ-клиенту через MCP: «Каждое утро озвучивай сводку по заявкам и присылай голосовым в чат».

Остальные сервисы, которым можно передать готовый аудиофайл, — в каталоге интеграций.