Saltearse al contenido

Telegram Voice to Text

El modulo telegramVoiceToText recibe un mensaje de voz de Telegram (normalmente proveniente del nodo telegramReceive), descarga el archivo de audio desde los servidores de Telegram, lo transcribe utilizando la API Whisper de OpenAI, y automaticamente envia la transcripcion de vuelta al chat del usuario en Telegram. Ademas, modifica los datos de salida para que el tipo cambie de voice a text y el contenido sea la transcripcion, permitiendo que nodos posteriores procesen el mensaje como texto normal.

ParametroTipoRequeridoDescripcion
credentials_idcredentialsSiCredencial con apiKey de OpenAI para convertir audio a texto.

Se requiere una credencial con el siguiente campo:

  • apiKey: API Key de OpenAI con acceso al modelo Whisper para transcripcion de audio.

Ademas, el nodo espera que los datos de entrada contengan botToken (token del bot de Telegram, normalmente propagado desde telegramReceive).

{
"nextModule": "siguiente_modulo",
"data": {
"type": "text",
"chatId": 123456789,
"from": { "id": 123456789, "first_name": "Juan" },
"botToken": "123456:ABCdefGHI",
"content": "Este es el texto transcrito del audio",
"transcript": "Este es el texto transcrito del audio",
"metadata": { "duration": 15, "mime_type": "audio/ogg" }
}
}
{
"label": "Telegram VoiceToText",
"credentials_id": "credencial_openai"
}
  • Telegram Bot API: GET https://api.telegram.org/bot{token}/getFile para obtener la ruta del archivo, y POST https://api.telegram.org/bot{token}/sendMessage para enviar la transcripcion.
  • OpenAI Whisper API: POST https://api.openai.com/v1/audio/transcriptions para transcribir el audio.
  • Requiere que los datos de entrada contengan content (file_id del audio) y botToken (token del bot de Telegram).
  • El archivo de audio se descarga temporalmente en la carpeta temporal/cli_{client_id}/ del servidor.
  • La transcripcion se envia automaticamente al usuario en Telegram con formato Markdown.
  • El tipo de dato se cambia de voice a text en la salida, facilitando el procesamiento posterior.
  • El campo transcript se agrega como campo adicional a los datos existentes.
  • Internamente utiliza el modulo openaiaudioToText para la transcripcion.
  • telegramReceive (trigger de mensajes Telegram, proporciona los datos de entrada)
  • openaiaudioToText (modulo de transcripcion que usa internamente)
  • decision (para evaluar el contenido transcrito)