supadata
Supadata — Platform-Agnostic Video Transcript & Metadata
Purpose: Extract transcripts and metadata from any supported social video URL — Instagram, TikTok, YouTube, Twitter/X, Facebook — without opening a browser.
Always use this BEFORE browser-use-cloud for any video URL.
What This Skill Does
Calls the Supadata API to:
- Fetch transcript (spoken audio → text) from social videos
- Fetch metadata (title, author, description, engagement, duration)
- AI-extract structured data from a video (tools, prompts, workflows)
Supports: YouTube, Instagram, TikTok, Twitter/X, Facebook, direct video file URLs.
Trigger Conditions
Use this skill whenever:
- User shares a video URL (Instagram reel, TikTok, YouTube, X video, Facebook)
- User asks to "transcript", "transcribe", "watch", "digest", "summarize", "what does she say"
- User asks "what's in this video" or "extract from this reel"
- Any content ingestion task starting from a video link
Priority: Always try Supadata before browser-use-cloud.
Pre-Flight Check
echo "${SUPADATA_API_KEY:+SET}" || echo "MISSING"
If missing:
"I need
SUPADATA_API_KEY. Add it to/root/.openclaw/.envand restart the gateway."
Auth header: x-api-key: $SUPADATA_API_KEY
Base URL: https://api.supadata.ai/v1
Endpoints Reference
Transcript (primary — all platforms)
curl -s "https://api.supadata.ai/v1/transcript?url=<VIDEO_URL>&text=true" \
-H "x-api-key: $SUPADATA_API_KEY"
text=true→ plain text (use by default)text=false→ timestamped segmentslang=en→ optional language hint
If response has jobId (async):
curl -s "https://api.supadata.ai/v1/transcript/<jobId>" \
-H "x-api-key: $SUPADATA_API_KEY"
Poll until status = done. Wait 3–5s between polls.
Metadata (all platforms)
curl -s "https://api.supadata.ai/v1/metadata?url=<VIDEO_URL>" \
-H "x-api-key: $SUPADATA_API_KEY"
Returns: title, author, description, engagement metrics, thumbnail, duration.
AI Extract (structured data from video)
Use when you need structured output — extract tools, prompts, workflows:
curl -s "https://api.supadata.ai/v1/extract" \
-X POST \
-H "x-api-key: $SUPADATA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "<VIDEO_URL>",
"prompt": "Extract all prompts, workflows, and tool names shown or mentioned in this video."
}'
# Returns jobId → poll /v1/extract/<jobId>
YouTube-specific (better quality for YouTube)
curl -s "https://api.supadata.ai/v1/youtube/transcript?url=<YOUTUBE_URL>&text=true" \
-H "x-api-key: $SUPADATA_API_KEY"
Platform Routing
| URL pattern | Transcript endpoint | Metadata endpoint |
|---|---|---|
youtube.com / youtu.be |
/v1/youtube/transcript |
/v1/youtube/video |
instagram.com |
/v1/transcript |
/v1/metadata |
tiktok.com |
/v1/transcript |
/v1/metadata |
twitter.com / x.com |
/v1/transcript |
/v1/metadata |
facebook.com / fb.com |
/v1/transcript |
/v1/metadata |
Execution Protocol
- Check API key — fail fast if missing
- Detect platform from URL
- Fetch metadata first — fast, often has description with full workflow text
- Fetch transcript — plain text, async if jobId returned
- If transcript fails → try
/v1/extractwith descriptive prompt - Deliver output → combine metadata + transcript
- If user said "digest" → hand off to
youtube-digestskill at Step 3
Fallback Chain
Supadata transcript → Supadata AI extract → browser-use-cloud → manual
Never skip to browser-use-cloud while Supadata paths are viable.
Output Format
**[Title]** — @[author] ([platform])
**Transcript:**
[full plain-text transcript]
**Metadata:**
- Duration: Xs
- Description: [text]
- Tags: [list]
Hard Rules
- Always Supadata first. Never browser for video URLs without trying this.
- If transcript unavailable → use
/v1/extractbefore giving up. - If video is non-English → return as-is, optionally translate.
- If
jobIdreturned → poll to completion, don't return empty result. - Always report which path was used (transcript / extract / fallback).
More from michailbul/laniameda-skills
notion-sync
>
14instagram-extract
Extract text, links, and key takeaways from Instagram/Threads posts (especially carousels) and LinkedIn posts using an already-logged-in Brave/Chrome tab via OpenClaw Browser Relay. Use when the user pastes an Instagram/Threads/LinkedIn URL (or forwards screenshots) and asks something generic like “save it”, “capture this”, “summarize and store”, or “put this in the vault” — you should decide what’s worth saving, classify it into the right pillar, save it to the local KB and/or ingest prompts via the laniameda-kb skill, and also emit a compact JSON payload into a media-agent inbox file for downstream reuse.
12carousel-designer
>
11andromeda-messages
>
10deepgram-transcribe
>
10repo-kanban-pm
Install and enforce a lightweight product-management workflow inside a code repo: feature-as-kanban boards, ROADMAP status tracking, branch/PR conventions, and an optional daily OpenClaw cron PM review. Use this skill when (1) starting work in a NEW repository/project that does not yet have a ROADMAP+feature-KANBAN system, (2) you are delegated to spin up a new project and want multi-agent coordination from day one, or (3) you are asked to fix/restructure an existing repo and introduce an organized backlog/feature tracking system. Also use when adding a daily PM audit loop (cron) to keep code + docs + PRs in sync.
10