TiKo API

让其他网站、程序或 AI 代理调用视频生成能力

给 AI 的直接调用说明

这是一个 Bearer Token 视频生成 API。调用方必须把 API Key 放在服务端,不要暴露在浏览器前端。

  1. 先使用自己的账号在前台“API 管理”创建 API Key,并确保账号有足够积分。
  2. 调用 GET /models 读取当前模型、价格和限制,不要硬编码价格。
  3. 调用 POST /videos 创建任务,保存返回的 id。
  4. 每隔几秒调用 GET /videos/{id},直到 status=completed。
  5. 完成后使用返回的 video_url,或调用 /videos/{id}/content 下载视频。
失败任务会自动退回积分。建议每个客户订单都传唯一的 Idempotency-Key,网络超时后可以安全重试。

认证

Authorization: Bearer SUBSITE_API_KEY_EXAMPLE
Content-Type: application/json

完整 API Key 只在创建时显示一次。不要把 API Key 写进网页源码、App 包或公开代码仓库。

接口一览

GET/models
读取模型、价格、时长和参考素材限制
GET/account
读取当前 API 账号积分余额
POST/videos
创建视频生成任务
GET/videos/{id}
查询任务状态和视频地址
GET/videos/{id}/content
以视频流方式读取或下载
POST/files
上传 Base64 图片参考素材

1. 查看模型和价格

curl http://127.0.0.1:8787/openapi/v1/models \
  -H "Authorization: Bearer SUBSITE_API_KEY_EXAMPLE"

当前常用模型代码:

模型代码显示名称说明
seedance-2.5-workflowSeedance 2.5 · 不卡人脸(90%过)满血版固定 30 秒,最多 30 张参考图
seedance-2.5Seedance 2.5 · 卡人脸满血版以接口实时返回的时长和价格为准
seedance-2.0Seedance 2.0 · 卡人脸满血版支持 5、10、15 秒配置
minimaxh3MiniMax H3 · 2K 满血版4–15 秒,支持图片、视频和音频参考

2. 创建视频

curl -X POST http://127.0.0.1:8787/openapi/v1/videos \
  -H "Authorization: Bearer SUBSITE_API_KEY_EXAMPLE" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order_demo_20261004_001" \
  -d '{
    "model": "seedance-2.5-workflow",
    "prompt": "黄昏街道,电影感光影,镜头缓慢推进,人物动作自然",
    "duration": 30,
    "aspect_ratio": "16:9",
    "resolution": "720p"
  }'

成功后会返回任务 id,接口一般返回 HTTP 202。同一个账号、同一个幂等键重试不会重复扣费。

Python 示例

import requests

BASE = "http://127.0.0.1:8787/openapi/v1"
KEY = "SUBSITE_API_KEY_EXAMPLE"

r = requests.post(
    BASE + "/videos",
    headers={"Authorization": f"Bearer {KEY}"},
    json={
        "model": "seedance-2.5-workflow",
        "prompt": "黄昏街道,电影感光影,镜头缓慢推进",
        "duration": 30,
        "aspect_ratio": "16:9",
        "resolution": "720p",
    },
    timeout=60,
)
print(r.json())

3. 查询任务

curl http://127.0.0.1:8787/openapi/v1/videos/任务ID \
  -H "Authorization: Bearer SUBSITE_API_KEY_EXAMPLE"
状态处理方式
queued / running继续轮询,建议间隔 5–10 秒
completed读取 video_url 播放或下载
failed读取 failure_reason,积分会自动退回

4. 播放或下载视频

优先使用任务返回的完整 video_url,不要删掉 URL 后面的签名参数。也可以使用下面的代理接口:

curl -L --fail \
  -H "Authorization: Bearer SUBSITE_API_KEY_EXAMPLE" \
  "http://127.0.0.1:8787/openapi/v1/videos/任务ID/content" \
  -o result.mp4

视频接口支持 HTTP Range,网页播放器可以直接使用该地址进行分段加载。

参考素材

参考素材应使用上游可以访问的公网 HTTPS 地址。图片可以使用:

{
  "model": "minimaxh3",
  "prompt": "参考素材中的人物保持一致,生成自然的短视频",
  "duration": 8,
  "attachments": [
    {"type":"image","url":"https://example.com/reference.jpg","mime":"image/jpeg"},
    {"type":"video","url":"https://example.com/reference.mp4","mime":"video/mp4","duration_seconds":6},
    {"type":"audio","url":"https://example.com/reference.mp3","mime":"audio/mpeg"}
  ]
}

不同模型的数量和时长限制以 /models 返回为准。若使用本地文件,请先把文件放到调用方自己的公网存储,再把 HTTPS URL 传入。

错误处理

{
  "error": {
    "code": "INVALID_PROMPT",
    "message": "prompt invalid",
    "request_id": "req_xxx"
  }
}

常见 HTTP 状态:400 参数错误,401 密钥错误,402 积分不足,404 任务不存在,409 幂等冲突,429 请求过快,503 模型暂不可用。

文档地址:http://127.0.0.1:8787/docs/ · 机器可读规范:openapi.json