Split (For Each)
The Split node takes an array output from a previous node (e.g., multiple clips from Clip Finder, multiple scenes from a script) and iterates over them. All downstream nodes between Split and the corresponding Collect node run once per item.When you need Split
Split exists to translate a multi-item array into one-item-at-a-time so downstream interactive nodes (Auto Captions, Video Editor, etc.) run once per item — letting the user shape each clip individually. Use Split for clipping flows:Parse Scenes → Split → Image Generation → Image to Video → Collect— each scene is a fresh AI generationMulti-Angle → Split → Image to Video → Collect— each angle gets animated separately- Sequential mode where iteration N feeds iteration N+1 (continuity flows)
Shortcut buttons inside the loop
When Auto Captions and Video Editor are inside a Split → Collect loop, both nodes detect that they’re iterating and surface a shortcut so you don’t have to redo the same work N times:- Auto Captions → “Apply to All Remaining Clips” — finishes the current iteration with the chosen caption style and quietly applies the same style to every later iteration without opening the design UI.
- Video Editor → “Skip Editing for All” — finishes the current iteration with no edits and quietly skips the editor for every later iteration.
sessionStorage keyed by run id + step order, so they only affect this run and only this step. You can still open the editor or design captions individually for any iteration if you don’t take the shortcut.
When NOT to use Split:
- Single-video flows (script → script-to-video → captions → editor → export) — there’s nothing to iterate over.
Approve & Exportalready accepts both a single video and aVideo[]directly — it doesn’t need Split or Collect on its input.
Handles
Processing modes
Parallel (default)
All items are processed independently. Best for clips or images that don’t need continuity between them.Sequential
Items are processed in order. Each iteration has access to the previous iteration’s result. This enables visual continuity — Image Generation automatically grabs the last frame of shot N’s video and uses it as the starting image for shot N+1, so the sequence flows continuously. This continuity handoff is built into sequential mode and runs automatically — you don’t place anything to get it. It’s the right tool when the number of shots is dynamic (e.g. Parse Scenes produced a variable number of scenes), because one loop body runs N times.The Frame Extractor node does a similar last-frame handoff, but it’s a separate, explicit tool for linear, fixed-length flows (
shot1 → Frame Extractor → shot2 → Frame Extractor → shot3). It is not a replacement for Split: it’s a single data node, not an iteration construct, and a Frame Extractor placed inside a loop body can’t see the previous iteration’s video. Use sequential Split for dynamic shot counts; reach for Frame Extractor when you’ve hand-wired a known number of shots and want the handoff visible on the canvas.Configuration
Example flows
Per-clip captions + editing (the standard clipping flow):Cost
Free — Split is a flow control node with no AI processing.Notes
- Without a Split node, array data flows through as a batch (existing behavior).
- If no Collect node is found downstream, iteration results are passed through individually.
- The iteration progress bar shows “Processing item X of Y” during execution.