framefetch_extract
Extract data from ONE public social-video URL (YouTube incl. Shorts, TikTok, Instagram Reels): metadata/insights/transcript/frames/digest/comments/etc — see fields. When NOT to use: non-video pages, private/login-walled content, or bulk crawling (one URL per call). Returns one JSON object with only the requested fields + a cost block (micro-USD); shapes: https://framefetch.net/docs. Cost scales with what you request (frames/transcript cost more than metadata). No key? POST /v1/keys {email} -> instant key (~100 free calls); or x402 (USDC), no account. Example: {"url":"https://www.youtube.com/watch?v=...","fields":["metadata","transcript"]}.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"url": "<url>"
},
"name": "framefetch_extract"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ask | No | Question about the video (3-500 chars); <=500-token answer w/ timestamped quotes, grounded in the transcript (auto-pulled). Never cached; degrades (never charged) if unavailable. Long videos: answer draws on a relevance-selected/sampled subset, not just the head — see response `ask.coverage`. No transcript available: falls back to frames, `based_on`:["frames"]. | |
| url | Yes | Public video URL from a supported platform. | |
| cache | No | false forces a fresh, billed extract. | |
| voice | No | Voice for "audio_digest": OpenAI voices (alloy/echo/fable/onyx/nova/shimmer) + Groq "Fritz-PlayAI"; default "alloy". | |
| fields | No | Which data to return; default ["metadata"]. Pulls: digest→transcript; audio_digest→digest→transcript; structured→transcript; comment_sentiment→comments. digest/audio_digest/structured/comment_sentiment: degrade to a warning, never charged, on failure. digest: gist+topics via LLM. audio_digest: mp3 of digest (signed URL, 24h); voice via `voice`; +`translate` for other-language audio. structured: chapters/entities/products_shown/claims/key_moments via vision LLM. comments: up to comments_cap; YouTube only (else warning; see GET /v1/platforms). comment_sentiment: aggregated audience sentiment (positive_pct/neutral_pct/negative_pct/summary/top_themes); needs >=5 comments; same YouTube-only limit. text_overlay: OCR per frame; requires "frames"; skipped above 200 frames. delta: velocity vs the previous fetch; first call seeds the baseline. Docs: https://framefetch.net/docs. | |
| frames | No | Frame-sampling spec; required when "frames" or "text_overlay" is requested. | |
| translate | No | ISO-639-1 target language (e.g. "es"); adds `transcript_translated` (timings kept). Requires "transcript" (or "digest"). Billed per audio-minute. | |
| comments_cap | No | Max top-level comments (1-200, default 30); only used with "comments". | |
| subtitle_format | No | Renders transcript as subtitles in `subtitles` (srt/vtt). Requires "transcript" (or "digest"); uses translated cues if "translate" set. |