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 | 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. |
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.15 per second |
| Video Gen (V2V) | 480p/720p | $4.3 / 1M Tokens | ~$0.09 per second |
| Video Gen (T2V/I2V) | 1080p | $7.7 / 1M Tokens | ~$0.16 per second |
| Video Gen (V2V) | 1080p | $4.7 / 1M Tokens | ~$0.1 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 Omni Video O1 Reference-to-Video
Kling Omni Video O1 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. Ready-to-use REST API, best performance, no cold starts, affordable pricing.
Kling Omni Video O1 Reference-to-Video
Kling Omni Video O1 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. 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.
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.