API 文档
统一接口说明、快速接入指南与错误处理参考。
概览
TokenColo 是统一的 AI 模型网关,聚合国产主流大模型。一次接入即可调用多家厂商,在控制台集中管理密钥、配额与路由策略。
核心能力:统一 API · 模型目录 · 用量统计 · 速率限制 · 智能路由与故障转移 · 密钥分级管理
Base URL
https://api.tokencolo.com/v1
认证方式
Authorization: Bearer <your_tokencolo_key>
接口概览
| 接口 | 方法 | 地址 | 说明 |
|---|---|---|---|
| 对话补全 | POST | /v1/chat/completions | 文本对话,支持流式输出、Tool Calling 与多模态 |
| 创建视频任务 | POST | /v1/video/generations | 提交视频生成任务,返回 task_id |
| 查询视频任务 | GET | /v1/video/generations/{task_id} | 查询任务进度与生成结果 |
| 模型列表 | GET | /v1/models | 获取当前账号可用的全部模型 |
快速开始
三步完成接入:注册账号 → 创建 API Key → 发起首次请求。协议兼容 OpenAI,现有客户端库无需改动。
1. 安装 OpenAI SDK
# Python
pip install openai
# Node.js
npm install openai
2. 设置 API Key
# macOS / Linux
export API_KEY="your_tokencolo_key"
# Windows PowerShell
$env:API_KEY="your_tokencolo_key"
3. 发起第一次请求
from openai import OpenAI
import os
client = OpenAI(
base_url="https://api.tokencolo.com/v1",
api_key=os.environ["API_KEY"]
)
response = client.chat.completions.create(
model="glm-5",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你好,请介绍一下 TokenColo"}
],
max_completion_tokens=1024,
temperature=0.7
)
print(response.choices[0].message.content)
cURL 示例
curl -sS "https://api.tokencolo.com/v1/chat/completions" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-5",
"messages": [{"role": "user", "content": "你好"}],
"max_completion_tokens": 256
}'
流式响应
for chunk in client.chat.completions.create(
model="glm-5",
messages=[{"role": "user", "content": "给我讲个故事"}],
stream=True
):
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
⚠️ 注意:流式响应在
[DONE] 之前可能包含一条 choices 为空、仅含 usage 的 chunk。解析时请跳过 choices 为空的片段,避免数组越界。API 密钥
请在 TokenColo 控制台 创建与管理 API Key。密钥请存入环境变量,勿写入代码或提交至仓库。
调用须知:
- API Key 须在控制台创建后方可使用
messages为必填参数- 对话接口路径为
/v1/chat/completions
LLM 对话接口
适用于 glm-5、glm-5.1、kimi-k2.5、deepseek-v3.2、qwen3.6-plus、MiniMax-M2.5 等主流国产模型。
请求参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
model | string | 是 | — | 模型 ID |
messages | array | 是 | — | 对话消息列表 |
stream | boolean | 否 | false | 是否流式返回 |
max_completion_tokens | integer | 否 | 1024 | 最大生成 Token 数 |
temperature | float | 否 | 0.7 | 采样温度(0-2) |
response_format | object | 否 | {"type":"text"} | 设为 {"type":"json_object"} 启用 JSON 模式 |
tools | array | 否 | — | 工具定义列表 |
tool_choice | string | 否 | auto | auto / none / required |
响应字段
| 字段 | 说明 |
|---|---|
choices[0].message.content | 回复文本(最终回答) |
choices[0].message.reasoning_content | 思维链推理过程(仅 glm-5/5.1/qwen3.6-plus) |
choices[0].message.tool_calls | 工具调用列表(Tool Calling 时) |
usage.prompt_tokens | 输入 Token 数 |
usage.completion_tokens | 输出 Token 数 |
JSON Mode 示例
response = client.chat.completions.create(
model="deepseek-v3.2",
messages=[{"role": "user", "content": "列出3个AI应用场景"}],
response_format={"type": "json_object"}
)
Tool Calling 示例
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取指定城市的天气",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}
}]
response = client.chat.completions.create(
model="kimi-k2.5",
messages=[{"role": "user", "content": "北京天气怎么样?"}],
tools=tools, tool_choice="auto"
)
⚠️ tool_call_id:不同模型返回的 ID 格式可能不同,回传工具结果时请原样使用模型返回的
tool_call_id。图片理解(仅 kimi-k2.5)
response = client.chat.completions.create(
model="kimi-k2.5",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "描述这张图片"},
{"type": "image_url", "image_url": {"url": "https://example.com/img.jpg"}}
]
}]
)
Seedance 2.0 视频生成
Seedance 2.0 由字节跳动推出,支持文本、图片、音频、视频四种模态混合输入,适合复杂镜头与多素材参考场景。
模型规格
| 参数 | 说明 |
|---|---|
| 模型 ID | generate_video_seedance_v2_0 |
| 最大时长 | 15 秒 |
| 分辨率 | 720p / 1080p |
| 宽高比 | 16:9 / 9:16 / 1:1 |
| 参考图片上限 | 9 张 |
| 参考视频上限 | 3 段 |
| 参考音频上限 | 3 段 |
⚠️ 调用须知:
- 视频接口需单独开通权限,请联系官方获取 Key
prompt为必填,不可为空- 接口路径为
/v1/video/generations
创建视频任务
curl -sS -X POST "https://api.tokencolo.com/v1/video/generations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_KEY" \
-d '{
"model": "generate_video_seedance_v2_0",
"prompt": "一只猫在雪地里奔跑,慢动作,电影感",
"service_tier": "default"
}'
# 返回:{"task_id": "task_xxx..."}
查询任务状态
curl -sS "https://api.tokencolo.com/v1/video/generations/{task_id}" \
-H "Authorization: Bearer YOUR_KEY"
# status: PENDING / RUNNING / COMPLETED / FAILED
# data.data.content.video_url: 视频地址(24小时有效)
用例速查
| 用例 | 输入模态 | 角色(role) |
|---|---|---|
| 纯文生视频 | prompt | — |
| 仅首帧 | 图片 × 1 | first_frame |
| 参考图 | 图片 × 1 | reference_image |
| 首帧 + 尾帧 | 图片 × 2 | first_frame + last_frame |
| 视频 + 音频 | 视频 + 音频 | reference_video + reference_audio |
| 多参考图 | 图片 × 9 | reference_image |
| 三模态混合 | 图 + 视频 + 音频 | 全三种 role |
使用限制
| 限制项 | 说明 |
|---|---|
| 视频 URL 有效期 | 24 小时 |
| 并发任务数 | 建议每次 ≤ 2 个 |
| 生成耗时 | 纯文生 2-5 分钟,带素材 5-10 分钟 |
错误码
| HTTP | 错误码 | 说明 | 解决方案 |
|---|---|---|---|
| 400 | invalid_request | 请求参数不合法 | 检查 messages、model、prompt 等字段 |
| 400 | model_not_found | 模型不存在或未开通 | 核对 model 名称与账号权限 |
| 401 | — | API Key 无效或过期 | 在控制台重新创建或更换 Key |
| 403 | — | 无权访问该接口 | 确认已开通对应模型/能力 |
| 429 | — | 请求频率超限 | 降低 QPS 或申请提额 |
| 500 | — | 服务端内部错误 | 稍后重试;持续出现请联系支持 |
| 503 | model_not_found | 当前无可用路由 | 更换模型或联系管理员 |
FAQ
哪些模型会返回 reasoning_content?
glm-5、glm-5.1、qwen3.6-plus 等推理模型会返回思维链内容;最终回复请以 content 为准。
Seedance 任务失败或认证报错?
建议将并发控制在 2 个任务以内,失败后间隔约 5 秒重试。