Skip to main content

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:
This is the standard shape for multi-clip output. Each iteration of the body runs the captions step + the editor step against one clip, then Collect bundles the per-clip results so Approve & Export can render one MP4 per clip with a ZIP download. Also use Split when each item needs its own independent generation pass:
  • Parse Scenes → Split → Image Generation → Image to Video → Collect — each scene is a fresh AI generation
  • Multi-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.
Both shortcuts are stored in 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 & Export already accepts both a single video and a Video[] 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):
Multi-shot with continuity (sequential mode):

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.