入门指南

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。

回答“API 中转站怎么用”的API 中转站首次接入中文信息图,包含隔离测试 Key、确认 URL 与模型 ID、验证响应错误和用量、撤销测试 Key 再迁移四个判断点
围绕“API 中转站怎么用”,图示API 中转站首次接入:1. 隔离测试 Key;2. 确认 URL 与模型 ID;3. 验证响应错误和用量;4. 撤销测试 Key 再迁移。

先看答案:Base URL、Key 和第一条请求

  1. Base URL:https://gptzzz.ai/v1,curl、OpenAI SDK 和 Codex 填这个;Cherry Studio、Chatbox 这类会自动补路径的客户端只填 https://gptzzz.ai(见桌面客户端配置)。
  2. Key:登录后在控制台 /keys 页面创建,分组要包含你要调用的模型。新账号不送额度,先用支付宝充值(单笔最低 ¥10,见三步开通)。
  3. 测试:运行下面的 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 = 余额 $1,无手续费,单笔 ¥10–¥2000;注册不送额度,未用完的余额可以申请退款。先充 ¥10 跑通再加量就够了。
  2. 按分组创建 Key。打开控制台 /keys 页面新建 Key,创建时选分组。一个 Key 只属于一个分组,只能调用这个分组里的模型;同时要用 GPT 和 Claude,就各建一个 Key,余额共用。
  3. 复制 Base URL 和模型 ID。OpenAI 兼容接口填 https://gptzzz.ai/v1(GPT 分组可用 /v1/models、/v1/chat/completions 和 /v1/responses);Claude 分组走 Messages 接口 https://gptzzz.ai/v1/messages。模型 ID 从模型价格页复制,不要按产品名自己拼。
在 GPTZZZ 上用本文示例模型

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.5opai puls(0.05x)¥0.25¥1.50¥0.025
gpt-5.5opai pro(0.1x)¥0.50¥3.00¥0.05
gpt-5.5pro200-500不降智(0.25x)¥1.25¥7.50¥0.13
gpt-5.5GPT官key(0.54x)¥3.91¥23.40¥0.39
claude-sonnet-4.6Claude官key(0.39x)¥2.34¥11.70¥0.23

gpt-5.5 单次输入超过 272K Token 时,整次请求按更高一档计价。价格以模型价格页和控制台实时显示为准;倍率怎么换算成费用,见 API 中转站倍率是什么意思。

从隔离测试密钥和确认 Base URL 到验证首个响应及请求级用量的接入流程
从隔离测试密钥和确认 Base URL 到验证首个响应及请求级用量的接入流程

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

  1. 设置 → 模型服务,点列表下方的「+ 添加服务商」,提供商名称随意(如 GPTZZZ),API 密钥填 GPTZZZ 的 Key。
  2. 地址填 https://gptzzz.ai(添加弹窗里在「端点设置」的 OpenAI 端点,服务商页面上叫「API 地址」),点「添加」保存。Cherry Studio 会自动补 /v1/chat/completions;地址末尾加 # 时,它不再自动拼接,只用你填的完整地址。
  3. 在服务商页面右上角打开启用开关,列表里出现绿点。不开的话,它的模型不会出现在模型选择里。
  4. 点「获取模型列表」添加 gpt-5.5,也可以点 + 手动输入模型 ID。
  5. 点「检测」(官方文档有的页面写作「检查」),选一个模型测试,通过后在对话里选用该模型。

Chatbox

  1. 设置 → 模型提供方,点底部的「添加」。
  2. 名称随意,类型选「OpenAI API 兼容」。
  3. API 密钥填 GPTZZZ 的 Key,API 主机填 https://gptzzz.ai;API 路径留空,默认是 /v1/chat/completions。
  4. 添加模型 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。

  1. 第一次启动时,它会把现有配置导入成一个叫 default 的供应商,并添加官方供应商,原来的配置不会丢。
  2. 侧栏选 Claude Code,点「添加供应商」(+),选「自定义配置」,填入下面的 env。
  3. 侧栏选 Codex,同样添加自定义配置:base_url 填 https://gptzzz.ai/v1,wire_api 为 responses,model 填 gpt-5.5,Key 填包含该模型的分组 Key。
  4. 选中供应商点「启用」。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 Codeshell 和 ~/.claude/settings.json 的 env 里的 ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_MODEL新开终端运行 claude,/status 里不再出现 Anthropic base URL;之前保存的 claude.ai 登录会重新生效,没有就运行 /login
Codex CLIconfig.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 keyKey 没复制全或带了空格、换行;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] 申请退款。

一手来源与核验日期

核验日期

第三方工具的参数和界面步骤于 2026-10-09 按上列官方资料复核;GPTZZZ 的分组、价格和充值规则取自同日的模型价格页。客户端界面、模型和价格都会变化,使用前以官方文档、模型价格页和控制台为准。

想先理解网关的请求链路与工作原理,见 API 中转站是什么。