Все ноды/AI/Media (Speech / Image / Video)
Речь → Текст
Транскрибирует аудиофайл в текст (STT). Модель и её параметры берутся из медиа-каталога; ключ — из env или из OpenRouter-коннекта workspace.
Тип в графе: speech_to_text
Exec
Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.
Порты можно разделить на исполнение и данные (split ports).
Как попробовать
Минимальный рабочий воркфлоу
- Исполнение + данные
Перед запуском выберите своё подключение или базу знаний — в графе стоит REPLACE_ME.
Как применять
Нода расшифровывает аудиофайл в текст. Берите её, когда нужен именно текст: сохранить расшифровку, искать по ней, разветвить граф условием. Если нужен только ответ на голосовое, транскрипция необязательна — модель с поддержкой аудио прочитает вложение сама в ИИ-агенте или Ответе LLM. А вот модель без поддержки аудио вложение просто не увидит, и тогда без этой ноды не обойтись.
Обратная задача — у Текст → Речь. В отличие от неё и от Генерации изображения, расшифровка не подключается к агенту инструментом: голосовое сообщение и так приезжает вложением хода.
Как это работает
Порт Audio — файловый: в него годится вложение входящего сообщения, файл из
хранилища воркспейса или выход
Получить файл Telegram. Если пришло несколько файлов, нода берёт
первый читаемый. Формат для провайдера определяется по типу файла, а когда тип неизвестен — по
сигнатуре самих байт, поэтому wav или ogg не отправятся как mp3.
У модели два параметра: подсказка и язык. Оба принимают Jinja-шаблоны — в подсказку удобно подставлять имена и термины, которые встретятся в записи. Пустой язык означает автоопределение.
Каталог моделей распознавания короткий и ведётся вручную: у провайдера нет фильтра по аудио-входу, поэтому список нельзя собрать автоматически, как остальные каталоги.
Выход Text — строка. В шаблонах она читается как {{ nodes.<id>.output }}.
Частые ошибки
- Ребро из Входа в
Audioпугает предупреждением о типах портов (сообщение → файл). Это шум: вложения сообщения разворачиваются в файлы, и запуск отработает. - Ждут таймкодов, разбивки по говорящим или разметки. Нода отдаёт один текст и больше ничего.
- Считают пустой результат сбоем. Если модель не расслышала ничего, нода завершится успешно с пустой строкой — проверяйте сам текст условием, а не статусом ноды.
- Пишут
nodes.<id>.output.text. На ребро и в шаблон уходит сама строка расшифровки. - Подают на вход несколько записей сразу. Лишние файлы молча игнорируются; для пачки нужен цикл.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Audioaudio | Исполнение + данныеexecute_data | file |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Texttext | Исполнение + данныеexecute_data | string |
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Модельmodel | string | openrouter/openai/whisper-large-v3 | Модель распознавания речи из медиа-каталога (например, 'openrouter/openai/whisper-large-v3'). Её собственные параметры (промпт-подсказка, язык) появляются ниже после выбора модели. Варианты: |
| Дополнительно | |||
ID подключенияconnection_id | string | "" | Необязательный коннект воркспейса со своим ключом провайдера (BYO). Пусто = ключ платформы из окружения. подключение: openrouter |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.split_ports_in— Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.split_ports_out— Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.