subtitlesGet subtitles from YouTube videos for translation, language learning, or reading along. Use when the user asks for subtitles, subs, foreign language text, or wants to read video content. Supports multiple languages and timestamped output for sync'd reading.
Install via ClawdBot CLI:
clawdbot install therohitdas/subtitlesFetch YouTube video subtitles via TranscriptAPI.com.
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 ~/.openclaw/openclaw.json. See File Writes below for details. Existing file is backed up before modification.
Manual option: transcriptapi.com/signup ā Dashboard ā API Keys.
The verify and save-key commands save the API key to ~/.openclaw/openclaw.json (sets skills.entries.transcriptapi.apiKey and enabled: true). Existing file is backed up to ~/.openclaw/openclaw.json.bak before modification.
To use the API key in terminal/CLI outside the agent, add to your shell profile manually:
export TRANSCRIPT_API_KEY=
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"
| 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"
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"
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..."
}
format=json to get timing for each line (great for sync'd reading).include_timestamp=false for clean text suitable for translation apps.| Code | Action |
| ---- | -------------------------------------- |
| 402 | No credits ā transcriptapi.com/billing |
| 404 | No subtitles available |
| 408 | Timeout ā retry once after 2s |
1 credit per request. Free tier: 100 credits, 300 req/min.
Generated Feb 23, 2026
Educators and content creators can extract clean text subtitles from YouTube videos to create language learning materials, such as vocabulary lists, reading exercises, or translation practice. This supports teaching languages through authentic video content, enhancing engagement and comprehension.
Organizations can use this skill to generate subtitles for internal training videos or public content, improving accessibility for deaf or hard-of-hearing audiences. It helps comply with accessibility standards and makes video content more inclusive across different languages.
Businesses can extract and analyze subtitles from competitor videos or industry webinars to gather insights on trends, keywords, and messaging strategies. This aids in content strategy development and competitive intelligence without manual transcription.
Translation agencies can fetch structured subtitle segments with timestamps to efficiently localize video content for different regions. This streamlines the workflow for dubbing or subtitling projects, reducing time and costs compared to manual extraction.
Researchers can use this skill to collect transcript data from educational or documentary videos for linguistic studies, sentiment analysis, or multimedia content analysis. It provides a reliable source of text data for quantitative and qualitative research projects.
Offer a free tier with limited credits (e.g., 100 requests) to attract users, then charge for higher volumes or premium features like faster processing or additional languages. This model encourages adoption while generating revenue from heavy users such as businesses or developers.
License the skill to companies for internal use, such as in e-learning platforms or media production tools, with custom pricing based on usage scale and support needs. This provides a stable income stream through long-term contracts and integration support.
Combine automated extraction with optional human editing services, where users can pay extra for verified, high-accuracy subtitles. This caters to clients needing precise translations for professional content, adding a premium service layer.
š¬ Integration Tip
Ensure the TRANSCRIPT_API_KEY is securely stored in environment variables and consider caching responses to reduce API calls for repeated video requests.
Translate text accurately ā preserve formatting, handle plurals, and adapt tone per locale.
Thinking partner that transforms ideas into platform-optimized content
AI-agent Skill for PPTX OOXML localization workflows. Use it to unpack PPTX, extract and apply text translations, normalize terminology, enforce language-specific fonts, validate XML integrity, and repack outputs with machine-readable JSON interfaces for automation.
Translate PowerPoint files to any language while preserving layout. Uses a render-and-verify agent loop (LibreOffice + Vision) to guarantee no text overflow....
Apply metadata updates to existing Calibre books via calibredb over a Content server. Use for controlled metadata edits after target IDs are confirmed by a read-only lookup.
Analyze interactions to identify patterns in what Enzo shares, why he shares it, and how it connects to his goals. Use during heartbeats for periodic analysis, when Enzo asks about his patterns/interests, or when significant new content is shared that reveals a pattern.