Rate Limit Tiers
Rate limits are enforced per API key using a 60-second sliding window. Each key has a tier that determines its limits:| Tier | Requests/min (RPM) | Tokens/min (TPM) |
|---|---|---|
| Free (default) | 60 | 100,000 |
| Starter | 300 | 500,000 |
| Pro | 1,000 | 2,000,000 |
| Enterprise | 5,000 | 10,000,000 |
Per-Mode Limits
Expensive modes have lower RPM caps, scaled proportionally to your tier’s base RPM:| Mode | Free RPM | Starter RPM | Pro RPM | Enterprise RPM |
|---|---|---|---|---|
| Text / Code / Auto | 60 | 300 | 1,000 | 5,000 |
| Stealth | 30 | 150 | 500 | 2,500 |
| Image | 20 | 100 | 333 | 1,666 |
| Research | 15 | 75 | 250 | 1,250 |
| Video | 10 | 50 | 166 | 833 |
How to Increase Your Limits
Check your current limits
Request a tier upgrade
rate_limit.upgraded webhook when approved.
Credit Balance
In addition to request rate limits, each account has a credit balance. When your balance reaches zero, subsequent requests return402 insufficient_credits until you top up.
Handling 429 Responses
When rate limited, the API returns:- Status 429 with one of three codes:
rate_limit_exceeded— universal RPM exceededmode_rate_limit_exceeded— per-mode RPM exceededtoken_limit_exceeded— TPM exceeded
Retry-Afterheader — seconds to wait before retrying
maxRetries).
