Model Details
Seedance 2.5 Reference to Video builds a clip out of reference material rather than a single starting frame. Send 1 to 30 reference images — a product, a character, a location, a prop, a style plate — and describe the shot; address each one positionally in the prompt as `@Image1`, `@Image2` and so on, so you decide which reference lands where. That is what makes compositing work: `@Image1 rests on the counter in @Image2` puts the object from the first reference into the room from the second, and both references show up in the finished take. Nothing here fixes the framing the way a supplied frame does, so `aspect_ratio` stays a free choice — 16:9, 4:3, 1:1, 3:4, 9:16, 21:9 or adaptive — and a single take runs up to 30 seconds at 24 fps with a synchronized soundtrack generated alongside the picture at no extra cost. Output is 480p or 720p.
## Best for - Compositing separate references — subject, prop, location, style plate — into one generated scene - Keeping a product, character, outfit or set consistent across a clip without filming it - Steering exactly which reference goes where by naming them `@Image1`, `@Image2` in the prompt - Vertical, square or 21:9 clips generated straight from landscape references, with no re-cropping - Long single takes, up to 30 seconds, with ambience and dialogue generated with the picture
## Choose another model when - You need output above 720p: this generation tops out at 720p — use `bytedance/seedance-v2/reference-to-video`, which reaches 1080p - You have one starting frame to animate rather than references to composite — use `bytedance/seedance-v2.5/image-to-video` - You want to steer the shot from an existing video clip: this variant accepts image and audio references only, not video - You need a fixed seed for reproducible runs, or a locked-off camera: neither input exists on this generation
## Tips - Name every reference in the prompt — one the prompt never mentions is usually ignored or blended into the others - Spend the prompt on motion, camera, light and sound; the references carry appearance, so don't re-describe them - Numbering follows array order: `@Image1` is the first entry in `reference_images`, `@Image2` the second - Set `duration` yourself when cost matters: billing is per second of finished video, so `-1` leaves the length open up to 30 seconds - `reference_audios` is experimental: the clips are accepted and cost nothing extra, but their effect on the soundtrack is unverified
To run via the ModelRunner JavaScript client: ```js import { modelrunner } from "@modelrunner/client";
const result = await modelrunner.subscribe("bytedance/seedance-v2.5/reference-to-video", { input: { reference_images: [ "https://media.modelrunner.ai/D2FAkKEZ7WbZsyjLhyC7T.jpeg", "https://media.modelrunner.ai/7BLQ9IGMlfwwjE2JPCNf8.jpeg", ], prompt: "@Image1 rests on the counter in @Image2, a thin curl of steam rising from it as the morning light shifts across the room and the camera pushes in", resolution: "720p", aspect_ratio: "16:9", duration: 8, generate_audio: true, }, }); ```

