Skip to content

Limits

Request rate and concurrency limits, request size, output length and timeouts.

Rate and concurrency

ScopeRequests per minuteRequests at the same time
API key600, or the lower value set on the key200
Router space1200400

All keys of a space share the space limits. On top of them there are shared limits per user, per payer and for the whole service. Requests at the same time counts every running request, streamed or not.

Over a limit, the router answers 429 with a message that names the limit, for example rate limit exceeded (key requests per minute) or too many concurrent requests (key). A provider's own rate limit also comes back as 429.

The responses carry no Retry-After or X-RateLimit-* headers: retry with exponential backoff and jitter, starting from 1 second.

Request and output size

LimitValue
Request body4 MiB; over it the router answers 413
max_tokens1 to 65536; without it, 4096
ContextThe model's context_length in GET /api/v1/models
Attempts per request3, across all fallback models

Timeouts

LimitValue
Wait for the provider to start answering120 seconds
Non-streamed request10 minutes
Streamed request15 minutes
Pause in a stream120 seconds

A provider timeout is a 504. For answers that may take long, use streaming.

Other limits

  • The API sends no CORS headers: call it from your server, not from a browser.
  • There is no idempotency key: a repeated POST is a new request and is billed again. Retry only after an error that says nothing was generated, see Errors.
  • GET /api/v1/models needs no key and allows 120 requests per minute per IP address; it is cached for 60 seconds.
Nodul Router — one API for every model