Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tkhub.ai/llms.txt

Use this file to discover all available pages before exploring further.

1. 概述

HappyHorse 是本平台提供的 AI 视频生成模型,支持四种生成模式:
模型名称能力说明
happyhorse-1.0-t2v文生视频 (Text-to-Video)根据文本提示词生成视频
happyhorse-1.0-i2v图生视频 (Image-to-Video)根据首帧图 + 文本提示词生成视频
happyhorse-1.0-r2v参考图生视频 (Reference-to-Video)根据 1-9 张参考图 + 文本提示词生成视频
happyhorse-1.0-video-edit视频编辑 (Video Edit)对输入视频按提示词进行编辑,支持附加 0-5 张参考图
生成任务为异步流程:提交任务 → 拿到 task_id → 轮询查询结果。

2. 接口地址

方法路径作用
POST/v1/video/generations提交视频生成任务
GET/v1/video/generations/{task_id}查询任务状态 / 获取视频 URL
环境地址
环境Base URL
测试环境http://116.62.234.39:3000
生产环境https://api.tkhub.ai
下文示例统一以 $BASE_URL 表示,实际调用请替换为对应环境地址。

3. 认证

所有请求均需携带 API Key:
Authorization: Bearer <YOUR_API_KEY>

4. 提交任务

4.1 请求参数

字段类型必填说明
modelstring可选值:happyhorse-1.0-t2v / happyhorse-1.0-i2v / happyhorse-1.0-r2v / happyhorse-1.0-video-edit
promptstringT2V / R2V / EDIT 必填;I2V 可选文本提示词,最大 2500 字符(超长自动截断,不能为纯空格)
imagestringI2V 必填首帧图 URL。R2V / EDIT 场景请使用 metadata.referenceImageUrls
imagesstring[]R2V / EDIT 可选多图输入数组,与 metadata.referenceImageUrls 等价,二选一即可
aspect_ratiostring可选画面比例(T2V 默认 16:9;R2V 可选):16:9 / 9:16 / 1:1 / 4:3 / 3:4
resolutionstring可选分辨率,1080P720P;默认 1080P(EDIT 按输入视频自动适配)
durationint可选视频时长(秒),范围 3-15;默认 5(EDIT 以输入视频实际时长为准)
metadataobject视情况扩展参数对象,见 4.2 / 4.4;EDIT 必须通过 metadata.referenceVideoUrls[0] 指定输入视频 URL

4.2 metadata 扩展参数

metadata 字段用于传递扩展参数:
字段类型默认说明
seedint随机随机数种子,范围 [0, 2147483647],用于控制生成结果的确定性
watermarkbooltrue是否添加水印
ratiostring-画面比例,等价于顶层 aspect_ratio

4.3 素材要求

I2V 首帧图(image
  • 像素:宽高均 ≥ 300px,无上限
  • 比例:长宽比介于 1:2.5 ~ 2.5:1
  • 格式:JPEG / JPG / PNG / BMP / WEBP
  • 大小:≤ 10MB
R2V 参考图(metadata.referenceImageUrlsimages,1-9 张)
  • 数量:1 ≤ N ≤ 9
  • 像素:短边 ≥ 400px
  • 比例:短/长边比 ≥ 0.4
  • 格式:JPEG / JPG / PNG / BMP / WEBP
  • 大小:≤ 10MB / 张
EDIT 输入视频(metadata.referenceVideoUrls[0],必填)
  • 时长:3 ~ 60 秒
  • 分辨率:480P 及以上
  • 比例:1:8 ~ 8:1
  • 格式:MP4 / MOV
  • 大小:≤ 100MB
  • 帧率:> 8 fps
EDIT 参考图(metadata.referenceImageUrlsimages,可选 0-5 张):要求同 R2V 参考图。

4.4 metadata 多媒体字段

本平台所有视频模型采用统一的 metadata 多媒体命名约定。HappyHorse 各模型支持的字段如下:
metadata 字段类型适用模型说明
first_imagestringI2V首帧图 URL,等价于顶层 image
referenceImageUrlsstring[]R2V / EDIT参考图 URL 数组;R2V 必填 1-9 张,EDIT 可选 0-5 张
referenceVideoUrlsstring[]EDIT(必填)参考视频 URL 数组,取首个作为输入视频
说明:如需多张参考图场景,请使用 happyhorse-1.0-r2v;如需对已有视频进行编辑,请使用 happyhorse-1.0-video-edit

5. 请求示例

5.1 文生视频(T2V)

curl -X POST $BASE_URL/v1/video/generations \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.0-t2v",
    "prompt": "一个小女孩在樱花树下翩翩起舞,阳光穿过花瓣,电影质感",
    "aspect_ratio": "16:9",
    "resolution": "1080P",
    "duration": 5,
    "metadata": {
      "seed": 42,
      "watermark": false
    }
  }'

5.2 图生视频(I2V)

