TokenHey API 接入文档
TokenHey 支持 OpenAI 与 Anthropic 兼容格式。将官方 SDK 的 Base URL 指向 TokenHey,即可用同一把 Key 调用 Claude、GPT、Gemini、DeepSeek 等模型。
https://tokenhey.com/v1 Key 前缀:sk-th-概览
TokenHey 是一个 LLM API 聚合与路由网关。你只需要维护一个地址和一把 Key, 路由层会按「价格优先」选择当前最便宜且可用的上游,并在失败时自动切换。
OpenAI
Chat Completions / Responses / Embeddings
Anthropic
Messages 原生格式
流式
SSE,逐字返回
快速开始
- 前往 注册页面 创建账号,自动获得 $1 体验额度。
- 在 控制台 → API Keys 创建密钥,保存
sk-th-...。 - 将下方示例中的 Key 替换为你自己的 Key,然后开始调用。
Base URL 与鉴权
推荐使用 OpenAI 兼容格式。Base URL 为 https://tokenhey.com/v1,在请求头中携带 Authorization: Bearer sk-th-...。
Anthropic 原生格式使用 x-api-key: sk-th-... 与 anthropic-version: 2023-06-01。
# OpenAI SDK / curl
Authorization: Bearer sk-th-xxxxxxxxxxxxxxxx
# Anthropic SDK / curl
x-api-key: sk-th-xxxxxxxxxxxxxxxx
anthropic-version: 2023-06-01OpenAI 兼容(Chat Completions)
端点:POST /v1/chat/completions。请求与返回结构完全遵循 OpenAI 规范, 同时支持 function calling、图片输入与 JSON mode(取决于所选上游能力)。
from openai import OpenAI
client = OpenAI(
base_url="https://tokenhey.com/v1",
api_key="sk-th-xxxxxxxxxxxxxxxx",
)
resp = client.chat.completions.create(
model="openai/gpt-6.1-sol",
messages=[
{"role": "system", "content": "你是一个简洁的助手。"},
{"role": "user", "content": "用一句话介绍 TokenHey"},
],
)
print(resp.choices[0].message.content){
"id": "chatcmpl_...",
"object": "chat.completion",
"model": "openai/gpt-6.1-sol",
"choices": [{
"index": 0,
"message": { "role": "assistant", "content": "TokenHey 是..." },
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 214,
"completion_tokens": 86,
"total_tokens": 300
}
}Responses API
端点:POST /v1/responses。适合已经迁移到 OpenAI Responses API 的应用。返回内容与 usage 会按原格式透传。
curl https://tokenhey.com/v1/responses \
-H "Authorization: Bearer sk-th-xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-6.1-sol",
"input": "用一句话介绍 TokenHey"
}'Embeddings
端点:POST /v1/embeddings,但需要在后台为对应模型配置支持 embeddings 的上游通道。
流式输出
在请求体中加入 "stream": true,响应为 text/event-stream, 以 data: [DONE] 结束。TokenHey 会透传上游分片,并在流结束后写入计费日志。
stream = client.chat.completions.create(
model="anthropic/claude-sonnet-5.5",
messages=[{"role": "user", "content": "写一首关于路由的短诗"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="", flush=True)Anthropic 兼容(Messages)
端点:POST /v1/messages。TokenHey 会把 Anthropic 请求转换为上游兼容格式, 并把响应再转换回 Anthropic 结构。支持 system、tools、图片输入与流式输出。
from anthropic import Anthropic
client = Anthropic(
api_key="sk-th-xxxxxxxxxxxxxxxx",
base_url="https://tokenhey.com",
)
message = client.messages.create(
model="anthropic/claude-opus-5.5",
max_tokens=1024,
messages=[{"role": "user", "content": "你好"}],
)
print(message.content[0].text)curl https://tokenhey.com/v1/messages \
-H "x-api-key: sk-th-xxxxxxxxxxxxxxxx" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "anthropic/claude-opus-5.5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "你好"}]
}'模型列表
通过 GET /v1/models 获取可用模型与实时价格。该接口允许匿名访问,便于价格页与客户端发现模型。
curl https://tokenhey.com/v1/models \
-H "Authorization: Bearer sk-th-xxxxxxxxxxxxxxxx"| 模型 ID | 名称 | 输入 / 1M | 输出 / 1M |
|---|---|---|---|
| Kimi-K2.5 | Kimi-K2.5 | $0.54 | $2.7 |
| MiniMax-M3 | MiniMax-M3 | $0.36 | $1.44 |
| claude-fable-5 | claude-fable-5 | $9 | $45 |
| claude-fable-5-1 | claude-fable-5-1 | $9 | $45 |
| claude-haiku-4-5 | claude-haiku-4-5 | $0.9 | $4.5 |
| claude-haiku-4-5-20251001 | claude-haiku-4-5-20251001 | $0.9 | $4.5 |
| claude-haiku-4-5-20251001-thinking | claude-haiku-4-5-20251001-thinking | $0.9 | $4.5 |
| claude-haiku-5-5 | claude-haiku-5-5 | $0.09 | $0.45 |
| claude-opus-4-5-20251101 | claude-opus-4-5-20251101 | $4.5 | $22.5 |
| claude-opus-4-5-20251101-thinking | claude-opus-4-5-20251101-thinking | $4.5 | $22.5 |
完整列表与实时折扣见 价格页。
错误码
错误响应遵循 OpenAI 格式:{ "error": { "message", "type", "code" } }。
| HTTP | code | 说明 |
|---|---|---|
| 400 | invalid_request_error | 请求体或参数不合法,不会触发上游重试 |
| 401 | invalid_api_key | API Key 缺失或无效 |
| 402 | insufficient_balance | 余额不足,请充值 |
| 403 | forbidden | Key / 账户被停用或过期 |
| 404 | model_not_found | 模型不存在或已下线 |
| 429 | rate_limited | 触达 Key 的每分钟请求限制 |
| 502 | all_upstreams_failed | 所有候选上游均不可用,已记录重试链路 |
| 503 | no_available_upstream | 该模型没有启用的上游通道 |
速率限制
每个 API Key 默认 120 请求 / 分钟,可在控制台按 Key 调整(10–2000)。触发限制时返回 429 与 Retry-After。上游返回的 429 会触发自动切换,不占用你的重试次数。
计费与余额
计费单位为 USD,按输入、输出与缓存命中分别计价,精确到 $0.000001。请求成功后才扣费; 失败请求不扣费,但会记录在请求日志中。余额不足时返回 402。
- 输入 Token:按模型输入单价计费。
- 输出 Token:按模型输出单价计费。
- 缓存输入:如果上游返回缓存命中,按缓存输入单价计费。
- 上游成本:管理员可在日志中查看,用于核对毛利。
充值方式:控制台「账单与充值」支持兑换码;在线支付(Stripe / 支付宝)接入中。 余额不过期,按量扣减。
协议支持路线
| 协议 / 能力 | 状态 | 说明 |
|---|---|---|
| OpenAI Chat Completions | 已支持 | 含流式、工具调用透传 |
| OpenAI Responses | 已支持 | 按原格式透传 |
| OpenAI Embeddings | 已支持 | 需配置对应上游 |
| Anthropic Messages | 已支持 | 含流式转换、tools |
| Gemini 原生 API | 计划中 | /v1beta/models/{model}:generateContent |
| 图像生成 | 计划中 | /v1/images,按张计费 |
| 音频 / 实时 | 计划中 | Realtime / TTS / STT |
准备好开始了吗?
创建 API Key,几分钟内完成接入。