Skip to content

Multi-Shot Video

The Multi-Shot Video recipe generates videos composed of multiple shots that cut between scenes, reusing Runway’s multi-shot workflow. Use it when a single continuous take isn’t enough — product narratives, brand spots, and sequences that need variety and pacing.

Choose a mode. In auto mode, you provide a single story prompt and the recipe decomposes it into a set of shots for you. In custom mode, you provide your own shot list of 3–5 shots and the recipe polishes and assembles them. Either way, the recipe returns a task id you poll for the finished output.

InputRequiredDescription
modeYesauto decomposes a story prompt into shots; custom polishes a shot list you provide.
versionYesWorkflow version. Use a dated version like 2026-06 to pin behavior, or unsafe-latest to track the newest stable version.
promptauto onlyStory prompt to decompose into shots (max 2500 characters).
shotscustom onlyAn ordered list of 3–5 shots, each with a prompt (3–512 characters) and a duration in seconds. Per-shot durations must sum to duration.
firstFrameNoOptional image used as the first frame of the output video, as { uri }.
ratioNoOutput dimensions. 720p ratios (1280:720, 720:1280, 960:960) use the standard tier; 1080p ratios (1920:1080, 1080:1920, 1440:1440) use the pro tier. Defaults to 1280:720.
durationNoTotal output length in seconds: 5, 10, or 15. Defaults to 10.
audioNoWhether to generate audio. Defaults to true.

Auto mode decomposes a single story prompt into shots:

import RunwayML from '@runwayml/sdk';
const client = new RunwayML();
const task = await client.recipes.multiShotVideo({
version: '2026-06',
mode: 'auto',
prompt: 'A lone astronaut discovers a glowing forest on a distant planet',
duration: 10,
ratio: '1280:720',
});
console.log(task);

Custom mode polishes and assembles a shot list you provide. Per-shot durations must sum to duration:

import RunwayML from '@runwayml/sdk';
const client = new RunwayML();
const task = await client.recipes.multiShotVideo({
version: '2026-06',
mode: 'custom',
duration: 10,
ratio: '1280:720',
shots: [
{ prompt: 'Wide establishing shot of the product on a kitchen counter at sunrise', duration: 3 },
{ prompt: 'Close-up of a hand picking up the product', duration: 3 },
{ prompt: 'Product hero shot rotating against a clean background', duration: 4 },
],
});
console.log(task);

The recipe returns a task id. Poll GET /v1/tasks/{id} for status and the output video URL — see Using the API for the task workflow.

  • Write one clear idea per shot — keep each shot’s prompt focused on a single scene.
  • In custom mode, order shots the way you want them to play; the recipe preserves sequence.
  • In custom mode, make sure each shot’s duration adds up to the total duration.
  • Reuse the same product or style language across shots for visual consistency.
  • See Reference media guidelines for more.