Omni ReferenceAlibaba

Wan 3.0 全能参考

alibaba/wan-3.0/video

支持图片、视频、音频、文档、网页多模态参考输入,单次生成最长 30 秒、原生带音轨的视频。像素级还原参考素材中的角色、道具与空间关系,并支持首尾帧模式进行精确控制。

示例

Wan 3.0 全能参考 example 1

参数

名称类型默认约束说明
prompt提示词textarea≤ 5000 chars最多 5000 字符,中英文各算一个字符。与参考素材必填其一。
images参考图片image_upload_groupimage/jpeg,image/png,image/bmp,image/webp · 0–10 items最多 10 张,单张 ≤20MB,单边 240–8000 像素,长宽比不超过 8:1。PNG 不支持透明通道。与首尾帧互斥。
audios参考音频audio_upload_groupaudio/wav,audio/mpeg · 0–5 items最多 5 段,单段 1–15 秒,总时长 ≤15 秒,单个 <15MB。支持 WAV、MP3。与首尾帧互斥。
first_frame首帧image_uploadimage/jpeg,image/png,image/bmp,image/webp严格指定视频第一帧。与参考图片/视频/音频互斥。
last_frame尾帧image_uploadimage/jpeg,image/png,image/bmp,image/webp严格指定视频最后一帧。与参考图片/视频/音频互斥。
resolution分辨率select1080P480P | 720P | 1080P
aspect_ratio长宽比selectadaptiveadaptive | 16:9 | 4:3 | 1:1 | 3:4 | 9:16自适应会根据意图和输入媒体比例自动选择。
duration生成时长(秒)number5-1 ~ 30 · step 12–30 秒;填 -1 为智能时长,由模型自动决定。有视频输入时,输入与输出总时长不超过 30 秒。智能时长按 30 秒预扣费。
generate_audio生成音轨booleantrue关闭后输出视频不含音轨。开关音轨价格相同。
enable_thinking深度思考模式booleanfalse解析文档、网页、复杂图像内容时需要开启。不输入文档或链接时不建议开启。
file参考文档file_upload.docx,.doc,.xlsx,.xls,.pptx,.ppt,.pdf,.txt,.key,.pages,.numbers,.md最多 1 个,≤100MB,≤50 页。需开启深度思考模式,且与网页链接互斥。
link参考网页text仅支持无需登录的公开网页。国内不解析海外 URL。需开启深度思考模式,且与参考文档互斥。
seed随机种子number0 ~ 2147483647 · step 1

API

通过统一 REST API 调用本模型;在 API Keys 页获取密钥。

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);

文档

Wan 3.0 全能参考

一次调用,把图片、视频、音频、文档、网页变成同一条视频

Alibaba Wan 3.0 Omni Reference 支持五类参考输入同时生效,单次生成最长 30 秒、原生带音轨的视频。它在像素级还原参考素材中的角色、道具与空间关系的同时,支持首尾帧模式做精确控制,也可以把成片长度交给模型自行决定。开箱即用的 REST 推理 API,无冷启动。

🚀 主要功能

  • 五类参考输入:最多 10 张参考图、5 段参考视频、5 段参考音频,外加 1 份参考文档或 1 个网页链接,可自由组合。
  • 像素级身份保持:角色、道具、服装与空间关系在新镜头中保持一致,无需额外训练。
  • 原生音轨:默认直接输出带声音的视频,省掉单独的配音环节。
  • 首尾帧控制:指定首帧、尾帧或两者,精确约束镜头的起止画面。
  • 智能时长:把时长交给模型,由内容自行决定成片长度(最长 30 秒)。
  • 深度思考模式:开启后可解析参考文档、网页与复杂图像内容,再据此生成。

🛠️ 技术规格

参数说明
模型架构Alibaba Wan 3.0
参考图片最多 10 张
参考视频最多 5 段(时长计入计费)
参考音频最多 5 段
参考文档 / 网页文档 ≤100MB、≤50 页,或 1 个公开网页;二选一,需开启深度思考模式
输出格式视频(MP4,默认含音轨)
分辨率480P / 720P / 1080P(默认 1080P)
宽高比adaptive / 16:9 / 4:3 / 1:1 / 3:4 / 9:16
时长2–30 秒(默认 5 秒),或设为 -1 交由模型决定;有视频输入时,输入与输出总时长不超过 30 秒
超时300 秒

💰 价格

分辨率计费公式
480P20 积分 × total_duration
720P40 积分 × total_duration
1080P80 积分 × total_duration

total_duration = 生成视频时长 + 参考视频的计费时长(多段参考视频按总时长累加)。

智能时长的计费方式:把 duration 设为 -1 时,成片长度由模型决定,下单时无法预知,因此按 30 秒上限计费。例如 1080P、智能时长、无参考视频输入,单次扣费 2400 积分。如果对时长有明确预期,直接填具体秒数会更省。

💡 最佳应用场景

  • 角色一致的连续剧集:用同一组参考图贯穿多个镜头,保持人物与服装不变。
  • 产品实拍转视频:以实拍图与实拍视频为参考,生成同款质感的商品短片。
  • 文档 / 网页转视频:开启深度思考模式,把产品文档或落地页直接变成讲解视频。
  • 带声音的社媒短片:默认输出音轨,省掉后期配音环节。
  • 首尾帧过渡:指定起止画面,做精确的转场与衔接。

🔗 相关模型

  • alibaba/wan-2.6/reference-to-video:参考视频驱动的镜头语言与节奏复刻。
  • alibaba/wan-2.6/image-to-video:单图转视频,成本更低。
  • alibaba/wan-2.6/text-to-video:纯文本生成视频。