万相2.7-文生视频API
更新时间 2026-09-07 09:14:54
最近更新时间: 2026-09-07 09:14:54
本文介绍万相 2.7 文生视频模型调用API。
模型简介
万相 2.7‑文生视频(wan2.7‑t2v)是文本驱动视频生成模型,输入文本提示词即可生成流畅高画质 MP4 视频。支持中英文提示词、多镜头叙事、自定义音频输入、反向提示词过滤画面,支持 720P/1080P 分辨率,多种宽高比,视频时长 2‑15s。
调用流程
接口采用异步任务模式,分两步执行:
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.audio_url | string | 否 | 自定义音频 URL |
| parameters | object | 否 | 视频生成参数 |
| parameters.resolution | string | 否 | 分辨率档位,720P / 1080P; 默认1080P;计费相关 |
| parameters.ratio | string | 否 | 宽高比:16:9、9:16、1:1、4:3、3:4; 默认16:9 |
| parameters.duration | integer | 否 | 视频时长,单位秒,取值 [2‑15] 整数; 默认 5;按秒计费 |
| parameters.prompt_extend | boolean | 否 | 是否开启 prompt 智能改写 |
| parameters.watermark | boolean | 否 | 是否添加水印标识,水印位于视频右下角,文案固定为“AI生成”。 - false:默认值,不添加水印。 - true:添加水印。 |
| parameters.seed | integer | 否 | 随机种子 [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 |
| 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。 |
| usage.ratio | string | 生成视频的宽高比。示例值:16:9 |
请求/响应示例
文生视频创建任务
请求
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-t2v",
"input": {
"prompt": "第1个镜头[0‑3秒]全景:雨夜的城市街头,霓虹灯闪烁;第2个镜头[3‑6秒]中景:行人撑伞快速走过街道",
"negative_prompt": "低分辨率,畸形,模糊"
},
"parameters": {
"resolution": "720P",
"ratio": "16:9",
"prompt_extend": true,
"watermark": false,
"duration": 10,
"seed": 12345
}
}'正常响应
{
"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 -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": "第1个镜头……",
"video_url": "https://aaaa.ctyun.cn/xxx.mp4"
},
"usage": {
"duration": 10,
"input_video_duration": 0,
"output_video_duration": 10,
"video_count": 1,
"SR": 720
}
}