CokeAPI
视频生成系列

HappyHorse 1.1

HappyHorse 1.1 视频生成,支持文生视频、图生视频、参考图生视频、视频编辑,720P/1080P,3-15 秒时长。

CokeAPI 接入 HappyHorse 1.1 视频模型。默认是异步任务: POST 创建后拿到 task_id,再通过 GET /v1/generations/{task_id} 轮询直到 succeeded

图片/视频上传提示:生成接口不再接收内联 base64 数据。请先使用 文件上传接口 上传参考图片或视频获取 URL,再传入 image_urls / reference_images / url

模型 ID: happyhorse-1.1

支持四种生成模式:

  • 文生视频 — 纯文本描述生成
  • 图生视频 — 通过 image_urls 传入参考图
  • 参考图生视频 — 通过 reference_images 传入 1-9 张参考图
  • 视频编辑 — 通过 url 传入原视频 + reference_images 进行编辑

调用示例

curl https://cokeapi.com/v1/video/generations \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.1",
    "prompt": "一只橘猫在雪地中奔跑,电影级画面,超高清",
    "duration": 5,
    "resolution": "1080P",
    "aspect_ratio": "16:9"
  }'
curl https://cokeapi.com/v1/video/generations \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.1",
    "prompt": "镜头缓慢推进,主体转身面向镜头",
    "image_urls": ["https://cdn.cokeapi.com/uploads/2026/05/17/photo.png"],
    "duration": 5,
    "resolution": "1080P",
    "aspect_ratio": "16:9"
  }'
curl https://cokeapi.com/v1/video/generations \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.1",
    "prompt": "两个角色在公园中散步,阳光洒落",
    "reference_images": [
      "https://cdn.cokeapi.com/uploads/2026/05/17/char1.png",
      "https://cdn.cokeapi.com/uploads/2026/05/17/char2.png"
    ],
    "duration": 8,
    "resolution": "1080P",
    "aspect_ratio": "16:9"
  }'
curl https://cokeapi.com/v1/video/generations \
  -H "Authorization: Bearer sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.1",
    "prompt": "将视频中的人物替换为参考图中的角色",
    "url": "https://cdn.cokeapi.com/uploads/2026/05/17/source.mp4",
    "reference_images": [
      "https://cdn.cokeapi.com/uploads/2026/05/17/char.png"
    ],
    "duration": 5,
    "resolution": "1080P",
    "aspect_ratio": "16:9"
  }'
TASK_ID="01HX..."
curl https://cokeapi.com/v1/generations/$TASK_ID \
  -H "Authorization: Bearer sk-xxxxxxxx"
import httpx, time

BASE = "https://cokeapi.com/v1"
HEADERS = {"Authorization": "Bearer sk-xxxxxxxx"}

r = httpx.post(
    f"{BASE}/video/generations",
    headers=HEADERS,
    json={
        "model": "happyhorse-1.1",
        "prompt": "一只橘猫在雪地中奔跑,电影级画面",
        "duration": 5,
        "resolution": "1080P",
        "aspect_ratio": "16:9",
    },
    timeout=60,
)
task_id = r.json()["id"]

while True:
    r = httpx.get(f"{BASE}/generations/{task_id}", headers=HEADERS, timeout=30)
    data = r.json()
    if data["status"] in ("succeeded", "failed", "refunded"):
        print(data)
        break
    time.sleep(5)
const BASE = "https://cokeapi.com/v1";
const KEY = process.env.COKEAPI_KEY;

const create = await fetch(`${BASE}/video/generations`, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "happyhorse-1.1",
    prompt: "一只橘猫在雪地中奔跑,电影级画面",
    duration: 5,
    resolution: "1080P",
    aspect_ratio: "16:9",
  }),
});
const { id: taskId } = await create.json();

