VibeCoderzVibeCoderz
Все статьи
Вайбкодинг: гайды2026/09/0810 мин чтения

Голосовой бот для Telegram 2026 расшифровка и озвучка речи

Содержание (13)+

Голосовой бот телеграм принимает войс от пользователя, превращает его в текст через сервис распознавания речи и присылает ответ уже синтезированным голосом. Для расшифровки в 2026 году чаще всего берут Deepgram или Gladia. Для озвучки, ElevenLabs. Ниже пошагово: какой стек выбрать, сколько это стоит и как собрать такого бота на Python.

В 2026 году голосового бота для Telegram собирают на связке Deepgram или Gladia для расшифровки речи и ElevenLabs для озвучки ответа. Расшифровка стоит от 0,004 до 0,01 доллара за минуту, озвучка от 5 до 22 долларов в месяц за подписку. В статье: сравнение сервисов, готовый код на Python и разбор частых ошибок.

Изображение

Зачем вообще нужен голосовой бот в Telegram?

Голосовой бот экономит время там, где текст неудобен: за рулём, в дороге, при быстрой фиксации идей. Он расшифровывает войс в текст и умеет отвечать голосом в ответ.

Факт. У Telegram Premium уже есть встроенная расшифровка войсов, но она работает только внутри интерфейса и ничего не отправляет дальше в CRM, заметки или GPT. Свой бот забирает текст туда, куда нужно вам, и не зависит от подписки собеседника.

Изображение

Классический сценарий: человек присылает голосовым идею или задачу, бот расшифровывает её и кладёт в таск-трекер. Второй сценарий, обратный: бот получает текстовый ответ от ИИ-агента и озвучивает его голосом, чтобы пользователь мог просто послушать, не читая. Идея часто рождается из бытовой ситуации, а не из технического интереса. Один из авторов туториалов на YouTube придумал похожего бота, когда был в отпуске за границей с дорогим мобильным интернетом и не хотел скачивать тяжёлые войсы от друзей.

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

Как работает пайплайн расшифровки и озвучки голосового сообщения?

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

Факт. Telegram присылает голосовые сообщения в формате OGG с кодеком Opus. Ни Deepgram, ни Gladia, ни ElevenLabs не работают с этим форматом на выходе напрямую, поэтому в связке почти всегда участвует ffmpeg для конвертации туда и обратно.

Изображение

Шаги выглядят так. Бот получает апдейт от Telegram через вебхук или long polling, в апдейте есть message.voice.file_id. Дальше бот запрашивает у Telegram Bot API путь до файла методом getFile и скачивает сам OGG-файл. Файл целиком или частями уходит в Deepgram или Gladia, оттуда возвращается текст. Текст можно сразу отправить пользователю или прогнать через LLM, если бот не просто расшифровывает, а ещё и отвечает по смыслу. Готовый текстовый ответ уходит в ElevenLabs, оттуда приходит аудио, обычно MP3 или PCM. Последний шаг, конвертация в OGG/Opus через ffmpeg и отправка методом sendVoice.

Deepgram или Gladia что выбрать для расшифровки речи?

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

Факт. Deepgram Nova-3 стоит от 0,0043 доллара за минуту готового файла и 0,0077 доллара за минуту потоковой расшифровки, при регистрации даёт 200 долларов кредитов. Gladia на тарифе Starter берёт около 0,01 доллара за минуту файла, но выдаёт 10 бесплатных часов каждый месяц без ограничения по сроку жизни аккаунта.

ПараметрDeepgram Nova-3Gladia Solaria
Готовый файл$0,0043 за минуту~$0,01 за минуту
Реальное время$0,0077 за минуту~$0,0125 за минуту
Бесплатный лимит$200 кредитов разово (~46 000 минут)10 часов в месяц, обновляется постоянно
ЯзыкиОграниченный набор, русский поддерживается100+ языков, переключение языка внутри одной фразы
ЗадержкаДо 300 мс в потокеЧастичные фразы быстрее 100 мс
Плюс без доплаты-Диаризация, определение языка, базовая суммаризация

