Reference
Rate limits
Free image generations are capped at 20 per rolling 24-hour window. Listing images is unlimited.
How the rolling window works
- Each successful free generation counts against your quota for exactly 24 hours from the moment it completes.
- Slots free up one at a time as old generations age out — there is no fixed daily reset at midnight.
- The
next_available_atfield tells you when your next slot frees up (i.e. when your oldest generation in the window turns 24 hours old). - Failed generations don't count.
The rate_limit object
Every successful response and every 429 error includes a rate_limit object:
limitintegeroptionalTotal free generations allowed in a 24h window (usually 20).
usedintegeroptionalGenerations counted against the current window.
remainingintegeroptionallimit - used, never below 0.next_available_atinteger | nulloptionalUnix epoch (seconds) when one more generation becomes free, or
null if you haven't used any yet."rate_limit": {
"limit": 20,
"used": 20,
"remaining": 0,
"next_available_at": 1778920200
}What happens at the limit
When remaining hits 0, requests for OpenAI models return 429 unless you've added your own OpenAI key (see below). Requests for Gemini models always return 429 at the limit — there is no bring-your-own-key fallback for Google models yet.
Bring your own OpenAI key
Add an OpenAI API key in the dashboard. Once your free quota is exhausted, requests using gpt-image-2 automatically fall back to your key. The response field key_source will switch from "free" to "user" so you can tell which one was used.
Need a higher free limit?
Reach out on Discord and we can bump your account.