Aller au contenu

Voice Transcription

Le workflow Voice Transcription transcrit automatiquement les messages vocaux Telegram en texte. Un système de routage intelligent choisit le service de transcription optimal selon la durée du message.

ServiceUsageAvantage
Groq WhisperMessages ≤ 30sGratuit, rapide (1-2s)
ElevenLabs ScribeMessages > 30sDiarisation, fichiers longs
DuréeServiceRaison
≤ 30 secondesGroq WhisperRapide, gratuit
> 30 secondesElevenLabs ScribeDiarisation, fichiers longs

ProblèmeSans transcriptionAvec transcription
Écoute obligatoireRéécouter pour comprendreTexte lisible instantanément
Recherche impossiblePas de ctrl+F sur l’audioTexte indexable
Partage difficileEnvoyer le fichier audioCopier-coller le texte
AccessibilitéPas accessible aux sourdsTexte universel
CritèreGroq WhisperElevenLabs Scribe
CoûtGratuitPayant (par heure)
Vitesse~1-2s~10-30s
Limite fichier25 MB3 GB
DiarisationNonOui
Idéal pourMessages courtsRéunions, podcasts

Execute Workflow Trigger
Telegram Get File
(download voice)
IF: Duration ≤ 30s
┌────┴────┐
│ true │ false
▼ ▼
Groq ElevenLabs
Whisper Scribe v1
│ │
└────┬────┘
Format Response
Return to Orchestrator
{
"message": {
"voice": {
"file_id": "AwACAgIAAxkB...",
"duration": 15,
"mime_type": "audio/ogg"
},
"from": {
"id": 123456789,
"first_name": "Guillaume"
},
"chat": {
"id": 123456789
}
}
}

Community Node: n8n-nodes-groq

ParamètreValeur
CredentialGroq account - N8N
OperationTranscribe
Modelwhisper-large-v3-turbo
Input Data Fielddata
Languagefr (optionnel)
Response Formatjson

HTTP Request Node

ParamètreValeur
MethodPOST
URLhttps://api.elevenlabs.io/v1/speech-to-text
AuthenticationHeader Auth → ElevenLabs API
Body Content TypeForm-Data

Form Parameters:

NameTypeValue
fileBinary{{ $binary.data }}
model_idStringscribe_v1
language_codeStringfr
{
"success": true,
"text": "Rappelle-moi d'appeler Jean demain",
"duration": 15,
"service": "groq"
}

L’Orchestrateur Telegram détecte les voice notes et appelle ce sub-workflow :

IF message.voice exists:
Execute Workflow: Voice Transcription
Input: $json (contient message.voice)
IF response.success:
Send message: "🎤 {response.text}"
ELSE:
Send message: "❌ Transcription échouée"
CallbackAction
voice_retry_{msg_id}Réessayer transcription
voice_process_{msg_id}Traiter avec Claude (résumé, extraction)
voice_save_{msg_id}Sauvegarder en note

ServiceLimite fichierCoûtVitesse
Groq Whisper25 MBGratuit~1-2s
ElevenLabs Scribe3 GBPayant (par heure)~10-30s
LimiteImpactMitigation
Quota GroqRate limiting possibleFallback ElevenLabs
Format OGGSeul format TelegramAPIs supportent nativement
Pas de diarisation < 30sPas d’identification locuteursAcceptable pour messages courts

Si Groq rate limit atteint :

  • Basculer temporairement duration ≤ 0 pour forcer ElevenLabs
  • Ou ajouter OpenAI Whisper comme fallback intermédiaire

Si besoin de diarisation systématique :

  • Router tous les messages vers ElevenLabs
  • Ou utiliser un modèle local avec speaker detection

Si besoin de langues multiples :

  • Détecter la langue automatiquement
  • Adapter les paramètres selon la langue détectée
ProblèmeVérification
Transcription videFichier audio contient réellement de la parole ?
Timeout ElevenLabsFichiers > 5min : augmenter timeout (180s)
Groq rate limitVérifier quotas, basculer vers ElevenLabs
Format non supportéTelegram envoie du .ogg (Opus) — supporté nativement

  • AI Stack — Claude Ollama pour post-processing