Разовый кредит Deepgram отлично подходит на старте, но однажды заканчивается, и дальше платите с первой минуты. Gladia логичнее для бота с непостоянной нагрузкой: 10 часов в месяц бесплатно, это примерно 600 голосовых по минуте каждый день. Если пользователи вставляют в русскую речь английские термины, а такое в IT-нишах происходит постоянно, у Gladia переключение языков внутри фразы работает надёжнее.

Изображение

Сколько стоит ElevenLabs для озвучки ответов бота?

Бесплатный тариф ElevenLabs даёт около 10 минут озвучки в месяц, платные планы стартуют от 6 долларов за 30 минут на модели Multilingual v2.

Изображение

Факт. Модель Flash у ElevenLabs списывает 0,5 кредита за символ вместо одного, поэтому на том же тарифе она даёт вдвое больше минут речи и меньшую задержку, что критично для голосового бота, отвечающего в реальном времени.

ТарифЦена в месяцСимволов включеноПримерно минут (Multilingual)
Free$010 000~10
Starter$630 000~30
Creator$22121 000~120
Pro$99600 000~600

Для теста бота хватает Free, для регулярного использования одним человеком, Starter. Как только бот отвечает нескольким пользователям, разумно сразу ставить модель Flash, а не Multilingual: она дешевле по кредитам и звучит быстрее, что для войса в Telegram важнее студийного качества. Overage сверх лимита плана считается отдельно, около 0,05 доллара за 1000 символов на Flash и 0,10 доллара на Multilingual.

Как Telegram Bot API отдаёт голосовое сообщение боту?

Голосовое сообщение приходит в апдейте объектом voice с полем file_id, реальный путь к файлу нужно запросить отдельным вызовом getFile.

Факт. Метод getFile в обычном Bot API отдаёт только file_path, ссылка на скачивание собирается вручную по шаблону https://api.telegram.org/file/bot<TOKEN>/<file_path>, и через этот способ Telegram отдаёт файлы весом до 20 МБ.

Важный нюанс, который путает новичков: у сообщения бывает не voice, а audio, если пользователь прислал файл, а не записал голосовое прямо в чате. Оба объекта содержат file_id, но лежат в разных полях апдейта, поэтому в коде нужна отдельная проверка на тип вложения, иначе бот просто не ответит на часть сообщений. Ещё одна деталь: chat_id иногда логичнее брать не из message.chat.id, а из message.from.id, если бот работает и в личке, и в группах.

Изображение

Пошаговый код бота на Python с aiogram, Deepgram и ElevenLabs

Минимальный рабочий бот на aiogram скачивает войс, отправляет его в Deepgram, получает текст, озвучивает ответ через ElevenLabs и присылает его обратно голосовым сообщением.

Факт. Такой пайплайн собирается из четырёх модулей: приём файла через Telegram Bot API, распознавание речи, обработка текста и синтез речи, каждый модуль можно менять независимо от остальных, например заменить Deepgram на Gladia без переписывания остальной логики.

Изображение

Шаг 1. Установка зависимостей и переменные окружения

Понадобятся aiogram для самого бота, официальный SDK Deepgram, клиент ElevenLabs и ffmpeg для конвертации аудио.

pip install aiogram deepgram-sdk elevenlabs python-dotenv
# ffmpeg должен быть установлен в системе отдельно

В .env кладём ключи: TELEGRAM_BOT_TOKEN, DEEPGRAM_API_KEY, ELEVENLABS_API_KEY. Если пишете такого бота сами, быстрее собрать первый черновик в AI IDE вроде <a href="https://vibecoderz.ru/item/cursor">Cursor</a> или <a href="https://vibecoderz.ru/item/claude-code">Claude Code</a>, скормив ей этот код как основу и попросив адаптировать под вашу структуру проекта.

Шаг 2. Обработчик голосового сообщения и скачивание файла

