Skip to main content

Composable Multi-Shot Video

This guide shows how to create a multi-shot video using composable nodes. You build the pipeline from individual nodes — giving you full control over each step.

The composable pipeline

Each node in this chain handles exactly one responsibility:

Step-by-step setup

1. Create the script

Add a Text Input or Script Generation node. Write or generate a numbered script:

2. Parse into scenes

Connect the script to a Parse Scenes node. It will automatically detect the numbered format and split it into individual scenes. If the text isn’t numbered, the node uses AI to decompose it (1 credit).

3. Split for iteration

Connect Parse Scenes to a Split node. Choose Sequential mode — this is important for visual continuity. In sequential mode:
  • Each scene is processed in order
  • The Image Gen node receives the previous shot’s end frame as a reference image
  • This maintains character and style consistency across shots

4. Generate images

Inside the split loop, add an Image Generation node. In sequential mode, the node automatically extracts the end frame from the previous shot’s video and uses it as a reference for the next image. This maintains visual continuity without any manual work. Choose your image engine (e.g., Nano Banana 2, GPT Image 2, FLUX.2).

5. Generate videos

Add an Image-to-Video node after Image Gen. This takes the generated image and animates it into a video clip. Choose your video engine (e.g., Kling 3.0, Veo 3.1, Seedance 2.0).

6. Trim each clip

Add a Video Editor node to set precise start/end points for each shot’s video. When only one video flows in (as inside a Split loop), the Video Editor shows a compact single-clip layout with a video preview and trim slider.

7. Collect results

After the split loop body, add a Collect node. This gathers all the trimmed clips, images, and scene text back into unified arrays.

8. Preview and merge

Finally, add an Approve & Export node to preview all clips combined, render the final video, and either download it or publish directly to a connected TikTok or YouTube account.

Visual continuity (sequential mode)

The key advantage of the composable approach with sequential mode:
  1. Shot 1’s video is generated
  2. The last frame of Shot 1’s video is extracted
  3. This frame is uploaded and passed as a reference image to Shot 2’s Image Gen
  4. Shot 2’s image maintains visual consistency with Shot 1’s ending
  5. This cascades through all shots
If end-frame extraction fails (e.g., CORS issues), the node falls back to the previous shot’s start image.

Advantages of the composable approach

  • Swap image engine per shot — change engines mid-flow
  • Skip image gen (use uploaded images) — replace Image Gen with Media Upload
  • Add captions per shot — insert Auto Captions before Collect
  • Add audio per shot — insert Audio Overlay before Collect
  • Use text-to-video instead of image-to-video — swap the video generation node
  • Reuse clips for other workflows — branch after Collect
  • Process shots in parallel — choose Parallel mode in Split
  • Custom post-processing per shot — add any node between Split and Collect

Parallel vs Sequential mode

  • Sequential: Slower, but maintains visual continuity via end-frame extraction. Best for narrative videos where shots should flow naturally.
  • Parallel: Faster (all shots processed independently), but no visual continuity between shots. Best for montage-style content or when continuity doesn’t matter.

Credit cost

Same as legacy — the individual node costs add up identically:
  • Parse Scenes: 0-1 credit (free if script is already numbered)
  • Per shot: Image Gen cost + Video Gen cost
  • Total: parse cost + (image + video) x number of shots

Example: 5-shot narrative video

Using Nano Banana (3 credits) + Kling 2.6 5s (4 credits):

Agent scheduling

The composable pipeline is fully supported by agent scheduling. Scheduled agents can parse scenes, iterate through each shot, and generate video clips automatically. You can then open the run in the app to trim and add captions/audio.