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) |
Sidebar config
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:
- 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.
- 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.