参考生视频
基于图片、视频、音频等多模态参考素材生成保持角色形象与音色一致性的视频。异步任务接口,提交后返回 task_id,需轮询任务状态获取结果。
支持多模态输入(图片、视频、音频),生成保持角色形象和音色一致性的视频,适用于单角色表演或多角色互动场景。最长 15 秒、最高 1080P 分辨率。
异步任务型接口:提交后立即返回 task_id,需轮询任务状态,成功后再下载视频。
Base URL
https://api.autorouter.top— Production
Authentication
BearerAuth: http (bearer)
使用 Bearer Token 认证。
格式: Authorization: Bearer sk-xxxxxx
Endpoints
POST /api/v1/services/aigc/video-generation/video-synthesis
创建视频生成任务
基于参考图像、参考视频及可选音色创建视频生成任务。
请求头需设置 X-DashScope-Async: enable。
Request Body
Content-Type: application/json
Example:
{
"model": "wan2.7-r2v-2026-06-12",
"input": {
"prompt": "视频1抱着图3,在图4的椅子上弹奏一支舒缓的乡村民谣,并说道:“今天的阳光真好。”图1手中拿着图2,路过视频1,把手中的图2放到视频1旁边的桌子上,并说道:“真好听,能不能再唱一遍”。",
"media": [
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/sjuytr/wan-r2v-object-girl.jpg",
"reference_voice": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/gbqewz/wan-r2v-girl-voice.mp3"
},
{
"type": "reference_video",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qigswt/wan-r2v-role2.mp4",
"reference_voice": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/isllrq/wan-r2v-boy-voice.mp3"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/rtjeqf/wan-r2v-object3.png"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qpzxps/wan-r2v-object4.png"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/wfjikw/wan-r2v-backgroud5.png"
}
]
},
"parameters": {
"resolution": "720P",
"ratio": "16:9",
"duration": 10,
"prompt_extend": false,
"watermark": true
}
}Properties:
| Name | Type | Required | Description |
|---|---|---|---|
model | string | Yes | 模型名称。可选值:wan2.7-r2v、wan2.7-r2v-2026-06-12 |
input | object | Yes | 输入的基本信息,如提示词、媒体素材等 |
input.prompt | string | Yes | 文本提示词。用来描述生成视频中期望包含的元素和视觉特点。详见下方说明 |
input.negative_prompt | string | No | 反向提示词,用于描述不希望在视频画面中看到的内容。支持中英文,长度不超过 500 个字符,超过部分会自动截断 |
input.media | array | Yes | 媒体素材数组,素材包括图像、视频和音频。详见下方说明 |
input.media[].type | string | Yes | 媒体素材类型。可选值:reference_image、reference_video、first_frame。详见下方说明 |
input.media[].url | string | Yes | 媒体素材 URL。每个值可指向一张图像或一段视频。详见下方说明 |
input.media[].reference_voice | string | No | 音频 URL,用于指定参考素材中主体角色的音色。详见下方说明 |
parameters | object | No | 视频处理参数,如分辨率、宽高比、时长等 |
parameters.resolution | string | No | 分辨率档位,用于控制视频清晰度(总像素),直接影响费用。可选值:720P、1080P(默认) |
parameters.ratio | string | No | 宽高比。未传入首帧时按指定 ratio 生成;已传入首帧时自动忽略 ratio,以首帧宽高比生成近似比例视频。可选值:16:9(默认)、9:16、1:1、4:3、3:4 |
parameters.duration | integer | No | 视频时长(秒),按秒计费。默认 5。参考素材含视频时取值 [2, 10];不含视频时取值 [2, 15] |
parameters.prompt_extend | boolean | No | 是否开启 prompt 智能改写。开启后使用大模型对输入 prompt 进行智能改写,对较短 prompt 提升明显,但会增加耗时。true(默认)开启,false 不开启 |
parameters.watermark | boolean | No | 是否添加水印(右下角固定文案 "AI生成")。false(默认)不添加,true 添加 |
parameters.seed | integer | No | 随机数种子,取值 [0, 2147483647]。未指定时系统自动生成。固定 seed 可提升可复现性,但不保证完全一致 |
inputobject(必选)
输入的基本信息,如提示词、媒体素材等。
文本提示词。用来描述生成视频中期望包含的元素和视觉特点。
支持中英文,每个汉字、字母、标点占一个字符,超过部分会自动截断。
wan2.7-r2v、wan2.7-r2v-2026-06-12:不超过 5000 个字符。
参考指代: 当为中文提示词时,参考图片时通过“图1、图2”这类标识指代,参考视频时通过“视频1、视频2”这类标识指代。英文提示词则写为“Image 1”、“Video 1”这类标识。英文字母和数字之间有空格,首字母大写。顺序与 media 数组顺序一致。图和视频分别计数,即同时存在图1、视频1等标识。若参考素材有且仅有一张图片或一个视频,则可简化表述为“参考图片”或“参考视频”。
画面描述: 假设参考图1是一只猫,图2是一个房间,要描述猫在房间里玩耍,支持两种写法:一种是直接使用标识指代(如“图1在图2里玩耍”);另一种是结合主体与场景补充说明(如“图1的猫在图2的房间里玩耍”)。
当参考图片为多宫格(故事板图像)时,提示词建议按照多分镜的形式描述画面内容。无需描述每个宫格,提供关键分镜内容即可,模型将自动识别宫格逻辑并智能补全镜头内容。为达到更好的效果,建议单次仅输入一张多宫格图。
媒体素材数组,素材包括图像、视频和音频。支持图像/视频输入作为视觉参考,图像支持多视图,常见参考角色、道具、场景等。
- 数组中每个元素为一个媒体对象,包含
type与url字段。 - 按照数组顺序定义 prompt 中角色引用的顺序。图和视频分别计数,即可同时存在图1、视频1。
- 数组中的第 1 个
reference_video对应 视频1,第 2 个对应 视频2,以此类推。 - 数组中的第 1 个
reference_image对应 图1,第 2 个对应 图2,以此类推。
- 数组中的第 1 个
媒体素材类型。可选值为:
reference_image:参考图像。提供主体角色(人物/动物/物体)和场景参考。reference_video:参考视频。提供主体角色(人物/动物/物体)和音色参考,不推荐传入空镜视频。first_frame:首帧图像。基于首帧生成视频,通常包含主体角色(人物/动物/物体)。支持同时传入首帧图联合控制,常见用法如下:- 首帧中已经出现待参考主体:此时可以搭配主体参考强化一致性,或进行音色参考。
- 首帧中未出现待参考主体:此时可以用主体参考来定义视频动态过程中新出现的主体特征。
素材限制:
- 首帧图像,最多传入 1 张。
- 参考图像和参考视频至少传入 1 个,参考图像 + 参考视频 ≤ 5。
- 参考素材为主体角色时,仅包含单一角色。
媒体素材 URL。每个值可指向一张图像或一段视频。
音频 URL。用于指定参考素材(图像/视频)中主体角色的音色。与 reference_image 或 reference_video 搭配使用。该音频仅参考音色,与说话内容无关。建议参考音频语种与提示词语种保持一致,匹配效果更佳。
Responses
200: 成功创建任务
Content-Type: application/json
400: 请求参数错误
Content-Type: application/json
429: 请求频率限制
Content-Type: application/json
请求示例
curl -X POST "https://api.autorouter.top/api/v1/services/aigc/video-generation/video-synthesis" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxx" \
-H "X-DashScope-Async: enable" \
-d '{
"model": "wan2.7-r2v-2026-06-12",
"input": {
"prompt": "视频1抱着图3,在图4的椅子上弹奏一支舒缓的乡村民谣,并说道:“今天的阳光真好。”图1手中拿着图2,路过视频1,把手中的图2放到视频1旁边的桌子上,并说道:“真好听,能不能再唱一遍”。",
"media": [
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/sjuytr/wan-r2v-object-girl.jpg",
"reference_voice": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/gbqewz/wan-r2v-girl-voice.mp3"
},
{
"type": "reference_video",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qigswt/wan-r2v-role2.mp4",
"reference_voice": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260408/isllrq/wan-r2v-boy-voice.mp3"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/rtjeqf/wan-r2v-object3.png"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qpzxps/wan-r2v-object4.png"
},
{
"type": "reference_image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/wfjikw/wan-r2v-backgroud5.png"
}
]
},
"parameters": {
"resolution": "720P",
"ratio": "16:9",
"duration": 10,
"prompt_extend": false,
"watermark": true
}
}'响应示例
{
"output": {
"task_status": "PENDING",
"task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
},
"request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}响应字段说明:
| Name | Type | Description |
|---|---|---|
output | object | 任务输出信息 |
output.task_id | string | 任务 ID,可用于查询任务状态,有效期 24 小时 |
output.task_status | string | 任务状态。枚举值:PENDING(排队中)、RUNNING(处理中)、SUCCEEDED(成功)、FAILED(失败)、CANCELED(已取消)、UNKNOWN(不存在或状态未知) |
request_id | string | 本次请求的唯一标识,用于追踪与排查问题 |
code | string | 错误码,仅请求失败时返回 |
message | string | 错误信息,仅请求失败时返回 |
GET /api/v1/tasks/{task_id}
根据任务ID查询结果
根据创建任务时返回的 task_id 查询任务状态与结果。查询有效期 24 小时。
Headers
| Name | Type | Required | Description |
|---|---|---|---|
Authorization | string | Yes | 请求身份认证。格式:Bearer sk-xxxxxx |
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
task_id | string | Yes | 任务 ID |
Responses
200: 成功查询任务
Content-Type: application/json
400: 请求参数错误
Content-Type: application/json
429: 请求频率限制
Content-Type: application/json
请求示例
curl -X GET "https://api.autorouter.top/api/v1/tasks/{task_id}" \
-H "Authorization: Bearer sk-xxxxxx"响应示例
{
"request_id": "52cade0d-905e-9b7d-a01e-xxxxxx",
"output": {
"task_id": "18814247-f944-4102-aa4a-xxxxxx",
"task_status": "SUCCEEDED",
"submit_time": "2026-04-02 22:53:19.537",
"scheduled_time": "2026-04-02 22:53:30.427",
"end_time": "2026-04-02 23:00:39.287",
"orig_prompt": "视频2抱着图片3在咖啡厅里弹奏一支舒缓的美式乡村民谣,视频1笑着看着视频2,并缓缓向他走去",
"video_url": "https://dashscope-a717.oss-accelerate.aliyuncs.com/xxx.mp4?xxxx"
},
"usage": {
"duration": 15,
"input_video_duration": 5,
"output_video_duration": 10,
"video_count": 1,
"SR": 720,
"ratio": "16:9"
}
}响应字段说明:
| Name | Type | Description |
|---|---|---|
output | object | 任务输出信息 |
output.task_id | string | 任务 ID,查询有效期 24 小时 |
output.task_status | string | 任务状态。枚举值:PENDING(排队中)、RUNNING(处理中)、SUCCEEDED(成功)、FAILED(失败)、CANCELED(已取消)、UNKNOWN(不存在或状态未知)。轮询过程中状态流转一般为 PENDING → RUNNING → SUCCEEDED / FAILED |
output.submit_time | string | 任务提交时间,格式 YYYY-MM-DD HH:mm:ss.SSS |
output.scheduled_time | string | 任务执行时间,格式 YYYY-MM-DD HH:mm:ss.SSS |
output.end_time | string | 任务完成时间,格式 YYYY-MM-DD HH:mm:ss.SSS |
output.video_url | string | 视频下载 URL,仅 task_status 为 SUCCEEDED 时返回。链接有效期 24 小时,视频为 MP4(H.264) |
output.orig_prompt | string | 原始提示词,对应请求参数 prompt |
output.code | string | 错误码,仅任务失败时返回 |
output.message | string | 错误信息,仅任务失败时返回 |
usage | object | 输出统计信息,仅成功时返回 |
usage.input_video_duration | integer | 输入视频时长(秒) |
usage.output_video_duration | integer | 输出视频时长(秒) |
usage.duration | integer | 用于计费的总视频时长(秒),值为 input_video_duration + output_video_duration |
usage.SR | integer | 输出视频分辨率档位。示例值:720 |
usage.ratio | string | 输出视频宽高比。示例值:16:9 |
usage.video_count | integer | 输出视频数量,固定为 1 |
request_id | string | 本次请求的唯一标识,用于追踪与排查问题 |
错误处理
HTTP 400 参数错误(提交前拦截,不扣费)
AutoRouter 在提交到上游前会对必填字段做基础校验:
| 场景 | 响应 |
|---|---|
未传 input.prompt | {"code":"InvalidParameter","message":"...","request_id":"..."} |
未传 input.media 或素材数量/组合非法 | {"code":"InvalidParameter","message":"...","request_id":"..."} |
| 未知模型名 | {"code":"InvalidParameter","message":"unknown model: ...","request_id":"..."} |
HTTP 401 / 403 鉴权错误
401 Unauthorized:API Key 无效或已过期403 Forbidden:API Key 无权访问此模型(检查 token 的模型白名单)
HTTP 402 余额不足
返回 insufficient user quota。请前往 AutoRouter 控制台充值。
任务 FAILED 状态
任务成功提交但上游生成失败(output.task_status == "FAILED"),常见原因见 output.code / output.message:
| 原因 | 处理建议 |
|---|---|
| 内容审核失败 | 调整 prompt,避免敏感内容 |
| 媒体 URL 不可访问 | 确保图像/视频/音频 URL 公网可访问、未过期 |
| 媒体文件不符规格 | 参考 Request Body 中图像、视频、音频限制 |
| 素材数量超限 | 参考图像 + 参考视频 ≤ 5,first_frame 最多 1 张 |
| 参数组合非法(如含视频时 duration 超范围) | 按 Request Body 规范传参 |
任务 FAILED 时 AutoRouter 会自动退款到你的账户,可在日志页面查询退款记录。