Subtitles

ZeroPointRepo/youtube-skills/skills/subtitles

by ZeroPointRepo4f7994b94e7d5e250c3b51102d609992e04d5d0dNo license1K starsListed Oct 9, 2026Updated Oct 9, 2026Repository updated 2 days ago

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.

Instructions onlyProductivity & Workflow
AI-generated overview

Fetches timestamped YouTube subtitles or plain transcript text through the TranscriptAPI service.

What it does
This skill guides an agent in calling the TranscriptAPI transcript endpoint for a YouTube video URL or ID. It returns either structured JSON segments with start times and durations, or clean text without timestamps, and can optionally include video metadata such as title, channel and description. It also documents required headers, credit costs and error handling.
When to use it
Use it when a YouTube video's spoken text or subtitles are needed, for example to read along, translate a video, follow foreign-language content, support language learning or improve accessibility. It is not intended for uploading subtitles or managing accounts.
Requirements
Internet access to transcriptapi.com and a TRANSCRIPT_API_KEY environment variable (a free account provides 100 credits). No additional runtimes or dependencies; the skill ships no scripts, only reference documents.

Subtitles

Fetch YouTube video subtitles 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

http
GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_URL&format=text&include_timestamp=false&send_metadata=trueAuthorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0
ParamValuesUse case
video_urlYouTube URL or video IDRequired
formatjson, textjson for sync'd subs with timing
include_timestamptrue, falsefalse for clean text for reading/translation
send_metadatatrue, falseInclude title, channel, description

For language learning — clean text without timestamps:

http
GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=falseAuthorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0

For translation — structured segments:

http
GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=json&include_timestamp=trueAuthorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0

Response (format=json):

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):

json
{  "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

CodeMeaningAction
401Bad API keyCheck key
402No creditstranscriptapi.com/billing
403/1010Cloudflare blockAdd or fix User-Agent header
404No subtitlesNo subtitles available
408TimeoutRetry once after 2s

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

Copy-paste examples

Every request in this file as a ready-to-run one-liner: references/curl-examples.md [blocked]

Source and attribution

Source:ZeroPointRepo/youtube-skillsinskills/subtitlesat commit4f7994b

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal