Who it is forA video editor or creator who wants tightly synced captions or karaoke-style subtitles.
The problemSegment-level timestamps are too coarse for captions that highlight words as they are spoken.
The outcomeA list of words with start and end times you can turn into SRT, VTT or animated captions.
What you need first
- Python 3.9 or greater
- No system FFmpeg needed: audio is decoded with PyAV
- For GPU: NVIDIA cuBLAS for CUDA 12 and cuDNN 9 for CUDA 12
Steps
- Install with
pip install faster-whisperand load a WhisperModel - Transcribe with
model.transcribe("audio.mp3", word_timestamps=True) - Loop over each segment and then over segment.words to read word.start, word.end and word.word
- Add
vad_filter=Truestyle filtering if long silences confuse the timing; by default the VAD only removes silence longer than 2 seconds - Write the words out in your caption format of choice
Prompt for your agent
Using SYSTRAN/faster-whisper, transcribe <video audio file> with word_timestamps=True and the VAD filter on, then write an SRT file with one caption per short phrase and a JSON file of every word with its start and end time.
Caveat. The caption file format is up to you: Faster Whisper returns the timings, not an SRT writer.
Use this in your AI agent
Ask your agent
Using the Deduped MCP, get the setup steps for SYSTRAN/faster-whisper and "Get word-level timestamps for subtitles and captions"
Add Deduped to Claude Code once
claude mcp add --transport http deduped https://dedupedai.com/mcp
Every Monday: the 5 hottest repos and exactly how to use them. Free, one email a week, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Third-party repos we don't own. AI-written use cases can be wrong. Disclaimer