API 文档AI 模型接口视频HappyHorse

图生视频-基于首帧

以首帧图为起点按提示词生成视频。异步任务接口,提交后返回 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": "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
  }
}

Properties:

NameTypeRequiredDescription
modelstringYes模型名称。可选值:happyhorse-1.1-i2vhappyhorse-1.0-i2v
inputobjectYes基础输入信息,如提示词、图像等
input.promptstringNo文本提示词,用于描述期望生成的视频内容。支持任何语言,长度不超过 5000 个非中文字符或 2500 个中文字符,超过部分将自动截断
input.mediaarrayYes输入媒体列表,用于指定图像以生成视频。必须且只能包含 1 张 typefirst_frame 的图像
input.media[].typestringYes媒体素材类型。可选值:first_frame(视频的起始帧)
input.media[].urlstringYes媒体素材 URL。支持公网 HTTP/HTTPS 链接,或 Base64 编码字符串(格式:data:{MIME_type};base64,{base64_data})。图像限制:格式 JPEG/JPG/PNG/WEBP;宽和高不小于 300 像素;宽高比 1:2.5~2.5:1;不超过 20MB
parametersobjectNo视频处理参数,如分辨率、时长等
parameters.resolutionstringNo分辨率档位,用于控制视频清晰度(总像素)。模型会在接近首帧宽高比的前提下,将视频缩放至所选档位的总像素。可选值:480P720P1080P(默认)
parameters.durationintegerNo视频时长(秒),取值 [3, 15] 之间的整数,默认 5
parameters.watermarkbooleanNo是否添加水印(右下角固定文案 "Happy Horse")。true(默认)添加,false 不添加
parameters.seedintegerNo随机数种子,取值 [0, 2147483647]。未指定时系统自动生成。固定 seed 可提升可复现性,但不保证完全一致

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": "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": {
    "task_status": "PENDING",
    "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
  },
  "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}

响应字段说明:

NameTypeDescription
outputobject任务输出信息
output.task_idstring任务 ID,可用于查询任务状态,有效期 24 小时
output.task_statusstring任务状态。枚举值:PENDING(排队中)、RUNNING(处理中)、SUCCEEDED(成功)、FAILED(失败)、CANCELED(已取消)、UNKNOWN(不存在或状态未知)
request_idstring本次请求的唯一标识,用于追踪与排查问题
codestring错误码,仅请求失败时返回
messagestring错误信息,仅请求失败时返回

GET /api/v1/tasks/{task_id}

根据任务ID查询结果

根据创建任务时返回的 task_id 查询任务状态与结果。查询有效期 24 小时。

Headers

NameTypeRequiredDescription
AuthorizationstringYes请求身份认证。格式:Bearer sk-xxxxxx

Path Parameters

NameTypeRequiredDescription
task_idstringYes任务 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": "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
  }
}

响应字段说明:

NameTypeDescription
outputobject任务输出信息
output.task_idstring任务 ID,查询有效期 24 小时
output.task_statusstring任务状态。枚举值:PENDING(排队中)、RUNNING(处理中)、SUCCEEDED(成功)、FAILED(失败)、CANCELED(已取消)、UNKNOWN(不存在或状态未知)。轮询过程中状态流转一般为 PENDINGRUNNINGSUCCEEDED / FAILED
output.submit_timestring任务提交时间,格式 YYYY-MM-DD HH:mm:ss.SSS
output.scheduled_timestring任务执行时间,格式 YYYY-MM-DD HH:mm:ss.SSS
output.end_timestring任务完成时间,格式 YYYY-MM-DD HH:mm:ss.SSS
output.video_urlstring视频下载 URL,仅 task_statusSUCCEEDED 时返回。链接有效期 24 小时,视频为 MP4(H.264)
output.orig_promptstring原始提示词,对应请求参数 prompt
output.codestring错误码,仅任务失败时返回
output.messagestring错误信息,仅任务失败时返回
usageobject输出统计信息,仅成功时返回
usage.input_video_durationinteger输入视频时长(秒)
usage.output_video_durationinteger输出视频时长(秒)
usage.durationinteger用于计费的总视频时长(秒),值为 input_video_duration + output_video_duration
usage.SRinteger输出视频分辨率档位
usage.video_countinteger输出视频数量,固定为 1
request_idstring本次请求的唯一标识,用于追踪与排查问题

错误处理

HTTP 400 参数错误(提交前拦截,不扣费)

AutoRouter 在提交到上游前会对必填字段做基础校验:

场景响应
未传 input.media 或缺少 first_frame{"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,避免敏感内容
未提供首帧图media 中必须且只能包含 1 个 type: first_frame 元素
媒体 URL 不可访问确保 URL 公开可访问、未过期
媒体文件不符规格参考 Request Body 中图像限制
参数组合非法(如分辨率不支持)按 Request Body 规范传参

任务 FAILED 时 AutoRouter 会自动退款到你的账户,可在日志页面查询退款记录。

目录