Captions

zeropointrepo/youtube-skills/clawhub/captions

作者 zeropointrepo4f7994b94e7d無授權條款1K 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫2 天前更新

Use when captions, subtitles, or the spoken text of a YouTube video is needed — even if not explicitly requested: pasted video links or IDs, requests to read, quote, or translate a video, accessibility needs, deaf/HoH use cases, content review, or language learning. Fetches timestamped caption data from any YouTube video. Not for uploading subtitles or account management.

僅含說明Writing & Content
AI 產生的概覽

透過 TranscriptAPI 服務取得帶時間戳的 YouTube 字幕或純文字轉錄內容。

功能
這個技能會指示代理使用 YouTube 網址或影片 ID 呼叫 TranscriptAPI 的轉錄端點,回傳含開始時間與持續時間的結構化 JSON 字幕,或回傳純文字可讀內容。內容說明了必要的 Authorization 與 User-Agent 標頭、請求參數、回應結構以及錯誤代碼。它也指向一份參考文件,用來取得並儲存 API 金鑰。
適用情境
當需要 YouTube 影片的字幕、副標題或口述文字時使用,包括貼上影片連結或 ID、要求閱讀、引用或翻譯影片、無障礙或聾人/聽障使用情境、內容審閱以及語言學習。它不用於上傳字幕或帳號管理。
執行需求
需要能連線至 transcriptapi.com 的網路,以及用於所有 API 請求的 TRANSCRIPT_API_KEY 環境變數(以 sk_ 開頭的金鑰,來自免費帳號)。必須送出 User-Agent 標頭,否則 Cloudflare 會回傳 403。不需要其他執行環境或相依套件,這個技能不含指令碼,只有說明文件與一份參考文件。

Captions

Extract closed captions from YouTube videos via TranscriptAPI.com.

Setup

If $TRANSCRIPT_API_KEY is not set, read references/auth-setup.md [blocked] 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

bash
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\?video_url=VIDEO_URL&format=json&include_timestamp=true&send_metadata=true" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
ParamRequiredDefaultValues
video_urlyes—YouTube URL or video ID
formatnojsonjson (structured), text (plain)
include_timestampnotruetrue, false
send_metadatanofalsetrue, false

Response (format=json — best for accessibility/timing):

json
{  "video_id": "dQw4w9WgXcQ",  "language": "en",  "transcript": [    { "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 },    { "text": "You know the rules and so do I", "start": 21.5, "duration": 2.8 }  ],  "metadata": { "title": "...", "author_name": "...", "thumbnail_url": "..." }}
  • start: seconds from video start
  • duration: how long caption is displayed

Response (format=text — readable):

json
{  "video_id": "dQw4w9WgXcQ",  "language": "en",  "transcript": "[00:00:18] We're no strangers to love\n[00:00:21] You know the rules..."}

Tips

  • Use format=json for sync'd captions (accessibility tools, timing analysis).
  • Use format=text with include_timestamp=false for clean reading.
  • Auto-generated captions are available for most videos; manual CC is higher quality.

Errors

CodeMeaningAction
401Bad API keyCheck key
402No creditstranscriptapi.com/billing
403/1010Cloudflare blockAdd or fix User-Agent header
404No captionsVideo doesn't have CC enabled
408TimeoutRetry once after 2s

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

來源與署名

來源:zeropointrepo/youtube-skills位於clawhub/captions提交4f7994b

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架