youtube-transcriber

One-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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "youtube-transcriber" with this command: npx skills add edisonchenai/youtube-transcriber

YouTube Transcriber

One-command transcription for any YouTube video — even when subtitles are disabled.

How it works:

  1. Tries to fetch existing YouTube subtitles first (free, instant)
  2. If subtitles are disabled/unavailable → downloads audio → transcribes via OpenAI Whisper API

Prerequisites

  • yt-dlpbrew install yt-dlp or pip install yt-dlp
  • ffmpegbrew install ffmpeg
  • OPENAI_API_KEY environment variable set

Usage

# 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

Options

OptionDescriptionDefault
--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-whisperSkip subtitle check, always use Whisper APIoff
--keep-audioKeep the downloaded audio file after transcriptionoff (deletes audio)
--audio-bitrate <kbps>Audio compression bitrate64

How It Works

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 ✓

Cost

  • With subtitles available: Free (uses existing captions)
  • Whisper API: ~$0.006/minute of audio → 23-min video ≈ $0.14

Supported

  • Any YouTube video URL (full URL, youtu.be short link, or video ID)
  • All languages supported by Whisper (99+ languages)
  • Videos up to ~4 hours (audio compressed to fit 25MB API limit)

Troubleshooting

  • 403 from YouTube: Update yt-dlp (pip install -U yt-dlp)
  • File too large for Whisper: Lower bitrate with --audio-bitrate 32
  • Missing API key: Set OPENAI_API_KEY environment variable

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Digicert

DigiCert integration. Manage Certificates, Orders, Users, Organizations. Use when the user wants to interact with DigiCert data.

Registry SourceRecently Updated
General

Dialpad

Dialpad integration. Manage Users, Groups, Departments, Offices. Use when the user wants to interact with Dialpad data.

Registry SourceRecently Updated
General

Darwinbox

Darwinbox integration. Manage Organizations, Goals, Roles, Projects, Pipelines, Leads and more. Use when the user wants to interact with Darwinbox data.

Registry SourceRecently Updated
General

Creatio

Creatio integration. Manage Leads, Organizations, Users. Use when the user wants to interact with Creatio data.

Registry SourceRecently Updated