subtitles

GitHub

用于获取YouTube视频字幕,支持链接或ID输入。适用于翻译、语言学习、无障碍访问及内容提取场景,提供带时间戳的结构化数据或纯净文本。

clawhub/subtitles/SKILL.md ZeroPointRepo/youtube-skills

Trigger Scenarios

需要YouTube视频的字幕或语音文本 请求翻译视频内容 进行语言学习或无障碍阅读 提取视频中说的话

Install

npx skills add ZeroPointRepo/youtube-skills --skill subtitles -g -y
More Options

Non-standard path

npx skills add https://github.com/ZeroPointRepo/youtube-skills/tree/main/clawhub/subtitles -g -y

Use without installing

npx skills use ZeroPointRepo/youtube-skills@subtitles

指定 Agent (Claude Code)

npx skills add ZeroPointRepo/youtube-skills --skill subtitles -a claude-code -g -y

安装 repo 全部 skill

npx skills add ZeroPointRepo/youtube-skills --all -g -y

预览 repo 内 skill

npx skills add ZeroPointRepo/youtube-skills --list

SKILL.md

Frontmatter
{
    "name": "subtitles",
    "version": "1.5.0",
    "metadata": {
        "hermes": {
            "tags": [
                "youtube",
                "subtitles",
                "captions",
                "transcripts",
                "video",
                "translation",
                "language-learning"
            ],
            "category": "media"
        },
        "openclaw": {
            "emoji": "🗨️",
            "homepage": "https:\/\/transcriptapi.com",
            "requires": {
                "env": [
                    "TRANSCRIPT_API_KEY"
                ]
            },
            "primaryEnv": "TRANSCRIPT_API_KEY"
        }
    },
    "description": "Use when subtitles or the spoken text of a YouTube video is needed: pasted video links or IDs, requests to translate a video, read along, follow foreign-language content, or extract what was said. Also use for language learning or accessibility. Fetches timestamped subtitles from any YouTube video. Not for uploading subtitles or account management.",
    "compatibility": "Requires internet access to reach transcriptapi.com. No additional runtimes or dependencies needed.",
    "user-invocable": true,
    "required_environment_variables": [
        {
            "help": "Free account at https:\/\/transcriptapi.com — 100 credits, no card required. Or let the agent create one for you.",
            "name": "TRANSCRIPT_API_KEY",
            "prompt": "Your TranscriptAPI key (starts with sk_)",
            "required_for": "all API requests"
        }
    ]
}

Subtitles

Fetch YouTube video subtitles via TranscriptAPI.com.

Setup

If $TRANSCRIPT_API_KEY is not set, read references/auth-setup.md and follow the instructions there to get and store the key.

Required Headers

Every request needs two headers:

  • Authorization: Bearer $TRANSCRIPT_API_KEY
  • User-Agent: your agent's name and version if known (e.g. HermesAgent/0.11.0, ClaudeCode/1.0). Version is optional — agent name alone is fine. Do not omit this header or send a bare default — Cloudflare will return a 403 (error code 1010) and block the request.

GET /api/v2/youtube/transcript

curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_URL&format=text&include_timestamp=false&send_metadata=true" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
  -H "User-Agent: YourAgent/1.0"
Param Values Use case
video_url YouTube URL or video ID Required
format json, text json for sync'd subs with timing
include_timestamp true, false false for clean text for reading/translation
send_metadata true, false Include title, channel, description

For language learning — clean text without timestamps:

curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_ID&format=text&include_timestamp=false" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
  -H "User-Agent: YourAgent/1.0"

For translation — structured segments:

curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_ID&format=json&include_timestamp=true" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \
  -H "User-Agent: YourAgent/1.0"

Response (format=json):

{
  "video_id": "dQw4w9WgXcQ",
  "language": "en",
  "transcript": [
    { "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 }
  ]
}

Response (format=text, include_timestamp=false):

{
  "video_id": "dQw4w9WgXcQ",
  "language": "en",
  "transcript": "We're no strangers to love\nYou know the rules and so do I..."
}

Tips

  • Many videos have auto-generated subtitles in multiple languages.
  • Use format=json to get timing for each line (great for sync'd reading).
  • Use include_timestamp=false for clean text suitable for translation apps.

Errors

Code Meaning Action
401 Bad API key Check key
402 No credits transcriptapi.com/billing
403/1010 Cloudflare block Add or fix User-Agent header
404 No subtitles No subtitles available
408 Timeout Retry once after 2s

1 credit per request. Free tier: 100 credits, 300 req/min.

Version History

  • d4b7a18 Current 2026-07-30 20:21

Same Skill Collection

clawhub/captions/SKILL.md
clawhub/transcript/SKILL.md
clawhub/video-transcript/SKILL.md
clawhub/youtube-api/SKILL.md
clawhub/youtube-channels/SKILL.md
clawhub/youtube-data/SKILL.md
clawhub/youtube-playlist/SKILL.md
clawhub/youtube-search/SKILL.md
clawhub/yt/SKILL.md
skills/captions/SKILL.md
skills/subtitles/SKILL.md
skills/transcript/SKILL.md
skills/video-transcript/SKILL.md
skills/youtube-api/SKILL.md
skills/youtube-channels/SKILL.md
skills/youtube-data/SKILL.md
skills/youtube-playlist/SKILL.md
skills/youtube-search/SKILL.md
skills/yt/SKILL.md
clawhub/transcriptapi/SKILL.md
clawhub/youtube-full/SKILL.md
skills/transcriptapi/SKILL.md
skills/youtube-full/SKILL.md

Metadata

Files
0
Version
d4b7a18
Hash
64db2777
Indexed
2026-07-30 20:21

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-03 01:13
浙ICP备14020137号-1 $Гость$