V
video-transcript-downloader
About video-transcript-downloader
A command-line skill for retrieving video transcripts and downloading video, audio, or subtitles. It supports transcript cleanup, timestamp and language options, and format selection through yt-dlp.
Key features
- 01Clean transcript paragraphs
- 02Optional timestamps and bracket cues
- 03Video, audio, and subtitle downloads
- 04List and select formats
- 05Pass additional yt-dlp arguments
Use cases
- 01Turn a video transcript into readable text
- 02Save video or audio files locally
- 03Download subtitles in a chosen language
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ steipete/ agent-scripts --skill video-transcript-downloaderAfter installing, type/video-transcript-downloaderin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
.gitignorepackage-lock.jsonpackage.jsonscripts/html-entities.jsvtd.jsvtd.test.mjsDetails
From the project READMEVideo Transcript Downloader
./scripts/vtd.js can:
- Print a transcript as a clean paragraph (timestamps optional).
- Download video/audio/subtitles.
Transcript behavior:
- YouTube: fetch via
youtube-transcript-pluswhen possible. - Otherwise: pull subtitles via
yt-dlp, then clean into a paragraph.
Setup
cd ~/Projects/agent-scripts/skills/video-transcript-downloader && npm ci
CLI syntax:
./scripts/vtd.js --help
./scripts/vtd.js transcript --help
Subcommands support focused help without requiring --url.
Transcript (default: clean paragraph)
./scripts/vtd.js transcript --url 'https://…'
./scripts/vtd.js transcript --url 'https://…' --lang en
./scripts/vtd.js transcript --url 'https://…' --timestamps
./scripts/vtd.js transcript --url 'https://…' --keep-brackets
Download video / audio / subtitles
./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads
./scripts/vtd.js audio --url 'https://…' --output-dir ~/Downloads
./scripts/vtd.js subs --url 'https://…' --output-dir ~/Downloads --lang en
Formats (list + choose)
List available formats (format ids, resolution, container, audio-only, etc):
./scripts/vtd.js formats --url 'https://…'
Download a specific format id (example):
./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads -- --format 137+140
Prefer MP4 container without re-encoding (remux when possible):
./scripts/vtd.js download --url 'https://…' --output-dir ~/Downloads -- --remux-video mp4
Notes
- Default transcript output is a single paragraph. Use
--timestampsonly when asked. - Bracketed cues like
[Music]are stripped by default; keep them via--keep-brackets. - Pass extra
yt-dlpargs after--fortranscriptfallback,download,audio,subs,formats.
./scripts/vtd.js formats --url 'https://…' -- -v
Troubleshooting (only when needed)
- Missing
yt-dlp/ffmpeg:
brew install yt-dlp ffmpeg
- Verify:
yt-dlp --version
ffmpeg -version | head -n 1
Comments
Markdown supported