HappyHorse图生视频模型,以首帧图片为基础,支持通过文本描述进行引导,生成物理真实、运动流畅的视频。
适用范围
为确保调用成功,请务必保证模型、endpoint URL和API Key 均属于同一地域。跨地域调用将会失败。
重要阿里云百炼为华北2(北京)、新加坡地域推出了业务空间专属域名,能够为推理请求提供卓越的性能和更高的稳定性,建议迁移至新域名:
- 华北2(北京)地域:从
https://dashscope.aliyuncs.com 迁移至 https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com
- 新加坡地域:从
https://dashscope-intl.aliyuncs.com 迁移至 https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
其中 {WorkspaceId} 为您的业务空间 ID,可在阿里云百炼控制台的业务空间详情页面查看。现有域名仍可正常使用。
HTTP调用
图生视频任务耗时较长(通常为1-5分钟),API采用异步调用的方式。整个流程包含 "创建任务 -> 轮询获取" 两个核心步骤,具体如下:
步骤1:创建任务获取任务ID
华北2(北京)
POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
新加坡
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
美国(弗吉尼亚)
POST https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
德国(法兰克福)
POST https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
日本(东京)
POST https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
中国香港
POST https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
调用时请将{WorkspaceId}替换为真实的业务空间ID。
说明
- 创建成功后,使用接口返回的
task_id 查询结果,task_id 有效期为 24 小时。请勿重复创建任务,轮询获取即可。
- 新手指引请参见Postman。
请求参数 Content-Typestring(必选) 请求内容类型。此参数必须设置为application/json。 Authorizationstring(必选) 请求身份认证。接口使用阿里云百炼API Key进行身份认证。示例值:Bearer sk-xxxx。 X-DashScope-Asyncstring(必选) 异步处理配置参数。HTTP请求只支持异步,必须设置为enable。 重要缺少此请求头将报错:“current user api does not support synchronous calls”。 请求体(Request Body) model string (必选) 模型名称。 可选值:
happyhorse-1.1-i2v
happyhorse-1.0-i2v
input object (必选) 输入的基本信息,如提示词等。 属性 prompt string (可选) 文本提示词。用于描述期望生成的视频内容。 支持任何语言输入,长度不超过5000个非中文字符或2500个中文字符,超过部分将自动截断。 media array (必选) 输入媒体列表。用于指定视频生成所需的图像。 parameters object (可选) 视频处理参数,如设置视频分辨率、设置视频时长等。 属性 resolution string (可选) 指定生成的视频分辨率档位,用于控制视频的清晰度(总像素)。 模型根据选择的分辨率档位,自动缩放至相近总像素。输出的视频宽高比与输入首帧近似一致。 可选值: duration integer (可选) 指定生成视频的时长,单位为秒。 取值为[3, 15]之间的整数。默认值为5。 watermark boolean (可选) 是否在生成的视频上添加水印标识。水印位于视频右下角,文案固定为“Happy Horse”。
true:默认值,添加水印。
false:不添加水印。
seedinteger(可选) 随机数种子,取值范围为[0, 2147483647]。 未指定时,系统自动生成随机种子。若需提升生成结果的可复现性,建议固定seed值。 请注意,由于模型生成具有概率性,即使使用相同 seed,也不能保证每次生成结果完全一致。 | 图生视频-基于首帧# 以下为华北2(北京)地域的URL。请将 {WorkspaceId} 替换为您的百炼业务空间ID,各地域的URL不同。
curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
-H 'X-DashScope-Async: enable' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "happyhorse-1.1-i2v",
"input": {
"prompt": "一只猫在草地上奔跑",
"media": [
{
"type": "first_frame",
"url": "https://cdn.translate.alibaba.com/r/wanx-demo-1.png"
}
]
},
"parameters": {
"resolution": "720P",
"duration": 5
}
}'
|
响应参数 output object 任务输出信息。 属性 task_id string 任务ID。查询有效期24小时。 task_status string 任务状态。 枚举值
- PENDING:任务排队中
- RUNNING:任务处理中
- SUCCEEDED:任务执行成功
- FAILED:任务执行失败
- CANCELED:任务已取消
- UNKNOWN:任务不存在或状态未知
request_idstring 请求唯一标识。可用于请求明细溯源和问题排查。 codestring 请求失败的错误码。请求成功时不会返回此参数,详情请参见错误码。 messagestring 请求失败的详细信息。请求成功时不会返回此参数,详情请参见错误码。 | 成功响应请保存 task_id,用于查询任务状态与结果。 {
"output": {
"task_status": "PENDING",
"task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
},
"request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}
异常响应创建任务失败,请参见错误码进行解决。 {
"code": "InvalidApiKey",
"message": "No API-key provided.",
"request_id": "7438d53d-6eb8-4596-8835-xxxxxx"
}
|
步骤2:根据任务ID查询结果
华北2(北京)
GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}
新加坡
GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}
美国(弗吉尼亚)
GET https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1/tasks/{task_id}
德国(法兰克福)
GET https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1/tasks/{task_id}
日本(东京)
GET https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}
中国香港
GET https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/api/v1/tasks/{task_id}
说明
- 轮询建议:视频生成过程约需数分钟,建议采用轮询机制,并设置合理的查询间隔(如 15 秒)来获取结果。
- 任务状态流转:PENDING(排队中)→ RUNNING(处理中)→ SUCCEEDED(成功)/ FAILED(失败)。
- 结果链接:任务成功后返回视频链接,有效期为 24 小时。建议在获取链接后立即下载并转存至永久存储(如阿里云 OSS)。
- task_id 有效期:24小时,超时后将无法查询结果,接口将返回任务状态为
UNKNOWN。
- RPS 限制:查询接口默认RPS为20。如需更高频查询或事件通知,建议配置异步任务回调。
- 更多操作:如需批量查询、取消任务等操作,请参见管理异步任务。
请求参数 请求头(Headers) Authorizationstring(必选) 请求身份认证。接口使用阿里云百炼API Key进行身份认证。示例值:Bearer sk-xxxx。 URL路径参数(Path parameters) task_id string(必选) 任务ID。 | 查询任务结果将{task_id}完整替换为上一步接口返回的task_id的值。task_id查询有效期为24小时,并请将{WorkspaceId}替换为真实的业务空间ID。 curl -X GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id} \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
|
响应参数 outputobject 任务输出信息。 属性 task_id string 任务ID。查询有效期24小时。 task_status string 任务状态。 枚举值
- PENDING:任务排队中
- RUNNING:任务处理中
- SUCCEEDED:任务执行成功
- FAILED:任务执行失败
- CANCELED:任务已取消
- UNKNOWN:任务不存在或状态未知
轮询过程中的状态流转:
- PENDING(排队中) → RUNNING(处理中)→ SUCCEEDED(成功)/ FAILED(失败)。
- 初次查询状态通常为 PENDING(排队中)或 RUNNING(处理中)。
- 当状态变为 SUCCEEDED 时,响应中将包含生成的视频URL。
- 若状态为 FAILED,请检查错误信息并重试。
- 若状态为 CANCELED,表示任务已取消,如需继续请重新提交任务。
- 若状态为 UNKNOWN,表示任务不存在或状态未知,可能在 task_id 不存在或超过 24 小时有效期后出现。
submit_time string 任务提交时间。格式为 YYYY-MM-DD HH:mm:ss.SSS。 scheduled_time string 任务执行时间。格式为 YYYY-MM-DD HH:mm:ss.SSS。 end_time string 任务完成时间。格式为 YYYY-MM-DD HH:mm:ss.SSS。 video_urlstring 视频URL。仅在 task_status 为 SUCCEEDED 时返回。 链接有效期24小时,可通过此URL下载视频。视频帧率为24fps,格式为MP4(H.264 编码)。 orig_prompt string 原始输入的prompt,对应请求参数prompt。 codestring 请求失败的错误码。请求成功时不会返回此参数,详情请参见错误码。 messagestring 请求失败的详细信息。请求成功时不会返回此参数,详情请参见错误码。 usage object 输出信息统计,只对成功的结果计数。 属性 input_video_duration integer 输入的视频的时长,单位秒。 output_video_duration integer 输出视频的时长,单位秒。 duration integer 总的视频时长,用于计费。 SR integer 输出视频的分辨率档位。 video_count integer 输出视频的数量。固定为1。 request_idstring 请求唯一标识。可用于请求明细溯源和问题排查。 | 任务执行成功视频URL仅保留24小时,超时后会被自动清除,请及时保存生成的视频。 {
"request_id": "8ae698ba-df2d-966c-abcf-xxxxxx",
"output": {
"task_id": "e56d806f-76f9-4037-aefa-xxxxxx",
"task_status": "SUCCEEDED",
"submit_time": "2026-04-20 19:33:50.425",
"scheduled_time": "2026-04-20 19:33:50.463",
"end_time": "2026-04-20 19:35:34.216",
"orig_prompt": "一只猫在草地上奔跑",
"video_url": "https://dashscope-result.oss-cn-beijing.aliyuncs.com/xxx.mp4?Expires=xxx"
},
"usage": {
"duration": 5,
"input_video_duration": 0,
"output_video_duration": 5,
"video_count": 1,
"SR": 720
}
}
任务执行失败若任务执行失败,task_status将置为 FAILED,并提供错误码和信息。请参见错误码进行解决。 {
"request_id": "e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
"output": {
"task_id": "86ecf553-d340-4e21-af6e-a0c6a421c010",
"task_status": "FAILED",
"code": "InvalidParameter",
"message": "The parameter is invalid."
}
}
任务查询过期task_id查询有效期为 24 小时,超时后将无法查询,返回以下报错信息。 {
"request_id": "a4de7c32-7057-9f82-8581-xxxxxx",
"output": {
"task_id": "502a00b1-19d9-4839-a82f-xxxxxx",
"task_status": "UNKNOWN"
}
}
|
错误码
如果模型调用失败并返回报错信息,请参见错误码进行解决。
常见问题
视频的宽高比如何确定?
图生视频的宽高比自动跟随输入首帧图像,无需手动指定。与HappyHorse-文生视频不同,图生视频不支持 ratio 参数。