计费、限额与排障
点数怎么算
按 token 计费,输入输出分开计价,单位「点数 / 千 tokens」:
消耗点数 =(输入 tokens ÷ 1000 × 输入单价)+(输出 tokens ÷ 1000 × 输出单价)算个例子:某模型输入 0.01 点/千、输出 0.03 点/千,一次对话用了 1200 输入 tokens、800 输出 tokens:
1200 ÷ 1000 × 0.01 = 0.012
800 ÷ 1000 × 0.03 = 0.024
合计 ≈ 0.036 点- 计费精确到 0.0001 点,并设有 0.0001 点的最小计费,避免产生完全免费的调用
- 调用前会做余额预检,点数不够会直接拒绝,不会产生欠费
- 调用失败不扣点;上游 4xx 错误同样不计费
- 响应头会回传
X-Credits-Charged(本次扣费)与X-Remaining-Credits(剩余点数)
密钥的五种限额
创建密钥时可在「高级选项」里设置,全部选填,留空表示不限制:
| 限额 | 作用 | 超限表现 |
|---|---|---|
| 每分钟请求数 | 防刷、控速 | 429 rate_limit_exceeded |
| 最大并发数 | 控制在途请求 | 429 concurrency_exceeded |
| 每分钟 token 数 | 控制 TPM 吞吐 | 429 tpm_exceeded |
| 额度上限 | 该密钥最多能用多少点 | 402 key_quota_exceeded |
| 有效期 | 到点自动失效 | 401 invalid_api_key |
还可以给密钥限定允许访问的模型,访问白名单外的模型会返回 403。
错误码对照表
| 状态码 | 错误码 | 含义与处理 |
|---|---|---|
| 400 | — | 请求缺少 model 参数或参数不合法 |
| 401 | invalid_api_key | 密钥无效、被吊销、已过期,或账号被停用。新建一个密钥试试 |
| 402 | insufficient_credits | AI 点数余额不足,去 AI 点数 充值或购买 |
| 402 | key_quota_exceeded | 该密钥的额度上限用完了,新建密钥或调高上限 |
| 403 | model_not_allowed | 该密钥不允许访问此模型,检查密钥的模型白名单 |
| 404 | model_not_found | 模型名不存在或未上架,核对控制台的模型列表 |
| 429 | rate_limit_exceeded | 请求太频繁,等提示的秒数后重试 |
| 429 | concurrency_exceeded | 并发达上限,减少同时在途请求 |
| 429 | tpm_exceeded | 每分钟 token 达上限,放慢速度 |
| 502 | upstream_error | 上游厂商返回错误,稍后重试 |
| 503 | no_upstream | 该模型暂无可用渠道,换个模型或稍后再试 |
错误体完全遵循 OpenAI 规范,形如
{"error":{"message":"...","type":"...","code":"..."}},SDK 会直接抛出可读异常。排查思路
- 401:先确认请求头是
Authorization: Bearer sk-relay-...,注意Bearer后有空格 - 404:模型名大小写要和控制台一致,不要凭记忆填写
- 402:分清是「钱包余额不足」还是「密钥额度用完」,两者的
code不同 - 429:降低频率或提高密钥限额,客户端建议加指数退避重试
- 响应慢:查看调用记录里的耗时分布,也可能是上游厂商拥塞
常见问题
可以多个设备共用一个密钥吗? 可以,但共用会叠加限额。建议一个设备或应用一个密钥,方便分别限流和吊销。
密钥泄露了怎么办? 立即在控制台吊销该密钥,泄露的密钥会马上失效,然后新建一个替换。
账单和调用记录能对上吗? 控制台「调用记录」里有每一条的 token 数与实扣点数;钱包流水中类型为「模型API调用」的记录与之对应。