快速上手
使用你的 API 密钥
Token Relay 提供两个上游兼容端点。拿到密钥后,你可以继续使用现有的 OpenAI 或 Anthropic 客户端库——只需改动 base_url 与 API 密钥。
1. 获取密钥
- 登录开发者控制台。
- 打开API 密钥。
- 点击创建 API 密钥。给它取一个名称(类似
local-dev或prod-app),并可选地设置一个以美元(USD)计的每月消费上限。 - 一个以
tsk_开头的 token 会出现在展示横幅中,直接点复制拿走。丢了也不要紧:在密钥列表点显示就能再看到它;加密留存启用之前建的老密钥则只能轮换。
为什么是一次性可见? 后端只存储该 token 的 SHA-256 哈希。即使是拥有完整数据库访问权限的管理员也无法还原原文——只能吊销并重新签发。
2. 端点
中转提供两种协议。选择你的客户端已经支持的那一种。
| 协议 | Base URL | 认证头 |
|---|---|---|
| OpenAI Chat Completions | https://chinzy.com/v1 | Authorization: Bearer tsk_... |
| Anthropic Messages(流式) | https://chinzy.com/anthropic/v1 | x-api-key: tsk_... |
3. 选择模型
把我们任意公开模型别名作为 model 字段传入。完整列表见模型。几个常见的:
gpt-5.2、gpt-5、gpt-5-mini、gpt-5.4-mini— OpenAI 系列claude-sonnet-4.5、claude-haiku-4.5、claude-opus-4.5— Anthropic 系列deepseek-v3.2、kimi-k2-thinking、glm-4.6— 开放权重系列
你始终传平台别名,而不是上游特定的 id。在幕后,中转会挑选一个健康的上游并把调用路由过去,并具备自动故障转移。
4. 示例
curl
curl https://chinzy.com/v1/chat/completions \
-H "Authorization: Bearer $TOKEN_RELAY_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.2",
"messages": [
{"role": "user", "content": "Hi in one sentence"}
]
}'Python(OpenAI SDK)
from openai import OpenAI
client = OpenAI(
api_key=os.environ["TOKEN_RELAY_KEY"],
base_url="https://chinzy.com/v1",
)
resp = client.chat.completions.create(
model="gpt-5.2",
messages=[{"role": "user", "content": "Hi in one sentence"}],
)
print(resp.choices[0].message.content)Node.js(OpenAI SDK)
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.TOKEN_RELAY_KEY,
baseURL: 'https://chinzy.com/v1',
});
const resp = await client.chat.completions.create({
model: 'gpt-5.2',
messages: [{ role: 'user', content: 'Hi in one sentence' }],
});
console.log(resp.choices[0].message.content);Anthropic SDK(流式)
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: process.env.TOKEN_RELAY_KEY,
baseURL: 'https://chinzy.com/anthropic',
});
const stream = await client.messages.stream({
model: 'claude-sonnet-4.5',
max_tokens: 512,
messages: [{ role: 'user', content: 'Hi in one sentence' }],
});
for await (const event of stream) {
if (event.type === 'content_block_delta' && event.delta.type === 'text_delta') {
process.stdout.write(event.delta.text);
}
}5. 常见错误
| 状态码 | 含义 | 解决 |
|---|---|---|
401 | Token 缺失、格式错误或已停用。 | 确认 Authorization 头的值与展示横幅中的 token 一致。检查API 密钥——已停用的密钥会显示红色徽标。 |
402 / 403 "balance too low" | 钱包没有余额来结算这次请求。 | 在账单充值。 |
403 "monthly spend cap reached" | 该特定密钥的每月配额已用尽。 | 等待下一个自然月、在API 密钥提高上限,或使用另一个密钥。 |
429 | 你越过了按 IP 的速率限制(中转为 300 次/分钟)。 | 退避后重试;拉大请求之间的间隔。 |
503 | 服务该别名的每个上游都宕机了。罕见——中转已对间歇性故障自动重试。 | 试试同系列别名(例如用 gpt-5-mini 代替 gpt-5.2)。若持续,检查你的状态页。 |
6. 小贴士
- 每个应用一个密钥。轮换成本低;可在不破坏其他客户端的情况下停用泄露的凭证。
- 设置每月上限。当每个密钥都有边界时,失控的开发循环更容易恢复。
- 在/console/usage关注用量。该页展示按模型 + 按密钥的消费、带状态码的近期调用,以及用于记账的 CSV 导出。
- 两种协议都支持流式。只需在 OpenAI SDK 中传
stream: true,或在 Anthropic 中使用messages.stream()。
在本文档中发现遗漏或错误?提交一个 issue 或联系管理员。