from aiogram import Bot, Dispatcher, F
from aiogram.types import Message
import os

bot = Bot(token=os.getenv("TELEGRAM_BOT_TOKEN"))
dp = Dispatcher()

@dp.message(F.voice)
async def handle_voice(message: Message):
    file = await bot.get_file(message.voice.file_id)
    file_bytes = await bot.download_file(file.file_path)
    audio_data = file_bytes.read()
    text = await transcribe(audio_data)
    await message.answer(f"Расшифровка: {text}")

Шаг 3. Расшифровка через Deepgram

from deepgram import DeepgramClient, PrerecordedOptions

deepgram = DeepgramClient(os.getenv("DEEPGRAM_API_KEY"))

async def transcribe(audio_bytes: bytes) -> str:
    options = PrerecordedOptions(
        model="nova-3",
        language="ru",
        smart_format=True,
    )
    response = await deepgram.listen.asyncrest.v("1").transcribe_file(
        {"buffer": audio_bytes, "mimetype": "audio/ogg"}, options
    )
    return response.results.channels[0].alternatives[0].transcript

Шаг 4. Синтез ответа через ElevenLabs и отправка voice

from elevenlabs.client import ElevenLabs
from aiogram.types import BufferedInputFile
import subprocess

eleven = ElevenLabs(api_key=os.getenv("ELEVENLABS_API_KEY"))

async def speak_and_reply(message: Message, answer_text: str):
    audio_stream = eleven.text_to_speech.convert(
        voice_id="21m00Tcm4TlvDq8ikWAM",
        model_id="eleven_flash_v2_5",
        text=answer_text,
    )
    mp3_bytes = b"".join(audio_stream)

    with open("tmp_answer.mp3", "wb") as f:
        f.write(mp3_bytes)
    subprocess.run(["ffmpeg", "-y", "-i", "tmp_answer.mp3", "-c:a", "libopus", "tmp_answer.ogg"])

    with open("tmp_answer.ogg", "rb") as f:
        voice_file = BufferedInputFile(f.read(), filename="answer.ogg")
        await message.answer_voice(voice_file)

Модель eleven_flash_v2_5 выбрана не случайно: она дешевле по кредитам и заметно быстрее generative-моделей, а для короткого ответа в мессенджере разница в студийном качестве почти не слышна. В продакшене файлы стоит сохранять с уникальным именем на основе user_id, иначе при параллельных запросах пользователи будут перезаписывать чужие ответы.

Как задеплоить голосового бота, чтобы он не падал?

Голосового бота удобнее держать на вебхуке, а не на long polling, и запускать в Docker вместе с ffmpeg, иначе конвертация аудио на проде просто не сработает.

Факт. В образе Docker для такого бота обязательна установка ffmpeg отдельной командой, стандартный python:3.11-slim его не содержит, и без этого шага бот скачает и расшифрует голос, но не сможет собрать ответное аудио.

Локально вебхук тестируют через ngrok или localhost.run, на проде для VibeCoderz-подобных проектов чаще берут Railway с деплоем через Dockerfile, это тот же подход, что использует сам портал. Если разворачивать бота руками не хочется, часть работы по деплою и мониторингу можно делегировать агенту из <a href="https://vibecoderz.ru/agents/devops">каталога DevOps-агентов VibeCoderz</a>.

Как оплатить Deepgram, Gladia и ElevenLabs из России?

Все три сервиса принимают оплату картой, Apple Pay или Google Pay, российские карты процессинг отсекает ещё на этапе проверки BIN-кода, поэтому нужна карта зарубежного банка или виртуальная карта через посредника.

Факт. Это тот же барьер, с которым сталкивается любой российский AI-продукт, завязанный на зарубежные API: без VPN и без зарубежной карты платёж просто не проходит на уровне проверки платёжной формы.

Максим: «Мы с этим сталкиваемся в каждом проекте. У NanaBanana весь угол в том, что человеку не нужен VPN и зарубежная карта, платишь сколько нужно и без танцев с бубном. Если планируете голосового бота не только для себя, а как продукт для рынка СНГ, платёжный барьер закладывайте в юнит-экономику сразу.»
Изображение

