Whisper
Transcription audio vers texte. Role dans le pipeline video, config, parametres, format de sortie.
Whisper
Whisper transcrit l'audio en texte. C'est une etape du pipeline video. Il transforme une piste audio brute en sous-titres exploitables.
Role dans le pipeline
Video brute
|
FFmpeg (extraction audio)
|
Whisper (transcription)
|
Texte + timestamps
|
Agent (montage, sous-titres, analyse)Whisper intervient apres l'extraction audio et avant le montage. Il ne touche pas la video. Il ne fait que transcrire.
Acces
Whisper est expose via la gateway OpenClaw.
POST http://localhost:18789/whisper/transcribe
Content-Type: multipart/form-data
file: audio.wav
language: fr
response_format: verbose_jsonL'agent n'appelle pas Whisper directement. Il passe par la gateway.
Parametres
| Parametre | Valeur par defaut | Options | Description |
|---|---|---|---|
model | large-v3 | tiny, base, small, medium, large-v3 | Precision vs vitesse |
language | auto-detect | fr, en, es, de... | Langue source |
response_format | verbose_json | json, text, srt, vtt, verbose_json | Format de sortie |
temperature | 0 | 0.0 - 1.0 | Creativite de la transcription |
word_timestamps | true | true, false | Timestamps par mot |
condition_on_previous_text | true | true, false | Contexte inter-segments |
Choix du modele
| Modele | Taille | Vitesse | Precision | Usage |
|---|---|---|---|---|
| tiny | 39M | Tres rapide | Basse | Tests rapides |
| base | 74M | Rapide | Moyenne | Draft |
| small | 244M | Moyen | Bonne | Usage general |
| medium | 769M | Lent | Tres bonne | Contenu important |
| large-v3 | 1.55G | Tres lent | Excellente | Production |
En production, toujours large-v3. Les autres sont pour le debug.
Format de sortie
verbose_json (recommande)
{
"text": "Bonjour, aujourd'hui on va parler de...",
"segments": [
{
"id": 0,
"start": 0.0,
"end": 2.5,
"text": "Bonjour, aujourd'hui",
"words": [
{ "word": "Bonjour", "start": 0.0, "end": 0.8 },
{ "word": "aujourd'hui", "start": 0.9, "end": 1.6 }
]
}
],
"language": "fr"
}Le format verbose_json donne les timestamps par segment ET par mot.
C'est ce dont l'agent video a besoin pour caler les sous-titres.
srt (sous-titres)
1
00:00:00,000 --> 00:00:02,500
Bonjour, aujourd'hui on va parler de
2
00:00:02,500 --> 00:00:05,000
comment automatiser votre businessvtt (WebVTT)
WEBVTT
00:00:00.000 --> 00:00:02.500
Bonjour, aujourd'hui on va parler deIntegration avec FFmpeg
Whisper attend un fichier audio. Si le source est une video, FFmpeg extrait l'audio d'abord.
# Extraire l'audio d'une video
ffmpeg -i video.mp4 -vn -acodec pcm_s16le -ar 16000 -ac 1 audio.wav
# Puis envoyer a Whisper
curl -X POST http://localhost:18789/whisper/transcribe \
-F "file=@audio.wav" \
-F "language=fr" \
-F "response_format=verbose_json"Format audio recommande : WAV 16kHz mono. C'est ce que Whisper traite le mieux.
Cout
Whisper tourne en local. Zero cout API. Le cout est en compute : GPU pour les gros modeles, CPU pour les petits.
| Modele | Hardware minimum | Temps pour 10min audio |
|---|---|---|
| tiny | CPU | ~30s |
| large-v3 | GPU 8GB VRAM | ~2min |
| large-v3 | CPU | ~15min |
Limites
- Pas de diarisation native (qui parle). Utiliser pyannote en complement.
- Les langues rares sont moins precises.
- Les fichiers >25MB doivent etre decoupes avant envoi.
- Le bruit de fond degrade la qualite. Normaliser l'audio avec FFmpeg d'abord.