TiKo API
让其他网站、程序或 AI 代理调用视频生成能力
给 AI 的直接调用说明
这是一个 Bearer Token 视频生成 API。调用方必须把 API Key 放在服务端,不要暴露在浏览器前端。
- 先使用自己的账号在前台“API 管理”创建 API Key,并确保账号有足够积分。
- 调用
GET /models读取当前模型、价格和限制,不要硬编码价格。 - 调用
POST /videos创建任务,保存返回的id。 - 每隔几秒调用
GET /videos/{id},直到status=completed。 - 完成后使用返回的
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
读取当前 API 账号积分余额
/account读取当前 API 账号积分余额
POST
创建视频生成任务
/videos创建视频生成任务
GET
查询任务状态和视频地址
/videos/{id}查询任务状态和视频地址
GET
以视频流方式读取或下载
/videos/{id}/content以视频流方式读取或下载
POST
上传 Base64 图片参考素材
/files上传 Base64 图片参考素材
1. 查看模型和价格
curl http://127.0.0.1:8787/openapi/v1/models \
-H "Authorization: Bearer SUBSITE_API_KEY_EXAMPLE"
当前常用模型代码:
| 模型代码 | 显示名称 | 说明 |
|---|---|---|
seedance-2.5-workflow | Seedance 2.5 · 不卡人脸(90%过)满血版 | 固定 30 秒,最多 30 张参考图 |
seedance-2.5 | Seedance 2.5 · 卡人脸满血版 | 以接口实时返回的时长和价格为准 |
seedance-2.0 | Seedance 2.0 · 卡人脸满血版 | 支持 5、10、15 秒配置 |
minimaxh3 | MiniMax 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