Какие ошибки чаще всего ломают голосового бота?

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

Факт. В боте, который принимает и голос, и документы, и фото, без роутера по типу вложения любое случайное сообщение вроде PDF или картинки просто зависает на шаге, рассчитанном только на voice.

Частые проблемы: бот падает, если пользователь прислал audio вместо voice, потому что код проверяет только одно поле. chat_id иногда приходит не из того поля апдейта, особенно в групповых чатах. Файлы без уникального имени перезаписывают друг друга при параллельной работе нескольких пользователей. Наконец, облачные API вроде Deepgram и ElevenLabs иногда отдают 429 при превышении лимита запросов, и без retry с задержкой бот в этот момент просто теряет сообщение.

Изображение

Стоит ли использовать локальный Whisper вместо Deepgram и Gladia?

Локальный Whisper бесплатен и работает офлайн, но модель среднего качества требует около 2 ГБ памяти и заметно уступает облачным API в стабильности на шумном аудио.

Факт. У модели Whisper small баланс между качеством и ресурсами лучший из линейки: она занимает около 2 ГБ, распознаёт русский с англицизмами приемлемо, а модели tiny и base на реальной речи регулярно теряют слова.

Изображение

Для пилота на коленке локальный Whisper через открытую библиотеку OpenAI, это способ не платить вообще ничего. Минусы вылезают на проде: нужен отдельный сервер с памятью под модель, при развёртывании в Docker без параметра fp16=False вылезают ошибки из-за отсутствия видеопамяти, а функций вроде диаризации или автоматического определения языка из коробки нет. Разумный путь, начать с Whisper на этапе прототипа, а при переходе к реальным пользователям мигрировать на Deepgram или Gladia ради стабильности и меньшей нагрузки на свою инфраструктуру.

Сильные и слабые стороны связки Deepgram/Gladia плюс ElevenLabs

Сильные стороны такого стека понятны на практике. Расшифровка речи точная даже на русском с вкраплениями английских терминов, что критично для айти-аудитории. Задержка у обоих STT-сервисов укладывается в доли секунды, поэтому бот не выглядит подвисшим. ElevenLabs даёт естественный голос без металлического призвука старых TTS-движков, а модель Flash делает это ещё и быстро.

Честно про минусы. Прямая оплата из России недоступна, придётся решать вопрос с картой. Бесплатных лимитов хватает на тесты, но активный бот с десятками пользователей упирается в них за несколько дней. Озвучка стоит заметно дороже расшифровки в пересчёте на минуту, поэтому длинные голосовые ответы, а не расшифровку, лучше ограничивать по символам.

Кому подходит этот стек и что выбрать?

СценарийЧто взять
Личный ассистент для себяWhisper локально или Free-тариф Deepgram
MVP с небольшим трафикомGladia на STT, ElevenLabs Free или Starter
Продакшн с потоковым распознаваниемDeepgram Nova-3 в реальном времени
Бот с длинными голосовыми ответамиElevenLabs Flash вместо Multilingual
Много языков и смешанная речьGladia с переключением языка на лету

Часто задаваемые вопросы

Можно ли сделать голосового бота в Telegram бесплатно? Да, на старте: Deepgram даёт 200 долларов кредитов, Gladia, 10 бесплатных часов в месяц, ElevenLabs, около 10 минут озвучки. Для личного пользования этого хватает надолго.

Deepgram или Gladia дешевле для расшифровки речи? На большом объёме дешевле Deepgram, около 0,004 доллара за минуту файла. Для маленького бота выгоднее Gladia из-за ежемесячного бесплатного лимита, который не сгорает раз и навсегда.

Работает ли ElevenLabs с русским языком? Да, модели Multilingual v2 и Flash поддерживают русский, качество озвучки на русском заметно лучше, чем у большинства бесплатных TTS-движков вроде gTTS.

