Reference
Credits & rate limits
Free generations share a single pool of 20 credits per rolling 24-hour window. Each endpoint costs a different number of credits per call. Listing images is unlimited.
What each call costs
POST /v1/images/generations— 5 credits per image (4 images = full pool).POST /v1/videos/generations— 10 credits per video (2 videos = full pool).POST /v1/text/conversations— 1 credit per message (20 messages = full pool).
All three endpoints draw from the same credit pool, so the cost of one call reduces the budget available to the others.
How the rolling window works
- Each successful free call holds its credits for exactly 24 hours from the moment it completes, at the per-endpoint cost above.
- Credits free up as old calls age out — there is no fixed daily reset at midnight.
- The
next_available_atfield tells you when your next credits free up (i.e. when your oldest call in the window turns 24 hours old). - Failed calls don't count.
The rate_limit object
Every successful response and every 429 error includes a rate_limit object:
limitintegeroptionalTotal free credits allowed in a 24h window (usually 20).
usedintegeroptionalCredits consumed in the current window across all endpoints.
remainingintegeroptionallimit - used, never below 0.next_available_atinteger | nulloptionalUnix epoch (seconds) when the oldest call ages out, 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, further requests return 429 until your oldest generation ages out of the 24h window.
Need a higher free limit?
Reach out on Discord and we can bump your account.