Nodaro Docs
DocumentationNode ReferenceModelsAI Agents (MCP)DevelopersSelf-hostingResearch
Video

Video Analysis

Break a video or YouTube link of up to 10 minutes into scenes of 8 seconds or less, with prompt-ready visuals, camera, audio and castable people and places.

Available on Nodaro Cloud

The Video Analysis node breaks a video into a scene-by-scene description that an AI model can recreate. It cuts the video into scenes of 8 seconds or less, one generation each, and describes every scene's picture, framing, camera and sound. Recurring people, objects and places become reusable entity slots, so you can recast the video with your own characters, objects and locations.

On a self-hosted install, the node shows a NODARO mark and runs through your Nodaro Cloud connection, billed to the connected account. Without a connection, the node shows a Connect nodaro.ai button and does not run.

When to use it

  • You want to turn a reference video into a shot-by-shot plan to recreate it with AI.
  • You want to extract the cast of a video, to shoot it again with your own characters, objects and locations.
  • You want a prompt-ready description of each scene to feed image and video nodes.
  • You want each scene's sound layers, the dialogue plus descriptions of the music and sound effects, for a matching soundtrack.

Quick start

Add the node

Press Tab on the canvas and choose Video › Analyze › Video Analysis.

Give it a video

Connect a video node, such as Upload Video, to the Video input, or paste a link under YouTube URL in the settings panel. For a link, the panel shows the video's length, which sets the price.

Choose the quality

Choose an Analysis quality. Pro is the default. Optionally, write what matters most under Analysis focus (optional).

Run it and use the result

Click Run. Wire the Text output into a prompt, for example of Generate Video Pro, or the Scenes JSON output into a node that reads structured data.

videovideoanalysispromptUpload VideoReference videoVideo AnalysisProAI AuditGenerate Video Pro
A reference video is analyzed, AI Audit re-checks the analysis against the footage, and the corrected text drives Generate Video Pro.

Inputs

InputAcceptsWhat it does
VideoVideo nodes, such as Upload Video, Video URL and Generate VideoThe video to analyze. Optional when YouTube URL is set. A connected video always wins over the link.

Outputs

OutputWhat it carries
Scenes JSONThe full analysis as structured data: meta, look, slots and scenes. See What the analysis contains.
TextThe same analysis as plain text. Wire it into any prompt or text input without copying and pasting.

Settings

SettingWhat it does
Analysis qualitySmart, Pro (the default), Fast, Mixed or Mixed (consistent). See Which quality to choose.
Result selectionChoose (the default) or Combine. The video is analyzed several times. Choose keeps the strongest pass as it is. Combine also adds details from the other passes after checking them against the footage. It is slightly slower and the most complete. Smart ignores this setting.
Cast variations — detect alternate looks per entityOff by default. Also detects the different looks of each person or thing and the scenes where each look appears. See Appearance looks.
Translate to EnglishTwo checkboxes, both off by default: Speech — what's said or sung and On-screen text — signs, captions, titles. See Output language.
YouTube URLA youtube.com or youtu.be link to analyze when no video is connected.
Analysis focus (optional)Up to 2,000 characters on what the analysis should pay attention to, for example "product shots and on-screen text".
Pre & post textText added before and after the analysis focus at run time. See Prompt pre and post text.

Analysis focus steers attention, never the format. It does not change the structure of the result, the scene length or the list of fields. Leave it empty for a general breakdown.

The Video Analysis settings panel with Analysis quality set to Pro, Result selection set to Combine, both translation checkboxes ticked, and a YouTube URL whose video is longer than the 10-minute limit.The Video Analysis settings panel with Analysis quality set to Pro, Result selection set to Combine, both translation checkboxes ticked, and a YouTube URL whose video is longer than the 10-minute limit.

Which quality to choose

You choose a quality tier, not a model. Nodaro chooses the analysis model behind each tier, so a tier can improve over time without any change to your workflow.

Analysis qualityWhat it doesUse it when
FastAn economy analysisYou can trade some detail for price and speed.
Pro (the default)A higher-fidelity analysis of scenes and entitiesMost breakdowns.
MixedSeveral analysis passes combined for maximum completenessCompleteness matters most.
Mixed (consistent)The same plan, tuned for the most consistent result from run to runYou run the same kind of video often and want steady output.
SmartThe highest accuracy: a detailed main pass blended with several economy passes, and always refinedThe shot list will drive a regeneration.

