whisper-transcription
Transcribe audio/video to text with word-level timestamps using OpenAI Whisper
Install / Use
npx skills add benchflow-ai/skillsbench --skill whisper-transcriptionInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Our assessment of whisper-transcription
whisper-transcription scores 86/100 on our quality scale, 1551st of 3,997 Development & Engineering skills we index (top 39%).
Its SKILL.md is 4.4 KB long, well organised into 11 sections with 6 code examples: a solid amount of guidance for an agent.
With 1,813 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated about 2 months ago, so whisper-transcription is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
whisper-transcription compared with similar skills
All 4 of these similar skills score higher than whisper-transcription; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| whisper-transcription (this skill)by benchflow-ai | 86 | 1.8k | 2mo ago | SKILL.md |
| ai-job-searchby MadsLorentzen | 100 | 44.6k | today | CLAUDE.md |
| claude-howtoby luongnv89 | 100 | 41.7k | today | CLAUDE.md |
| algorithmic-artby anthropics | 100 | 177.9k | 7d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 7d ago | SKILL.md |
Frequently asked questions
- How do I install whisper-transcription?
- Run
npx skills add benchflow-ai/skillsbench --skill whisper-transcription. The install tabs above show the steps for each supported agent. - Which AI agents does whisper-transcription work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is whisper-transcription safe to use?
- It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is whisper-transcription still maintained?
- The repository was last updated about 2 months ago, so whisper-transcription is actively maintained.
Skill content
View source on GitHubname: whisper-transcription description: "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)
Returns:
List of matches with word and timestamp
"""
matches = []
target_lower = {w.lower() for w in target_words}
for item in transcription:
word = item["word"].lower().strip()
# Remove punctuation for matching
clean_word = ''.join(c for c in word if c.isalnum())
if clean_word in target_lower:
matches.append({
"word": clean_word,
"timestamp": item["start"]
})
return matches
Complete Example: Find Filler Words
import whisper
import json
# Filler words to detect
FILLER_WORDS = {
"um", "uh", "hum", "hmm", "mhm",
"like", "so", "well", "yeah", "okay",
"basically", "actually", "literally"
}
def detect_fillers(audio_path, output_path):
# Load tiny model (fast!)
model = whisper.load_model("tiny")
# Transcribe
result = model.transcribe(audio_path, word_timestamps=True, language="en")
# Find fillers
fillers = []
for segment in result["segments"]:
for word_info in segment.get("words", []):
word = word_info["word"].lower().strip()
clean = ''.join(c for c in word if c.isalnum())
if clean in FILLER_WORDS:
fillers.append({
"word": clean,
"timestamp": round(word_info["start"], 2)
})
with open(output_path, "w") as f:
json.dump(fillers, f, indent=2)
return fillers
# Usage
detect_fillers("/root/input.mp4", "/root/annotations.json")
Audio Extraction (if needed)
Whisper can process video files directly, but for cleaner results:
# Extract audio as 16kHz mono WAV
ffmpeg -i input.mp4 -vn -acodec pcm_s16le -ar 16000 -ac 1 audio.wav
Multi-Word Phrases
For detecting phrases like "you know" or "I mean":
def find_phrases(transcription, phrases):
"""Find multi-word phrases in transcription."""
matches = []
words = [w["word"].lower().strip() for w in transcription]
for phrase in phrases:
phrase_words = phrase.lower().split()
phrase_len = len(phrase_words)
for i in range(len(words) - phrase_len + 1):
if words[i:i+phrase_len] == phrase_words:
matches.append({
"word": phrase,
"timestamp": transcription[i]["start"]
})
return matches
Related Skills
ai-job-search
44.6kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
claude-howto
41.7kA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
