Telegram Voice Transcribe

v1.3.1

Transcribe Telegram voice messages and audio notes into text using the OpenAI Whisper API. Use when (1) a user sends a voice message or audio note via Telegr...

0· 553· 2 versions· 2 current· 3 all-time· Updated 23h ago· MIT-0
byAlfredo Bárcena@dreadterror

Install

openclaw skills install telegram-voice-transcribe

telegram-voice-transcribe

Transcribe Telegram voice notes into text via OpenAI Whisper (whisper-1).

Quick Workflow

  1. Detect a voice message: look for voice.file_id or audio.file_id in the inbound message metadata.
  2. Run the transcription script:
    python3 ~/openclaw/skills/telegram-voice-transcribe/scripts/transcribe.py \
      --file-id <file_id> --language es
    
  3. Read the JSON output — transcript field contains the text.
  4. Respond to the user based on the transcript content (treat it like typed text).

Script Modes

ModeFlagWhen to use
Telegram file_id--file-id <id>Standard case — voice message in Telegram
Local file--file <path>Testing, or file already downloaded
URL--url <https://...>Audio hosted externally

Always pass --language es for Spanish speakers to improve speed and accuracy.

Output

{"transcript": "Hola, necesito que hagas un cambio en el juego", "language": "es", "duration_s": 4.2}

If error key is present, surface it to the user and check setup.

Environment Requirements

  • OPENAI_API_KEY — required (set via openclaw configure)
  • TELEGRAM_BOT_TOKEN — required for --file-id mode

See references/setup.md for full setup, hooks integration, costs, and local Whisper alternative.

Error Handling

ErrorFix
OPENAI_API_KEY not setConfigure key via openclaw configure --section env
TELEGRAM_BOT_TOKEN requiredAdd bot token to env
openai package not installedpip install openai
Telegram 400 Bad Requestfile_id expired — Telegram file_ids expire after ~48h
File too largeWhisper API limit is 25MB; split audio or use local Whisper

Version tags

latestvk97b19gbk2r4m3vgcxp7nb6n0d83kd4w