Skip to main content

youtube-transcripts

Extract transcripts from YouTube videos. Use when user says "get transcript", "transcribe this video", "what does this YouTube video say", "extract captions", "youtube transcript", or provides a YouTube URL and wants the text content.

跳到安装

来源信息

仓库
grahama1970/fetcher
最近来源活动
2026年1月20日 12:53
检测到的 SKILL.md 语言
英语
星标
2
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
2 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
youtube-transcripts
description
Extract transcripts from YouTube videos. Use when user says "get transcript", "transcribe this video", "what does this YouTube video say", "extract captions", "youtube transcript", or provides a YouTube URL and wants the text content.
allowed-tools
Bash, Read
triggers
["get transcript","transcribe video","youtube transcript","extract captions","what does this video say","get subtitles from","youtube url text"]
metadata
{"short-description":"YouTube transcript extraction"}
# YouTube Transcripts Skill Extract transcripts from YouTube videos with **three-tier fallback**: 1. **Direct** - youtube-transcript-api (fastest) 2. **Proxy** - IPRoyal residential proxy rotation (handles rate limits) 3. **Whisper** - yt-dlp audio download → OpenAI Whisper (last resort) ## Quick Start ```bash # Get transcript (auto-fallback through all tiers) python .agents/skills/youtube-transcripts/youtube_transcript.py get -i dQw4w9WgXcQ # Skip proxy tier python .agents/skills/youtube-transcripts/youtube_transcript.py get -i VIDEO_ID --no-proxy # Skip whisper tier python .agents/skills/youtube-transcripts/youtube_transcript.py get -i VIDEO_ID --no-whisper # List available transcript languages python .agents/skills/youtube-transcripts/youtube_transcript.py list-languages -i VIDEO_ID # Check proxy configuration python .agents/skills/youtube-transcripts/youtube_transcript.py check-proxy ``` ## Commands ### Get Transcript ```bash python .agents/skills/youtube-transcripts/youtube_transcript.py get \ --url "https://youtube.com/watch?v=dQw4w9WgXcQ" \ --lang en ``` **Options:** | Option | Short | Description | |--------|-------|-------------| | `--url` | `-u` | YouTube video URL | | `--video-id` | `-i` | Video ID directly | | `--lang` | `-l` | Language code (default: en) | | `--no-proxy` | | Skip proxy tier | | `--no-whisper` | | Skip Whisper fallback tier | | `--retries` | `-r` | Max retries per tier (default: 3) | **Output:** JSON with transcript segments (text, start time, duration) ### List Available Languages ```bash python .agents/skills/youtube-transcripts/youtube_transcript.py list-languages -i VIDEO_ID ``` **Output:** JSON with available transcript languages ### Check Proxy ```bash python .agents/skills/youtube-transcripts/youtube_transcript.py check-proxy python .agents/skills/youtube-transcripts/youtube_transcript.py check-proxy --test-rotation ``` Tests IPRoyal proxy connectivity and IP rotation. ## Output Format ```json { "meta": { "video_id": "dQw4w9WgXcQ", "language": "en", "took_ms": 3029, "method": "direct" }, "transcript": [ {"text": "Hello world", "start": 0.0, "duration": 2.5}, {"text": "This is a test", "start": 2.5, "duration": 3.0} ], "full_text": "Hello world This is a test...", "errors": [] } ``` **Method values:** `direct`, `proxy`, `whisper`, or `null` (if all failed) ## Three-Tier Fallback ### Tier 1: Direct - Uses youtube-transcript-api without proxy - Fastest, no additional cost - May fail with rate limits on repeated requests ### Tier 2: IPRoyal Proxy - Uses IPRoyal residential proxy (auto-rotates IPs) - Handles rate limiting (429) and blocking (403) - Requires proxy credentials **Environment variables:** | Variable | Description | |----------|-------------| | `IPROYAL_HOST` | Proxy host (e.g., geo.iproyal.com) | | `IPROYAL_PORT` | Proxy port (e.g., 12321) | | `IPROYAL_USER` | Proxy username | | `IPROYAL_PASSWORD` | Proxy password | ### Tier 3: Whisper Fallback - Downloads audio with yt-dlp - Transcribes with OpenAI Whisper API - Works for videos with disabled captions - Costs ~$0.006/minute of audio **Environment variables:** | Variable | Description | |----------|-------------| | `OPENAI_API_KEY` | OpenAI API key for Whisper | ## Dependencies ```bash pip install youtube-transcript-api requests yt-dlp openai ``` - `youtube-transcript-api` - Tier 1 & 2 - `requests` - Proxy support - `yt-dlp` - Tier 3 audio download - `openai` - Tier 3 transcription ## Integration with Memory ```bash # Get transcript python .agents/skills/youtube-transcripts/youtube_transcript.py get -i VIDEO_ID > transcript.json # Ingest into memory memory-agent workspace-ingest --source transcript.json --scope youtube ``` ## Limitations - Tier 1-2 require captions (auto-generated or manual) - Tier 3 (Whisper) works for any video but costs money - Private/unlisted videos may not be accessible - Very long videos may exceed Whisper file size limits (25MB)
在 GitHub 查看