Content Analyzer

Break a video down shot by shot: hook, shot list, script beats, visual style, and a brief to recreate it

Content Analyzer

Badge: New
Node type: research:content_analyzer
Category: llm

Description

Break a video down shot by shot: hook, shot list, script beats, visual style, and a brief to recreate it

Pricing

  • Cost: ~7 credits per units

Canvas ports

These appear as port handles on the left side of the node.

ID Label Details
video Video VIDEO (required) — The video to break down (wire a TikTok Content node)

These render as form fields in the right-side config panel when the node is selected.

ID Label Details
videoMasterPrompt Analysis Brief TEXT — Replaces the built-in shot-by-shot brief entirely, so ask for the final thing you want. Example: "Break this down, then output only a production-ready Seedance prompt that recreates it for my product." Leave blank to keep the default breakdown.
model Model TEXT · options: google/gemini-2.5-flash, openai/gpt-4.1-mini — Vision model used for the breakdown. Cheap vision models only, because the node is flat-priced.
numFrames Max frames NUMBER · 1…16 — Upper bound, not a target. Frames are sampled at scene changes, so a short or static video comes back with fewer than you ask for. Max 16.
includeTranscript Include transcript BOOLEAN — Transcribe the audio and feed it alongside the frames. Falls back to frames-only (and says so) if transcription fails.
maxTokens Max output tokens NUMBER — Hard cap on the breakdown length (max 6000)

Outputs

ID Label Type
text Breakdown TEXT
json Structured JSON
images All Frames IMAGE

Max frames is a ceiling, not a count

Setting Max frames to 28 does not mean you get 28 frames back. Two things cut it down, and both are by design:

  1. The cap is 16. Anything above that is clamped server-side. The number is the node's cost bound: every frame is about 258 input tokens to the vision model, and the flat price only stays honest while the worst case is bounded. The sidebar field is bounded to 1 to 16 so the value you save is the value that runs.
  2. Frames are sampled at scene changes, not on a timer. The node cuts the video at its scene boundaries and takes one frame per scene, so a video with fewer scenes than your number returns fewer frames. A 12-cut ad returns 12 frames whether you asked for 16 or 28. Short or static videos return the fewest.

So read the field as "no more than this". The images output tells you how many you actually got.

The Analysis Brief replaces the default prompt

Analysis Brief is not an extra instruction bolted onto the built-in breakdown. Whatever you type there becomes the entire prompt, and the default forensic shot-by-shot brief is dropped. Leave it blank to keep the default.

That is a feature once you know it: you can ask for the finished artifact directly instead of running the breakdown and then chaining a second LLM node to reshape it. For example:

Break this down, then output only a production-ready Seedance prompt that recreates it for my product.

One node, one charge, and the text output is already the prompt you wanted.

The All Frames output is the full array

images carries every frame the vision model looked at, as an array, and the frames also render as a gallery on the node itself. Wire it into an Image Iterator to fan out one run per frame (regenerate each frame with an image model, then animate it). The single-frame collapse other IMAGE ports do does not apply here: the array only survives on the images handle, not through json.


Auto-generated from the Wireflow node registry.

© 2026 Wireflow. All rights reserved.

Content Analyzer | Wireflow Docs