Нужен ли VPN для работы с Deepgram, Gladia и ElevenLabs? Для доступа к самим сервисам VPN обычно не требуется, а вот для оплаты картой нужен зарубежный платёжный инструмент, российские карты процессинг блокирует.

Сколько стоит содержать голосового бота на 1000 голосовых в месяц? При среднем войсе в 30 секунд это около 500 минут расшифровки, на Deepgram это меньше 3 долларов. Озвучка ответов обойдётся дороже, зависит от длины текста и выбранной модели ElevenLabs.

Можно ли использовать Whisper вместо платных API? Можно для прототипа или личного проекта. На проде с реальными пользователями облачные сервисы стабильнее и не требуют держать отдельный сервер под модель.

Как ограничить длину голосового ответа бота? Проще всего обрезать текст перед отправкой в ElevenLabs по числу символов, например до 300-400, этого достаточно для короткого голосового ответа и заметно экономит кредиты.

Если хотите собрать такого бота под свою задачу и не разбираться в стеке STT и TTS с нуля, посмотрите обзоры инструментов в <a href="https://vibecoderz.ru/ide">каталоге AI IDE VibeCoderz</a> или запишитесь на консультацию к Максиму: <a href="https://t.me/maxnagovitsyn">t.me/maxnagovitsyn</a>.

Обновлено: октябрь 2026.

Автор

Максим Наговицын

Маркетинг-стратег, IT-предприниматель, ментор по вайбкодингу

2026/09/08

10+ лет в маркетинге, 300+ клиентских проектов: сайты, реклама, боты. Создатель GoBanana (228K+ пользователей, 11.6 млн ₽ выручки) и VibeCoderz. Делаю AI-продукты сам через Claude Code, Cursor, Windsurf и консультирую тех, кто хочет так же.

Об авторе →
All Posts

Читать далее

📄 Статья

Повысить качество фото онлайн бесплатно без регистрации

[ { "@context": "https://schema.org", "@type": "BlogPosting", "headline": "Повысить качество фото онлайн бесплатно без регистрации в 2026", "description": "В октябре 2026 повысить качество фото онлайн бесплатно можно через GoBanana, Qwen, Seedream и…

2026/10/1210 мин
📄 Статья

ИИ на телефоне Самсунг, Гугл и айфон в России в 2026 году

Встроенный ИИ в смартфонах 2026: Galaxy AI, Gemini, Apple

2026/10/0611 мин
📄 Статья

Создать песню ИИ на телефон в 2026 и поставить на звонок

Создать песню ИИ на телефон можно без студии и нот: ставите приложение Suno, описываете трек словами и через минуту слушаете два варианта. Дальше файл режется до 30 секунд и превращается в рингтон. Ниже разбираем Android и iPhone, что поменял запуск…

2026/10/0611 мин
📄 Статья

Миграции базы данных для новичка: как менять схему без потери данных

Миграции базы данных — это версионированные скрипты, которые переводят схему БД из одного состояния в другое без ручных правок и без потери данных. Разберем, зачем они нужны, чем отличаются Alembic, Drizzle и Prisma migrate, и что делать, если миграц…

2026/10/0610 мин
📄 Статья

Локальный ИИ на телефоне без интернета в 2026 честные цифры

Локальный ИИ на телефоне без интернета ставится примерно за десять минут: одно приложение из трех, модель весом 1-4 ГБ, авиарежим. На флагмане 2025-2026 годов это 15-26 токенов в секунду, на бюджетнике около трех, и разница чувствуется сразу. Ниже ра…

2026/10/0112 мин
📄 Статья

SonarQube в 2026: что это, редакции и как запустить первый анализ кода

SonarQube это платформа автоматического ревью кода, которую вы ставите на свой сервер. Она прогоняет исходники через набор правил и показывает баги, уязвимости и запахи кода в 30+ языках, а потом встраивается в CI и блокирует сборку, если новый код х…

2026/10/019 мин