video-transcriptlisted
Install: claude install-skill franciscobmacedo/postreef-skills
# Video transcript from a URL
Goal: turn a video URL into text, and be honest with the user about *where* that text comes from, because that determines quality and cost.
## 0. Decide what the user actually needs
Ask yourself (don't ask the user unless it changes the answer):
| Need | Best source | Notes |
|---|---|---|
| Rough text to summarize / search | Platform captions (auto-generated is fine) | Free on YouTube when captions exist; seconds to fetch |
| Word-accurate quotes | Manual captions if present, else speech-to-text (Whisper) on the audio | Auto-captions mangle names and numbers |
| Timestamps (for clips, chapters, citations) | Caption file (`.vtt`/`.srt`), or Whisper with `--word_timestamps` | The plain-text `transcript.txt` style output loses timing |
| A language other than the original | Get the native track, translate yourself | Requesting translated caption tracks from YouTube gets 429'd (see §2) |
| Hundreds of URLs, unattended | A hosted API (§3) or your own proxy fleet | Datacenter IPs get bot-walled; this is the part that rots |
Transcripts come back in the video's **original language**. Translate afterwards; don't ask the platform to.
## 1. DIY route (free): yt-dlp captions
Requires `yt-dlp` (`pip install -U "yt-dlp[default,curl-cffi]"` or `brew install yt-dlp`). Always update first: most "it stopped working" reports are an old build.
```bash
# Captions only, no video. Manual subs preferred, auto-subs as fallback.
yt-dlp --skip-download --write-su