Appearance
OpenRouter 按全局方式管理速率限制,多个账号或 API key 不会叠加提升上限。免费模型(:free 后缀)每分钟限 20 次请求,每日限 50~1000 次(取决于是否购买过信用额度)。通过 GET /api/v1/key 端点可查询当前 key 的剩余额度、用量统计(日/周/月)及速率限制信息。
OpenRouter API 速率限制
全局速率限制
OpenRouter 按全局方式管理速率限制——创建多个账号或 API key 不会增加你的请求配额,系统统一限速。
不同模型有不同的速率限制,可以通过分散到多个模型来分担压力。
免费模型限制
使用免费模型变体(model ID 以 :free 结尾)时,适用以下限制:
- 每分钟最多 20 个请求
- 每日请求限制:
- 购买不足 10 信用额度:每日最多 50 次
:free模型请求 - 购买至少 10 信用额度:每日最多 1000 次
:free模型请求
- 购买不足 10 信用额度:每日最多 50 次
查询 Key 用量与限制
向 https://openrouter.ai/api/v1/key 发送 GET 请求查询当前 key 的状态:
typescript
import { OpenRouter } from '@openrouter/sdk';
const openRouter = new OpenRouter({
apiKey: '<OPENROUTER_API_KEY>',
});
const keyInfo = await openRouter.apiKeys.getCurrent();
console.log(keyInfo);响应包含以下字段:
typescript
type Key = {
data: {
label: string;
limit: number | null; // 信用额度上限,null 表示无限制
limit_reset: string | null; // 额度重置类型,null 表示从不重置
limit_remaining: number | null; // 剩余信用额度,null 表示无限制
include_byok_in_limit: boolean; // 是否将 BYOK 用量计入额度限制
usage: number; // 历史累计用量(信用值)
usage_daily: number; // 当日用量(UTC)
usage_weekly: number; // 本周用量(UTC,从周一开始)
usage_monthly: number; // 本月用量(UTC)
byok_usage: number; // BYOK 历史用量
byok_usage_daily: number;
byok_usage_weekly: number;
byok_usage_monthly: number;
is_free_tier: boolean; // 是否未购买过信用额度
};
};也可以直接使用 curl:
bash
curl https://openrouter.ai/api/v1/key \
-H "Authorization: Bearer <OPENROUTER_API_KEY>"DDoS 防护
Cloudflare 的 DDoS 防护会封锁显著超出合理用量的请求。
余额为负时的处理
如果账户余额为负,即使是免费模型也可能出现 402 错误。充值使余额回到零以上即可恢复正常使用。
常见问题
Q: 我设置了多个 API key,速率限制会叠加吗?
A: 不会。OpenRouter 按全局账户限速,多个 key 共享同一配额。
Q: 被速率限制了(429)怎么办?
A: 等待后重试,建议实现指数退避(exponential backoff)策略。也可以考虑切换到其他支持更高速率的模型。
Q: limit_reset 字段的值是什么意思?
A: 表示额度的重置周期类型(如按月重置)。null 表示额度不会自动重置,用完就是用完了。