curl -X POST $BASE_URL/v1/video/generations \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.0-i2v",
    "prompt": "让图片中的场景动起来,镜头缓慢推进",
    "image": "https://example.com/first_frame.png",
    "resolution": "1080P",
    "duration": 5,
    "metadata": {
      "seed": 42
    }
  }'

5.3 参考图生视频(R2V)

curl -X POST $BASE_URL/v1/video/generations \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.0-r2v",
    "prompt": "将三张人物站在同一个樱花树下合照,镜头缓慢推近",
    "resolution": "1080P",
    "duration": 5,
    "metadata": {
      "referenceImageUrls": [
        "https://example.com/ref1.png",
        "https://example.com/ref2.png",
        "https://example.com/ref3.png"
      ],
      "seed": 42
    }
  }'

5.4 视频编辑(EDIT)

curl -X POST $BASE_URL/v1/video/generations \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.0-video-edit",
    "prompt": "将视频中的天空改为星空,在左上角加入一轮满月",
    "metadata": {
      "referenceVideoUrls": [
        "https://example.com/input.mp4"
      ],
      "referenceImageUrls": [
        "https://example.com/moon.png"
      ],
      "seed": 42
    }
  }'

5.5 提交响应

{
  "id": "task_01HXXXXXXXXXXXXXXX",
  "task_id": "task_01HXXXXXXXXXXXXXXX",
  "model": "happyhorse-1.0-t2v",
  "status": "queued",
  "created_at": 1761552000
}
请保存 task_id,用于后续查询。

6. 查询任务

6.1 请求

curl -X GET $BASE_URL/v1/video/generations/task_01HXXXXXXXXXXXXXXX \
  -H "Authorization: Bearer $API_KEY"

6.2 成功响应

{
  "id": "task_01HXXXXXXXXXXXXXXX",
  "task_id": "task_01HXXXXXXXXXXXXXXX",
  "model": "happyhorse-1.0-t2v",
  "status": "completed",
  "progress": "100%",
  "created_at": 1761552000,
  "completed_at": 1761552120,
  "metadata": {
    "url": "https://cdn.example.com/videos/xxx.mp4?Expires=..."
  }
}
  • 视频下载地址位于 metadata.url
  • URL 带有过期时间,建议尽快下载或转存到自有存储

6.3 失败响应

{
  "id": "task_01HXXXXXXXXXXXXXXX",
  "task_id": "task_01HXXXXXXXXXXXXXXX",
  "status": "failed",
  "error": {
    "code": "InvalidParameter",
    "message": "error description"
  }
}
任务失败不会产生任何费用。

7. 任务状态

status说明终态
queued已提交,排队中
in_progress正在生成
completed生成完成,可从 metadata.url 下载视频
failed生成失败(见 error 字段)
建议轮询策略
  • 间隔 ≥ 10 秒
  • 超时建议 ≥ 5 分钟
  • 命中终态(completed / failed)后停止轮询

8. 错误码

HTTPcode说明
400InvalidParameter请求参数错误(如 prompt 为空、图片格式不支持)
401UnauthorizedAPI Key 无效或未提供
403Forbidden无权限调用该模型
429RateLimitExceeded触发频率限制
500InternalError服务内部错误
503ServiceUnavailable服务暂不可用,建议稍后重试

9. 计费说明

  • 计费单位:按次(每个成功任务计费一次)
  • 影响因素:duration(时长)× resolution(分辨率)
  • 任务失败或取消不计费
  • 具体价格请查看平台「模型价格」页面

10. 常见问题

Q1:I2V 提示 “image is required” 怎么办? A:调用 happyhorse-1.0-i2v 必须提供 image 字段(或等价的 metadata.first_image)。 Q2:视频下载链接什么时候过期? A:链接通常有若干小时的有效期。建议在获取到 completed 状态后立即下载,或转存到自有存储。 Q3:能否取消正在进行的任务? A:当前不支持取消,任务一旦提交将执行至完成或失败。 Q4:可以通过 metadata 传任意字段吗? A:可以,未识别的字段会被忽略,不会影响调用,但不允许通过 metadata 覆写 model Q4+:如何传入多张参考图或对已有视频做编辑? A:多张参考图请使用 happyhorse-1.0-r2v,通过 metadata.referenceImageUrls 或顶层 images 传入 1-9 张;基于视频编辑请使用 happyhorse-1.0-video-edit,通过 metadata.referenceVideoUrls[0] 指定输入视频,metadata.referenceImageUrls 可选传 0-5 张附加参考图。 Q5:prompt 支持哪些语言? A:支持中英文。中文在场景描写上效果更佳。 Q6:生成视频的默认时长是多久? A:未指定 duration 时默认 5 秒,最长可指定 15 秒。

11. 快速接入清单

  • 获取 API Key
  • 准备调用环境,确认可访问测试或生产环境 Base URL
  • 选择模型:T2V / I2V / R2V / EDIT
  • R2V / EDIT 通过 metadata.referenceImageUrls / metadata.referenceVideoUrls 传入多媒体素材
  • 提交任务,保存 task_id
  • 按 10 秒间隔轮询查询
  • status = completed 时从 metadata.url 下载视频