seedance-2-0 reference-to-video
doubao/seedance-2-0/reference-to-video
The "Reference-to-Video" feature of Seedance 2.0 is the ultimate solution for visual stylistic unity. It precisely extracts artistic styles, lighting tones, or compositional intents from reference materials and seamlessly integrates them into newly generated videos, ensuring a highly consistent visual language for your creative series.
Examples
Parameters
| Name | Type | Default | Constraints | Description |
|---|---|---|---|---|
| imagesImages | image_upload | — | image/* · 0–9 items | Reference images for video generation |
| audiosAudios | audio_upload_group | — | audio/* · 0–3 items | Reference audios for video generation |
| promptPrompt | textarea | — | — | The positive prompt for the generation. |
| generate_audioGenerate Audio | boolean | true | — | Enable synchronized audio for generated video |
| resolutionResolution | select | 720p | 480p | 720p | 1080p | 4k | Video Resolution |
| ratioAspect Ratio | select | adaptive | adaptive | 16:9 | 4:3 | 1:1 | 3:4 | 9:16 | 21:9 | Aspect ratio of the generated video |
| duration *Duration (Seconds) | select | 5 | -1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | … | Video duration (seconds). Only integer values are supported. |
| return_last_framereturn the last frame | boolean | — | — | Should the last frame of the generated video be returned? |
| watermarkAdd Watermark | boolean | false | — | Indicates whether to include a watermark in the generated video. |
| seedSeed | number | -1 | -1 ~ 4294967295 | The seed integer is used to control the randomness of the generated content. |
Output fields
| Field | Type | Description |
|---|---|---|
| id | string | Optional result identifier. |
| videos | array<string> | Generated video URL(s). |
API
Call this model through one unified REST API. Get a key on the API Keys page.
cURL
# 1) Submit — returns { "task_uuid": "..." }
curl -X POST "https://www.namifusion.com/api/v1/marketplace/run/doubao/seedance-2-0/reference-to-video" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"images": [
"https://assets-public.namifusion.com/uploads/images/2026-04-10/a9489888297a.png",
"https://assets-public.namifusion.com/marketplace/images/2026-04-10/6abd3e6e8a4e.jpeg"
],
"prompt": "The puppy in @Image2 is running on the beach in @Image1.",
"generate_audio": true,
"resolution": "720p",
"ratio": "16:9",
"duration": 7,
"watermark": false,
"seed": -1
}
}'
# 2) Poll until status is "completed", then read the output URLs
curl "https://www.namifusion.com/api/v1/marketplace/run/tasks/TASK_UUID" \
-H "Authorization: Bearer YOUR_API_KEY"Python
import time, requests
API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# 1) Submit
resp = requests.post(
"https://www.namifusion.com/api/v1/marketplace/run/doubao/seedance-2-0/reference-to-video",
headers=HEADERS,
json={
"input": {
"images": [
"https://assets-public.namifusion.com/uploads/images/2026-04-10/a9489888297a.png",
"https://assets-public.namifusion.com/marketplace/images/2026-04-10/6abd3e6e8a4e.jpeg"
],
"prompt": "The puppy in @Image2 is running on the beach in @Image1.",
"generate_audio": True,
"resolution": "720p",
"ratio": "16:9",
"duration": 7,
"watermark": False,
"seed": -1
}
},
)
resp.raise_for_status() # 401/402/429/5xx stop here instead of polling a bad task
task = resp.json()
# 2) Poll until a terminal state (completed / failed / cancelled).
# This model is allowed up to 300s server-side.
deadline = time.time() + 360
while task.get("status") not in ("completed", "failed", "cancelled"):
if time.time() > deadline:
raise TimeoutError(f"still {task.get('status')} — keep the task_uuid and poll later")
time.sleep(3)
poll = requests.get(f"https://www.namifusion.com/api/v1/marketplace/run/tasks/{task['task_uuid']}", headers=HEADERS)
poll.raise_for_status()
task = poll.json()
print(task["status"], task.get("output"))JavaScript
const API_KEY = "YOUR_API_KEY";
const HEADERS = { Authorization: `Bearer ${API_KEY}` };
// 1) Submit
const resp = await fetch("https://www.namifusion.com/api/v1/marketplace/run/doubao/seedance-2-0/reference-to-video", {
method: "POST",
headers: { ...HEADERS, "Content-Type": "application/json" },
body: JSON.stringify({
"input": {
"images": [
"https://assets-public.namifusion.com/uploads/images/2026-04-10/a9489888297a.png",
"https://assets-public.namifusion.com/marketplace/images/2026-04-10/6abd3e6e8a4e.jpeg"
],
"prompt": "The puppy in @Image2 is running on the beach in @Image1.",
"generate_audio": true,
"resolution": "720p",
"ratio": "16:9",
"duration": 7,
"watermark": false,
"seed": -1
}
}),
});
if (!resp.ok) throw new Error(`submit failed: ${resp.status} ${await resp.text()}`);
let task = await resp.json();
// 2) Poll until a terminal state (completed / failed / cancelled).
// This model is allowed up to 300s server-side.
const deadline = Date.now() + 360 * 1000;
while (!["completed", "failed", "cancelled"].includes(task.status)) {
if (Date.now() > deadline) throw new Error(`still ${task.status} — keep the task_uuid and poll later`);
await new Promise((r) => setTimeout(r, 3000));
const poll = await fetch(`https://www.namifusion.com/api/v1/marketplace/run/tasks/${task.task_uuid}`, { headers: HEADERS });
if (!poll.ok) throw new Error(`poll failed: ${poll.status}`);
task = await poll.json();
}
console.log(task.status, task.output);Documentation
Doubao-Seedance 2.0
The "Film Studio in a Model": Precision Control with Multi-Modal Fusion.
Seedance 2.0 is ByteDance's next-generation video generation model, designed to revolutionize the "one-person film studio" workflow. Unlike traditional T2V models, it features a revolutionary Multi-modal Reference System, allowing users to blend up to 12 different inputs (images, videos, and audio) to achieve pixel-perfect control over characters, motion, and rhythm.
🚀 Key Features
- Multi-modal Fusion: Supports simultaneous input of 9 images + 3 videos + 3 audio clips (up to 12 total) for precise character and scene consistency.
- Native 2K Cinematic Quality: Industry-leading visual fidelity with support for native 1080P and 2K resolution, featuring realistic lighting and physics.
- Audio-Visual Synchronicity: Native support for lip-sync and rhythm matching, automatically aligning visual motion with background music or speech.
- Exceptional Physical Logic: Advanced simulation of fluid dynamics, gravity, and complex human movements with a 99.5% generation success rate.
- Pro Camera Control: Direct language-based control over cinematic camera movements (pan, tilt, zoom) and lighting transitions.
🛠️ Technical Specifications
| Parameter | Details |
|---|---|
| Model Architecture | Diffusion-based Transformer (DiT) / Multi-modal |
| Max Resolution | 2K (Standard: 1080P) |
| Video Duration | 4 - 15 Seconds |
| Aspect Ratios | 16:9, 9:16, 4:3, 3:4, 21:9, 1:1 |
| Input Modality | Text, Image (up to 9), Video (up to 3), Audio (up to 3) |
| Generation Speed | ~30-90 seconds per clip |
Sample Prompts
- Cinematic: "Rainy city street at night, neon flickering. A man in a black trench coat walks with a red umbrella. Slow dolly-in to a facial close-up. Moody film noir aesthetic."
- Character Consistency: "Use @Image1 as the character, reference @Video1 for the running motion, and match the tempo of @Audio1."
💰 Pricing (Volcengine API)
| Service Type | Resolution | Price | Estimated Cost |
|---|---|---|---|
| Video Gen (T2V/I2V) | 480p/720p | $7 / 1M Tokens | ~$0.0673/$0.1512 per second |
| Video Gen (V2V) | 480p/720p | $4.3 / 1M Tokens | ~$0.0413/$0.0929 per second |
| Video Gen (T2V/I2V) | 1080p | $7.7 / 1M Tokens | ~$0.3742 per second |
| Video Gen (V2V) | 1080p | $4.7 / 1M Tokens | ~$0.2284 per second |
💡 Best Use Cases
- E-commerce & Advertising: Rapidly creating high-quality product demos and promotional short videos.
- Music Videos (MV): Automatically syncing visual transitions and effects to the beat of a song.
- Social Media Content: Professional-grade storytelling for TikTok/Reels with zero hardware overhead.
Related models
VT Lip Sync
VT Lip Sync synchronizes mouth movements for a translated video by using the translated target video, translated audio, translated subtitle timing, and the original source video with its original subtitle timing.
Kling Omni Video O3
Kling Omni Video O3 Reference-to-Video generates creative videos using character, prop, or scene references from multiple viewpoints. Extracts subject features and creates new video content while maintaining identity consistency across frames. Supports audio generation. Ready-to-use REST API, best performance, no cold starts, affordable pricing.
Kling Omni Video O3
Kling Omni Video O3 Reference-to-Video generates creative videos using character, prop, or scene references from multiple viewpoints. Extracts subject features and creates new video content while maintaining identity consistency across frames. Supports audio generation. Ready-to-use REST API, best performance, no cold starts, affordable pricing.
Kling 3.0 Standard
Kling 3.0 Standard Motion Control transfers motion from reference videos to animate still images. Upload a character image and a motion clip (dance, action, gesture), and the model extracts the movement to generate smooth, realistic video. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.
black-forest-labs/flux-3/video-upscale
From $0.79 for 1 second at default creativity=1; $0.55/second at creativity=0. Billed by input duration, rounded up to whole seconds. FLUX Video Upscale enhances MP4 videos with source-faithful or creative detail reconstruction, configurable 1.5x to 3x scaling, and improved visual clarity for video restoration, social content, ads, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
black-forest-labs/flux-3/video-extend-draft
FLUX 3 Video Extend Draft quickly continues a required input video into a draft clip with prompt-guided next-scene motion, optional synchronized audio, and flexible 5-20 second duration for rapid iteration.
black-forest-labs/flux-3/video-extend
FLUX 3 Video Extend continues input videos into new 5-20 second clips, using prompt guidance to control the next action, camera movement, visual style, motion continuity, and optional synchronized audio at 720P / 1080P output. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Alibaba WAN 2.6
Alibaba WAN 2.6 Reference-to-Video seamlessly transforms character, prop, or scene references—supporting both single and multi-view inputs—into high-quality video sequences. It excels at preserving identity, style, and layout while delivering fluid, coherent motion. Experience peak performance via our production-ready REST API, featuring zero cold starts and cost-effective pricing.