About youtube-transcript-summarizer
youtube-transcript-summarizer is a command-line tool for extracting YouTube transcripts and generating summaries with Claude. It supports multiple source and output languages, single videos or URL batches, and Markdown files with key points and timelines.
Key features
- 01Extracts YouTube transcripts
- 02Generates Claude summaries
- 03Configurable source and output languages
- 04Processes single URLs or batches
- 05Writes Markdown with timelines
Use cases
- 01Summarizing videos in another language
- 02Creating notes from a list of video URLs
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ jykim/ claude-obsidian-skills --skill youtube-transcript-summarizerAfter installing, type/youtube-transcript-summarizerin Claude Code to confirm it loaded.
Bundled filesrequirements.txtyoutube_transcript_summarizer.py
Details
From the project READMEYouTube Transcript Summarizer
Extract transcripts from YouTube videos and generate AI-powered summaries. Supports any source language and can output summaries in your preferred language.
Requirements
pip install -r requirements.txt
# or: pip install youtube-transcript-api anthropic
- ANTHROPIC_API_KEY env var required for AI summarization
- yt-dlp (optional) for automatic video title fetching
- Python 3.7+
Cost depends on transcript length and current Claude API pricing.
Usage
# Single video (default: English -> Korean)
python youtube_transcript_summarizer.py "https://www.youtube.com/watch?v=VIDEO_ID"
# Transcript only (no AI summary)
python youtube_transcript_summarizer.py "VIDEO_URL" --no-summary
# Japanese video with English summary
python youtube_transcript_summarizer.py "VIDEO_URL" --source-lang ja --target-lang en
# Auto-detect source language
python youtube_transcript_summarizer.py "VIDEO_URL" --source-lang auto --target-lang fr
# Batch processing
python youtube_transcript_summarizer.py --batch "urls.txt" --output-dir "summaries"
# Custom model and transcript limit
python youtube_transcript_summarizer.py "VIDEO_URL" --model claude-sonnet-4-5-20250929 --max-transcript-chars 30000
CLI Options
| Option | Description | Default |
|---|---|---|
--title | Custom video title | Auto-fetched via yt-dlp |
--source-lang | Source transcript language | en |
--target-lang | Output summary language | ko |
--output-dir | Output directory | outputs/summaries |
--batch FILE | Process multiple URLs from file | - |
--timeline-interval | Timeline interval (minutes) | 5 |
--no-summary | Skip AI summary | false |
--api-key | Claude API key | ANTHROPIC_API_KEY env |
--model | Claude model name | claude-sonnet-4-5-20250929 |
--max-transcript-chars | Max chars sent to Claude | 15000 |
Supported Languages
en, ko, ja, zh, es, fr, de, pt, ru, ar, hi, auto
Output Format
Files are named YYYY-MM-DD VideoTitle.md with YAML frontmatter:
---
title: "Video Title"
source: "https://www.youtube.com/watch?v=ID"
created: YYYY-MM-DD HH:MM:SS
tags:
- youtube-transcript
video_id: "ID"
source_lang: "en"
target_lang: "ko"
---
Sections: Summary, Key Points, Main Content, Timeline, Full Transcript.
Claude Code Integration
Summarize this YouTube video: https://www.youtube.com/watch?v=VIDEO_ID