上线每 Key 20 次/秒的速率限制,并公开完整价格表
今天上线两项改动:一项影响调用行为,一项是补齐一直缺的资料。
一、速率限制:每个 API Key 每秒 20 次
即日起,/v1 上的调用按 API Key 分桶限流:
| 项 | 值 |
|---|---|
| 速率 | 每个 Key 每秒 20 次请求 |
| 突发 | 允许 40 次的瞬时突发 |
| 超限响应 | HTTP 429 + Retry-After: 1 |
| 错误码 | error.code 为 RATE_LIMITED |
为什么按 Key 而不是按 IP:按 IP 会把同一个出口下的多个用户算到一起, 一个人写出死循环,同事全被挡。按 Key 分桶,谁打转谁自己承担,互不影响。
正常使用不会碰到。 一次对话、一次补全都是单次请求, 离每秒 20 次差着两个数量级;会撞上的基本只有客户端 bug 打转, 而那种情况被挡住恰恰是好事——否则烧的是你自己的余额。
处理方式就是标准的退避重试:
import time
for attempt in range(5):
r = call_api()
if r.status_code != 429:
break
time.sleep(2 ** attempt * 0.5) # 0.5s, 1s, 2s, 4s...
需要更高配额的,直接联系我们调整,改一行配置的事。
二、公开完整价格表与接入文档
以前要看模型和价格得先注册登录,这不合理。现在两个页面公开可查:
- 模型与价格 —— 19 个语言模型的完整价格表, 输入 / 输出分别计价,单位元 / 百万 token。含计费口径与一个真实的成本估算例子。
- 接入文档 —— OpenAI 兼容接口的 curl / Python / Node.js 示例、 流式输出,以及完整的错误码表(哪些该重试、哪些重试也没用)。
价格表里也写了几件平时不会主动说的事:新注册账号余额为 0、没有赠送额度; 被拒绝的请求(401 / 403 / 429)不产生费用;充值档位 ¥10 起。 我们宁可你在注册前就知道这些。