Skip to content

Rate limits

Call, token, size and wait limits, with the error each returns.

Every limit returns an error code. Retry-After is in seconds.

Limits

LimitValueErrorReset
Calls per account key (abk_)60 per minute and 5,000 per 24 hours by default; set per key429 rate_limitedRolling 1 minute and 24 hours
Chat completions per LLM key (hlk_)200 per UTC day by default429 daily_limit00:00 UTC
Tokens per member account300,000 per UTC day429 daily_tokens00:00 UTC
Open chat completions per member account64429 too_many_streamsWhen a completion ends
Open chat completions per account and modelThe model's max_parallel400 too_many_parallel; 400 parallel_unsupported when max_parallel is 1When a completion ends
Chat request body32 MB413 too_largeNone
Tokens per chat requestThe model's context_length400None
Media processing per member account600 s per UTC day by default429 budget-exhausted00:00 UTC
Open media jobs per account1,000429 too-many-openWhen a job ends
JSON request body on audio and media routes4 MB413 too-largeNone
File in POST /v1/media/uploads or POST /v1/audio/transcriptions20 MB413 too-largeNone
  • A member account is an albastov.com account other than the owner's. The owner's account has no token, open-completion or media-processing limit.
  • Account limits apply to every key of the account. max_parallel does not apply to hlk_ keys.
  • max_parallel and context_length per model are in GET /v1/models.
  • Open completions count toward the hlk_ daily limit; GET /v1/models does not.
  • A 429 daily_limit or 429 daily_tokens body carries limit and used; 429 budget-exhausted carries resets_at.

Waits

ConditionResponse
Model not loaded503 model_loading with Retry-After and retry_after_s; a streamed request stays open until the model answers
Request waiting in the queue503 queued with position and Retry-After
Speech or transcription not finished in time503 queued with job_id and Retry-After; the job stays in media jobs
Non-streamed request with no response within about 100 s524, plain text; stream the request instead

Recommendations

  • Set max_tokens on every chat completion.
  • Use the model that is loaded: state in GET /v1/models.
  • Stream long chat completions with "stream": true.

Retry rules per status: Errors.