先记住两个地址
UnifiedAPI 提供 OpenAI 兼容接口,也支持 Claude Code。不同客户端填写的 Base URL 不完全相同。
https://unifiedapi.cc/v1
https://unifiedapi.cc
sk- 开头的 API 密钥。密钥只应保存在你自己的设备或服务器中。
- 先在模型广场确认模型名称、可用分组和价格
- 客户端里填写 UnifiedAPI 地址,不要填写上游网站地址
- 示例中的
YOUR_API_KEY必须替换成自己的密钥
注册并充值
注册后进入控制台,在钱包页面选择金额和付款方式。到账后再创建密钥。
打开注册页面,完成账号注册并登录。
控制台左侧选择“钱包”,或直接打开 /wallet。
可选固定金额,也可输入不低于页面提示的自定义金额。选择支付宝后继续付款。
付款完成后回到钱包页面刷新,确认余额已经增加。不要重复支付同一订单。
创建 API 密钥
一个用途创建一个密钥。例如 Codex、Claude Code 和图片生成分别使用不同密钥,后续更容易查用量和停用。
进入密钥管理,点击“创建 API 密钥”。
名称写用途,例如“MacBook Codex”。分组决定可用模型和计费倍率。
个人长期使用可选永不过期;分享给他人时建议设置过期时间和有限额度。
把密钥存入密码管理器或安全的环境变量中,不要发到聊天群或提交到代码仓库。
选择模型与分组
模型列表会随上游变化。不要照抄旧教程里的完整清单,始终以当前模型广场为准。
- 打开模型广场搜索需要的模型名称
- 确认所选密钥分组支持该模型
- 复制页面显示的完整模型名,大小写和连字符都要一致
- 图片模型通常按次计费,文本模型通常按 Token 计费
配置 Codex
Codex 使用 Responses API。先写模型提供商配置,再通过环境变量或认证文件提供 API 密钥。
1. 编辑 config.toml
打开 Codex 配置文件,将下面示例中的模型名替换成模型广场里当前可用的模型。
model_provider = "UnifiedAPI"
model = "gpt-5.5"
review_model = "gpt-5.5"
model_reasoning_effort = "high"
disable_response_storage = true
[model_providers.UnifiedAPI]
name = "UnifiedAPI"
base_url = "https://unifiedapi.cc/v1"
wire_api = "responses"
requires_openai_auth = true
2. 提供 API 密钥
优先使用系统环境变量。这样密钥不会混在项目配置里。
export OPENAI_API_KEY="YOUR_API_KEY"
$env:OPENAI_API_KEY="YOUR_API_KEY"
配置 Claude Code
Claude Code 需要站点根地址,并使用 Bearer Token 认证。把配置写到用户级设置,不要提交到项目仓库。
用户级配置
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"env": {
"ANTHROPIC_BASE_URL": "https://unifiedapi.cc",
"ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0"
}
}
VS Code 扩展
如果终端里的 Claude Code 正常,但 VS Code 扩展仍走旧地址,需要在扩展设置的 claudeCode.environmentVariables 中填写相同变量,然后重新加载窗口。
/status 查看 Base URL 和认证来源。
使用 OpenAI SDK
只需要覆盖 base_url / baseURL,其余写法与 OpenAI SDK 基本一致。
Python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["UNIFIEDAPI_KEY"],
base_url="https://unifiedapi.cc/v1",
)
response = client.responses.create(
model="gpt-5.5",
input="用一句话介绍 UnifiedAPI",
)
print(response.output_text)
JavaScript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.UNIFIEDAPI_KEY,
baseURL: "https://unifiedapi.cc/v1",
});
const response = await client.responses.create({
model: "gpt-5.5",
input: "用一句话介绍 UnifiedAPI",
});
console.log(response.output_text);
curl
curl https://unifiedapi.cc/v1/models \
-H "Authorization: Bearer YOUR_API_KEY"
示例模型名可能随时间变化。正式接入前请从模型广场确认当前名称。
配置其它中转客户端
不管教程来自 88code、88API 或其它中转站,真正需要替换的通常只有接口地址、API 密钥和模型名。
| 客户端字段 | UnifiedAPI 填写内容 |
|---|---|
| Provider | OpenAI / OpenAI Compatible |
| Base URL | https://unifiedapi.cc/v1 |
| API Key | 你在控制台创建的 sk-... 密钥 |
| Model | 从模型广场复制的完整模型名 |
| API Type | 优先选择 Responses;不支持时再按客户端能力选择 Chat Completions |
/v1。如果客户端说明会自动添加,就填写 https://unifiedapi.cc,避免出现 /v1/v1。
查看用量和调用结果
真实调用后,到控制台核对日志和余额变化。不要只看客户端是否出现回答。
进入使用日志,确认出现刚才的模型和请求时间。
状态为成功时,再核对输入、输出、缓存用量和本次费用是否合理。
为每个客户端使用独立密钥,异常消耗时可以单独停用,不影响其它应用。
保管好 API 密钥
- 使用环境变量或密码管理器保存密钥
- 不要把密钥写入公开仓库、截图、工单或群聊
- 给临时使用者设置有限额度和过期时间
- 发现异常请求后立即禁用旧密钥,再创建新密钥
- 不同设备使用不同密钥,便于定位异常来源
常见错误怎么处理
| 现象 | 先检查什么 |
|---|---|
| 401 | 密钥是否完整、是否已禁用;请求头应为 Authorization: Bearer ... |
| 403 | 密钥分组是否允许目标模型,账户或密钥是否受到限制 |
| 404 | Base URL 是否重复了 /v1,接口路径是否与客户端类型匹配 |
| 429 | 请求是否过快或并发过高;稍后重试并使用指数退避 |
| 5xx | 通常是暂时不可用;保留请求时间与请求 ID,稍后重试 |
| 余额不足 | 钱包余额、密钥额度和所选分组价格 |
| 模型不存在 | 去模型广场复制当前完整模型名,确认密钥分组支持它 |
常见问题
充值后为什么余额还没变化?
先回到钱包页面刷新,再打开订单历史确认订单状态。支付处理中不要重复提交同一笔订单。
一个密钥可以给多个客户端共用吗?
可以,但不推荐。每个设备或用途单独创建密钥,后续查用量、限制额度和处理泄漏都更方便。
为什么教程里的模型名在这里不可用?
其它网站的上游、分组和模型别名不同,而且模型列表会更新。请以本站模型广场显示的名称为准。
Base URL 应不应该带 /v1?
OpenAI SDK、Codex 和多数兼容客户端填写 https://unifiedapi.cc/v1。Claude Code 填写 https://unifiedapi.cc。如果第三方客户端明确会自动补 /v1,则只填域名。
请求失败会看到上游网站的信息吗?
本站会尽量返回统一、简洁的英文错误,不向普通用户暴露上游分组、余额或内部地址。排错时请以状态码、请求时间和本站使用日志为准。
需要帮助时应该提供什么?
提供发生时间、使用的模型名、HTTP 状态码和请求 ID。请隐藏 API 密钥,不要发送完整请求内容中的隐私数据。