万相 2.5 视频生成
curl --request POST \
--url https://api.novawander.cn/v1/video/generations \
--header 'Authorization: <authorization>'视频系列
万相 2.5 视频生成
阿里万相 Wan 2.5 文生视频、图生视频
POST
/
v1
/
video
/
generations
万相 2.5 视频生成
curl --request POST \
--url https://api.novawander.cn/v1/video/generations \
--header 'Authorization: <authorization>'简介
万相 2.5(Wan 2.5)是阿里云百炼推出的视频生成系列,由文生视频(wan2.5-t2v-preview)与图生视频(wan2.5-i2v-preview)组成,支持 480P、720P 与 1080P 输出。
通过 NovaWander AI 统一视频接口调用:先 提交视频任务 获取任务 id,再 查询视频任务 轮询状态并获取视频 URL。
万相 2.5 的推荐请求体通过
metadata.input 与 metadata.parameters 传递底层 DashScope 参数。顶层 prompt、duration 等字段用于兼容展示,实际生效以 metadata.parameters 为准。认证
Bearer Token,如
Bearer sk-xxxxxxxxxx支持的模型
| 模型 ID | 说明 | 支持分辨率 | 特点 |
|---|---|---|---|
wan2.5-t2v-preview | 文生视频 | 480P、720P、1080P | 文本提示词生成视频 |
wan2.5-i2v-preview | 图生视频 | 480P、720P、1080P | 首帧图像驱动生成 |
调用流程
- 提交任务:
POST /v1/video/generations,传入model、prompt及metadata中的万相参数。 - 轮询状态:
GET /llm-api/v1/video/generations/{id}(域名maas.novawander.cn),建议每 3–15 秒查询一次,直到data.status为completed或failed。 - 获取结果:成功时从
data.url、data.video_url或data.metadata.output.video_url获取视频地址(通常为临时链接,请及时下载转存)。
通用请求结构
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型 ID,见上表 |
prompt | string | 建议 | 视频生成提示词,建议与 metadata.input.prompt 保持一致 |
duration | integer | 否 | 顶层时长;若与 metadata.parameters.duration 不一致,以 metadata.parameters.duration 为准 |
metadata.input | object | 是 | 输入:prompt、img_url(图生视频)等 |
metadata.parameters | object | 建议 | 处理参数:resolution、ratio、duration、prompt_extend、watermark、seed 等 |
提交成功响应
提交接口返回 OpenAI Video 风格对象,使用id 作为后续查询的任务 ID:
{
"id": "d09ee9f4-04ba-4c3f-bc1b-974cb19e109f",
"object": "video",
"model": "wan2.5-i2v-preview",
"status": "queued",
"progress": 0,
"created_at": 1781767983,
"metadata": {
"output": {
"task_id": "d09ee9f4-04ba-4c3f-bc1b-974cb19e109f",
"task_status": "PENDING"
},
"request_id": "2a17a551-0db2-910d-988b-7d5abed99d2d"
}
}
查询成功响应
查询接口返回统一包装结构,data.status 为 completed 时表示成功:
{
"code": "success",
"message": "",
"data": {
"id": "d09ee9f4-04ba-4c3f-bc1b-974cb19e109f",
"object": "video",
"model": "wan2.5-i2v-preview",
"status": "completed",
"progress": 100,
"seconds": "3",
"url": "https://xxx.mp4",
"video_url": "https://xxx.mp4",
"created_at": 1781767983,
"completed_at": 1781768013,
"metadata": {
"output": {
"task_id": "d09ee9f4-04ba-4c3f-bc1b-974cb19e109f",
"task_status": "SUCCEEDED",
"orig_prompt": "生成吃草小羊\n",
"video_url": "https://xxx.mp4",
"submit_time": "2026-06-18 15:33:03.266",
"scheduled_time": "2026-06-18 15:33:03.285",
"end_time": "2026-06-18 15:33:32.407"
},
"usage": {
"SR": 480,
"duration": 3,
"video_count": 1
},
"url": "https://xxx.mp4",
"video_url": "https://xxx.mp4"
}
}
}
使用场景
- 文生视频 (T2V)
- 图生视频 (I2V)
基于文本提示词生成视频,支持智能改写 prompt、自定义分辨率与宽高比。文生视频示例:
文本提示词,建议与顶层
prompt 保持一致480P、720P 或 1080P宽高比:
16:9、9:16、1:1、4:3、3:4视频时长(秒),常见取值如 3、5、10
是否开启 Prompt 智能改写
是否添加水印
随机种子,范围
[0, 2147483647]curl -X POST "https://api.novawander.cn/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "wan2.5-t2v-preview",
"prompt": "一只小猫慢慢睁开眼睛,耳朵轻轻抖动,镜头慢慢推进",
"metadata": {
"input": {
"prompt": "一只小猫慢慢睁开眼睛,耳朵轻轻抖动,镜头慢慢推进"
},
"parameters": {
"resolution": "720P",
"ratio": "16:9",
"duration": 5,
"prompt_extend": true,
"watermark": false
}
}
}'
基于首帧图像生成视频,通过 图生视频示例:
metadata.input.img_url 传入首帧图片地址。首帧图片 URL
文本提示词,建议与顶层
prompt 保持一致可选,描述输入媒体类型,例如
[{"type": "reference_image"}]480P、720P 或 1080P宽高比:
16:9、9:16、1:1、4:3、3:4视频时长(秒),常见取值如 3、5、10
是否开启 Prompt 智能改写
是否添加水印
curl -X POST "https://api.novawander.cn/v1/video/generations" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "wan2.5-i2v-preview",
"prompt": "生成吃草小羊",
"metadata": {
"input": {
"img_url": "https://example.com/first_frame.png",
"prompt": "生成吃草小羊",
"media": [
{"type": "reference_image"}
]
},
"parameters": {
"resolution": "480P",
"ratio": "16:9",
"duration": 3,
"prompt_extend": true,
"watermark": false
}
}
}'
参数参考
metadata.parameters
| 参数 | 类型 | 说明 |
|---|---|---|
duration | integer | 实际生效的视频时长(秒) |
resolution | string | 480P、720P 或 1080P |
ratio | string | 16:9、9:16、1:1、4:3、3:4 |
prompt_extend | boolean | 是否智能改写 Prompt,默认 true |
watermark | boolean | 是否添加水印,默认 false |
seed | integer | 随机种子,范围 [0, 2147483647] |
metadata.input
| 参数 | 类型 | 适用场景 | 说明 |
|---|---|---|---|
prompt | string | T2V / I2V | 上游实际使用的提示词 |
img_url | string | I2V | 首帧图片地址 |
media | array | I2V | 可选,描述输入媒体类型 |
查询响应关键字段
| 字段 | 说明 |
|---|---|
data.status | 统一任务状态:queued、in_progress、completed、failed |
data.seconds | 最终视频秒数(字符串) |
data.url / data.video_url | 视频下载地址 |
data.metadata.output.task_status | 上游原始状态,如 SUCCEEDED |
data.metadata.usage.SR | 分辨率档位,如 480、720 |
data.metadata.usage.duration | 最终计费/产出时长 |
状态映射
| 上游状态 | 查询接口 data.status |
|---|---|
PENDING | queued |
RUNNING | in_progress |
SUCCEEDED | completed |
FAILED / CANCELED / UNKNOWN | failed |
错误处理
| HTTP 状态码 | 含义 | 建议 |
|---|---|---|
| 400 | 请求参数错误 | 检查 metadata 结构与媒体限制 |
| 401 | 未授权 | 检查 API Key |
| 429 | 请求过于频繁 | 降低频率后重试 |
| 502 | 上游服务错误 | 稍后重试 |
data.status 为 failed,可结合 data.metadata.output.task_status 排查原因。
常见问题
顶层 duration 和 metadata.parameters.duration 不一致怎么办?
顶层 duration 和 metadata.parameters.duration 不一致怎么办?
以
metadata.parameters.duration 为准。建议正式接入时要么不传顶层 duration,要么保证两者完全一致,避免理解偏差。prompt 需要传几次?
prompt 需要传几次?
建议顶层
prompt 与 metadata.input.prompt 保持一致,便于查询结果中的 orig_prompt 与请求对齐。生成的视频链接有效期多久?
生成的视频链接有效期多久?
查询成功后拿到的
video_url 一般为临时 OSS 链接,建议获取后立即下载并转存至自有存储。如何判断任务成功?
如何判断任务成功?
建议按以下优先级判断:
data.status == "completed"data.video_url或data.url非空data.metadata.output.task_status == "SUCCEEDED"
与万相 2.7 的调用方式有何不同?
与万相 2.7 的调用方式有何不同?
万相 2.5 仅支持文生视频与图生视频(首帧),图生视频使用
metadata.input.img_url 而非 2.7 的 media 数组;万相 2.7 额外支持参考生视频、视频续写、首尾帧等能力。详见 万相 2.7。相关接口
提交视频任务
统一视频任务提交入口与多模型参数说明
查询视频任务
轮询任务状态并获取视频 URL
⌘I
