MaaS_HappyHorse
模型说明
各模型的能力地图
| happyhorse-1.0-t2v | happyhorse-1.0-i2v | happyhorse-1.0-r2v | happyhorse-1.0-video-edit | |
|---|---|---|---|---|
| 文生视频 | ✅ | |||
| 图生视频 | ✅ | |||
| 参考生视频 | ✅ | |||
| 编辑视频 | ✅ |
功能接口详情
视频URL仅保留24小时,超时后会被自动清除,请及时保存生成的视频。
创建视频生成任务
(文生/图生/参考生视频/编辑视频统一接口)
请求 URL
POST https://{新平台域名}/v1/ai/{endpointPath}/happyhorse/v1/video-synthesis
请求 Body 参数
| 参数名 | 字段类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| model |
string | 是 | - | 模型名称,固定值:happyhorse-1.0-t2v / happyhorse-1.0-i2v / happyhorse-1.0-r2v / happyhorse-1.0-video-edit |
| input | object | 是 | - | 输入对象 |
| input.prompt |
string | 否 | - | 文本提示词。用于描述期望生成的视频内容。 支持任何语言输入,长度不超过5000个非中文字符或2500个中文字符,超过部分将自动截断 |
| input.media | array | 否 | - | 输入媒体列表。用于指定待编辑的视频和参考图像 在图生视频、参考生视频、编辑视频场景下使用,详情见表格下方说明 |
| input.media[].type |
string | 否 | - | first_frame / reference_image /video/ reference_image 见表格下方使用说明 |
| input.media[].url | string | 否 | - | 媒体素材URL 见表格下方使用说明 |
| parameters | object | 否 | - | 生成参数 |
| parameters.resolution |
string | 否 | 1080P | 生成视频的分辨率档位 720P / 1080P |
| parameters.ratio | string | 否 | 16:9 | 16:9 / 9:16 / 1:1 / 4:3 / 3:4 仅在文生视频/参考生视频使用 |
| parameters.duration |
integer | 否 | 5 | 时长(秒),3\~15之间的整数 仅在文生视频/图生视频/参考生视频使用 |
| parameters.watermark |
boolean | 否 | true | 是否添加水印 水印位于视频右下角,文案固定为 Happy Horse。 |
| parameters.audio_setting |
string |
否 | auto | auto:模型自行控制 origin:保留输入视频的原始声音 仅在视频编辑使用 |
| parameters.seed |
integer | 否 | - | 随机种子[0, 2147483647] 请注意,由于模型生成具有概率性,即使使用相同 seed,也不能保证每次生成结果完全一致。 |
文生视频:
- input.prompt为必填
图生视频:
-
input.prompt可选,input.media.type必填,input.media.url必填
-
input.media.type字段可选值为:
first_frame,素材限制:有且仅有1张首帧图像。 -
input.media.url
首帧URL。支持 HTTP 或 HTTPS 协议。
图像限制:
-
格式:JPEG、JPG、PNG、WEBP。
-
分辨率:宽和高不小于300像素。
-
宽高比:1:2.5~2.5:1。
-
文件大小:不超过10MB。
参考生视频:
-
input.prompt必填,input.media.type必填,input.media.url必填
-
参考指代:在prompt中通过
character1、character2标识指代media数组中对应位置的参考图像,顺序与media数组顺序一致。 -
media数组的每个元素为一个媒体对象,包含 type和 url字段。
-
按照数组顺序定义prompt中角色引用的顺序。
-
数组中的第 1 个
reference_image对应 character1,第 2 个对应 character2,以此类推。 -
input.media.type固定为
reference_image,参考图像数量:1~9张。 -
input.media.url支持 HTTP 或 HTTPS 协议。
-
格式:JPEG、JPG、PNG、WEBP。
-
分辨率:短边不低于400像素,推荐720P以上清晰图。避免传入过小、模糊或压缩过度的图像,影响效果。
-
文件大小:不超过10MB。
视频编辑:
-
input.prompt必填,input.media.type必填,input.media.url必填
-
input.media.type可选:
video,reference_image,video类型的input.media必须且仅有1个,reference_image类型0-5张 -
input.media.url (type=video)
-
格式:MP4、MOV(建议H.264编码)。
-
时长:3\~60秒。
-
分辨率:长边不超过2160像素,短边不小于320像素。
-
宽高比:1:2.5\~2.5:1。
-
文件大小:不超过100MB。
-
帧率:大于8fps。
说明
输出视频时长:3\~15秒。
当输入视频不超过 15 秒时,输出视频时长与输入视频保持一致。
当输入视频超过 15 秒时,系统会从头开始自动截取前 15 秒作为有效片段,因此最长输出为 15 秒。
-
input.media.url (type=reference_image)
-
参考图像的URL,必须为公网可访问的URL。
-
支持 HTTP 或 HTTPS 协议。
-
格式:JPEG、JPG、PNG、WEBP。
-
分辨率:宽高尺寸不小于300像素。
-
宽高比:1:2.5\~2.5:1。
-
文件大小:不超过10MB
响应参数
| 参数名 | 字段类型 | 描述 |
|---|---|---|
| output | object | 任务输出信息 |
| output.task_id | string | 任务ID(用于查询结果) |
| output.task_status |
string | PENDING / RUNNING / SUCCEEDED / FAILED / CANCELED / UNKNOWN |
| request_id | string | 请求唯一标识 |
| code | string | 失败错误码,请求成功时不会返回此参数 |
| message | string | 失败错误信息,请求成功时不会返回此参数 |
请求示例
curl --location 'http://{新平台域名}/v1/ai/{endpoint}/happyhorse/v1/video-synthesis' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"model": "happyhorse-1.0-t2v",
"input": {
"prompt": "一座由硬纸板和瓶盖搭建的微型城市,在夜晚焕发出生机。一列硬纸板火车缓缓驶过,小灯点缀其间,照亮前路。"
},
"parameters": {
"resolution": "720P",
"ratio": "16:9",
"duration": 5
}
}'
响应示例
{
"output": {
"task_status": "PENDING",
"task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
},
"request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}
查询任务结果
请求 URL
GET https://{新平台域名}/v1/ai/{endpointPath}/happyhorse/v1/tasks/{taskId}
路径参数
| 参数名 | 字段类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| taskId | string | 是 | - | 创建任务返回的 output.task_id |
响应参数
| 参数名 | 字段类型 | 描述 |
|---|---|---|
| output | object | 任务输出信息 |
| output.task_id | string | 任务状态,查询有效期24小时。 |
| output.task_status | string | 任务状态 |
| output.submit_time | string | 任务提交时间。时区为UTC+8,格式为 YYYY-MM-DD HH:mm:ss.SSS。 |
| output.scheduled_time |
string | 任务执行时间。时区为UTC+8,格式为 YYYY-MM-DD HH:mm:ss.SSS。 |
| output.end_time | string | 任务完成时间。时区为UTC+8,格式为 YYYY-MM-DD HH:mm:ss.SSS。 |
| output.video_url |
string | 视频URL。仅在 task_status 为 SUCCEEDED 时返回。 链接有效期24小时,可通过此URL下载视频。视频帧率为24fps,格式为MP4(H.264 编码) |
| output.orig_prompt | string | 原始输入的prompt,对应请求参数prompt。 |
| output.code | string | 失败错误码,请求成功时不会返回此参数 |
| output.message | string | 失败错误信息,请求成功时不会返回此参数 |
| usage | object | 用量(duration、SR、ratio等) |
| usage.input_video_duration | integer | 输入的视频的时长,单位秒。 |
| usage.output_video_duration | integer | 输出的视频的时长,单位秒。 |
| usage.duration | integer | 总的视频时长,用于计费。 |
| usage.SR | integer | 输出视频的分辨率档位。 |
| usage.video_count | integer | 输出视频的数量。固定为1 |
| request_id | string | 请求唯一标识 |
请求示例
curl --location 'http://{新平台域名}/v1/ai/{endpoint}/happyhorse/v1/tasks/{taskId}' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json'
响应示例
{
"request_id": "99243b47-ec5f-9413-9993-xxxxxx",
"output": {
"task_id": "4673458e-28be-4a05-bf2a-xxxxxx",
"task_status": "SUCCEEDED",
"submit_time": "2026-04-20 17:55:17.075",
"scheduled_time": "2026-04-20 17:55:17.129",
"end_time": "2026-04-20 17:56:36.658",
"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,
"ratio": "16:9"
}
}