Whisper Transcription
Transcribe audio/video to text with word-level timestamps using OpenAI Whisper.
Install
npx skills add benchflow-ai/skillsbench --skill whisper-transcription -g -a claude-code -y- Repository
- benchflow-ai/skillsbench1.9k
- Category
- Media
- Updated
- 11d ago
- License
- Apache-2.0
- Context cost
- Lightabout 1,082 tokens
- Runs scripts
- No, instructions only
What it does
Transcribe audio/video to text with word-level timestamps using OpenAI Whisper. Use when you need speech-to-text with accurate timing information for each word.
Whisper Transcription
OpenAI Whisper provides accurate speech-to-text with word-level timestamps.
Installation
pip install openai-whisper
Model Selection
Use the tiny model for fast transcription - it's sufficient for most tasks and runs much faster:
| Model | Size | Speed | Accuracy |
|---|---|---|---|
| tiny | 39 MB | Fastest | Good for clear speech |
| base | 74 MB | Fast | Better accuracy |
| small | 244 MB | Medium | High accuracy |
Recommendation: Start with tiny - it handles clear interview/podcast audio well.
Basic Usage with Word Timestamps
import whisper
import json
def transcribe_with_timestamps(audio_path, output_path):
"""
Transcribe audio and get word-level timestamps.
Args:
audio_path: Path to audio/video file
output_path: Path to save JSON output
"""
# Use tiny model for speed
model = whisper.load_model("tiny")
# Transcribe with word timestamps
result = model.transcribe(
audio_path,
word_timestamps=True,
language="en" # Specify language for better accuracy
)
# Extract words with timestamps
words = []
for segment in result["segments"]:
if "words" in segment:
for word_info in segment["words"]:
words.append({
"word": word_info["word"].strip(),
"start": word_info["start"],
"end": word_info["end"]
})
with open(output_path, "w") as f:
json.dump(words, f, indent=2)
return words
Detecting Specific Words
def find_words(transcription, target_words):
"""
Find specific words in transcription with their timestamps.
Args:
transcription: List of word dicts with 'word', 'start', 'end'
target_words: Set of words to find (lowercase)


