Wan 模型文生视频接口文档¶
Wan/Alibaba Cloud 提供高质量文本到视频生成模型,本文档描述了使用 Wan/Alibaba Cloud 模型进行文本到视频生成的完整 API 接口规范。
支持的模型¶
目前支持的模型包括:
| 模型 | 描述 |
|---|---|
| wan2.5-t2v-preview | Wan 2.5 文本到视频生成模型(预览版) |
| wan2.6-t2v | Wan 2.6 文本到视频生成模型 |
概述¶
Wan 模型文生视频功能提供异步任务处理机制:
- 提交任务:发送文本提示词,创建视频生成任务
- 查询状态:通过任务 ID 查询生成进度和状态
- 获取结果:任务完成后获取生成的视频文件
任务状态流转¶
- queued: 任务已提交,等待处理
- in_progress: 任务正在处理中
- completed: 任务成功完成,视频已生成
- failed: 任务失败
接口列表¶
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /v1/video/generations | 提交视频生成任务 |
| GET | /v1/video/generations/{task_id} | 查询任务状态 |
调用示例¶
请求体¶
{
"prompt": "A large hand-shaped marble statue with vines growing on it, on a platform in the middle of a shallow pool of water.",
"model": "wan2.5-t2v-preview",
"metadata": {
"input": {
"negative_prompt": "trees, animals, outdoors"
},
"parameters": {
"prompt_extend": false
}
}
}
完整请求:
curl -X POST "https://computevault.unodetech.xyz/v1/video/generations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer API_KEY" \
-d '{
"prompt": "A large hand-shaped marble statue with vines growing on it, on a platform in the middle of a shallow pool of water.",
"model": "wan2.5-t2v-preview",
"metadata": {
"input": {
"negative_prompt": "trees, animals, outdoors"
},
"parameters": {
"size": "1920*1080"
}
}
}'
请求参数说明:¶
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型名称,如 wan2.5-t2v-preview |
| prompt | string | 是 | 文本提示词,描述要生成的视频内容 |
| metadata | object | 否 | metadata 对象,包含 input 和 parameters 子对象,用于指定官方 Wan 请求格式中的可选字段 |
metadata.input 参数:¶
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| negative_prompt | string | 否 | 负面提示词,用于排除不希望出现在视频中的元素 |
| audio_url | string | 否 | 自定义音频文件的 URL,用于音画同步。当提供此参数时,parameters.audio 参数将被忽略。支持模型:wan2.5, wan2.6 |
metadata.parameters 参数:¶
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| prompt_extend | boolean | 否 | 是否启用智能提示词改写功能 |
| watermark | boolean | 否 | 是否在视频中添加水印 |
| seed | integer | 否 | 随机种子,用于控制生成结果的随机性,相同种子可产生相似结果 |
| size | string | 否 | 视频分辨率。注意:480P 不支持 wan2.6。可选值按分辨率层级如下: 480P 层级(仅 wan2.5): - "832*480" (16:9)- "480*832" (9:16)- "624*624" (1:1)720P 层级: - "1280*720" (16:9)- "720*1280" (9:16)- "960*960" (1:1)- "1088*832" (4:3)- "832*1088" (3:4)1080P 层级: - "1920*1080" (16:9)- "1080*1920" (9:16)- "1440*1440" (1:1)- "1632*1248" (4:3)- "1248*1632" (3:4) |
| duration | integer | 否 | 视频时长(秒)。可选值:5、10、15(15 秒仅 wan2.6) |
| audio | boolean | 否 | 是否启用自动配音/背景音乐生成。当 input.audio_url 未提供时,设置为 true 将自动生成匹配的背景音频或音乐。支持模型:wan2.5, wan2.6。注意:wan2.2 及更早版本仅输出无声视频 |
| shot_type | string | 否 | 指定生成视频的镜头类型,即视频是单个连续镜头还是多个切换镜头。可选值:"single"(默认,输出单镜头视频)或 "multi"(输出多镜头视频)。仅 wan2.6。注意:此参数仅在 prompt_extend 设置为 true 时生效。参数优先级:shot_type > prompt |
音频参数说明:
音频行为由 input.audio_url 和 parameters.audio 参数控制,优先级:audio_url > audio。支持三种模式:
- 生成无声视频:不传递
audio_url,且设置audio为false - 自动生成音频:不传递
audio_url,且设置audio为true(模型会根据提示词和视频内容自动生成匹配的背景音频或音乐) - 使用自定义音频:传递
audio_url(此时audio参数将被忽略,视频内容会尝试与音频内容对齐,如口型动作和节奏)
1. 提交视频生成任务¶
接口地址:¶
请求头:¶
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Content-Type | string | 是 | application/json |
| Authorization | string | 是 | Bearer API_KEY |
响应示例:¶
{
"id": "...",
"object": "video",
"model": "wan2.5-t2v-preview",
"status": "queued",
"progress": 0,
"created_at": 1765328779
}
响应字段说明:¶
| 字段 | 类型 | 说明 |
|---|---|---|
| id | string | 任务 ID,用于后续查询任务状态 |
| object | string | 对象类型,固定为 "video" |
| model | string | 生成视频的模型 |
| status | string | 任务状态,初始为 "queued" |
| progress | integer | 任务进度,0-100 |
| created_at | integer | 任务创建时间戳 |
2. 查询任务状态¶
完整请求¶
curl -X GET "https://computevault.unodetech.xyz/v1/video/generations/TASK_ID" \
-H "Authorization: Bearer API_KEY"
接口地址:¶
请求头:¶
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Authorization | string | 是 | Bearer API_KEY |
路径参数:¶
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| task_id | string | 是 | 任务 ID |
响应示例(处理中):¶
{
"code": "success",
"message": "",
"data": {
"task_id": "...",
"action": "textGenerate",
"status": "IN_PROGRESS",
"fail_reason": "",
"submit_time": 1765328779,
"start_time": 1765328794,
"finish_time": 0,
"progress": "30%",
"data": {
"output": {
"scheduled_time": "2025-12-10 09:06:19.749",
"submit_time": "2025-12-10 09:06:19.731",
"task_id": "...",
"task_status": "RUNNING"
},
"request_id": "..."
}
}
}
响应示例(成功):¶
{
"code": "success",
"message": "",
"data": {
"task_id": "...",
"action": "textGenerate",
"status": "SUCCESS",
"fail_reason": "<OUTPUT_URL>",
"submit_time": 1765328779,
"start_time": 1765328794,
"finish_time": 1765328947,
"progress": "100%",
"data": {
"output": {
"actual_prompt": "<EDITED_PROMPT>",
"end_time": "2025-12-10 09:08:53.863",
"orig_prompt": "A large hand-shaped marble statue with vines growing on it, on a platform in the middle of a shallow pool of water.",
"scheduled_time": "2025-12-10 09:06:19.749",
"submit_time": "2025-12-10 09:06:19.731",
"task_id": "...",
"task_status": "SUCCEEDED",
"video_url": "<OUTPUT_URL>"
},
"request_id": "...",
"usage": {
"video_count": 1,
"video_duration": 5,
"video_ratio": "1920*1080"
}
}
}
}
可在返回的 data.data.output.video_url 字段获取视频 URL。
响应示例(失败):¶
{
"code": "success",
"message": "",
"data": {
"task_id": "...",
"action": "textGenerate",
"status": "FAILURE",
"fail_reason": "task failed, code: InvalidParameter , message: image_url must provided",
"submit_time": 1765407269,
"start_time": 1765407278,
"finish_time": 1765407294,
"progress": "100%",
"data": {
"output": {
"code": "InvalidParameter",
"end_time": "2025-12-11 06:54:49.934",
"message": "image_url must provided",
"scheduled_time": "2025-12-11 06:54:29.557",
"submit_time": "2025-12-11 06:54:29.529",
"task_id": "...",
"task_status": "FAILED"
},
"request_id": "..."
}
}
}
响应字段说明:¶
| 字段 | 类型 | 说明 |
|---|---|---|
| code | string | 响应状态码,"success" 表示成功 |
| message | string | 响应消息 |
| data | object | 任务数据对象 |
| data.task_id | string | 任务 ID |
| data.status | string | 任务状态:IN_PROGRESS、SUCCESS、FAILURE |
| data.progress | string | 任务进度百分比 |
| data.data.output.video_url | string | 视频访问 URL(任务成功时) |
| data.data.output.task_status | string | 任务状态:RUNNING、SUCCEEDED、FAILED |
| data.data.usage | object | 使用情况统计(任务成功时) |
| data.data.usage.video_count | integer | 生成的视频数量 |
| data.data.usage.video_duration | integer | 视频时长(秒) |
| data.data.usage.video_ratio | string | 视频分辨率 |