home / skills / openclaw / skills / youtube-transcript
This skill fetches YouTube transcripts and optionally summarizes content to provide concise insights from videos.
npx playbooks add skill openclaw/skills --skill youtube-transcriptReview the files below or copy the command above to add this skill to your agents.
---
name: youtube-transcript
description: Fetch and summarize YouTube video transcripts. Use when asked to summarize, transcribe, or extract content from YouTube videos. Handles transcript fetching via residential IP proxy to bypass YouTube's cloud IP blocks.
---
# YouTube Transcript
Fetch transcripts from YouTube videos and optionally summarize them.
## Quick Start
```bash
python3 scripts/fetch_transcript.py <video_id_or_url> [languages]
```
**Examples:**
```bash
python3 scripts/fetch_transcript.py dQw4w9WgXcQ
python3 scripts/fetch_transcript.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
python3 scripts/fetch_transcript.py dQw4w9WgXcQ "fr,en,de"
```
**Output:** JSON with `video_id`, `title`, `author`, `full_text`, and timestamped `transcript` array.
## Workflow
1. Run `fetch_transcript.py` with video ID or URL
2. Script checks VPN, brings it up if needed
3. Returns JSON with full transcript text
4. Summarize the `full_text` field as needed
## Language Codes
Default priority: `en, fr, de, es, it, pt, nl`
Override with second argument: `python3 scripts/fetch_transcript.py VIDEO_ID "ja,ko,zh"`
## Setup & Configuration
See [references/SETUP.md](references/SETUP.md) for:
- Python dependencies installation
- WireGuard VPN configuration (required for cloud VPS)
- Troubleshooting common errors
- Alternative proxy options
This skill fetches transcripts from YouTube videos and can produce concise summaries when requested. It uses a residential IP proxy workflow to avoid cloud IP blocks and returns structured JSON with metadata, full text, and timestamped segments. Use it to transcribe, extract quotes, or prepare summaries for downstream tasks.
Provide a video URL or ID and optional language priorities; the script brings up a residential VPN/proxy if required to bypass YouTube cloud IP restrictions. It retrieves available captions, assembles a full_text field and a timestamped transcript array, and returns JSON containing video_id, title, author, full_text, and transcript. Optionally, the full_text can be summarized to produce short abstracts or key points.
What input formats are accepted?
Provide a YouTube video ID or a full video URL as the primary input; an optional second argument accepts comma-separated language codes.
Why does the script require a VPN or proxy?
It uses a residential IP proxy or WireGuard configuration to avoid YouTube cloud IP rate limits and blocks that can occur on public VPS providers.