Get the FREE Ultimate OpenClaw Setup Guide →

captions

Scanned
npx machina-cli add skill ZeroPointRepo/youtube-skills/captions --openclaw
Files (1)
SKILL.md
3.1 KB

Captions

Extract closed captions from YouTube videos via TranscriptAPI.com.

Setup

If $TRANSCRIPT_API_KEY is not set, help the user create an account (100 free credits, no card):

Step 1 — Register: Ask user for their email.

node ./scripts/tapi-auth.js register --email USER_EMAIL

→ OTP sent to email. Ask user: "Check your email for a 6-digit verification code."

Step 2 — Verify: Once user provides the OTP:

node ./scripts/tapi-auth.js verify --token TOKEN_FROM_STEP_1 --otp CODE

API key saved to your shell profile and agent config. Ready to use.

Manual option: transcriptapi.com/signup → Dashboard → API Keys.

GET /api/v2/youtube/transcript

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"
ParamRequiredDefaultValues
video_urlyesYouTube URL or video ID
formatnojsonjson (structured), text (plain)
include_timestampnotruetrue, false
send_metadatanofalsetrue, false

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

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

{
  "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
402No creditstranscriptapi.com/billing
404No captionsVideo doesn't have CC enabled
408TimeoutRetry once after 2s

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

Source

git clone https://github.com/ZeroPointRepo/youtube-skills/blob/main/skills/captions/SKILL.mdView on GitHub

Overview

Captions extracts closed captions from YouTube videos via TranscriptAPI. It supports timestamps and multiple languages, helping accessibility, review, quoting, and translation.

How This Skill Works

Use your TranscriptAPI key to request a transcript for a YouTube video via the /api/v2/youtube/transcript endpoint. You pass video_url and format, include_timestamp, and optionally send_metadata; the API returns a structured JSON with text blocks and start/duration, or a plain text version for readability.

When to Use It

  • Read or quote exact spoken content from a YouTube video with precise timing
  • Provide accessible captions for deaf or hard-of-hearing viewers
  • Create translations by exporting multilingual captions for a video
  • Review or verify content by timestamped transcripts during QA or editing
  • Prepare transcripts for content summaries, citations, or translation workflows

Quick Start

  1. Step 1: Register for a TranscriptAPI key (email-based signup as described in the setup)
  2. Step 2: Call the API with curl, e.g. 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'
  3. Step 3: Use the JSON or text transcript, with timestamps and metadata as needed

Best Practices

  • Prefer format=json for synchronized captions used by accessibility tools
  • Use format=text for clean reading when timing isn't needed
  • Set include_timestamp=true to capture start times and durations
  • Use send_metadata=true to attach title/author if you need it for reference
  • Choose auto-generated captions for speed, but opt for manual CC for quality

Example Use Cases

  • Accessibility: generate synchronized captions for a lecture to assist deaf users
  • Content quoting: extract exact lines with timestamps to cite in articles
  • Translation: export captions in another language for a multilingual audience
  • QA: verify facts by searching the transcript of a product demo
  • Documentation: build a summarized transcript for video-based tutorials

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers