速率限制

了解速率限制、配额以及如何处理 429 响应。

速率限制

AllToken 实施速率限制以确保所有用户的公平使用。限制按 API Key 应用,因账户套餐而异。

超出速率限制时,API 返回 429 Too Many Requests 响应。请在重试逻辑中实现指数退避:

TypeScript
1async function withRetry(fn, maxRetries = 3) {
2 for (let i = 0; i < maxRetries; i++) {
3 try {
4 return await fn();
5 } catch (err) {
6 if (err.status === 429 && i < maxRetries - 1) {
7 await new Promise(r => setTimeout(r, Math.pow(2, i) * 1000));
8 continue;
9 }
10 throw err;
11 }
12 }
13}

速率限制响应头

速率限制信息包含在响应头中:

  • x-ratelimit-limit — 每个时间窗口的最大请求数
  • x-ratelimit-remaining — 当前窗口剩余请求数
  • x-ratelimit-reset — 窗口重置时间戳