Rate limits
Per-key per-minute and per-day request caps.
Defaults
New keys default to 60 requests per minute and 10,000 per day. Raising the cap on a specific key is not self-serve today; please contact our team at [email protected] if you need a different ceiling on one of yours.
Response headers
Every request, success or failure, comes back with the current rate-limit state in headers. Watch them in your client and back off as you approach zero.
HTTP/1.1 200 OK
X-RateLimit-Remaining-RPM: 47
X-RateLimit-Remaining-Daily: 9842
X-Request-ID: 5b7e9c2a-4f31-...When you hit the limit
When you exceed either the per-minute or per-day cap the server returns 429 Too Many Requests with Retry-After (seconds). Honor it and implement exponential backoff for repeated 429s.
HTTP/1.1 429 Too Many Requests
X-RateLimit-Remaining-RPM: 0
X-RateLimit-Remaining-Daily: 9842
Retry-After: 60
{
"error": "Rate limit exceeded",
"code": "rate_limited",
"request_id": "0cf409f7-382a-4c24-be9f-ae1192c38619",
"detail": "Rate limit exceeded"
}Streaming and long requests
A streaming TTS request or a long-running transcription job counts as a single request against your RPM. The audio bytes / characters consumed are tracked separately under your credit usage and don't affect rate-limit headers.
