Rate Limits
Several independent limits apply across /v1/chat/completions, /v1/responses, and /v1/models -- the most restrictive one that applies wins.
Per-key and per-network request rate
Each API key is limited to 60 requests/minute. There's also a coarser, more generous per-network limit (300 requests/minute) as an abuse backstop, since one network can legitimately represent many users behind NAT. Either returns 429 rate_limit_exceeded.
Concurrency (hosted generations only)
Hosted generations -- not BYOK -- are limited by how many can run at once, at several levels simultaneously: your organization (by plan: Free allows 1, Pro 3, Max and Team 10), and the specific model and deployment serving the request, if an administrator has configured a capacity limit for it. Whichever limit is hit first determines the error:
429 concurrency_limit_exceeded-- your organization's plan-level concurrency limit.429 model_capacity_reached-- the model or deployment itself is at its configured concurrency or distinct-user capacity for the current billing period. Existing users already counted for the period are never blocked by a user-capacity limit; only new ones are, once it's reached.
Monthly hosted credit quota
Each plan has a monthly hosted credit allowance -- hosted usage is metered in credits (tokens weighted by the model's credit multiplier), not raw tokens. Once exhausted (and unless your plan allows overages), hosted requests return 429 credit_limit_reached until the monthly period resets. BYOK usage never counts against this -- it's billed by the provider directly, though request and token counts are still recorded for your own usage analytics.
Handling 429s
Where the wait is predictable (a concurrency slot freeing up, a per-minute window resetting), the response includes a retry-after header, in seconds. It's omitted when there's no meaningful short retry window -- a monthly credit quota, for instance.
HTTP/1.1 429 Too Many Requests
retry-after: 3
{
"error": {
"message": "Model \"studio/qwen3-0.6b\" is at its concurrent request limit right now (deployment level). Try again shortly.",
"type": "model_capacity_reached",
"code": "model_capacity_reached"
}
}Back off and retry, or upgrade your plan under Settings → Billing.