API 文档
接口兼容 OpenAI 与 Anthropic,已有的 SDK、重试和日志中间件基本不用改。
接口与鉴权
| 接口 | 用途 |
|---|---|
| POST /v1/chat/completions | OpenAI 兼容对话接口,支持流式输出和工具调用 |
| POST /v1/messages | Anthropic 兼容接口,支持流式输出;Claude Code 使用它 |
| GET /v1/models | 当前 Key 可用的模型列表 |
| GET /v1/account | 查询账户余额 |
- 接口地址:https://token.zzxytech.com/v1(Anthropic 接口的 Base URL 为 https://token.zzxytech.com)。
- 鉴权:Authorization: Bearer YOUR_API_KEY,Anthropic 接口也接受 x-api-key。
- 每个响应带有 x-request-id 头。联系客服时提供它,可以定位到具体的那一次调用;控制台的用量明细里也能查到。
curl https://token.zzxytech.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-v4-flash", "messages": [{"role": "user", "content": "你好"}], "max_tokens": 1000}'Key 的安全与限额
在控制台为每个 Key 单独设置。适合给不同项目、不同环境分别建 Key。
- 消费上限:可分别设置每日、每月、累计上限(元)。日和月按北京时间计算,到点自动重新计算。达到上限后该 Key 返回 403 key_quota_exceeded,其他 Key 不受影响。
- IP 白名单:填写允许调用的服务器 IP(支持单个地址和 CIDR 网段,IPv4 / IPv6)。不在名单内的请求返回 403 ip_not_allowed。留空表示不限制。
- 可用模型:限定该 Key 只能调用指定的模型。
- 消费上限在每次请求开始时检查、请求结束后计费,所以同一时刻的并发请求可能让实际消费略微超过上限。
- 请勿把 Key 写进前端页面、移动端应用或公开代码仓库;怀疑泄露时在控制台停用该 Key 即可立即生效。
速率限制
- 每个 Key 默认每分钟 60 次请求,超出返回 429 和 Retry-After 头。需要更高的限额请联系客服。
- 建议在客户端对 429 和 502 做指数退避重试。
Python 重试示例
import time
from openai import OpenAI, APIStatusError
client = OpenAI(api_key="YOUR_API_KEY", base_url="https://token.zzxytech.com/v1")
def ask(prompt, retries=3):
for attempt in range(retries + 1):
try:
r = client.chat.completions.create(
model="deepseek-v4-flash", max_tokens=1000,
messages=[{"role": "user", "content": prompt}])
return r.choices[0].message.content
except APIStatusError as e:
if e.status_code in (429, 502) and attempt < retries:
time.sleep(2 ** attempt) # 1s, 2s, 4s
continue
raise错误码
OpenAI 接口的错误格式为 {"error": {"message", "type", "code"}},Anthropic 接口为 {"type": "error", "error": {"type", "message"}}。
| HTTP | code | 含义 |
|---|---|---|
| 400 | invalid_json / invalid_request | 请求体不是合法的 JSON,或不是 JSON 对象 |
| 400 | unsupported_protocol | 该模型不支持当前接口(例如只支持 OpenAI 接口的模型被用 /v1/messages 调用) |
| 400 | content_blocked | 请求内容未通过内容安全审核,不计费 |
| 401 | invalid_api_key | 缺少 API Key 或 Key 不正确 |
| 402 | insufficient_balance | 账户余额不足,请充值 |
| 403 | key_disabled | 该 Key 或账号已被停用 |
| 403 | ip_not_allowed | 请求来源 IP 不在该 Key 的 IP 白名单内 |
| 403 | key_quota_exceeded | 该 Key 已达到你为它设置的日 / 月 / 总消费上限 |
| 404 | model_not_found | 模型不存在,或该 Key 没有权限使用它 |
| 429 | rate_limited | 超过该 Key 的每分钟请求数上限;响应头 Retry-After 给出建议等待的秒数 |
| 429 / 502 | upstream_unavailable | 模型服务暂时不可用(已自动尝试备用线路);可稍后重试,这类失败不计费 |
- 模型方返回的 4xx 错误(例如参数不合法)会原样透传,不计费。
- 只有成功的调用才会扣费;流式输出中途断开时,按已产生的用量估算计费。
计费说明
- 预付费:每次调用完成后按实际 Token 用量从余额中扣除,余额不足时返回 402。
- 输入、命中缓存的输入、输出分别计价,价格见模型与价格。工作日北京时间 9:00–12:00、14:00–18:00 为高峰时段,其余时间为空闲时段(周末全天空闲);标有“高峰 / 空闲”的模型按请求到达时间计价。
- “深度思考”模型的思考过程按输出 Token 计费,max_tokens 建议不小于 1000。
- 控制台可按模型、按 Key 查看汇总,调用明细和充值记录均可导出 CSV。需要增值税发票或对公转账请联系客服。
数据与隐私
- 默认不保存你的提示词和模型输出,只保存调用时间、模型、Token 数、费用、耗时、状态和所用 Key 的标识,用于计费对账和故障排查。
- 我们不会将你的输入内容用于训练我们自己的模型。请求内容需要传输给提供模型能力的服务方处理,详细条款见隐私政策。
在 Claude Code 中使用
{
"env": {
"ANTHROPIC_BASE_URL": "https://token.zzxytech.com",
"ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY",
"ANTHROPIC_MODEL": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-pro"
}
}
详细步骤见在 Claude Code 中使用国产大模型。