阿里万相 3.0(Wan 3.0)全能视频模型:一个模型名同时覆盖文生视频、首帧/首尾帧图生视频,以及「全能参考」——最多 10 张参考图 + 5 段参考视频 + 5 段参考音频,或者直接喂一份 PPT / Word / Excel / PDF、一个公开网页。原生单镜最长 30 秒、30fps,自带同步音轨。按【输出秒数】计费,喂进去的参考素材一分不收。走 apimodels.app 统一视频端点,与 VEO、Kling、Seedance 调用方式完全一致,换模型只改 model 字段,一把 key 全平台通用 —— 也不需要阿里云账号和大陆实名认证。
| 模型 / 分辨率 | 单价 | 5 秒 | 10 秒 | 30 秒 |
|---|---|---|---|---|
| wan-3.0-video · 480P | $0.0596/s | $0.30 | $0.60 | $1.79 |
| wan-3.0-video · 720P | $0.1191/s | $0.60 | $1.19 | $3.57 |
| wan-3.0-video · 1080P | $0.2382/s | $1.19 | $2.38 | $7.15 |
| wan-3.0-video-prime · 480P | $0.0893/s | $0.45 | $0.89 | $2.68 |
| wan-3.0-video-prime · 720P | $0.1787/s | $0.89 | $1.79 | $5.36 |
| wan-3.0-video-prime · 1080P | $0.3574/s | $1.79 | $3.57 | $10.72 |
POST /api/v1/video/generations —— 异步:创建后轮询同一个端点取结果。
# Step 1: Create task (text-to-video)
curl -X POST https://api.apimodels.app/v1/video/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan-3.0-video",
"prompt": "A paper airplane gliding over a calm lake at sunrise, camera drifting alongside",
"resolution": "720P",
"ratio": "16:9",
"duration": 5
}'
# Omni-reference: address materials positionally in the prompt
curl -X POST https://api.apimodels.app/v1/video/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan-3.0-video",
"prompt": "The person in video 1 picks up the object from figure 2 and places it on the table",
"reference_image_urls": ["https://example.com/object.png"],
"reference_video_urls": ["https://example.com/person.mp4"],
"resolution": "720P",
"duration": 8
}'
# Document to video: feed a deck straight in
curl -X POST https://api.apimodels.app/v1/video/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan-3.0-video",
"prompt": "A polished product launch film based on this deck",
"file_url": "https://example.com/launch-deck.pptx",
"resolution": "1080P",
"duration": 10
}'
# Step 2: Poll status
curl "https://api.apimodels.app/v1/video/generations?task_id=TASK_ID" \
-H "Authorization: Bearer YOUR_API_KEY"| 用法 | 传什么 |
|---|---|
| 文生视频 | 只传 prompt |
| 首帧 / 首尾帧 | first_frame_url [+ last_frame_url] |
| 全能参考 | reference_image_urls / reference_video_urls / reference_audio_urls |
| 文档 / 网页生视频 | file_url 或 link_url |
⚠️ 首帧/尾帧 与 参考类素材(reference_* / file_url / link_url)【互斥】,不能在同一个请求里混用 —— 混了上游会判失败,我们在本地就先拦下来并告诉你是哪两边冲突,不会白跑一趟。file_url 与 link_url 也是二选一。
在全能参考模式下,提示词里可以用「图1」「图2」「视频1」「音频1」按顺序指代素材(图、视频、音频各自独立编号),例如:「视频1 里的人抱着 图3,坐在 图4 的椅子上弹吉他」。这是让多个角色、道具、场景在一条镜头里保持一致的关键。
| 字段 | 必填 | 类型 | 说明 |
|---|---|---|---|
| model | 是 | string | "wan-3.0-video" 或 "wan-3.0-video-prime"(高速版,实测快约 6 倍,单价高 50%) |
| prompt | 否 | string | 视频描述。prompt 与素材至少传一个;最长 20000 字符 |
| first_frame_url | 否 | string | 首帧图,严格作为第一帧。与参考类素材互斥 |
| last_frame_url | 否 | string | 尾帧图,严格作为最后一帧 |
| reference_image_urls | 否 | string[] | 参考图,最多 10 张。提示词里按顺序称「图1」「图2」 |
| reference_video_urls | 否 | string[] | 参考视频,最多 5 段,单段 1-15 秒、总时长 ≤15 秒 |
| reference_audio_urls | 否 | string[] | 参考音频,最多 5 段,总时长 ≤15 秒(wav / mp3) |
| file_url | 否 | string | 文档:docx/doc/xlsx/xls/pptx/ppt/pdf/txt/key/pages/numbers/md,≤50 页、≤100MB。与 link_url 二选一 |
| link_url | 否 | string | 公开网页 URL(无需登录即可访问的页面) |
| resolution | 否 | string | "480P" / "720P" / "1080P"。⚠️ 省略时我们默认 720P(官方默认是 1080P,双倍价) |
| ratio | 否 | string | "adaptive"(默认,按输入素材自动挑)、"16:9"、"4:3"、"1:1"、"3:4"、"9:16" |
| duration | 否 | number | 2-30 秒,默认 5;传 -1 为智能时长(模型自己挑)。有参考视频时:输入视频总时长 + 输出时长 ≤ 30 秒 |
| audio | 否 | boolean | 输出是否含音轨,默认 true。关掉不降价 |
| prompt_extend | 否 | boolean | 提示词智能改写,默认 true。短提示词效果提升明显,但会增加耗时 |
| seed | 否 | number | 随机种子,0-2147483647,用于复现结果 |
| watermark | 否 | boolean | 是否加水印标识,默认 false |
| callback_url | 否 | string | 任务完成后的回调 URL |
创建接口立即返回 data.taskId,视频在后台生成。带上这个 task_id 向同一个端点发 GET,读 data.state:pending 表示还在跑,completed 时 data.resultUrls[0] 就是 MP4 地址,failed 时 data.failMsg 是原因。不想轮询就传 callback_url,任务结束后我们主动 POST 通知你。