Build with Content Analyzer.
Break a video down shot by shot: hook, shot list, script beats, visual style, and a brief to recreate it
Read the Content Analyzer docs
Best for
Break a video down shot by shot: hook, shot list, script beats, visual style, and a brief to recreate it Use the playground to set up a single step, then open a workflow when you want to connect more tools.
Inputs explained
- Video (required)
- The video to break down (wire a TikTok Content node) Type: video.
- Analysis Brief (optional)
- 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. Type: text. Default: "".
- Model (optional)
- Vision model used for the breakdown. Cheap vision models only, because the node is flat-priced. Type: text. Options: Gemini 2.5 Flash, GPT-4.1 mini. Default: "google/gemini-2.5-flash".
- Max frames (optional)
- 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. Type: number. Minimum: 1. Maximum: 16. Default: 12.
- Include transcript (optional)
- Transcribe the audio and feed it alongside the frames. Falls back to frames-only (and says so) if transcription fails. Type: boolean. Default: true.
- Max output tokens (optional)
- Hard cap on the breakdown length (max 6000) Type: number. Default: 4000.
Tips before you run
Start with the default settings and change one input at a time. Keep the result you like on your board so the next step can use it.
If you add a reference file, use a link the workflow can read. Check the inputs and credit estimate on the board before starting a run.
Working with this model
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.
Common questions
How do I use Content Analyzer on Wireflow?
Set the inputs above and choose Open in a workflow. Sign in to save your board, then check its credit estimate before you run.
Can I use Content Analyzer through an API?
Yes. Save a workflow with this model, then call the Wireflow run API with its workflow ID. The API tab has examples you can copy.
What changes the credit price?
The price shown uses the model defaults. Your inputs and model settings can change the total. The workflow shows an estimate before you run.
Can I connect this to another model?
Yes. Open it in a workflow and connect its output to another node with a matching input type.