Wan 3.0 视频生成
使用 ModelSell 通用视频格式或阿里云百炼 Wan 3.0 原生格式创建视频任务并查询结果。
Wan 3.0 是异步视频生成模型,支持文生视频、首帧/首尾帧生视频、参考生视频、视频编辑、视频延长,以及参考文件或网页生成视频。ModelSell 同时支持系统通用视频格式和 Wan 3.0 官方原生格式。
本文按阿里云百炼 Wan 3.0 官方 API整理字段与限制,并说明 ModelSell 的公共任务 ID 和通用格式转换规则。
支持模型
| 模型 | 说明 |
|---|---|
wan3.0-video-prime | 高速版,能力与标准版对齐,端到端生成速度更快 |
wan3.0-video | 标准版 |
输出视频为 30 fps,最长可生成 30 秒。
选择请求格式
| 格式 | 创建任务 | 查询任务 | 适用场景 |
|---|---|---|---|
| ModelSell 通用格式 | POST /v1/video/generations | GET /v1/video/generations/{task_id} | 已使用系统通用视频 SDK,或需要统一切换不同视频模型 |
| Wan 3.0 原生格式 | POST /api/v1/services/aigc/video-generation/video-synthesis | GET /api/v1/tasks/{task_id} | 已按阿里云百炼官方请求体开发,或需要完整使用全部 Wan 原生参数 |
两种格式都请求 ModelSell 服务地址并使用 ModelSell API Key:
export MODELSELL_BASE_URL="https://api.modelsell.com"
export MODELSELL_API_KEY="sk-..."如果使用代理域名或测试环境,只替换 MODELSELL_BASE_URL,路径保持不变。不要把阿里云带 {WorkspaceId} 的上游地址直接作为 ModelSell 客户端地址。
服务端管理员应选择 Ali 渠道类型并配置阿里云百炼 API Key;调用方只需指定模型,无需传渠道类型。
系统也接受相同通用 JSON 的 POST /v1/videos 入口,并使用 GET /v1/videos/{task_id} 查询。本页统一使用 /v1/video/generations 举例;创建和查询路径应成对使用。
ModelSell 通用格式
通用格式适合与其他视频模型共用一套请求结构。prompt 是通用接口的必填字段。
字段映射
| 通用字段 | Wan 3.0 原生字段 | 说明 |
|---|---|---|
model | model | 支持两个 Wan 3.0 模型 |
prompt | input.prompt | 通用格式必须提供 |
image,或 images[] 中第一张 | input.media[] 的 first_frame | 严格作为首帧 |
images[] 中第二张 | input.media[] 的 last_frame | 严格作为尾帧 |
reference_images[].url | input.media[] 的 reference_image | 最多 10 张 |
video.url | input.media[] 的 reference_video | 最多 5 段,总时长不超过 15 秒 |
size | parameters.resolution | 480P、720P、1080P,小写值会转为大写 |
seconds 或 duration | parameters.duration | seconds 优先 |
metadata.input.media | 完整替换快捷媒体映射 | 用于参考音频、文件、网页或精确控制媒体类型 |
metadata.parameters | parameters | 完整传递所有 Wan 原生生成参数 |
当 metadata.input.media 非空时,系统不会再把 image、images[]、reference_images 或 video 合并进去。需要混合多种素材时,请把它们全部写入 metadata.input.media。
文生视频
curl -X POST "$MODELSELL_BASE_URL/v1/video/generations" \
-H "Authorization: Bearer $MODELSELL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video-prime",
"prompt": "一只小猫在月光下的屋顶上奔跑,远处城市霓虹闪烁,电影级光影,流畅运镜",
"size": "720P",
"duration": 5,
"metadata": {
"parameters": {
"ratio": "16:9",
"audio": true,
"seed": 7,
"prompt_extend": true,
"watermark": false
}
}
}'首尾帧生视频
images[] 中第一、第二张图片分别映射为 first_frame 和 last_frame:
{
"model": "wan3.0-video",
"prompt": "女孩从微笑逐渐变为大笑,镜头缓慢推进,背景由冷色渐变为暖色",
"images": [
"https://example.com/first-frame.png",
"https://example.com/last-frame.png"
],
"size": "480P",
"seconds": "5",
"metadata": {
"parameters": {
"ratio": "adaptive",
"audio": false,
"prompt_extend": true,
"watermark": false
}
}
}参考图与参考视频
{
"model": "wan3.0-video",
"prompt": "视频1中的人物拿起图1中的折扇,在庭院中缓慢转身",
"reference_images": [
{
"url": "https://example.com/fan.png"
}
],
"video": {
"url": "https://example.com/character.mp4"
},
"duration": 5,
"metadata": {
"parameters": {
"resolution": "720P",
"ratio": "adaptive",
"audio": true,
"seed": 0,
"prompt_extend": false,
"watermark": false
}
}
}完整原生媒体能力
通用格式没有单独的参考音频、文件和网页快捷字段。通过 metadata.input.media 可以使用官方全部媒体类型,并通过 metadata.parameters 保留显式的 false 和 0:
{
"model": "wan3.0-video",
"prompt": "参考视频1的动作、图1的服装和音频1的节奏生成一段广告视频",
"metadata": {
"input": {
"media": [
{
"type": "reference_image",
"url": "https://example.com/outfit.png"
},
{
"type": "reference_video",
"url": "https://example.com/motion.mp4"
},
{
"type": "reference_audio",
"url": "https://example.com/music.mp3"
}
]
},
"parameters": {
"resolution": "1080P",
"ratio": "16:9",
"duration": 10,
"audio": true,
"seed": 0,
"prompt_extend": false,
"watermark": false
}
}
}参考文件时,将媒体改为 {"type":"file","url":"https://example.com/product.pdf"};参考公开网页时使用 {"type":"link","url":"https://example.com/article"}。file 与 link 不能同时传入。
通用响应与查询
创建成功后保存 ModelSell 返回的公共 id 或 task_id:
{
"id": "task_xxxxxxxxxxxxxxxx",
"task_id": "task_xxxxxxxxxxxxxxxx",
"object": "video",
"status": "queued",
"model": "wan3.0-video-prime",
"progress": 0,
"created_at": 1787932800
}使用同一个公共任务 ID 查询:
curl "$MODELSELL_BASE_URL/v1/video/generations/task_xxxxxxxxxxxxxxxx" \
-H "Authorization: Bearer $MODELSELL_API_KEY"成功后从 metadata.url 读取视频地址;完整的时间、提示词和用量信息位于 metadata:
{
"id": "task_xxxxxxxxxxxxxxxx",
"task_id": "task_xxxxxxxxxxxxxxxx",
"object": "video",
"status": "completed",
"model": "wan3.0-video-prime",
"seconds": "5",
"video_url": "https://example.com/wan3-result.mp4",
"metadata": {
"url": "https://example.com/wan3-result.mp4",
"request_id": "request_xxxxxxxxxxxxxxxx",
"orig_prompt": "一只小猫在月光下的屋顶上奔跑",
"usage": {
"video_count": 1,
"duration": 5.0,
"input_video_duration": 0.0,
"output_video_duration": 5.0,
"fps": 30,
"SR": 720,
"ratio": "16:9"
}
}
}通用状态为 queued、in_progress、completed 或 failed。
Wan 3.0 原生格式
原生接口的请求体、任务状态和响应字段与阿里云百炼官方格式一致。客户端把官方 Base URL 换成 ModelSell 地址,并把阿里云 API Key 换成 ModelSell API Key 即可。
阿里云上游要求创建任务时携带 X-DashScope-Async: enable。ModelSell 会自动向上游添加该请求头,因此客户端可以不传;已有官方客户端保留此请求头也可以正常调用。
创建任务
curl -X POST "$MODELSELL_BASE_URL/api/v1/services/aigc/video-generation/video-synthesis" \
-H "Authorization: Bearer $MODELSELL_API_KEY" \
-H "Content-Type: application/json" \
-H "X-DashScope-Async: enable" \
-d '{
"model": "wan3.0-video",
"input": {
"prompt": "视频1中的人物穿着图1中的外套,根据音频1的节奏在街头行走",
"media": [
{
"type": "reference_image",
"url": "https://example.com/coat.png"
},
{
"type": "reference_video",
"url": "https://example.com/walk.mp4"
},
{
"type": "reference_audio",
"url": "https://example.com/beat.mp3"
}
]
},
"parameters": {
"resolution": "720P",
"ratio": "adaptive",
"duration": 5,
"audio": true,
"seed": 0,
"prompt_extend": false,
"watermark": false
}
}'input.prompt 和 input.media 至少提供一个。prompt 最长 20000 个字符,超出部分由上游截断。
原生参数
| 参数 | 类型 | 默认值 | 允许值与说明 |
|---|---|---|---|
parameters.resolution | string | 1080P | 480P、720P、1080P |
parameters.ratio | string | adaptive | adaptive、16:9、4:3、1:1、3:4、9:16 |
parameters.duration | integer | 5 | 无视频输入时为 2–30;有视频输入时,输入视频总时长加输出时长不超过 30;-1 表示智能时长 |
parameters.audio | boolean | true | 是否让输出视频包含音轨 |
parameters.seed | integer | 随机 | 0–2147483647;显式传 0 会保留 |
parameters.prompt_extend | boolean | true | 是否启用提示词智能改写;显式传 false 会保留 |
parameters.watermark | boolean | false | 是否添加水印;显式传 false 会保留 |
媒体类型与限制
input.media[].type | 数量与限制 | url 支持形式 |
|---|---|---|
first_frame | 最多 1 张,严格作为首帧 | 公网 URL、OSS 临时 URL、Base64 Data URL |
last_frame | 最多 1 张,严格作为尾帧 | 公网 URL、OSS 临时 URL、Base64 Data URL |
reference_image | 最多 10 张 | 公网 URL、OSS 临时 URL、Base64 Data URL |
reference_video | 最多 5 段;单段 1–15 秒,总时长不超过 15 秒 | 公网 URL 或 OSS 临时 URL |
reference_audio | 最多 5 段;单段 1–15 秒,总时长不超过 15 秒 | 公网 URL 或 OSS 临时 URL |
file | 最多 1 个,最大 100 MB | 公网 URL 或 OSS 临时 URL |
link | 最多 1 个,只支持无需登录的公开网页 | 公网 HTTP/HTTPS URL |
first_frame / last_frame 不能和 reference_image、reference_video、reference_audio、file 或 link 混用;file 与 link 也不能同时传入。
图像支持 JPEG、JPG、PNG、BMP、WEBP,其中 PNG 不支持透明通道;单边 240–8000 像素、比例不超过 8:1、文件不超过 20 MB。参考视频支持 MP4、MOV,单边 240–4096 像素、比例不超过 8:1、单文件不超过 100 MB。参考音频支持 WAV、MP3,单文件不超过 15 MB。
file 支持 DOCX、DOC、XLSX、XLS、PPTX、PPT、PDF、TXT、KEY、PAGES、NUMBERS 和 MD,最大 100 MB;PDF、Word、PowerPoint、Keynote 和 Pages 类文件最多 50 页。
创建响应
ModelSell 保留原生响应结构,只把 output.task_id 替换为可公开查询的 ModelSell 任务 ID:
{
"output": {
"task_status": "PENDING",
"task_id": "task_xxxxxxxxxxxxxxxx"
},
"request_id": "request_xxxxxxxxxxxxxxxx"
}上游拒绝请求时,原生错误字段也会保留:
{
"code": "InvalidParameter",
"message": "The request parameters are invalid.",
"request_id": "request_xxxxxxxxxxxxxxxx"
}查询原生任务
curl "$MODELSELL_BASE_URL/api/v1/tasks/task_xxxxxxxxxxxxxxxx" \
-H "Authorization: Bearer $MODELSELL_API_KEY"任务状态为 PENDING、RUNNING、SUCCEEDED、FAILED、CANCELED 或 UNKNOWN。成功时从 output.video_url 读取视频地址。响应示例:
{
"request_id": "request_xxxxxxxxxxxxxxxx",
"output": {
"task_id": "task_xxxxxxxxxxxxxxxx",
"task_status": "SUCCEEDED",
"submit_time": "2026-08-06 10:01:35.452",
"scheduled_time": "2026-08-06 10:01:35.507",
"end_time": "2026-08-06 10:13:33.838",
"orig_prompt": "一只小猫在月光下的屋顶上奔跑",
"video_url": "https://example.com/wan3-result.mp4"
},
"usage": {
"video_count": 1,
"duration": 5.0,
"input_video_duration": 0.0,
"output_video_duration": 5.0,
"fps": 30,
"SR": 720,
"ratio": "16:9"
}
}建议每 15 秒查询一次。上游任务 ID 和结果视频链接有效期均为 24 小时;获取成功结果后应及时下载或转存。客户端始终使用 ModelSell 返回的公共 task_id,不要使用日志中的上游任务 ID。
HappyHorse 视频对接
Previous Page
原生视频生成
使用阿里云百炼 Wan 3.0 官方请求体创建异步视频任务。支持 `wan3.0-video-prime` 和 `wan3.0-video`,以及文生视频、首帧/首尾帧生视频、参考生视频、视频编辑、视频延长、参考文件和参考网页等模式。 请求 ModelSell 服务地址并使用 ModelSell API Key。阿里云上游要求的 `X-DashScope-Async: enable` 由 ModelSell 自动添加,已有官方客户端也可以继续发送该请求头。 响应保留 Wan 3.0 原生字段,但 `output.task_id` 是 ModelSell 公共任务 ID。后续通过 `GET /api/v1/tasks/{task_id}` 查询,不要使用上游任务 ID。