接入文档

任何支持 OpenAI 接口的客户端都能直接用

三步接入

  1. 注册领额度 —— 注册即送 $1.00 额度,够跑通测试。
  2. 创建令牌 —— 到 用户面板 → 我的令牌 建一个 sk-cb- 开头的令牌(只在创建时完整显示一次,记得存好)。
  3. 填两个字段 —— Base URL 填本站地址,API Key 填这个令牌,然后正常发请求。
# 最快验证方式
curl /chat/completions \
  -H "Authorization: Bearer sk-cb-你的令牌" \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek-chat","messages":[{"role":"user","content":"你好"}]}'

接口地址

所有接口的域名就是本站地址,路径与官方 OpenAI / Anthropic 接口完全一致, 所以官方 SDK 直接改 base_url 就能用。

鉴权方式

两种,任选:

OpenAI 风格Authorization: Bearer sk-cb-你的令牌
Anthropic 风格x-api-key: sk-cb-你的令牌

令牌在用户面板自助创建,可以限制可用席位、限制可用模型、是否允许自带 key。 令牌泄露了到面板删掉即可,立即失效。

席位自动匹配

本站会在中转层按你请求里的模型名自动匹配对应席位的词包并注入进去, 你的客户端不需要做任何额外设置。

想读细节看右边:注入的内容是席位设定 + 工作流 + 路由台,总长约 9,000 字符。它在服务端注入,不占你的对话上下文额度之外的东西 —— 但它确实会算进 input token。

注入档位与控制

默认 core 档。你也可以在单次请求上带请求头覆盖:

X-CB-Injectoff | core | full —— off 不注入,full 带全部子技能(更贵)
X-CB-Seat(按模型名自动匹配)—— 强制指定席位
# 这个请求不注入词包(比如你只想当普通中转用)
curl /chat/completions \
  -H "Authorization: Bearer sk-cb-你的令牌" \
  -H "X-CB-Inject: off" \
  -d '{"model":"deepseek-chat","messages":[{"role":"user","content":"你好"}]}'
注入是幂等的:多轮对话里客户端如果把历史 system 一起带上, 服务端识别到标记会跳过,不会反复叠加把上下文撑爆。响应头 x-cb-idempotent: 1 表示这次是跳过。

另外,如果你单独发一条内容恰好是 冷咖啡 的消息,会直接返回激活页, 不转发上游、不计费。

流式输出

"stream": true 打开就是标准 SSE,格式与官方一致。 每个响应都会带几个便于排查的标记头:

x-cb-seat这次命中了哪个席位
x-cb-channel走了哪个上游渠道(便于定位是哪个源出问题)
x-cb-inject本次注入档位
x-cb-idempotent1 = 检测到已注入过,本次跳过
# Python 流式示例
from openai import OpenAI
client = OpenAI(base_url="", api_key="sk-cb-你的令牌")

for chunk in client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "写一段话"}],
    stream=True,
):
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

Claude / Anthropic 协议

除了 OpenAI 协议,本站也提供原生 Anthropic 端点,Claude Code 这类客户端可以直接指过来:

端点POST /v1/messages
鉴权x-api-key: sk-cb-你的令牌
环境变量ANTHROPIC_BASE_URL=

请求里用上面「可用模型」表里的模型名即可,服务端会自动路由到对应席位。 请求与响应都是原生 Anthropic 格式,不需要你做协议转换。

Codex / Responses 协议

也支持 OpenAI 的 Responses API(Codex 用的那个):

端点POST /v1/responses
入参{"model": "...", "input": "..."} 或 input 数组

自带 key(BYOK)

如果你不想用本站的模型额度,只想借用破甲注入这一层,可以带你自己的上游 key:

curl /chat/completions \
  -H "X-CB-Upstream-Key: 你自己的上游key" \
  -H "X-CB-Upstream-Base: https://你自己的中转/v1" \
  -H "X-CB-Upstream-Type: openai" \
  -d '{"model":"deepseek-chat","messages":[{"role":"user","content":"你好"}]}'
只带 key沿用本站路由解析出的上游地址,用你的 key 打过去
带 key + base完全绕开本站的渠道池,直接打你指定的地址
扣费默认不扣费(只借破甲层)
key 安全只在单次请求内存里使用,不落盘、不进日志
自带 key 时仍然会注入词包 —— 破甲层是本站提供的,跟模型额度是两件事。

限流与配额

为了系统稳定和防止滥用,本站有几层限制:

触发限制会返回 429,带上 retry_after 秒数。 余额不足返回 402,达到单日消费上限也返回 429,次日 00:00 自动重置。

错误码对照

401令牌无效 / 已停用 / 归属账号被停用
402余额不足 —— 去用户面板充值
403该令牌不允许这个席位或模型
404没有可用渠道处理这个模型名
413请求体过大,超过单次上限
429触发限流 / 并发上限 / 单日消费上限
502上游返回错误(响应体会带上游原文,便于排查)
503站点维护中
上游报错时,响应体里会带上游返回的原始错误文本。如果遇到持续 502, 把 x-cb-channel 响应头和错误原文一起发给我们,能直接定位是哪个源的问题。

充值与卡密

两条路,都在 用户面板 → 充值

  • USDT —— 选套餐下单,页面给出带唯一尾数的应付金额和收款地址, 扫码转账后链上自动确认到账。务必按显示的精确金额转账,尾数是用来匹配你这笔订单的。
  • 卡密 —— 线下购买的 CB-XXXX-XXXX-XXXX 兑换码,在面板输入即兑换。

模型与单价

单价单位是 USD / 100 万 tokens,输入输出分别计费。 扣费按上游返回的真实 usage 计算,不做预估。

模型输入 / 1M输出 / 1M

常见问题