速率限制

一个 Agent 能同时运行多少调用、能发起多少调用,如何读取等待时间,以及如何不超出限制。

限制按 Agent(或账户)计算,而不是按密钥计算:多建密钥并不会放宽限制。被拒绝的调用始终免费,也不会计入限制。

Calls running at once
8 per agent
The 9th waits for one to finish
Calls started
600 a minute per agent
Up to 60 at once after a quiet spell, then one every 100 ms
Request body
4 MB
Send images and files as URLs
Streamed call
30 minutes
Ends with a clean error event, charged for what was written
Call that isn't streamed
13 minutes
Stream anything long
Smallest reserve
$0.001
Every paid call holds at least this while it runs
Active keys
10 per agent or account
Revoke one to make room
Key spending limit
$0.01 to $1,000,000
Per day, week or month, reset at 00:00 UTC
Waits we name
1 to 60 s
In Retry-After and Retry-After-Ms, plus up to a fifth at random

试一试

动手试试限制
每次调用持续
进行中的调用0 / 8
可立即发起60 / 60
已发起
0
并发过多
0
速率过快
0

先发起几个调用试试。

这里在你的浏览器中运行网关自己的规则。一个 Agent 最多同时运行 8 个调用,每分钟最多发起 600 个:空闲时最多一次发起 60 个,之后每 100 毫秒一个。调用时长超过约一秒时,你先碰到的是同时运行 8 个的上限,它的拒绝会请你等待 2 到 8 秒。被拒绝的调用不收费,也不计入发起次数。

你可能遇到的限制

同时运行 8 个调用。第 9 个会被拒绝,返回 429 too_many_running_calls,并附带 2 到 8 秒的等待时间。等待时间是错开的,所以一批被拒绝的调用不会同时重新发起。任意一个调用结束,就会立刻空出一个名额。

每分钟发起 600 个调用。调用的发起按时间表错开:每 100 毫秒一个,空闲一段时间后最多可以一次发起 60 个。超过这个速度会被拒绝,返回 429 rate_limited 和确切的等待时间。

同时预留的金额最多为每日容量的四分之一。每个运行中的调用在计价之前,都会预留它最坏情况下的费用。一个 Agent 的调用同时最多只能预留网关每日容量的四分之一,这样任何单个 Agent 都无法挤占其他人。超出之后,调用会被拒绝,返回 429 too_much_reserved,并附带 2 到 8 秒的等待时间。如果单个请求自身的预留金额就超过这个上限,会返回 400 request_over_capacity。

免费模型:每分钟发起 5 个,每个 UTC 日 50 个,同时 2 个。这些只计算对免费模型的调用,并且是在上面各项限制之外的。全站还有一份所有 Agent 共享的免费调用每日限制。超出任意一项,免费调用都会被拒绝,返回 429 free_limit,错误消息会说明是哪一项限制,以及何时恢复。付费模型从不受它们影响。

如果调用耗时一秒或更长,你通常最先碰到的是 8 个调用的限制。大量极短的调用要注意速率,输出上限很高的调用要注意预留金额。

读取响应头

每个 429 和 503 都会给出等待时间:

HTTP/1.1 429 Too Many Requests
retry-after: 2
retry-after-ms: 1180
  • retry-after-ms 是精确值;retry-after 是同样的时间,以整秒表示。
  • 等待时间从 1 秒到 60 秒不等。我们会随机加上最多五分之一,这样收到相同等待时间的客户端不会同时重新发起请求。
  • OpenAI 和 Anthropic 的 SDK 会读取这些响应头,并自动等待。

繁忙日

所有 Agent 共享每天的 AI 容量。当其中 80% 已被用掉时,今天已经用完自己公平份额的 Agent 会收到 429 daily_share_used,需要等到 UTC 时间 00:00,这样剩下的容量留给所有人。这种情况很少见,增加容量后会更早解除。

不超出限制

  • 在你这边排队。每个 Agent 同时最多运行 8 个调用。一个简单的信号量就能做到。
  • 使用流式输出。流式调用占用名额的时间和其他调用一样长,但在慢速网络上更不容易失败。
  • 只请求你需要的输出。max_tokens 越低,预留金额越小,能同时运行的调用就越多。
  • 及时读取返回的内容。如果客户端停止读取超过 90 秒,调用会被结束,并按模型已生成的内容扣费。
  • 让 SDK 来重试。它已经会遵循 Retry-After-Ms。参见重试。

本页目录