Get the FREE Ultimate OpenClaw Setup Guide →

transcript

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

Transcript

Fetch video transcripts 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=text&include_timestamp=true&send_metadata=true" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
ParamRequiredDefaultValues
video_urlyesYouTube URL or 11-char video ID
formatnojsonjson, text
include_timestampnotruetrue, false
send_metadatanofalsetrue, false

Accepts: full URLs (youtube.com/watch?v=ID), short URLs (youtu.be/ID), shorts (youtube.com/shorts/ID), or bare video IDs.

Default: Always use format=text&include_timestamp=true&send_metadata=true unless user specifies otherwise.

Response (format=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": "Rick Astley - Never Gonna Give You Up",
    "author_name": "Rick Astley",
    "author_url": "https://www.youtube.com/@RickAstley",
    "thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg"
  }
}

Response (format=text):

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

Errors

CodeMeaningAction
401Bad API keyCheck key or re-setup
402No creditsTop up at transcriptapi.com/billing
404No transcriptVideo may not have captions enabled
408TimeoutRetry once after 2s
429Rate limitedWait and retry

Tips

  • For long videos, summarize key points first, offer full transcript on request.
  • Use format=json when you need precise timestamps for quoting specific moments.
  • Use include_timestamp=false for clean text suitable for translation or analysis.
  • 1 credit per successful request. Errors don't cost credits.
  • Free tier: 100 credits, 300 req/min.

Source

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

Overview

Transcript fetches transcripts from YouTube videos for summarization, research, translation, quoting, or content analysis. It leverages TranscriptAPI to return either JSON or text transcripts, with optional timestamps and metadata to support precise quoting and analysis.

How This Skill Works

Provide a YouTube URL or video ID; TranscriptAPI returns the transcript in json or text format. The default request uses format=text, include_timestamp=true, and send_metadata=true, and it accepts full URLs, short URLs, shorts, or just the video ID.

When to Use It

  • You need exact quotes or citations from a video
  • You want a summary or notes drawn from long videos
  • You need to translate spoken content by exporting transcript text
  • You are researching or verifying information from a video
  • You want to analyze speaking patterns or dialogue structure

Quick Start

  1. Step 1: Ensure you have a TranscriptAPI key (set TRANSCRIPT_API_KEY or sign up at transcriptapi.com).
  2. Step 2: Call the API with a video_url (YouTube URL or ID) to fetch the transcript.
  3. Step 3: Parse the response (JSON or text) and use the transcript as needed.

Best Practices

  • Use format=json when you need precise timestamps for quoting specific moments
  • Be mindful of credits (1 credit per successful request) and rate limits
  • If you only need clean text for translation or analysis, set include_timestamp=false
  • Check the transcript language in the response to ensure it matches the source language
  • Cache transcripts for frequently used videos to reduce calls

Example Use Cases

  • Pull a video transcript to create lecture notes for a class
  • Extract direct quotes from a podcast video for a research paper
  • Export transcript and translate it to another language for localization
  • Summarize a long webinar and attach the transcript for reference
  • Verify claims by cross-checking the transcript against the video

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers