2.5 KiB
2.5 KiB
name, description
| name | description |
|---|---|
| youtube-content | Fetch YouTube video transcripts and transform them into structured content (chapters, summaries, threads, blog posts). |
YouTube Content Tool
Extract transcripts from YouTube videos and convert them into useful formats.
Setup
pip install youtube-transcript-api
Helper script
This skill includes fetch_transcript.py — use it to fetch transcripts quickly:
# JSON output with metadata
python3 SKILL_DIR/scripts/fetch_transcript.py "https://youtube.com/watch?v=VIDEO_ID"
# With timestamps
python3 SKILL_DIR/scripts/fetch_transcript.py "https://youtube.com/watch?v=VIDEO_ID" --timestamps
# Plain text output (good for piping into further processing)
python3 SKILL_DIR/scripts/fetch_transcript.py "https://youtube.com/watch?v=VIDEO_ID" --text-only
# Specific language with fallback
python3 SKILL_DIR/scripts/fetch_transcript.py "https://youtube.com/watch?v=VIDEO_ID" --language tr,en
# Timestamped plain text
python3 SKILL_DIR/scripts/fetch_transcript.py "https://youtube.com/watch?v=VIDEO_ID" --text-only --timestamps
SKILL_DIR is the directory containing this SKILL.md file.
URL formats supported
The script accepts any of these formats (or a raw 11-character video ID):
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://youtube.com/shorts/VIDEO_IDhttps://youtube.com/embed/VIDEO_IDhttps://youtube.com/live/VIDEO_ID
Output formats
After fetching the transcript, format it based on what the user asks for:
- Chapters: Group by topic shifts, output timestamped chapter list (
00:00 Introduction,03:45 Main Topic, etc.) - Summary: Concise 5-10 sentence overview of the entire video
- Chapter summaries: Chapters with a short paragraph summary for each
- Thread: Twitter/X thread format — numbered posts, each under 280 chars
- Blog post: Full article with title, sections, and key takeaways
- Quotes: Notable quotes with timestamps
Workflow
- Fetch the transcript using the helper script
- If the transcript is very long (>50K chars), summarize in chunks
- Transform into the requested output format using your own reasoning
Error handling
- Transcript disabled: Some videos have transcripts turned off — tell the user
- Private/unavailable: The API will raise an error — relay it clearly
- No matching language: Try without specifying a language to get whatever's available
- Dependency missing: Run
pip install youtube-transcript-apifirst