Get a transcript, summary, or grounded answer from any video URL inside a Zap. FrameFetch has no Zapier app to install — and doesn't need one: it's a plain JSON REST API, so you call it from any Zap with the built-in Webhooks by Zapier action. One POST, a video URL in, a transcript out, available to every step that follows.
A dedicated Zapier app would only expose whatever actions its author wired up. Calling the API directly through Webhooks by Zapier gives you the whole thing — transcript, metadata, frames, on-screen text, summary, and question answering — with nothing to install and nothing to wait on. It's one action step you configure once, then reuse across Zaps by changing the body.
In your Zap, add an action, pick Webhooks by Zapier, and choose the POST event. Then fill in:
| Field | Value |
|---|---|
| URL | https://framefetch.net/v1/extract |
| Payload Type | json |
| Data | url = the video URL (map it from a previous step) · fields = transcript |
| Headers | Authorization = Bearer <your-key> |
That's the whole setup. The equivalent raw request — useful for sanity-checking outside Zapier — is:
POST https://framefetch.net/v1/extract
Authorization: Bearer <your-key>
Content-Type: application/json
{ "url": "https://www.youtube.com/watch?v=...", "fields": ["transcript"] }The response is JSON; Zapier exposes its fields to the following steps. The transcript arrives as flat text plus timestamped segments, with a source telling you whether it came from the video's captions or from Whisper.
{
"metadata": { "title": "...", "uploader": "...", "durationSec": 175 },
"transcript": {
"text": "the full transcript as one string ...",
"source": "captions",
"segments": [ { "start": 0, "end": 7, "text": "..." } ]
},
"cost": { "totalMicros": 2000 }
}Map transcript__text into a later step — a Google Sheet row, a Slack message, an email, an OpenAI prompt. On a video without captions source reads whisper instead; the transcript still arrives the same way.
Want a summary instead of the raw transcript? Change the Data to fields = digest and you get a gist, topics, and sentiment. Want a direct answer? Add an ask field with your question and get a short answer grounded in the transcript with timestamped quotes. Same Webhooks POST — only the body changes.
// summarize { "url": "https://www.youtube.com/watch?v=...", "fields": ["digest"] } // or ask a question { "url": "https://www.youtube.com/watch?v=...", "ask": "What are the three main points?" }
Grab a free key — no card, 100 calls a month — then paste it into the Zap's Authorization header:
POST https://framefetch.net/v1/keys
{ "email": "you@example.com" }
// -> { "key": "ff_..." } use as: Authorization: Bearer ff_...Pricing: metadata $0.00015, transcript $0.0015/min, ask $0.0075/call, $0.002 minimum per call; every response includes an exact cost.totalMicros. See pricing.