所有密钥都以 sk- 开头,形如 sk-3f9a...。密钥只在创建时完整显示一次,之后页面上只保留前缀;服务端存的是它的 SHA-256 摘要,找不回明文。丢了就删掉重建,这比想办法找回更划算。
网关按下面的顺序识别密钥,命中一个即可(推荐第 1 种):
| 方式 | 示例 | 适用 |
|---|---|---|
| Authorization 头 | Authorization: Bearer sk-xxx | OpenAI 及绝大多数客户端 |
| x-api-key 头 | x-api-key: sk-xxx | Anthropic SDK |
| x-goog-api-key 头 | x-goog-api-key: sk-xxx | Gemini SDK / 原生 REST |
| URL 参数 | ?key=sk-xxx | Gemini 原生 REST 的另一种写法 |
# 三种写法等价,任选其一
curl https://aiapizz.com/v1/chat/completions -H "Authorization: Bearer sk-你的密钥" ...
curl https://aiapizz.com/v1/chat/completions -H "x-api-key: sk-你的密钥" ...
curl "https://aiapizz.com/v1/chat/completions?key=sk-你的密钥" ...
> 用 ?key= 时密钥会出现在网关日志、浏览器历史和反向代理日志里,生产环境建议改用请求头。
| 限制 | 说明 | 触发后的错误 |
|---|---|---|
| 模型范围 | 只允许调用勾选的模型;不勾等于不限 | 403 model_not_allowed |
| 额度上限 | 这个密钥累计能花多少钱,用满即停(不影响账号其它密钥) | 429 key_quota_exhausted |
| 有效期 | 到期自动失效 | 403 key_expired |
| IP 白名单 | 逗号分隔的 IP 或网段,如 1.2.3.4, 10.0.0.0/8 | 403 ip_not_allowed |
| 模型映射 | 把请求里的模型名改写成别的模型,如请求 gpt-4 实际走 gpt-4o | — |
| 备用模型 | 主模型失败时按顺序自动重试的模型列表 | 全部失败才报错 |
模型映射常用于两件事:把客户端里写死的旧模型名映射到新模型;或者把一批客户端的默认模型统一收敛到一个便宜的模型上。
备用模型(fallback)是网关内的重试链:主模型对应的所有渠道都失败后,才会按顺序尝试下一个模型。它不改变返回体里的 model 字段含义,用量日志会分别记录每一次尝试。
密钥一旦泄露,任何人都可以用你的余额替自己调模型。看到用量曲线异常(比如半夜突然暴涨)先查「调用日志」里的 IP 和密钥前缀。
除了密钥,网关每次请求还会检查账号本身:
account_disabled;insufficient_balance(充值后立刻恢复,不需要重新建密钥);sub_quota_exhausted;team_disabled。团队用邀请制:团队主账号在控制台「团队管理」里填你的邮箱或用户名发出邀请,你同意后加入,一个人同一时刻只能属于一个团队。
加入之后你有两本账,互相独立、永远不会互相转入:
控制台「个人设置」里可以选先用哪个(默认团队优先)。团队给你设的「额度」是消费上限:它只限制团队钱包出的那部分,你自己花钱不受额度限制。额度用完但个人余额还有钱时,请求照常成功,差额从你的个人余额里扣。退出团队或被移出后,你的密钥继续可用,自动改成花自己的余额。