while (true) {
  const poll = await fetch(`${BASE}/generations/${taskId}`, {
    headers: { "Authorization": `Bearer ${KEY}` },
  });
  const data = await poll.json();
  if (["succeeded", "failed", "refunded"].includes(data.status)) {
    console.log(data);
    break;
  }
  await new Promise((r) => setTimeout(r, 5000));
}

请求参数

参数类型必填默认值说明
modelstringhappyhorse-1.1
promptstring描述文本
actionstring生成模式: text-to-video(文生) / image-to-video(首帧图生) / reference-to-video(参考图生) / video-edit(视频编辑)。不传时自动推断
image_urlsstring[]参考图 URL 列表 (图生视频)
reference_imagesstring[]参考图 URL 列表,支持 1-9 张 (参考图生视频 / 视频编辑)
urlstring原始视频 URL (视频编辑模式)
durationint5视频时长: 3-15 秒
resolutionstring1080P720P / 1080P
aspect_ratiostring16:916:9 / 9:16 / 1:1 / 4:3 / 3:4
seedint随机种子,可复现结果
watermarkbooltrue是否添加水印
audio_settingstringauto视频编辑声音控制: auto / origin
asyncbooltrue是否立即返回任务态
callback_urlstring任务完成时 POST 回调到此 URL

生成模式说明

模式所需参数说明
文生视频prompt纯文本描述生成视频
图生视频prompt + image_urls基于参考图生成视频
参考图生视频prompt + reference_images基于 1-9 张参考图生成,适合多角色场景
视频编辑prompt + url + reference_images基于原始视频 + 参考图进行编辑

响应

创建任务 (POST)

{
  "id": "01HX...",
  "task_id": "01HX...",
  "object": "video.generation.task",
  "status": "queued",
  "progress": 0,
  "model": "happyhorse-1.1",
  "kind": "video",
  "mode": "text_to_video",
  "created": 1714200000
}

查询任务 (GET /v1/generations/{task_id})

进行中:

{
  "id": "01HX...",
  "task_id": "01HX...",
  "object": "video.generation.task",
  "status": "running",
  "progress": 45,
  "model": "happyhorse-1.1",
  "kind": "video",
  "mode": "text_to_video",
  "created": 1714200000
}

完成后:

{
  "id": "01HX...",
  "task_id": "01HX...",
  "object": "video.generation.task",
  "status": "succeeded",
  "progress": 100,
  "model": "happyhorse-1.1",
  "kind": "video",
  "mode": "text_to_video",
  "result": {
    "id": "01HX...",
    "object": "video.generation",
    "created": 1714200000,
    "model": "happyhorse-1.1",
    "data": [
      {
        "url": "https://cdn.cokeapi.com/v/01HX....mp4",
        "duration_ms": 5000,
        "width": 1920,
        "height": 1080
      }
    ]
  },
  "created": 1714200000
}

HappyHorse 1.1 任务平均耗时 60-180 秒。推荐每 5 秒轮询一次。也可以在创建时传 callback_url,任务完成后主动 POST 推送结果。超过 15 分钟仍未完成会自动标记为 failed 并退款。统一查询入口见 异步任务

计费

按 6 秒基准档计费,超过 6 秒按 10 秒档计费(费用 = 基准价 × 10/6)。

分辨率6 秒基准价10 秒价
720p$0.11$0.183
1080p$0.137$0.228

失败任务不计费,自动退款。价格为 2026-07 快照,以 模型列表页 实时价目为准。

注意事项

  • 任务最长保留 24 小时,超过会被清理。需要长期存储请下载到自有 OSS。
  • 图生视频和参考图生视频请先通过 文件上传接口 上传参考图获取 URL。
  • reference_images 支持 1-9 张参考图,适合多角色、多元素场景。
  • 视频编辑模式需同时传入 url(原始视频)和 reference_images
  • duration 支持 3-15 秒连续值,默认 5 秒。
  • 失败的任务不计费,会自动返还预扣点数。

本页目录