Unif API Docs

速率限制

面向智能体工作流和 HTTP 调用的按工作区、按操作的限制、响应头以及重试行为。

UnifAPI 实施两层速率限制:一层是按工作区的限制,用于在所有 Skills 和 API 调用之间平滑流量;另一层是按操作的限制,用于保护每个公开数据来源。

响应头

每个响应——无论 2xx 还是 429——都携带标准响应头:

响应头含义
X-RateLimit-Limit当前窗口内允许的请求数
X-RateLimit-Remaining当前窗口内剩余的请求数
X-RateLimit-Reset窗口重置时的 Unix 时间戳(秒)
Retry-After重试前需等待的秒数(仅 429

当工作区限制和端点限制同时适用时,响应头报告其中更严格的那一个。

默认值

套餐工作区限制按端点限制
Free60 req/min来源感知
Pay-as-you-go600 req/min来源感知
Enterprise自定义自定义

处理 429

async function call(url: string, init: RequestInit, attempt = 0): Promise<Response> {
  const res = await fetch(url, init);
  if (res.status !== 429 || attempt >= 5) return res;

  const retryAfter = Number(res.headers.get("Retry-After") ?? 1);
  await new Promise((r) => setTimeout(r, retryAfter * 1000));
  return call(url, init, attempt + 1);
}

两条需要牢记的规则:

  1. 遵守 Retry-After UnifAPI 会返回操作所需的等待时间——靠猜测通常只会让情况更糟。
  2. 对反复出现的 429 进行退避。 如果一个 Skill 连续多次触发限制,请缩小查询范围、降低并发,或提高工作区限制。

突发行为

限制采用令牌桶机制:一个空闲了一分钟的工作区可以短暂地突破其稳态限制。不要在生产流量中依赖这一点——请按稳态速率来设计。

申请更高限制

需要更高的限制?发邮件至 support@unifapi.com,附上你的工作区 ID、你正在运行的 Skill 或操作,以及一个大致的 QPS 估计。

本页内容