youtube-transcript

Download YouTube transcripts via subtitles with mlx-whisper audio transcription fallback.

Updated May 3, 2026
One-click install
npx skills add https://github.com/spikelab/multiplai-cc-mktplace --skill youtube-transcript-spikelab
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: youtube-transcript
Source: https://github.com/spikelab/multiplai-cc-mktplace/tree/main/plugins/multiplai-media/skills/youtube-transcript
Command: npx skills add https://github.com/spikelab/multiplai-cc-mktplace --skill youtube-transcript-spikelab

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires yt-dlp, ffmpeg, mlx-whisper, and includes scripts (resource) components.

What problem does it solve? Getting the text content of a YouTube video normally means watching it in full or relying on YouTube's caption UI. This Skill downloads the transcript directly — trying manual and auto-generated subtitles first, and falling back to local audio transcription when no captions exist. ## Core Features & Use Cases - Subtitle-first download: Fetches manual subtitles, then auto-generated captions, and cleans VTT/SRT markup into flowing de-duplicated text. - Audio transcription fallback: When a video has no usable subtitles, downloads the audio with yt-dlp and transcribes it locally with mlx-whisper (Apple Silicon), including container-to-host SSH bridging. - Distinct exit codes: Separates "no subtitles" (2), "yt-dlp missing" (3), "yt-dlp failed" (4), and "empty caption track" (5) so failures are reported accurately. - Use Case: A user pastes a YouTube lecture URL and asks for the transcript; the Skill saves a clean text file named after the video, or offers audio transcription if the video has no captions. ## Quick Start Ask the assistant to download the transcript of a YouTube video by pasting its URL, optionally naming an output file or requesting the audio-transcription fallback.

Frequently Asked Questions about youtube-transcript

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I download a transcript from a YouTube video?

Run the yt-transcript.sh script with the YouTube URL and it downloads subtitles automatically, trying manual captions first then auto-generated ones. The output is cleaned VTT text saved to a file named after the video title.

How to transcribe a YouTube video that has no subtitles?

Re-run the script with the --audio-fallback flag. It downloads the audio with yt-dlp and transcribes it locally using mlx-whisper, which requires ffmpeg and an Apple Silicon Mac.

Does YouTube transcript download work without yt-dlp installed?

No, yt-dlp is a hard requirement and the script exits with code 3 if it is missing. Install it with brew install yt-dlp on macOS or uv tool install yt-dlp; auto-install only happens inside the multiplai container.

Why does the script say yt-dlp failed instead of no subtitles?

Exit code 4 means a yt-dlp call itself failed — usually a network problem, a private or geo-blocked video, or an outdated yt-dlp. The last 20 lines of yt-dlp output are printed so you can see the actual cause.

Can I get timestamps in the YouTube transcript output?

The --timestamps flag is parsed for forward compatibility but not yet implemented for subtitle mode. Output is currently always de-timestamped flowing text with duplicate caption lines removed.