Agent OS
Tools

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_json

L'agent n'appelle pas Whisper directement. Il passe par la gateway.


Parametres

ParametreValeur par defautOptionsDescription
modellarge-v3tiny, base, small, medium, large-v3Precision vs vitesse
languageauto-detectfr, en, es, de...Langue source
response_formatverbose_jsonjson, text, srt, vtt, verbose_jsonFormat de sortie
temperature00.0 - 1.0Creativite de la transcription
word_timestampstruetrue, falseTimestamps par mot
condition_on_previous_texttruetrue, falseContexte inter-segments

Choix du modele

ModeleTailleVitessePrecisionUsage
tiny39MTres rapideBasseTests rapides
base74MRapideMoyenneDraft
small244MMoyenBonneUsage general
medium769MLentTres bonneContenu important
large-v31.55GTres lentExcellenteProduction

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 business

vtt (WebVTT)

WEBVTT

00:00:00.000 --> 00:00:02.500
Bonjour, aujourd'hui on va parler de

Integration 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.

ModeleHardware minimumTemps pour 10min audio
tinyCPU~30s
large-v3GPU 8GB VRAM~2min
large-v3CPU~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.

On this page