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

Alibaba WAN 2.6 example 1

Parameters

NameTypeDefaultConstraintsDescription
prompt *Prompttextarea≤ 1500 charsThe positive prompt for the generation.
negative_promptNegative Prompttextarea≤ 1500 charsThe negative prompt for the generation.
sizeSizeselect1920*10801920*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).
durationDurationslider52 ~ 10 · step 1The duration of the generated media in seconds.
shot_typeShot Typeselectsinglesingle | multiThe type of shots to generate.
seedSeednumber≥ 0The 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

ParameterDescription
Model ArchitectureAlibaba WAN 2.6
Input FormatImage, Prompt, Negative Prompt, Audio (optional)
Output FormatVideo (MP4)
Resolution1280×720, 720×1280, 1920×1080, 1080×1920
Duration5 seconds or 10 seconds
Frame Rate30 FPS
LatencyNo cold start

💰 Pricing

Resolution groupPricing formula
720p sizes (1280720, 7201280, 960960, 8321088, 1088*832)8.7 credits x ceil(total_duration)
1080p/default sizes14.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
Video to VideoNamiFusion

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.

from $0.200 / per run
Kling Omni Video O3
Video to VideoKling

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.

from $0.380 / per run
Kling Omni Video O3
Video to VideoKling

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.

from $0.630 / per run
Kling Omni Video O1 Reference-to-Video
Video to VideoKling

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.

from $0.380 / per run
Kling Omni Video O1 Reference-to-Video
Video to VideoKling

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.

from $0.630 / per run
Kling 3.0 Standard
Video to VideoKling

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.

from $0.380 / per run
seedance-2-0 reference-to-video
Video to VideoDoubao

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.

from $0.470 / per run