Every tier analyzes each part of the video several times and keeps or merges the best result: three passes on Fast and Pro, and six on the two Mixed tiers. Smart and both Mixed tiers also finish with a continuity review. It corrects claims that contradict each other across scenes. It also raises a continuity watch warning when a lasting state seems to be dropped, for example an object handcuffed to a character that disappears from later scenes. Every correction and watch is listed in the result's warnings.

What the analysis contains

The result has four parts. Downstream nodes and your own code read the same structure.

meta — facts about the file

FieldWhat it holds
durationSecThe measured duration, in seconds
width, heightThe frame size, in pixels
aspectRatioThe aspect ratio, snapped to 16:9, 9:16, 1:1, 4:3, 3:4 or 21:9 when within 3%, otherwise the reduced width-to-height ratio
titleThe source title when known, such as the YouTube title
languageThe main spoken language. It always describes the footage, whatever the translation settings.

look — the photography of the whole clip

Properties that belong to the whole piece rather than one shot, stated once so that every regenerated shot shares them. Every field is optional, and the whole part is left out when the analysis cannot read it.

FieldWhat it holds
styleThe medium, such as "live-action photoreal", "2D anime", "stop-motion claymation" or "3D render"
styleIdThe matching entry of the Style picker, when the medium fits one
gradeThe color grade and palette
formatThe camera or film format and stock, such as "16mm film grain"
lensThe lens character, such as "wide-angle, shallow depth of field throughout"
lightingThe overall lighting style. A scene that differs describes its own lighting.
genreThe kind of piece, such as "cinematic trailer" or "talking-head vlog"
influenceThe visual influence the piece clearly evokes, like the Photographer / Artist Style picker. It is left out unless the style is clearly recognizable.

slots — the castable people, objects and places

Each recurring entity is extracted once, so that you can replace it with your own.

FieldWhat it holds
slotIdA stable id, used in a scene's visual text as a slot token, for example {slot:hero}
labelA readable name
sourceThe kind of asset to cast it from: a character, an object, a location or a creature
roleIts role in the video, such as "narrator" or "hero product"
descriptionA complete visual description, used when no asset is cast
refImageUrlA frame from the video where the entity is clearly visible, picked automatically
variationsThe entity's other looks, when Cast variations is on

scenes — one entry per shot

FieldWhat it holds
sceneNumberThe scene's number, from 1, across the whole video
startSec, endSecWhere the scene starts and ends, in seconds
labelA short scene label
shotTypeThe framing size: Wide, Medium, Medium Close-Up, Close-Up, Extreme Close-Up, or Two-Shot, Insert or Aerial
angleWhere the camera sits. Absent means eye level. See the values below.
cameraThe camera movement in free text, such as "slow push-in". Empty for a locked-off shot.
speedslow-motion, ramp-in, ramp-out, timelapse, freeze or reverse. Absent means normal speed.
effectsEffects on the picture: blur, pixelate, glitch, grain, vignette, flash, distortion or double-exposure. Absent means a clean image.
onScreenTextText burned into the picture, such as titles and captions, word for word in its original script
visualThe visual description with slot tokens, for recasting
visualResolvedThe same description with every slot written out. Render from this field.
audioThe sound layers of the scene. See below.
slotRefsThe slots that appear in the scene
slotVariationsWhich look each slot wears in this scene, when Cast variations is on
oversizedPresent when the scene is longer than 8 seconds because it could not be cut shorter. It is still one generation.

Each scene also notes a visible transition into the next shot, when there is one.

Camera angles. angle is one of eye-level, low, high, overhead, worms-eye, dutch, over-the-shoulder, pov, profile or from-behind. The three camera fields are independent: shotType says how much of the subject is in frame, angle where the camera sits, and camera what the camera does. An over-the-shoulder medium shot is shotType Medium with angle over-the-shoulder.

Read visualResolved, not visual. visual keeps the slot tokens so that you can recast the scene later. visualResolved is the complete, prompt-ready text that every downstream node should use.

Audio layers

A scene's audio is a list of the sounds that play at the same time. A music bed under a line of dialogue over a splash is three layers. An empty list means real silence.

FieldWhat it holds
modespeech, music or sfx
contentFor speech, the exact words. For music and sound effects, a description ready for generation.
voiceFor speech, what the voice sounds like, such as "male, warm, conversational"
speakerSlotFor speech, the slot of the on-screen speaker, when the analysis can tell
  • Each line appears once. Reading the speech layers in scene order gives the soundtrack with nothing said twice. A line that crosses a cut is split at the cut, and a line over a montage belongs to the shot where it starts.
  • Soundtrack songs are music. A song that nobody on screen performs is part of the music layer, with its vocals described there. Only words spoken or sung inside the story are speech.
  • The speaker is optional. speakerSlot is left out when the analysis is not sure, when the speaker is an unseen narrator, and when the speaker is a one-off person with no slot.

