万相2.7-视频生成API
更新时间 2026-09-06 17:31:42
最近更新时间: 2026-09-06 17:31:42
本文介绍万相 2.7 视频生成调用API。包含图生视频、文生视频、参考生视频三类能力,统一复用video‑synthesis异步接口。
支持的模型
| 模型标识 | 能力说明 | 典型任务场景 |
|---|---|---|
| wan2.7‑t2v | 文生视频 | 纯文本 prompt 生成视频,无图像 / 视频输入素材 |
| wan2.7‑i2v | 图生视频 | 首帧生视频、首尾帧生视频,支持音频驱动 |
| wan2.7‑r2v | 参考生视频 | 支持多模态输入 (图片、视频、音频),生成保持角色形象和音色一致性的视频,支持尾帧约束 |
wan2.7‑t2v:仅依靠文本提示词生成完整视频,无需图像、视频输入素材。
wan2.7‑i2v:输入图像(首帧 / 首尾帧)+ 可选文本 / 音频驱动,输出动态视频;相比 wan2.6 老接口新增首尾帧、音频驱动能力。
wan2.7‑r2v:输入一段原始视频片段,模型续写后续画面;可搭配尾帧约束续写终点画面;支持音频驱动。
调用流程
接口采用异步任务模式,分两步执行:
step1:调用创建任务接口,成功返回task_id
step2:调用查询任务接口查询对应task_id,直到task_status值为SUCCEEDED,获取生成视频url
创建任务接口详情
http调用
请求方式:POST
请求路径:https://ai.ctaigw.cn/v1/services/aigc/video-generation/video-synthesis
请求头
| 参数 | 必填 | 说明 |
|---|---|---|
| Content‑Type | 是 | 固定application/json |
| Authorization | 是 | Bearer ${YOUR_APP_KEY} |
| X‑DashScope‑Async | 是 | 必须enable |
请求参数
| 字段 | 类型 | 必选 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型调用名称或模型ID |
| input | object | 是 | 输入的基本信息,如提示词等。 |
| input.prompt | string | 否 | 正向提示词 |
| input.negative_prompt | string | 否 | 反向提示词 |
| input.media | array | 是 | 媒体素材列表,用于指定视频生成所需的参考素材(图像、音频和视频) 数组的每个元素为一个媒体对象,包含 type 与 url 字段。 仅支持以下特定的素材组合,非法组合将报错。 - 首帧生视频: - 首帧:first_frame - 首帧+音频:first_frame+driving_audio - 首尾帧生视频: - 首帧+尾帧:first_frame+last_frame - 首帧+尾帧+音频:first_frame+last_frame+driving_audio - 视频续写: - 首段视频续写:first_clip - 首段视频+尾帧续写:first_clip+last_frame |
| input.media[].type | string | 是 | 媒体素材类型。可选值为: - first_frame:首帧。 - last_frame:尾帧。 - driving_audio:驱动音频。 - first_clip:首视频片段。 使用限制:每种 type 在 media 数组中最多出现一次(例如:不可同时传入两个 first_frame)。 |
| input.media[].url | string | 是 | 媒体素材URL。素材包括图像、音频和视频。 |
| parameters | object | 否 | 视频处理参数,如设置视频分辨率、设置视频时长、开启prompt智能改写、添加水印等。 |
| parameters.resolution | string | 否 | 分辨率档位 可选值: - 720P - 1080P(默认值) |
| parameters.duration | int | 否 | 视频时长; 取值为[2, 15]之间的整数 |
| parameters.prompt_extend | bool | 否 | 是否开启 prompt 智能改写 |
| parameters.audio | bool | 否 | 是否生成有声视频。 参数优先级:audio > audio_url。当 audio=false时,即使传入 audio_url,输出仍为无声视频,且计费按无声视频计算。 可选值: - true:默认值,输出有声视频。 - false:输出无声视频。 |
| parameters.watermark | bool | 否 | 是否添加水印标识,水印位于视频右下角,文案固定为“AI生成”。 - false:默认值,不添加水印。 - true:添加水印。 |
| parameters.seed | int | 否 | 随机种子 [0,2147483647]; 相同 seed 结果倾向稳定,但不能保证完全一致 |
响应参数
| 参数 | 类型 | 说明 |
|---|---|---|
| request_id | string | 请求唯一标识,用于问题排查溯源 |
| output | object | 任务输出主体 |
| output.task_id | string | 查询的任务 ID |
| output.task_status | string | 任务状态 - PENDING:任务排队中 - RUNNING:任务处理中 - SUCCEEDED:任务执行成功 - FAILED:任务执行失败 - CANCELED:任务已取消 - UNKNOWN:任务不存在或状态未知 |
查询任务接口详情
http调用
请求方式:GET
请求路径:https://ai.ctaigw.cn/v1/tasks/{task_id}
Path 路径参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| task_id | string | 是 | 创建异步任务接口返回的任务 ID |
请求头
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Authorization | string | 是 | 身份认证,格式:Bearer ${YOUR_APP_KEY} |
响应参数
| 参数 | 类型 | 说明 |
|---|---|---|
| request_id | string | 请求唯一标识,用于问题排查溯源 |
| output | object | 任务输出主体 |
| output.task_id | string | 查询的任务 ID |
| output.task_status | string | 任务状态 - PENDING:任务排队中 - RUNNING:任务处理中 - SUCCEEDED:任务执行成功 - FAILED:任务执行失败 - CANCELED:任务已取消 - UNKNOWN:任务不存在或状态未知 |
| output.submit_time | string | 任务提交时间,格式YYYY‑MM‑DD HH:mm:ss.SSS |
| output.scheduled_time | string | 任务调度执行时间 |
| output.end_time | string | 任务结束时间;任务未结束为空 |
| output.video_url | string | 视频URL。仅在 task_status 为 SUCCEEDED 时返回 |
| output.orig_prompt | string | 原始输入的prompt,对应请求参数prompt |
| output.actual_prompt | string | 当 prompt_extend=true 时,系统会对输入 prompt 进行智能改写,此字段返回实际用于生成的优化后 prompt。 - 若 prompt_extend=false,该字段不会返回。 - 注意:wan2.6 模型无论 prompt_extend 取值如何,均不返回此字段。 |
| usage | object | 用量统计,仅任务成功返回 |
| usage.input_video_duration | integer | 输入的视频的时长,单位秒 |
| usage.output_video_duration | integer | 输出视频的时长,单位秒 其值等同于 input.duration 的入参值。 |
| usage.duration | integer | 总的视频时长,用于计费。 等于 input_video_duration +output_video_duration。 |
| usage.SR | integer | 生成视频的分辨率档位。示例值:720。 |
| usage.video_count | integer | 生成视频的数量。固定为 1。 |
请求/响应示例
首帧生视频创建任务
请求
curl --location 'https://ai.ctaigw.cn/v1/services/aigc/video-generation/video-synthesis' \
-H 'X-DashScope-Async: enable' \
-H "Authorization: Bearer ${YOUR_APP_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model": "wan2.7-i2v",
"input": {
"prompt": "小猫在草地上奔跑,风吹动毛发",
"media": [
{
"type": "first_frame",
"url": "https://aaaa.ctyun.cn/pic/01.png"
},
{
"type": "driving_audio",
"url": "https://aaaa.ctyun.cn/audio/rap.mp3"
}
]
},
"parameters": {
"resolution": "720P",
"duration": 10,
"prompt_extend": true,
"watermark": true
}
}'正常响应
{
"output": {
"task_status": "PENDING",
"task_id": "xxxx‑xxxx‑xxxx‑xxxx"
},
"request_id": "00d06a841873c0a83bfaf1fae0184625"
}异常响应示例
{
"error": {
"type:": "Invalid_request",
"code": "missing_parameter",
"message": "Missing required parameters"
}
}视频续写创建任务
请求
curl --location 'https://ai.ctaigw.cn/v1/services/aigc/video-generation/video-synthesis' \
-H 'X-DashScope-Async: enable' \
-H "Authorization: Bearer ${YOUR_APP_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model": "wan2.7-i2v",
"input": {
"prompt": "女孩自拍结束,背起书包出门",
"media": [
{
"type": "first_clip",
"url": "https://aaaa.ctyun.cn/video/001.mp4"
}
]
},
"parameters": {
"resolution": "720P",
"duration": 10,
"prompt_extend": true,
"watermark": true
}
}'正常响应
{
"output": {
"task_status": "PENDING",
"task_id": "xxxx‑xxxx‑xxxx‑xxxx"
},
"request_id": "00d06a841873c0a83bfaf1fae0184625"
}查询任务请求示例
请求
curl -X GET https://ai.ctaigw.cn/v1/tasks/{task_id} \
--header "Authorization: Bearer ${YOUR_APP_KEY}"正常响应示例
{
"request_id": "00d06a841873c0a83bfaf1fae0184625",
"output": {
"task_id": "xxxx‑xxxx‑xxxx‑xxxx",
"task_status": "SUCCEEDED",
"submit_time": "2026-08-26 12:10:05.001",
"scheduled_time": "2026-08-26 12:10:05.201",
"end_time": "2026-08-26 12:10:25.001",
"orig_prompt": "小猫在草地上奔跑,风吹动毛发",
"video_url": "https://aaaa.ctyun.cn/xxx.mp4"
},
"usage": {
"duration": 10,
"input_video_duration": 0,
"output_video_duration": 10,
"video_count": 1,
"SR": 720
}
}