CLI tool that downloads YouTube videos as audio and generates transcripts using OpenAI's Whisper API.
git clone https://github.com/dbtreasure/Youtube-Transcript-Generator.git
cd Youtube-Transcript-Generator
uv syncCreate a .env file with your OpenAI API key:
OPENAI_API_KEY=sk-your-key-here
uv run yt-transcribe "https://www.youtube.com/watch?v=VIDEO_ID"| Option | Description |
|---|---|
-o, --output-dir PATH |
Base directory for output (default: ./transcripts) |
--keep-audio / --no-keep-audio |
Keep or delete the audio file after transcription (default: keep) |
For each video, creates a directory under ./transcripts/:
transcripts/
└── Video_Title_VIDEO_ID/
├── audio.mp3
└── transcript.txt
- Fetches video metadata using yt-dlp
- Downloads best quality audio and converts to MP3 (192kbps)
- If audio exceeds 24MB, splits into 10-minute chunks (Whisper API limit is 25MB)
- Sends audio to OpenAI Whisper API for transcription
- Combines chunk transcripts and saves to
transcript.txt
MIT