Short, copy-paste tutorials for transcripts, frames, metadata, and agent (MCP) usage. Works on YouTube, Shorts, TikTok, Instagram, Pinterest, and Reddit. Get a free key first — it's one call.
curl -X POST https://framefetch.net/v1/keys -H "Content-Type: application/json" \
-d '{ "email": "you@example.com" }'
# -> { "key": "ff_xxx_yyy" } (includes a small free credit)
Send it as Authorization: Bearer ff_xxx_yyy on every call. Or skip keys entirely and pay per call with x402 (see below).
Works for YouTube, TikTok, Instagram, Reddit. Uses captions when available, else Whisper.
curl -X POST https://framefetch.net/v1/transcript \
-H "Authorization: Bearer ff_xxx_yyy" -H "Content-Type: application/json" \
-d '{ "url": "https://www.tiktok.com/@user/video/123" }'
import requests
r = requests.post("https://framefetch.net/v1/transcript",
headers={"Authorization": "Bearer ff_xxx_yyy"},
json={"url": "https://www.youtube.com/watch?v=jNQXAC9IVRw"})
print(r.json()["transcript"]["text"])
Platform guides: YouTube · TikTok · Reddit · Instagram.
Sample frames: every frame, every Nth, 1 per second, or a time range — at any width.
curl -X POST https://framefetch.net/v1/frames \
-H "Authorization: Bearer ff_xxx_yyy" -H "Content-Type: application/json" \
-d '{
"url": "https://www.youtube.com/watch?v=...",
"frames": { "mode": "fps", "fps": 1, "width": 480, "format": "webp" }
}'
Returns frames[] as time-limited signed image URLs. Lower width = cheaper. Up to 1000 frames/call. Modes: all, every_n (+n), fps (+fps), range (+from,to,fps). See Pinterest too.
Metadata + insights without downloading the video — sub-cent and quick.
curl -X POST https://framefetch.net/v1/metadata \
-H "Authorization: Bearer ff_xxx_yyy" -H "Content-Type: application/json" \
-d '{ "url": "https://www.youtube.com/watch?v=..." }'
# -> title, uploader, durationSec, uploadDate, views, likes, commentCount
No signup needed to try metadata: paste a URL on the free demo.
Add the MCP server; the agent gets framefetch_extract and framefetch_platform_capabilities.
{
"mcpServers": {
"framefetch": {
"url": "https://framefetch.net/mcp",
"headers": { "Authorization": "Bearer ff_xxx_yyy" }
}
}
}
No account? An agent can pay per call with x402: call POST /v1/topup, get a 402 with USDC payment requirements, pay, retry. Listed in the official MCP registry as io.github.MarvinRey7879/framefetch.
POST the URL to /v1/transcript with your Bearer key. TikTok/Instagram/Reddit are transcribed with Whisper (no reliable captions).
POST to /v1/frames with a frames spec, e.g. { "mode":"fps", "fps":1, "width":480 }. Frames come back as signed image URLs.
Yes — via x402 (USDC on Base): 402 → pay → retry, no signup.