Transcribe audio and video from URLs (YouTube, direct media links) using WhisperKit locally. Optionally analyze transcripts with AI when explicitly requested...
Local transcription of audio/video content using WhisperKit. Analysis is available on request using OpenAI or local Ollama.
python3 scripts/transcribe.py "https://youtube.com/watch?v=..."
python3 scripts/transcribe.py "https://youtube.com/watch?v=..."
python3 scripts/analyze_transcript.py whisper-transcriptions/video.md
python3 scripts/transcribe.py "https://youtube.com/watch?v=..."
python3 scripts/analyze_transcript.py whisper-transcriptions/video.md --local
# Basic
python3 scripts/transcribe.py "URL"
# Custom output directory
python3 scripts/transcribe.py "URL" --output-dir "/path/to/save"
# Higher accuracy (slower)
python3 scripts/transcribe.py "URL" --model medium
# Without timestamps
python3 scripts/transcribe.py "URL" --no-timestamps
# Custom filename
python3 scripts/transcribe.py "URL" --filename "my-transcription.md"
| Model | Speed | Accuracy | Use Case |
|---|---|---|---|
tiny |
Fastest | Lowest | Quick drafts, testing |
base |
Fast | Reasonable | Simple content |
small |
Balanced | Good | Default - most use cases |
medium |
Slower | High | Lectures, important content |
large |
Slowest | Highest | Critical accuracy needed |
pip install yt-dlp or brew install yt-dlpScript checks for these and provides install instructions if missing.
Transcriptions save to ./whisper-transcriptions/ as markdown:
# Transcription
**Source:** https://youtube.com/watch?v=example
**Transcribed:** 2025-01-15 14:30:00
**Tool:** WhisperKit
---
[00:00:00.000 --> 00:00:05.000] Welcome to this video...
OpenAI API (default):
python3 scripts/analyze_transcript.py transcript.md
python3 scripts/analyze_transcript.py transcript.md --model gpt-4o
Requires OPENAI_API_KEY environment variable.
Local Ollama:
python3 scripts/analyze_transcript.py transcript.md --local
python3 scripts/analyze_transcript.py transcript.md --local --model mistral
Requires Ollama running (ollama serve).
# Default comprehensive analysis (OpenAI)
python3 scripts/analyze_transcript.py transcript.md
# Use local Ollama
python3 scripts/analyze_transcript.py transcript.md --local
# Specify model
python3 scripts/analyze_transcript.py transcript.md --model gpt-4o
python3 scripts/analyze_transcript.py transcript.md --local --model llama3.2
# Custom analysis prompt
python3 scripts/analyze_transcript.py transcript.md --prompt "List all tools mentioned"
# Custom output location
python3 scripts/analyze_transcript.py transcript.md --output ~/Documents/analysis.md
# Print to stdout instead of saving
python3 scripts/analyze_transcript.py transcript.md --print
--prompt "List all technologies and tools mentioned"
--prompt "What are the main arguments presented?"
--prompt "Extract all statistics and data points"
--prompt "Summarize in 5 bullet points"
--prompt "What questions were asked and how were they answered?"
pip install openai (used for both OpenAI and Ollama)Analysis saves alongside transcript as transcript_name_analysis.md:
# Transcript Analysis
**Source Transcript:** path/to/transcript.md
**Analysis Model:** gpt-4o-mini (OpenAI)
**Tokens Used:** 33,763
---
[Analysis content]
python3 scripts/transcribe.py "https://youtube.com/watch?v=abc123"
python3 scripts/analyze_transcript.py whisper-transcriptions/watch.md
python3 scripts/transcribe.py "https://youtube.com/watch?v=abc123"
python3 scripts/analyze_transcript.py whisper-transcriptions/watch.md --local
python3 scripts/analyze_transcript.py transcript.md --output summary.md
python3 scripts/analyze_transcript.py transcript.md --prompt "List action items" --output actions.md
python3 scripts/analyze_transcript.py transcript.md --prompt "Extract quotes" --output quotes.md
python3 scripts/transcribe.py "URL1"
python3 scripts/transcribe.py "URL2"
python3 scripts/transcribe.py "URL3"
references/troubleshooting.md)references/configuration.md)references/usage-patterns.md)| Script | Purpose |
|---|---|
scripts/transcribe.py |
Download and transcribe audio/video from URLs (WhisperKit) |
scripts/analyze_transcript.py |
AI analysis of transcript files (OpenAI or Ollama) |