Limits
Response headers
Included on every response once your API key and credit balance have passed validation. The401 (missing/invalid key) and zero-balance insufficient_credits
402 checks both run before the rate limiter, so those two error responses don’t
carry these headers:
When you hit a limit
You get a429 response:
Retry code
Tips
- Space out batch requests — add a small delay between calls instead of firing them all at once
- Video polling doesn’t count — poll as often as you want (every 10s recommended)
- Images have a lower limit (30/min) because they’re more expensive to generate
- Video is 2/min because each generation uses significant compute