Расшифровка голосовых Telegram в n8n: готовый шаблон с Palatine Speech
Бесплатный шаблон для n8n: ваш Telegram-бот принимает голосовое, отправляет его в Palatine Speech и отвечает текстом в тот же чат. Понадобятся токен бота, API-ключ Palatine Speech и n8n с публичным HTTPS-адресом.
- Шаблон бесплатный
- 6 рабочих нод
- n8n Cloud и self-hosted
- Нода с открытым кодом (MIT)
- от 0,29 ₽/мин
- Данные в РФ (152-ФЗ)
Как работает шаблон
Шаблон «Transcribe Telegram Voice Messages with Palatine Speech» лежит в официальной библиотеке n8n и превращает обычного Telegram-бота в расшифровщика голосовых. Человек отправляет боту войс и через несколько секунд получает в ответ его текст. Текстовые сообщения бот возвращает без изменений, по ним удобно проверять, что связь Telegram с n8n вообще работает.

Так шаблон выглядит на холсте n8n сразу после импорта. Красные значки на нодах Telegram пропадут, когда вы выберете в них учётные данные бота.
В воркфлоу шесть рабочих нод и четыре заметки с инструкцией прямо на холсте. Telegram Trigger получает каждое новое сообщение, Switch «Voice or Text?» смотрит, есть ли в нём voice.file_id, нода Telegram скачивает файл голосового, а нода Palatine Speech отправляет его в API и ждёт результат. Ответ уходит в тот же чат: chat.id берётся из данных триггера.
| Нода | Тип | Что делает |
|---|---|---|
| Telegram Trigger | Telegram Trigger | получает событие message от бота |
| Voice or Text? | Switch | делит поток на ветку голосовых (message.voice.file_id) и ветку текста (message.text) |
| Download Voice File | Telegram, ресурс File | скачивает голосовое по file_id, Telegram хранит его в OGG с кодеком Opus |
| Palatine Speech Transcription | Palatine Speech | распознаёт речь моделью palatine_large_highspeed, текст кладёт в поле transcription |
| Send Transcription Reply | Telegram | отправляет {{ $json.transcription }} в исходный чат |
| Echo Text Message | Telegram | возвращает текстовое сообщение как есть |
Что понадобится до установки
Нужны три вещи: токен бота от @BotFather, API-ключ Palatine Speech из личного кабинета и n8n, до которого Telegram может достучаться снаружи. Telegram шлёт вебхуки только по HTTPS и только на порты 443, 80, 88 или 8443, поэтому n8n на ноутбуке без туннеля или обратного прокси сообщений не получит.
В n8n Cloud публичный адрес уже есть, там ничего настраивать не нужно. На своём сервере n8n должен знать внешний адрес: его задают переменной окружения WEBHOOK_URL. Без неё триггер зарегистрирует в Telegram внутренний адрес контейнера, и сообщения до воркфлоу не дойдут. Ноду Palatine Speech ставят как community-пакет n8n-nodes-palatine-speech, работу с ним проверяли на n8n 1.39.1 и новее. В n8n Cloud можно выбрать верифицированную версию ноды, если она доступна в вашем рабочем пространстве.
Установка по шагам
Порядок взят из описания шаблона на n8n.io: сначала нода Palatine Speech, затем бот и ключи, в конце проверка и публикация. Шаблон рассчитан на оба варианта n8n. На своём сервере ноду ставят как community-пакет, а в n8n Cloud можно выбрать верифицированную ноду Palatine Speech, если она доступна в вашем рабочем пространстве.
- Установите ноду. На своём сервере откройте Settings → Community Nodes → Install и введите
n8n-nodes-palatine-speech, переменнаяN8N_COMMUNITY_PACKAGES_ENABLED=trueдолжна быть включена. В n8n Cloud выберите верифицированную ноду Palatine Speech. - Добавьте шаблон в n8n со страницы шаблона на n8n.io или импортируйте файл telegram-voice-to-text.json.
- Создайте отдельного бота через @BotFather, добавьте его токен в учётные данные Telegram API и выберите их во всех нодах Telegram: в триггере, скачивании файла и обоих ответах.
- В ноде Palatine Speech Transcription создайте учётные данные Palatine Speech API: API Key возьмите в личном кабинете, Base URL оставьте
https://api.palatine.ru. - Убедитесь, что Telegram достучится до публичного HTTPS-адреса вебхуков вашего n8n. Отправьте боту короткое голосовое и обычный текст, проверьте оба ответа и опубликуйте воркфлоу.
Отдельного бота на третьем шаге авторы шаблона советуют не случайно. У бота в Telegram может быть только один вебхук, поэтому если тот же токен уже подключён к другому воркфлоу, новый вебхук заменит прежний, и старый воркфлоу перестанет получать сообщения. Отдельный тестовый бот снимает эту проблему целиком.
Если бот нужен закрытой команде, ограничьте список разрешённых chat_id. Без этого бот будет расшифровывать голосовые любому, кто его найдёт, а каждая такая расшифровка списывается с вашего баланса.
Ограничения Telegram, о которых стоит знать заранее
Шаблон упирается не в распознавание, а в лимиты Bot API. Скачать файл через getFile бот может, только если тот не больше 20 МБ, а одно сообщение вмещает до 4096 символов. Длинную расшифровку Telegram в одном сообщении не примет, и нода ответа завершится ошибкой.
Для обычных голосовых 20 МБ хватает с запасом: Opus сжимает речь очень плотно. Проблемы начинаются, когда боту пересылают длинное видео или запись совещания файлом. Такие записи удобнее отправлять через расшифровку аудио в текст в веб-кабинете или поднять локальный сервер Bot API, который снимает ограничение на скачивание.
| Ограничение | Что произойдёт | Как обойти |
|---|---|---|
| Файл больше 20 МБ | getFile вернёт ошибку, скачивание упадёт | веб-кабинет или локальный сервер Bot API |
| Текст длиннее 4096 символов | Telegram отклонит сообщение | резать текст в ноде Code или отправлять .txt через Send Document |
| Один вебхук на бота | новый вебхук заменяет прежний, старый воркфлоу замолкает | отдельный бот для тестов |
| Только HTTPS, порты 443, 80, 88, 8443 | вебхук не зарегистрируется | WEBHOOK_URL, обратный прокси или n8n Cloud |
| Кружки и аудиофайлы | Switch их не распознаёт, бот молчит | добавить ветки, как описано ниже |
Как доработать шаблон
Из коробки шаблон понимает только message.voice. Видео-кружки приходят в поле message.video_note (это MP4), аудиофайлы в message.audio, файлы, отправленные документом, в message.document. Чтобы бот расшифровывал и их, добавьте в Switch правило с выражением {{ $json.message.video_note?.file_id ?? $json.message.audio?.file_id }}, а в ноде скачивания замените fileId на ту же цепочку вместе с voice. API Palatine Speech принимает MP4, MP3, M4A, WAV, FLAC и OGG, так что конвертировать ничего не придётся.
Нода Palatine Speech умеет больше, чем Transcribe. Операция Summarize со сценарием meeting_summary возвращает краткое содержание, решения и задачи с ответственными, а через user_prompt можно задать свою структуру ответа. Sentiment Analysis оценивает тон по пяти классам от Very Negative до Very Positive, Diarize размечает, кто из собеседников говорит. Отсюда типовые доработки: сводка вместо сырого текста для длинных войсов, запись каждой расшифровки в Google Sheets или базу, пометка негативных обращений для поддержки.
Шаблон n8n, бот или API: что выбрать
n8n оправдан, когда расшифровка только один шаг процесса: текст дальше уходит в CRM, таблицу, тикет или в другую модель. Если голосовые нужно просто читать, проще готовый бот @VoicePalatineBot. Он делает 100 расшифровок в день бесплатно, понимает кружки и делит речь по спикерам, настраивать ничего не надо.
Когда распознавание встраивается в собственный продукт, n8n становится лишним звеном, и надёжнее вызывать Speech-to-Text API напрямую. Скорость везде одна: обработка занимает примерно 1–2% длительности записи, полчаса звука распознаются примерно за 25 секунд.
| Вариант | Когда подходит | Где ломается | Что на выходе |
|---|---|---|---|
| Шаблон n8n | расшифровка плюс дальнейшие шаги без кода | нужен свой бот и публичный HTTPS, лимиты Bot API 20 МБ и 4096 символов | текст в чате и в любых следующих нодах |
| Бот @VoicePalatineBot | читать голосовые самому | 100 расшифровок в день, в процесс не встроить | текст со спикерами и тайм-кодами |
| API напрямую | своё приложение или сервис | нужен разработчик | JSON, текст, SRT или VTT |
Сколько стоит и где обрабатываются данные
Шаблон и нода бесплатны, нода распространяется под лицензией MIT с открытым кодом. Платить приходится только за распознанные минуты: от 0,29 ₽ за минуту без подписки, баланс не сгорает. Минутное голосовое обходится меньше чем в 30 копеек, а тестовые минуты для проверки выдаём по запросу.
Голосовое идёт из Telegram в ваш n8n, а оттуда в API Palatine Speech, который работает в четырёх ЦОД уровня Tier III в России. Обработка соответствует 152-ФЗ, данные передаются по TLS, модели на записях клиентов не обучаются. Если n8n развёрнут на сервере в РФ, запись на всём пути остаётся в российском контуре, за исключением самого Telegram, где голосовое хранится изначально.
Ответы на вопросы
Не нашли ответ на свой вопрос? Напишите нам
Нужно ли платить за шаблон или ноду?
Нет. Шаблон опубликован в библиотеке n8n бесплатно, нода n8n-nodes-palatine-speech распространяется под лицензией MIT. Платите только за распознанные минуты, от 0,29 ₽ за минуту.
Работает ли шаблон в n8n Cloud?
Да. В n8n Cloud выберите верифицированную ноду Palatine Speech, если она доступна в вашем рабочем пространстве. На своём сервере ноду ставят как community-пакет через Settings → Community Nodes.
Почему бот не отвечает на голосовые?
Чаще всего Telegram не может достучаться до n8n: вебхуки работают только по HTTPS на портах 443, 80, 88 или 8443. На своём сервере проверьте переменную WEBHOOK_URL и что воркфлоу опубликован. Если тот же токен подключён к другому воркфлоу, вебхук мог перехватить он.
Бот расшифрует видео-кружки и аудиофайлы?
Из коробки нет: Switch проверяет только поле message.voice. Добавьте ветки для message.video_note и message.audio и передайте их file_id в ноду скачивания, API принимает MP4, MP3, M4A, WAV, FLAC и OGG.
Что делать с длинными записями?
Bot API скачивает файлы до 20 МБ, а сообщение вмещает до 4096 символов. Длинный текст режьте на части в ноде Code или отправляйте файлом, а большие записи загружайте через веб-кабинет.
Можно ли получать сводку вместо полного текста?
Да. Замените в ноде Palatine Speech операцию Transcribe на Summarize: сценарий meeting_summary вернёт краткое содержание, решения и задачи, а user_prompt позволяет задать свою структуру.
Чем шаблон отличается от бота @VoicePalatineBot?
Бот готов к работе сразу и даёт 100 бесплатных расшифровок в день. Шаблон нужен, когда текст должен идти дальше: в CRM, таблицу или другой сервис, и когда бот должен быть вашим собственным.
Где обрабатываются записи?
API Palatine Speech работает в четырёх ЦОД Tier III в России по 152-ФЗ, данные передаются по TLS, модели на записях клиентов не обучаются.