Appearance looks

With Cast variations — detect alternate looks per entity on, the analysis separates the different looks of the same subject instead of averaging them into one description. A plain change of clothes between scenes counts as much as a dream, a flashback, a disguise, a transformation or an era.

  • Up to 4 looks per slot. Each look has an id, such as dream, flashback, disguise, costume, transformation, era or alt-1. It also has a short label, a full description of the subject in that look, and a frame that shows it.
  • Scenes say which look is active. A scene without a look for a slot uses the slot's default look.
  • Two ways of finding looks. One pass watches the footage for changes of clothes, hair and makeup. A second pass reads the finished analysis for looks the footage does not show, such as "twenty years later". Neither pass renames a slot or changes a scene's text.
  • Nothing disappears silently. When a subject has more looks than the limit, the extra looks are folded into the default look, and the result records the fold.

Generate Video Pro keeps each look consistent within its own scenes.

Output language

With both Translate to English checkboxes off, the analysis keeps the video's original language. Speech is quoted word for word, and on-screen text stays in its original script. That is what you want to recreate a video as it is.

The two checkboxes change different things, so you can tick them independently:

CheckboxWhat it translates
Speech — what's said or sungThe spoken and sung words
On-screen text — signs, captions, titlesThe text visible in the picture

For example, you can have English narration over a street whose signs stay in Chinese. With either box ticked, the scene descriptions, camera notes, slot descriptions and voice notes are written in English too.

  • Names stay as they are. Brand, product, person and place names are never translated.
  • The language field does not change. language always names the language spoken in the footage.
  • This changes the recreation. The scene descriptions are the prompts for regeneration, so a translated sign is rendered in English in the new shot.
  • The original words are not kept. The translation replaces them. Run again with the boxes off if you need the original.

Music videos. By default, song lyrics that nobody on screen performs stay inside the music layer. For a music video, where the song is the piece, set musicVideo: true in the API request, or music_video in the MCP tool. Every sung lyric then comes back word for word as speech, scene by scene. This option is available through the API and MCP only.

Long videos and limits

  • Maximum length: 10 minutes (600 seconds) for any source. The limit is checked when you run the node, and again after the video is downloaded.
  • Windows: a video up to 180 seconds is analyzed in one pass. A longer video is analyzed in overlapping windows of about 150 seconds, with 5 seconds of overlap, then merged into one continuous, renumbered result.
  • YouTube: only youtube.com and youtu.be links are accepted. Live streams are refused; analyze the recording once the stream has ended.

Credits

The price depends on the Analysis quality and on the length of the video. The length falls into the smallest step that fits it: up to 60, 180, 360 or 600 seconds.

Analysis qualityUp to 60 sUp to 180 sUp to 360 sUp to 600 s
Fast181186516849
Pro2172336421,059
Mixed and Mixed (consistent)2702927311,181
Smart4145041,2702,081
  • A 3-second margin. After download, the node measures the video again and allows 3 seconds of tolerance. A video of exactly 1, 3, 6 or 10 minutes therefore stays in its own step.
  • Unknown length. If the length cannot be read when you run the node, the price of the 600-second step is reserved. In practice, a source whose length cannot be read is refused first.
  • Why the tiers differ. Longer videos need more windows, and each tier analyzes every window several times. Those repeated passes are the main reason Mixed and Smart cost more.

Tips

  • Start with Pro. Drop to Fast for a cheaper pass when you can trade some detail.
  • Use Analysis focus. Point the analysis at what matters for your recreation: product shots, on-screen text or one character.
  • Check the analysis before you spend. Wire the result into AI Audit, which re-watches the video and corrects only what the footage confirms, before you generate every scene.
  • Render from visualResolved. Use visual and slotRefs only if you build your own recasting step.

From the API

The same analysis is available to code and to AI assistants. The full result is also stored in the job's output. The source is videoUrl or youtubeUrl, and the settings map to llmModel (the quality tier), selectionMode, variations, translateSpeechToEnglish, translateOnScreenTextToEnglish and analysisFocus. See Run a single node and the MCP tools.

Frequently asked questions

Last updated on

On this page