API 中转站怎么用?3 步配好 Base URL 和 Key
API 中转站怎么用:在控制台 /keys 页面创建 Key,curl 和 SDK 的 Base URL 填 https://gptzzz.ai/v1(Cherry Studio、Chatbox 只填 https://gptzzz.ai),再用一条 curl 验证。下面以 GPTZZZ 为例写出 curl、Python、Node.js、Claude Code、Codex 和常用客户端的配置,换成别家中转站只改地址、Key 和模型 ID。

先看答案:Base URL、Key 和第一条请求
- Base URL:
https://gptzzz.ai/v1,curl、OpenAI SDK 和 Codex 填这个;Cherry Studio、Chatbox 这类会自动补路径的客户端只填https://gptzzz.ai(见桌面客户端配置)。 - Key:登录后在控制台 /keys 页面创建,分组要包含你要调用的模型。新账号不送额度,先用支付宝充值(单笔最低 ¥10,见三步开通)。
- 测试:运行下面的 curl,返回 JSON 里
choices[0].message.content有内容就通了。
export GPTZZZ_API_KEY="粘贴你的 Key"
export GPTZZZ_BASE_URL="https://gptzzz.ai/v1"
curl -sS "$GPTZZZ_BASE_URL/chat/completions" \
-H "Authorization: Bearer $GPTZZZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-5.5","messages":[{"role":"user","content":"Reply with OK"}]}'
Windows PowerShell 用 Invoke-RestMethod:
$env:GPTZZZ_API_KEY = "粘贴你的 Key"
$env:GPTZZZ_BASE_URL = "https://gptzzz.ai/v1"
$body = @{
model = "gpt-5.5"
messages = @(@{ role = "user"; content = "Reply with OK" })
} | ConvertTo-Json -Depth 5
Invoke-RestMethod -Method Post -Uri "$env:GPTZZZ_BASE_URL/chat/completions" `
-Headers @{ Authorization = "Bearer $env:GPTZZZ_API_KEY" } `
-ContentType "application/json" -Body $body
示例里的 gpt-5.5 要用包含它的分组创建的 Key。
三步开通:注册充值、创建 Key、复制 Base URL
- 注册并充值。在注册页建账号,登录后用支付宝充值。充值 ¥1 = 余额 $1,无手续费,单笔 ¥10–¥2000;注册不送额度,未用完的余额可以申请退款。先充 ¥10 跑通再加量就够了。
- 按分组创建 Key。打开控制台 /keys 页面新建 Key,创建时选分组。一个 Key 只属于一个分组,只能调用这个分组里的模型;同时要用 GPT 和 Claude,就各建一个 Key,余额共用。
- 复制 Base URL 和模型 ID。OpenAI 兼容接口填
https://gptzzz.ai/v1(GPT 分组可用/v1/models、/v1/chat/completions和/v1/responses);Claude 分组走 Messages 接口https://gptzzz.ai/v1/messages。模型 ID 从模型价格页复制,不要按产品名自己拼。
OpenAI 兼容示例用 gpt-5.5(gpt-5.5 各分组价格),Claude Code 示例用 claude-sonnet-4.6(claude-sonnet-4.6 分组价格)。下表单位是人民币 / 百万 Token,已乘分组倍率。
| 模型 ID | 分组(计费倍率) | 输入 ¥/1M Token | 输出 ¥/1M Token | 缓存读 ¥/1M Token |
|---|---|---|---|---|
gpt-5.5 | opai puls(0.05x) | ¥0.25 | ¥1.50 | ¥0.025 |
gpt-5.5 | opai pro(0.1x) | ¥0.50 | ¥3.00 | ¥0.05 |
gpt-5.5 | pro200-500不降智(0.25x) | ¥1.25 | ¥7.50 | ¥0.13 |
gpt-5.5 | GPT官key(0.54x) | ¥3.91 | ¥23.40 | ¥0.39 |
claude-sonnet-4.6 | Claude官key(0.39x) | ¥2.34 | ¥11.70 | ¥0.23 |
gpt-5.5 单次输入超过 272K Token 时,整次请求按更高一档计价。价格以模型价格页和控制台实时显示为准;倍率怎么换算成费用,见 API 中转站倍率是什么意思。
curl:先测普通请求,再测流式
快速答案里的请求通了,再加 "stream": true 测流式。-N 关掉 curl 的输出缓冲,tail 只看最后几行:
curl -sN "$GPTZZZ_BASE_URL/chat/completions" \
-H "Authorization: Bearer $GPTZZZ_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-5.5","stream":true,"messages":[{"role":"user","content":"Count from 1 to 30"}]}' | tail -n 3
正常结尾是一行 data: [DONE],官方 openai SDK 就靠这一行判断流已结束。没收到这一行连接就断了,客户端常报 sse stream ended without [DONE],原因和排查见中转 API 报错速查。
要看响应头(比如有没有请求 ID),把 -sS 换成 -sS -D -,响应头会打印在正文前面。排障时把请求时间、模型 ID、HTTP 状态和请求 ID 一起记下来。
Python:官方 openai SDK 改 base_url
pip install openai
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["GPTZZZ_API_KEY"],
base_url=os.environ.get("GPTZZZ_BASE_URL", "https://gptzzz.ai/v1"),
)
resp = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "Reply with OK"}],
)
print(resp.choices[0].message.content)
print(resp.usage)
print(resp._request_id) # 取自响应头 x-request-id
base_url 只写到 /v1,SDK 自己拼 /chat/completions。官方 SDK 默认还会读环境变量 OPENAI_BASE_URL;这里用单独的变量名,免得和官方配置混在一起。更完整的示例见 OpenAI API 接入教程。
Node.js:官方 openai SDK 改 baseURL
npm install openai
// 保存为 test.mjs,运行 node test.mjs
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.GPTZZZ_API_KEY,
baseURL: process.env.GPTZZZ_BASE_URL ?? "https://gptzzz.ai/v1",
});
const resp = await client.chat.completions.create({
model: "gpt-5.5",
messages: [{ role: "user", content: "Reply with OK" }],
});
console.log(resp.choices[0].message.content);
console.log(resp.usage);
console.log(resp._request_id);
参数名是 baseURL(URL 全大写),写成 baseUrl 会被忽略。Key 只放在服务端,不要打包进前端代码;存放和轮换见 API Key 安全指南。
Claude Code:ANTHROPIC_BASE_URL 不带 /v1
Claude Code 走 Anthropic Messages 接口,要用 Claude官key 分组的 Key。按 Claude Code 官方文档,它会在 ANTHROPIC_BASE_URL 后面自己拼 /v1/messages,所以这里只填域名 https://gptzzz.ai。GPTZZZ 用 Bearer 鉴权,对应的变量是 ANTHROPIC_AUTH_TOKEN。
macOS / Linux:
export ANTHROPIC_BASE_URL="https://gptzzz.ai"
export ANTHROPIC_AUTH_TOKEN="粘贴 Claude官key 分组的 Key"
export ANTHROPIC_MODEL="claude-sonnet-4.6"
claude
Windows PowerShell:
$env:ANTHROPIC_BASE_URL = "https://gptzzz.ai"
$env:ANTHROPIC_AUTH_TOKEN = "粘贴 Claude官key 分组的 Key"
$env:ANTHROPIC_MODEL = "claude-sonnet-4.6"
claude
- 启动后运行
/status:应该有一行Anthropic base URL显示https://gptzzz.ai,鉴权来源显示ANTHROPIC_AUTH_TOKEN。 - GPTZZZ 的 Claude 模型 ID 用点号(
claude-sonnet-4.6),Anthropic 官方 ID 用连字符(如 claude-sonnet-4-6),所以要用ANTHROPIC_MODEL或claude --model指定。 - 会话标题等后台任务的模型由
ANTHROPIC_DEFAULT_HAIKU_MODEL控制;如果报模型不存在,把它也设成分组里有的 ID,例如同样设成claude-sonnet-4.6。 - 要长期生效,把这几个变量写进
~/.claude/settings.json的env块;同名变量以 settings 文件为准。不要写进项目里会提交到仓库的.claude/settings.json。
打不开时,先用 curl 单独测 Messages 接口,排除 Claude Code 本身的问题:
curl -sS "$ANTHROPIC_BASE_URL/v1/messages" \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-4.6","max_tokens":16,"messages":[{"role":"user","content":"Reply with OK"}]}'
工具调用、模型发现和团队配置的完整验收见 Claude Code 中转站配置。
Codex CLI:在 config.toml 加一个 provider
当前 Codex 只支持 Responses 协议:wire_api 只有 "responses" 一个值,省略也是它。GPTZZZ 的 OpenAI 分组提供 /v1/responses,所以 base_url 填 https://gptzzz.ai/v1,Codex 自己拼 /responses。provider 只能写在用户级配置 ~/.codex/config.toml(设置了 CODEX_HOME 时是 $CODEX_HOME/config.toml),写在项目里的 .codex/config.toml 不生效:
model = "gpt-5.5"
model_provider = "gptzzz"
[model_providers.gptzzz]
name = "GPTZZZ"
base_url = "https://gptzzz.ai/v1"
env_key = "GPTZZZ_API_KEY"
wire_api = "responses"
model 和 model_provider 是顶层键,要放在文件里第一个 [...] 表的前面。env_key 填的是变量名,不是 Key 本身。在同一个终端设置 Key,进入一个 Git 仓库目录后测试(codex exec 默认要求在 Git 仓库里运行):
export GPTZZZ_API_KEY="粘贴包含 gpt-5.5 的分组 Key"
codex exec "Reply with OK"
$env:GPTZZZ_API_KEY = "粘贴包含 gpt-5.5 的分组 Key"
codex exec "Reply with OK"
provider ID 不能用 openai、ollama、lmstudio,这三个是内置保留名。流式、工具调用和报错排查见 Codex CLI 中转 API 配置。
Cherry Studio、Chatbox 和 Cursor
桌面客户端只记一条:你填的地址 + 客户端自动补的路径 = https://gptzzz.ai/v1/chat/completions。多一个或少一个 /v1 都会 404。
Cherry Studio
- 设置 → 模型服务,点列表下方的「+ 添加服务商」,提供商名称随意(如 GPTZZZ),API 密钥填 GPTZZZ 的 Key。
- 地址填
https://gptzzz.ai(添加弹窗里在「端点设置」的 OpenAI 端点,服务商页面上叫「API 地址」),点「添加」保存。Cherry Studio 会自动补/v1/chat/completions;地址末尾加#时,它不再自动拼接,只用你填的完整地址。 - 在服务商页面右上角打开启用开关,列表里出现绿点。不开的话,它的模型不会出现在模型选择里。
- 点「获取模型列表」添加
gpt-5.5,也可以点 + 手动输入模型 ID。 - 点「检测」(官方文档有的页面写作「检查」),选一个模型测试,通过后在对话里选用该模型。
Chatbox
- 设置 → 模型提供方,点底部的「添加」。
- 名称随意,类型选「OpenAI API 兼容」。
- API 密钥填 GPTZZZ 的 Key,API 主机填
https://gptzzz.ai;API 路径留空,默认是/v1/chat/completions。 - 添加模型
gpt-5.5,保存后点「检查」,提示连接成功即可。
两个客户端的界面文字会随版本变化,对不上时按上面那条拼接规则判断。
Cursor
Cursor 的设置入口、哪些功能真正走你的 Key,都会随版本变化。先按 Cursor 中转 API 配置用 curl 确认 Key 和模型可用,再改 Cursor 设置。
CC Switch:用图形界面切换中转和官方
CC Switch 是开源桌面工具,替你改 Claude Code、Codex、Gemini CLI 等工具的配置文件,在多个供应商之间一键切换,不用手改 JSON / TOML。从官方仓库的 Releases 下载,macOS 也可以 brew install --cask cc-switch。
- 第一次启动时,它会把现有配置导入成一个叫
default的供应商,并添加官方供应商,原来的配置不会丢。 - 侧栏选 Claude Code,点「添加供应商」(+),选「自定义配置」,填入下面的
env。 - 侧栏选 Codex,同样添加自定义配置:
base_url填https://gptzzz.ai/v1,wire_api为responses,model填gpt-5.5,Key 填包含该模型的分组 Key。 - 选中供应商点「启用」。Claude Code 支持热切换;Codex 要重启终端或 CLI 才生效。
{
"env": {
"ANTHROPIC_BASE_URL": "https://gptzzz.ai",
"ANTHROPIC_AUTH_TOKEN": "粘贴 Claude官key 分组的 Key",
"ANTHROPIC_MODEL": "claude-sonnet-4.6"
}
}
用了中转怎么换回官方配置
把你加过的地址、Key 和模型设置删干净,再按官方方式登录。只删 Key、留着 ANTHROPIC_BASE_URL 不行,Claude Code 的请求仍会发往中转地址。
| 工具 | 删掉什么 | 然后 |
|---|---|---|
| Claude Code | shell 和 ~/.claude/settings.json 的 env 里的 ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_MODEL | 新开终端运行 claude,/status 里不再出现 Anthropic base URL;之前保存的 claude.ai 登录会重新生效,没有就运行 /login |
| Codex CLI | config.toml 里的 model_provider = "gptzzz" 这一行(默认 provider 就是 openai) | 重启 Codex;需要时运行 codex login,用 codex login status 查看当前登录方式 |
| CC Switch | 不用删 | 切到列表里的官方供应商(Claude Official 或 OpenAI Official),再按工具自己的登录流程登录 |
| Python / Node.js 代码 | base_url / baseURL 参数,以及 OPENAI_BASE_URL 环境变量 | 换成官方 Key 和官方模型 ID |
| Cherry Studio / Chatbox | 不用删 | 在模型选择里换回官方提供商 |
清掉当前终端里的变量:
unset ANTHROPIC_BASE_URL ANTHROPIC_AUTH_TOKEN ANTHROPIC_MODEL GPTZZZ_API_KEY
Remove-Item Env:ANTHROPIC_BASE_URL, Env:ANTHROPIC_AUTH_TOKEN, Env:ANTHROPIC_MODEL, Env:GPTZZZ_API_KEY -ErrorAction SilentlyContinue
写进 ~/.zshrc、~/.bashrc 或 PowerShell $PROFILE 的同名行也要删掉,不然新开的终端又会带上。
常见报错速查
| 报错 | 最常见原因 | 先做什么 |
|---|---|---|
| 401 / Invalid API key | Key 没复制全或带了空格、换行;Key 已删除;鉴权头用错 | 回控制台 /keys 页面重新复制;OpenAI 兼容接口用 Authorization: Bearer,Claude Code 用 ANTHROPIC_AUTH_TOKEN |
| 404 Not Found | 地址拼错:/v1 重复或漏掉,或把完整路径填进了 Base URL | 打印最终请求地址:OpenAI 兼容应为 https://gptzzz.ai/v1/chat/completions,Claude 应为 https://gptzzz.ai/v1/messages |
| 429 Too Many Requests | 请求太快或超出限额 | 降低并发,间隔逐次加长后重试,不要无限循环重试 |
| model not found / 模型不存在 | 模型 ID 拼错,或这个 Key 所在分组没有该模型 | 从模型价格页复制 ID,确认 Key 的分组包含它 |
| sse stream ended without [DONE] | 流在结束标记前断开:代理超时、上游中途报错或网关没发结束标记 | 用上面的流式 curl 看最后几行,再按这条报错的排查步骤处理 |
按报错原文查:中转 API 报错速查;按状态码查:AI API 错误码速查手册。动手排查前先看一眼服务状态。
上线前:Key 管理和用量核对
- 测试用一个 Key,正式业务另建一个,按项目分开,出问题可以单独停用。
- Key 只放在服务端环境变量或密钥管理系统里,不进前端、截图和公开仓库。
- 每次请求记下时间、模型 ID、HTTP 状态、usage 和请求 ID(SDK 里是
_request_id);重试也单独记一行。 - 跑一批真实请求后,拿这些记录和控制台里的用量对账。费用 = 未命中缓存的输入 Token × 输入价 + 缓存读 Token × 缓存读价 + 输出 Token × 输出价(均 ÷ 100 万,单价取模型价格页;有缓存写入价的模型,写入缓存的部分按缓存写入价算)。OpenAI 接口返回的
prompt_tokens/input_tokens已包含cached_tokens和cache_write_tokens:先减掉cached_tokens;该分组有缓存写入价时,再减掉cache_write_tokens并按缓存写入价单算,没有单列缓存写入价的,这部分仍按输入价算。Claude Messages 接口的input_tokens本来就不含cache_read_input_tokens和cache_creation_input_tokens,不用再减。gpt-5.5单次输入超过 272K 时,整次按高一档计。换算细节见 API 中转站倍率是什么意思。 - 设好超时和有限次数的重试。超时后又成功的请求,上游可能已经执行过一次,对账时分开看。
预算和告警见 AI API 成本控制;上线前的完整验收见 API 中转站检测指南。
常见问题
API 中转站怎么用?
三步:在控制台 /keys 页面创建 Key,分组选包含目标模型的那个;curl 和 SDK 的 Base URL 填 https://gptzzz.ai/v1;再用 curl 或 SDK 发一条请求验证。换成别家中转站,只改地址、Key 和模型 ID。
中转站的 Base URL 要不要带 /v1?
看客户端。OpenAI SDK 和 Codex 的 base_url 填到 /v1,即 https://gptzzz.ai/v1;Claude Code 的 ANTHROPIC_BASE_URL 只填 https://gptzzz.ai;Cherry Studio、Chatbox 填 https://gptzzz.ai,由客户端补 /v1/chat/completions。
为什么一个 Key 调不了所有模型?
GPTZZZ 的每个 Key 只属于一个分组,只能调用这个分组里的模型。同时要用 GPT 和 Claude,就为两个分组各建一个 Key,余额共用。
Claude Code 怎么接中转站?
用 Claude官key 分组的 Key,设置 ANTHROPIC_BASE_URL=https://gptzzz.ai、ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_MODEL=claude-sonnet-4.6,启动后运行 /status 确认地址和鉴权来源。
Codex 怎么接中转站?
在 ~/.codex/config.toml 加 [model_providers.gptzzz]:base_url 填 https://gptzzz.ai/v1,env_key 填 GPTZZZ_API_KEY,wire_api 填 responses;再把顶层 model_provider 设为 gptzzz,model 设为 gpt-5.5。
怎么用 CC Switch 切换到中转站?
在 CC Switch 侧栏选 Claude Code 或 Codex,点「添加供应商」选自定义配置,填入 GPTZZZ 的地址和 Key 后点「启用」。Claude Code 可热切换,Codex 要重启终端或 CLI。
Codex 用了中转站怎么换回官方配置?
删掉 config.toml 里的 model_provider = "gptzzz"(默认 provider 就是 openai),重启 Codex,需要时运行 codex login。用 CC Switch 的话,直接切到 OpenAI Official。
中转站怎么充值,余额能退吗?
GPTZZZ 用支付宝充值,¥1 = 余额 $1,无手续费,单笔 ¥10–¥2000;注册不送额度。未用完的余额可以联系 [email protected] 申请退款。
一手来源与核验日期
- Claude Code:Connect Claude Code to an LLM gateway
- Claude Code:Model configuration
- Claude Code:Authentication
- OpenAI Codex:Advanced configuration
- OpenAI Codex:Configuration reference
- OpenAI Codex:Authentication
- openai-python(官方 Python SDK)
- openai-node(官方 Node.js SDK)
- OpenAI:Prompt caching(usage 里的缓存 Token)
- Claude API:Prompt caching(input_tokens 与缓存字段)
- Cherry Studio 文档:模型服务设置
- Cherry Studio 文档:自定义服务商
- Chatbox 文档:模型配置
- CC Switch 官方仓库
第三方工具的参数和界面步骤于 2026-10-09 按上列官方资料复核;GPTZZZ 的分组、价格和充值规则取自同日的模型价格页。客户端界面、模型和价格都会变化,使用前以官方文档、模型价格页和控制台为准。

