Limits & credits
How balance, billing and request limits work — and how to cap individual keys.
Credits
The account balance is held in credits, 1 credit = $1. Each request first reserves an upper-bound estimate (a hold), then settles the actual cost. Check the current balance with GET /v1/credits.
Top up in the Credits section of your dashboard (cards, SBP, crypto). At a zero balance, requests get 402 insufficient_quota.
Rate limits
Requests are counted per minute, per key, in a fixed one-minute window. The default is 600 requests per minute; an individual key can be raised or lowered in the dashboard.
The limit applies to the generating endpoints — /chat/completions and /images/generations. The read-only /models and /credits endpoints are not rate limited.
Every response from a generating endpoint carries the x-ratelimit-limit and x-ratelimit-remaining headers. On exceeding the limit you get a 429 with retry-after: 60 — the worst-case number of seconds left in the window.
Per-key limits
Each key can be given its own requests-per-minute limit and a spending cap over a period — day · week · month · total. This bounds the blast radius of a leaked key and lets you hand keys to teams with predictable spend.
A request on a key that has exhausted its spending cap gets a 402 insufficient_quota with code: "spend_limit_exceeded" — the same status as a zero account balance, but a different code.