Omni ReferenceAlibaba

Wan 3.0 Omni Reference

alibaba/wan-3.0/video

Generates videos up to 30 seconds with native audio from multimodal references — images, video, audio, documents, and web pages. Reproduces characters, props, and spatial relationships from your references at pixel-level fidelity, with a first/last-frame mode for precise control.

Examples

Wan 3.0 Omni Reference example 1

Parameters

NameTypeDefaultConstraintsDescription
promptPrompttextarea≤ 5000 charsUp to 5000 characters. Either prompt or reference media is required.
imagesReference Imagesimage_upload_groupimage/jpeg,image/png,image/bmp,image/webp · 0–10 itemsUp to 10 images, ≤20MB each, 240–8000px per side, aspect ratio within 8:1. PNG alpha not supported. Cannot be combined with first/last frame.
audiosReference Audioaudio_upload_groupaudio/wav,audio/mpeg · 0–5 itemsUp to 5 clips, 1–15s each, 15s total, <15MB each. WAV and MP3. Cannot be combined with first/last frame.
first_frameFirst Frameimage_uploadimage/jpeg,image/png,image/bmp,image/webpPins the first frame of the video. Cannot be combined with reference images, videos, or audio.
last_frameLast Frameimage_uploadimage/jpeg,image/png,image/bmp,image/webpPins the last frame of the video. Cannot be combined with reference images, videos, or audio.
resolutionResolutionselect1080P480P | 720P | 1080P
aspect_ratioAspect Ratioselectadaptiveadaptive | 16:9 | 4:3 | 1:1 | 3:4 | 9:16Adaptive picks a ratio from the prompt and input media.
durationDuration (seconds)number5-1 ~ 30 · step 12–30 seconds, or -1 for smart duration decided by the model. With video input, input plus output must not exceed 30 seconds. Smart duration is pre-charged at 30 seconds.
generate_audioGenerate AudiobooleantrueWhen off, the output video has no audio track. Pricing is unchanged either way.
enable_thinkingThinking ModebooleanfalseRequired for parsing documents, web pages, and complex image content. Not recommended without a document or link.
fileReference Documentfile_upload.docx,.doc,.xlsx,.xls,.pptx,.ppt,.pdf,.txt,.key,.pages,.numbers,.mdOne file max, ≤100MB, ≤50 pages. Requires thinking mode and cannot be combined with a web link.
linkReference Web PagetextPublic pages only, no login required. Requires thinking mode and cannot be combined with a document.
seedSeednumber0 ~ 2147483647 · step 1

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-3.0/video" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "input": {
    "resolution": "1080P",
    "aspect_ratio": "adaptive",
    "duration": 5,
    "generate_audio": true,
    "enable_thinking": false
  }
}'

# 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-3.0/video",
    headers=HEADERS,
    json={
        "input": {
            "resolution": "1080P",
            "aspect_ratio": "adaptive",
            "duration": 5,
            "generate_audio": True,
            "enable_thinking": False
        }
    },
)
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-3.0/video", {
  method: "POST",
  headers: { ...HEADERS, "Content-Type": "application/json" },
  body: JSON.stringify({
    "input": {
      "resolution": "1080P",
      "aspect_ratio": "adaptive",
      "duration": 5,
      "generate_audio": true,
      "enable_thinking": false
    }
  }),
});
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

Wan 3.0 Omni Reference

Turn images, video, audio, documents, and web pages into one video

Alibaba Wan 3.0 Omni Reference accepts five kinds of reference input at once and generates a single video of up to 30 seconds with a native audio track. It reproduces characters, props, and spatial relationships from your references at pixel-level fidelity, supports first/last-frame control for precise framing, and can decide the final length on its own. Ready-to-use REST inference API, no cold starts.

🚀 Key Features

  • Five reference modalities: Up to 10 reference images, 5 reference videos, and 5 audio clips, plus one document or one web link — combine them freely.
  • Pixel-level identity preservation: Characters, props, wardrobe, and spatial relationships stay consistent across new shots, with no extra training.
  • Native audio: Outputs video with sound by default — no separate dubbing pass.
  • First/last-frame control: Pin the opening frame, the closing frame, or both.
  • Model-decided duration: Hand the length to the model and let the content determine it (up to 30 seconds).
  • Thinking mode: Parses reference documents, web pages, and complex imagery before generating.

🛠️ Technical Specifications

ParameterDescription
Model ArchitectureAlibaba Wan 3.0
Reference ImagesUp to 10
Reference VideosUp to 5 (their duration is billed)
Reference AudioUp to 5
Reference Document / Web PageDocument ≤100MB and ≤50 pages, or one public URL; mutually exclusive, requires thinking mode
Output FormatVideo (MP4, audio included by default)
Resolution480P / 720P / 1080P (default 1080P)
Aspect Ratioadaptive / 16:9 / 4:3 / 1:1 / 3:4 / 9:16
Duration2–30 seconds (default 5), or -1 to let the model decide; with video input, input plus output must not exceed 30 seconds
Timeout300 seconds

💰 Pricing

ResolutionPricing formula
480P20 credits × total_duration
720P40 credits × total_duration
1080P80 credits × total_duration

total_duration = generated video duration + billed duration of reference video inputs (summed across all reference clips).

How model-decided duration is billed: setting duration to -1 lets the model choose the length, which cannot be known at request time, so it is billed at the 30-second maximum. For example, 1080P with model-decided duration and no reference video costs 2400 credits per call. If you already know roughly how long the clip should be, passing an explicit number is cheaper.

💡 Best Use Cases

  • Character-consistent series: Reuse one reference set across many shots to keep a character and wardrobe identical.
  • Product photography to video: Feed product stills and footage as references to generate matching short-form clips.
  • Document or landing page to video: Turn on thinking mode and convert a spec sheet or web page into an explainer.
  • Social clips with sound: Native audio output removes the post-production dubbing step.
  • First/last-frame transitions: Pin start and end frames for precise cuts and hand-offs.

🔗 Related Models

  • alibaba/wan-2.6/reference-to-video: Replicates camera language and pacing from reference footage.
  • alibaba/wan-2.6/image-to-video: Single image to video at a lower cost.
  • alibaba/wan-2.6/text-to-video: Text-only video generation.
Wan 3.0 Omni Reference API — Pricing, Playground & Docs | NamiFusion