framefetch

n8n community node for the FrameFetch video data API — turn any social-video URL (YouTube, YouTube Shorts, TikTok, Instagram Reels, Pinterest, Reddit) into answers (ask), metadata, transcript, insights, frames, on-screen text (OCR), digests, comments and

Documentation

n8n-nodes-framefetch

An n8n community node for the FrameFetch video data API.

Turn any social-video URL — YouTube, YouTube Shorts, TikTok, Instagram Reels, Pinterest, Reddit — into answers (ask a direct question, get a grounded reply with timestamped quotes), metadata, transcript, insights, sampled frames, on-screen text (OCR), LLM digests, spoken audio digests, comments + sentiment, and typed structured JSON from a single node. Built for AI agents; pay-per-call with prepaid credits, Stripe, or x402 (USDC).

Installation · Credentials · Operations · Example workflow · Compatibility · Resources

Installation

Install it like any other community node:

  1. In n8n, go to Settings → Community Nodes.
  2. Select Install and enter the npm package name n8n-nodes-framefetch.
  3. Agree to the risks and select Install. The FrameFetch node then appears in the node panel.

Self-hosted alternative: npm install n8n-nodes-framefetch in your n8n custom-nodes folder (~/.n8n/nodes), then restart n8n.

Credentials

Create a free API key at framefetch.net (self-serve, comes with free credit — the key starts with ff_).

In n8n, add a FrameFetch API credential and paste the key. Authentication is sent as an Authorization: Bearer <key> header on every request. The credential's Test button calls the read-only GET /v1/account endpoint, which never bills. A Base URL field (default https://framefetch.net) is available for self-hosted or test endpoints.

Operations

Extract Video Data — POST /v1/extract

  • Video URL — the social-video URL to process.
  • Fields (multi-select) — any of: metadata, insights, transcript, frames, text_overlay, digest, audio_digest, structured, comments, comment_sentiment, delta. Some fields auto-include others (digest → transcript, audio_digest → digest, structured → transcript, comment_sentiment → comments; text_overlay requires frames).
  • Options (optional) — Ask a Question (a direct question about the video; returns a <=500-token grounded answer with timestamped quotes in ask, $0.0075/call, auto-includes transcript), Translate To (25 languages, adds transcript_translated), Voice (for audio_digest), Comments Cap (1-200, default 100; for comments/comment_sentiment), Subtitle / Output Format (md / srt / vtt), Publish Public SEO Page, Use Cache.
  • Frames (optional, shown when Frames/Text Overlay is selected) — sampling spec: mode (all / every_n / fps / range), n, fps, from, to, format (jpg/png/webp), width.

Get Account — GET /v1/account

Read-only account snapshot: email, credit balance, spend today/this month, current limits, and auto-topup config. Never bills.

Get Usage — GET /v1/usage

Read-only usage history over a date range. Options: From, To (ISO-8601; default trailing 30 days) and Group By (day or endpoint). Never bills.

Example workflow

Extract a transcript plus one-frame-per-second thumbnails from a YouTube video:

  1. Manual Trigger
  2. FrameFetch node
    • Credential: FrameFetch API
    • Operation: Extract Video Data
    • Video URL: https://www.youtube.com/watch?v=jNQXAC9IVRw
    • Fields: Transcript, Frames
    • Frames → Mode: Frames Per Second, FPS: 1, Width: 480

The node outputs the JSON ExtractResult (metadata, transcript, frames[], cost, …). Because the node is usable as an AI tool, you can also attach it to an AI Agent node and let the agent call FrameFetch on demand.

Ask a question instead of parsing a transcript

  1. FrameFetch node
    • Operation: Extract Video Data
    • Video URL: the video to ask about
    • Options → Ask a Question: What does the presenter recommend?

The response's top-level ask object carries { answer, quotes: [{ t_sec, text }], confidence, based_on } — a short grounded answer with timestamped supporting quotes, instead of a full transcript dump.

Compatibility

  • Requires n8n with community-node support and Node.js ≥ 18.10.
  • Uses the declarative node style; no runtime dependencies beyond the n8n-workflow peer dependency.

Resources

Build from source

cd clients/n8n
npm install
npm run build   # tsc → dist/, then copies the node icon

MIT licensed.

Discussion