mcpField
Y
youtube-transcript-summarizer

youtube-transcript-summarizer

github.com/jykimProductivity5049 installsUpdated 5w ago
Repository

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

  1. 01Extracts YouTube transcripts
  2. 02Generates Claude summaries
  3. 03Configurable source and output languages
  4. 04Processes single URLs or batches
  5. 05Writes Markdown with timelines

Use cases

  1. 01Summarizing videos in another language
  2. 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-summarizer

After installing, type/youtube-transcript-summarizerin Claude Code to confirm it loaded.

Bundled filesrequirements.txtyoutube_transcript_summarizer.py

Details

From the project README

YouTube 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

OptionDescriptionDefault
--titleCustom video titleAuto-fetched via yt-dlp
--source-langSource transcript languageen
--target-langOutput summary languageko
--output-dirOutput directoryoutputs/summaries
--batch FILEProcess multiple URLs from file-
--timeline-intervalTimeline interval (minutes)5
--no-summarySkip AI summaryfalse
--api-keyClaude API keyANTHROPIC_API_KEY env
--modelClaude model nameclaude-sonnet-4-5-20250929
--max-transcript-charsMax chars sent to Claude15000

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

Comments

Markdown supported