文生视频
基于文本提示词生成流畅视频。异步任务接口,提交后返回 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.6-t2v",
"input": {
"prompt": "一幅史诗级可爱的场景。一只小巧可爱的卡通小猫将军,身穿细节精致的金色盔甲,头戴一个稍大的头盔,勇敢地站在悬崖上。他骑着一匹虽小但英勇的战马,说:”青海长云暗雪山,孤城遥望玉门关。黄沙百战穿金甲,不破楼兰终不还。“。悬崖下方,一支由老鼠组成的、数量庞大、无穷无尽的军队正带着临时制作的武器向前冲锋。这是一个戏剧性的、大规模的战斗场景,灵感来自中国古代的战争史诗。远处的雪山上空,天空乌云密布。整体氛围是“可爱”与“霸气”的搞笑和史诗般的融合。",
"audio_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250923/hbiayh/%E4%BB%8E%E5%86%9B%E8%A1%8C.mp3"
},
"parameters": {
"size": "1280*720",
"prompt_extend": true,
"duration": 10,
"shot_type": "multi"
}
}Properties:
| Name | Type | Required | Description |
|---|---|---|---|
model | string | Yes | 模型名称。可选值:wan2.6-t2v、wan2.6-t2v-us |
input | object | Yes | 输入的基本信息,如提示词、音频等 |
input.prompt | string | Yes | 文本提示词。用来描述生成视频中期望包含的元素和视觉特点。详见下方说明 |
input.negative_prompt | string | No | 反向提示词,用于描述不希望在视频画面中出现的内容。支持中英文,长度不超过 500 个字符,超过部分会自动截断 |
input.audio_url | string | No | 音频文件 URL,模型将使用该音频生成视频。若不提供 input.audio_url,模型将根据视频内容自动生成匹配的背景音乐或音效。详见下方说明 |
parameters | object | No | 视频处理参数,如分辨率、时长、镜头类型等 |
parameters.size | string | No | 生成视频分辨率,格式为宽*高(如 1280*720),直接影响费用。详见下方说明 |
parameters.duration | integer | No | 视频时长(秒),按秒计费。详见下方说明 |
parameters.prompt_extend | boolean | No | 是否开启 prompt 智能改写。详见下方说明 |
parameters.shot_type | string | No | 镜头类型。single(默认)单镜头,multi 多镜头。详见下方说明 |
parameters.watermark | boolean | No | 是否添加水印(右下角固定文案 "AI生成")。false(默认)不添加,true 添加 |
parameters.seed | integer | No | 随机数种子,取值 [0, 2147483647]。未指定时系统自动生成。固定 seed 可提升可复现性,但不保证完全一致 |
inputobject(必选)
输入的基本信息,如提示词、音频等。
文本提示词。用来描述生成视频中期望包含的元素和视觉特点。
支持中英文,每个汉字/字母占一个字符,超过部分会自动截断。
wan2.6-t2v、wan2.6-t2v-us:不超过 1500 个字符。
示例值:一只小猫在月光下奔跑。
音频文件 URL,模型将使用该音频生成视频。
- 传入音频: 模型将以该音频为驱动源生成视频。
- 若不提供
input.audio_url: 模型将根据视频内容自动生成匹配的背景音乐或音效。
支持输入的格式:
- 公网 URL: 支持 HTTP 和 HTTPS 协议。示例值:
https://help-static-aliyun-doc.aliyuncs.com/xxx.mp3 - 临时 URL: 支持 OSS 协议,必须通过上传文件获取临时 URL获取。示例值:
oss://dashscope-instant/xxx/xxx.mp3
音频限制:
- 格式: wav、mp3
- 时长: 3~30s
- 文件大小: 不超过 15MB
- 超限处理: 若音频长度超过
duration值(如 5 秒),自动截取前 5 秒,其余部分丢弃。若音频长度不足视频时长,超出音频长度部分为无声视频。例如,音频为 3 秒,视频时长为 5 秒,输出视频前 3 秒有声,后 2 秒无声
parametersobject(可选)
视频处理参数,如分辨率、时长、镜头类型等。
指定生成的视频分辨率,格式为宽*高。必须设置为具体数值(如 1280*720),而不是 1:1 或 720P。直接影响费用。
默认值和可用枚举值依赖于 model:
wan2.6-t2v、wan2.6-t2v-us:默认1920*1080(1080P)。可选分辨率:720P、1080P 对应的所有分辨率。
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 |
生成视频的时长,单位为秒,按秒计费。
wan2.6-t2v:取值为[2, 15]之间的整数,默认值为5wan2.6-t2v-us:可选值为5、10,默认值为5
示例值:5
是否开启 prompt 智能改写。开启后使用大模型对输入 prompt 进行智能改写,对较短 prompt 提升明显,但会增加耗时。
true:默认值,开启智能改写false:不开启智能改写
使用多镜头(shot_type: "multi")时,必须设为 true。
指定生成视频的镜头类型,即视频是由一个连续镜头还是多个切换镜头组成。
single:默认值,输出单镜头视频multi:输出多镜头视频
生效条件: 仅当 prompt_extend 为 true 时生效。
参数优先级:shot_type > prompt。例如,若 shot_type 设置为 single,即使 prompt 中包含「生成多镜头视频」,模型仍会输出单镜头视频。
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.6-t2v",
"input": {
"prompt": "一幅史诗级可爱的场景。一只小巧可爱的卡通小猫将军,身穿细节精致的金色盔甲,头戴一个稍大的头盔,勇敢地站在悬崖上。他骑着一匹虽小但英勇的战马,说:”青海长云暗雪山,孤城遥望玉门关。黄沙百战穿金甲,不破楼兰终不还。“。悬崖下方,一支由老鼠组成的、数量庞大、无穷无尽的军队正带着临时制作的武器向前冲锋。这是一个戏剧性的、大规模的战斗场景,灵感来自中国古代的战争史诗。远处的雪山上空,天空乌云密布。整体氛围是“可爱”与“霸气”的搞笑和史诗般的融合。",
"audio_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250923/hbiayh/%E4%BB%8E%E5%86%9B%E8%A1%8C.mp3"
},
"parameters": {
"size": "1280*720",
"prompt_extend": true,
"duration": 10,
"shot_type": "multi"
}
}'响应示例
{
"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": "caa62a12-8841-41a6-8af2-xxxxxx",
"output": {
"task_id": "eff1443c-ccab-4676-aad3-xxxxxx",
"task_status": "SUCCEEDED",
"submit_time": "2025-09-29 14:18:52.331",
"scheduled_time": "2025-09-29 14:18:59.290",
"end_time": "2025-09-29 14:23:39.407",
"orig_prompt": "一幅史诗级可爱的场景。一只小巧可爱的卡通小猫将军,身穿细节精致的金色盔甲,头戴一个稍大的头盔,勇敢地站在悬崖上。",
"video_url": "https://dashscope-result-sh.oss-accelerate.aliyuncs.com/xxx.mp4?Expires=xxx"
},
"usage": {
"duration": 10,
"size": "1280*720",
"input_video_duration": 0,
"output_video_duration": 10,
"video_count": 1,
"SR": 720
}
}响应字段说明:
| 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。初次查询状态通常为 PENDING 或 RUNNING;当状态变为 SUCCEEDED 时,响应中将包含生成的视频 URL;若状态为 FAILED,请检查错误信息并重试;若状态为 CANCELED,表示任务已取消,如需继续请重新提交任务;若状态为 UNKNOWN,表示任务不存在或状态未知,可能在 task_id 不存在或超过 24 小时有效期后出现 |
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 小时,可通过此 URL 下载视频。视频格式为 MP4(H.264 编码) |
output.orig_prompt | string | 原始输入的 prompt,对应请求参数 prompt |
output.actual_prompt | string | 当 prompt_extend=true 时,系统会对输入 prompt 进行智能改写,此字段返回实际用于生成的优化后 prompt;若 prompt_extend=false,该字段不会返回。注意:wan2.6 模型无论 prompt_extend 取值如何,均不返回此字段 |
output.code | string | 请求失败的错误码,仅任务失败时返回 |
output.message | string | 请求失败的详细信息,仅任务失败时返回 |
usage | object | 输出信息统计,只对成功的结果计数 |
usage.video_duration | integer | 仅在使用 wan2.5 及以下版本模型时返回,用于计费。生成视频的时长,单位秒。枚举值为 5、10 |
usage.duration | float | 仅在使用 wan2.6 模型时返回,用于计费。表示总的视频时长,且 duration = input_video_duration + output_video_duration |
usage.input_video_duration | integer | 仅在使用 wan2.6 模型时返回。固定为 0 |
usage.output_video_duration | integer | 仅在使用 wan2.6 模型时返回。输出视频的时长,单位秒,其值等同于请求参数 duration |
usage.SR | integer | 仅在使用 wan2.6 模型时返回。生成视频的分辨率档位。示例值:720 |
usage.size | string | 仅在使用 wan2.6 模型时返回。生成视频的分辨率,格式为「宽*高」。示例值:1920*1080 |
usage.video_ratio | string | 仅 wan2.5 及以下版本模型时返回。生成视频的分辨率,格式为「宽*高」。示例值:832*480 |
usage.video_count | integer | 生成视频的数量,固定为 1 |
request_id | string | 请求唯一标识,可用于请求明细溯源和问题排查 |
错误处理
HTTP 400 参数错误(提交前拦截,不扣费)
AutoRouter 在提交到上游前会对必填字段做基础校验:
| 场景 | 响应 |
|---|---|
未传 input.prompt | {"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 不可访问 | 确保 audio_url 公网可访问、未过期 |
| 音频文件不符规格 | 参考 Request Body 中音频限制(格式、时长、大小) |
| 参数组合非法(如 size 不在可选列表、duration 超范围) | 按 Request Body 规范传参 |
| 多镜头未开启智能改写 | shot_type: "multi" 时须设置 prompt_extend: true |
任务 FAILED 时 AutoRouter 会自动退款到你的账户,可在日志页面查询退款记录。