Alibaba WAN 2.6
alibaba/wan-2.6/reference-to-video
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.
Examples
Parameters
| Name | Type | Default | Constraints | Description |
|---|---|---|---|---|
| prompt *Prompt | textarea | — | ≤ 1500 chars | The positive prompt for the generation. |
| negative_promptNegative Prompt | textarea | — | ≤ 1500 chars | The negative prompt for the generation. |
| sizeSize | select | 1920*1080 | 1920*1080 | 1080*1920 | 1440*1440 | 1632*1248 | 1248*1632 | 1280*720 | 720*1280 | 960*960 | … | The size of the generated media in pixels (width*height). |
| durationDuration | slider | 5 | 2 ~ 10 · step 1 | The duration of the generated media in seconds. |
| shot_typeShot Type | select | single | single | multi | The type of shots to generate. |
| seedSeed | number | — | ≥ 0 | The random seed to use for the generation. |
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/alibaba/wan-2.6/reference-to-video" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"prompt": "Replace the background in the video with a vibrant, bustling futuristic cityscape, featuring neon lights and flying cars.",
"negative_prompt": "Avoid dark or gloomy scenes, and ensure no elements of destruction or chaos are present.",
"size": "1920*1080",
"duration": 7,
"shot_type": "multi",
"seed": 0
}
}'
# 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/alibaba/wan-2.6/reference-to-video",
headers=HEADERS,
json={
"input": {
"prompt": "Replace the background in the video with a vibrant, bustling futuristic cityscape, featuring neon lights and flying cars.",
"negative_prompt": "Avoid dark or gloomy scenes, and ensure no elements of destruction or chaos are present.",
"size": "1920*1080",
"duration": 7,
"shot_type": "multi",
"seed": 0
}
},
)
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/alibaba/wan-2.6/reference-to-video", {
method: "POST",
headers: { ...HEADERS, "Content-Type": "application/json" },
body: JSON.stringify({
"input": {
"prompt": "Replace the background in the video with a vibrant, bustling futuristic cityscape, featuring neon lights and flying cars.",
"negative_prompt": "Avoid dark or gloomy scenes, and ensure no elements of destruction or chaos are present.",
"size": "1920*1080",
"duration": 7,
"shot_type": "multi",
"seed": 0
}
}),
});
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
Alibaba WAN 2.6
Transform References into Videos Effortlessly
Alibaba WAN 2.6 Reference-to-Video model converts character, prop, or scene references—single or multi-view—into new video shots while preserving identity, style, and layout with smooth, coherent motion. It offers a ready-to-use REST inference API with top performance, no cold starts, and affordable pricing.
🚀 Key Features
- Reference-driven Motion & Style: Mimic camera moves, pacing, and composition from your reference videos while following your prompt.
- Up to Two Reference Videos: Blend style from one clip and motion from another, or use different angles of the same scene.
- Cinematic Resolutions: Choose from 720p or 1080p (portrait or landscape).
- Story-aware Generation: Works with prompt expansion and multishots to build richer, multi-shot sequences.
- Audio-ready Pipeline: Optional audio field for workflows that need motion aligned to external sound.
🛠️ Technical Specifications
| Parameter | Description |
|---|---|
| Model Architecture | Alibaba WAN 2.6 |
| Input Format | Image, Prompt, Negative Prompt, Audio (optional) |
| Output Format | Video (MP4) |
| Resolution | 1280×720, 720×1280, 1920×1080, 1080×1920 |
| Duration | 5 seconds or 10 seconds |
| Frame Rate | 30 FPS |
| Latency | No cold start |
💰 Pricing
| Resolution group | Pricing formula |
|---|---|
| 720p sizes (1280720, 7201280, 960960, 8321088, 1088*832) | 8.7 credits x ceil(total_duration) |
| 1080p/default sizes | 14.4 credits x ceil(total_duration) |
total_duration is the generated duration plus the billed duration of reference video inputs.
💡 Best Use Cases
- E-commerce: Generate high-quality videos for product showcases.
- Social Media: Create platform-ready short video content for Reels, TikTok, etc.
- Film Production: Provide stylized shots and scenes for filmmaking.
- Advertising: Quickly generate brand-consistent advertisement videos.
🔗 Related Models
- vidu/reference-to-video-q2: Ideal for anime-style edits, trailers, and storyboards.
- google/veo3.1/reference-to-video: High-fidelity cinematic motion generation.
- kwaivgi/kling-video-o1/reference-to-video: Great for copying camera language and pacing from sample clips.
- bytedance/seedance-v1-lite/reference-to-video: Fast, style-consistent video generation.
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.
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.