InícioBlog → Como criar um bot de Telegram que transcreve mensagens de voz

Como criar um bot de Telegram que transcreve mensagens de voz

Publicado em 2026-08-20 · 6 min de leitura

Mensagem de voz não se lê em reunião, no metrô ou simplesmente quando a preguiça bate. Um bot que responde a um áudio com o texto dele elimina esse atrito, e sai em uma noite de trabalho. Segue o fluxo inteiro, do arquivo à resposta.

O que o bot faz

A lógica cabe em quatro passos:

  1. Receber a atualização com a mensagem de voz e ler o identificador do arquivo.
  2. Baixar o arquivo pelo link que o Telegram fornece.
  3. Mandar reconhecer.
  4. Responder com o texto na mesma conversa.

Um detalhe agradável: o Telegram guarda as mensagens de voz em ogg/opus — formato aceito sem nenhuma conversão.

O manipulador

O exemplo usa python-telegram-bot, mas a lógica é a mesma em qualquer biblioteca:

import io
from telegram import Update
from telegram.ext import Application, MessageHandler, filters, ContextTypes
from openai import OpenAI

client = OpenAI(base_url="https://voicesscribe.com/v1", api_key="sua chave")

async def on_voice(update: Update, ctx: ContextTypes.DEFAULT_TYPE):
    voice = update.message.voice or update.message.audio
    tg_file = await ctx.bot.get_file(voice.file_id)
    buf = io.BytesIO(await tg_file.download_as_bytearray())
    buf.name = "voice.ogg"

    text = client.audio.transcriptions.create(model="whisper-1", file=buf).text
    await update.message.reply_text(text or "não consegui entender a fala")

app = Application.builder().token("token do bot").build()
app.add_handler(MessageHandler(filters.VOICE | filters.AUDIO, on_voice))
app.run_polling()

A linha decisiva é a atribuição de buf.name. Sem nome de arquivo a biblioteca não deduz o formato e a requisição falha.

Pontos que incomodam

O que somar depois da primeira versão

A primeira versão responde texto puro. Os três acréscimos habituais são: resumo para mensagens longas, cota por usuário para o bot não virar serviço gratuito da internet inteira, e armazenamento das transcrições para tornar o histórico pesquisável.

Meça o uso em minutos de áudio: é assim que a cobrança funciona, e o mesmo número mostra quanto cada usuário custa.

Teste com as suas próprias gravações. O cadastro leva um minuto e os minutos gratuitos bastam para avaliar a qualidade.

Obter uma chave de API grátis

Perguntas frequentes

Preciso converter os áudios do Telegram?

Não. O aplicativo envia ogg/opus, aceito diretamente — basta dar ao upload um nome terminado em .ogg.

Por que áudios muito curtos falham?

Costumam ser gravações vazias de frações de segundo, resultado de um toque acidental. Verifique a duração antes de enviar.

Como saber quem usou quanto?

Some a duração das mensagens processadas por usuário: a cobrança é por minuto de áudio, então essa métrica é o seu custo.

Dá para transcrever os vídeos redondos?

Dá, o áudio dentro deles transcreve igual. A diferença é só o tipo de mensagem na API.

Leitura relacionada