Install
openclaw skills install youtube-transcriberOne-command YouTube video transcription. Automatically downloads audio and transcribes using OpenAI Whisper API — works even when YouTube subtitles are disabled. Use when asked to "transcribe this video", "get transcript", "what does this video say", or when YouTube captions are unavailable.
openclaw skills install youtube-transcriberOne-command transcription for any YouTube video — even when subtitles are disabled.
How it works:
yt-dlp — brew install yt-dlp or pip install yt-dlpffmpeg — brew install ffmpegOPENAI_API_KEY environment variable set# Basic — auto-detect best method
{baseDir}/scripts/transcribe.sh "https://www.youtube.com/watch?v=VIDEO_ID"
# Specify language (improves accuracy for non-English)
{baseDir}/scripts/transcribe.sh "https://www.youtube.com/watch?v=VIDEO_ID" --lang zh
# Custom output path
{baseDir}/scripts/transcribe.sh "https://www.youtube.com/watch?v=VIDEO_ID" --out /tmp/transcript.txt
# Force Whisper (skip subtitle check)
{baseDir}/scripts/transcribe.sh "https://www.youtube.com/watch?v=VIDEO_ID" --force-whisper
# Keep downloaded audio file
{baseDir}/scripts/transcribe.sh "https://www.youtube.com/watch?v=VIDEO_ID" --keep-audio
| Option | Description | Default |
|---|---|---|
--lang <code> | Language hint (ISO 639-1: en, zh, ja, ko, etc.) | auto-detect |
--out <path> | Output transcript file path | /tmp/yt_transcript_<VIDEO_ID>.txt |
--force-whisper | Skip subtitle check, always use Whisper API | off |
--keep-audio | Keep the downloaded audio file after transcription | off (deletes audio) |
--audio-bitrate <kbps> | Audio compression bitrate | 64 |
YouTube URL
│
├─► Try yt-dlp subtitles (free, instant)
│ │
│ ├─ Found → Clean & output transcript ✓
│ │
│ └─ Not found / disabled
│ │
│ ▼
└─► Download audio (yt-dlp + ffmpeg)
│
├─ Compress to mono, low bitrate (fit 25MB API limit)
│
▼
OpenAI Whisper API → transcript ✓
pip install -U yt-dlp)--audio-bitrate 32OPENAI_API_KEY environment variable