Rate limit exceeded for images per minute — OpenAI gpt-image API 429 (IPM)
The exact error
Rate limit exceeded for images per minute in organization org-xxx. Limit: 0/1min. Current: 1/1min. Please visit https://platform.openai.com/docs/guides/rate-limits to learn how to increase your rate limit.
What it means
OpenAI’s rate limits guide lists IPM (images per minute) among the metrics it enforces, next to RPM, RPD, TPM and TPD, and says a limit can be hit on whichever metric runs out first. Limits are defined at the organization and project level, not per user, and vary by model. This 429 says your organization went over its IPM allowance for the model you called; the message names the organization and shows the limit and the current count.
The two numbers split this error into two very different problems:
Limit: N/1minwith N above zero. You really did send more images in the window than your allowance.Limit: 0/1min. Your organization has no image allowance for that model at all, so the very first request fails. The forum thread this page quotes (December 2023,dall-e-3) is exactly that case: a first request, a zero limit, and replies pointing at the account’s tier.
For gpt-image-2, OpenAI’s model page lists the free tier as “Not supported” and gives IPM limits of 5 at Tier 1, 20 at Tier 2, 50 at Tier 3, 150 at Tier 4 and 250 at Tier 5. A zero limit is consistent with a free-tier organization calling it.
The zero-allowance case does not always use this wording. In an April 2025 forum thread about gpt-image-1, users with verified, funded accounts got a 429 with code rate_limit_exceeded and a message telling them to slow down and retry after 0.0 seconds. An OpenAI staff reply said the model was only available on usage tier 1 or above, and that they thought the error message had mostly been designed for actual rate-limited traffic rather than free-tier organizations.
How to confirm it’s this
- HTTP 429,
error.codeofrate_limit_exceeded, and a message withLimit:andCurrent:counts. - Open the limits section of your organization settings. The rate limits guide says that is where your tier and per-model limits are shown.
- Remember that limits are shared across the organization. The error codes guide notes they are applied per organization, not per user, so teammates and other apps on the same organization draw from the same allowance.
- Read the
Retry-Afterheader if present. The rate limits guide says it may be present on 429s caused by a temporary rate limit.
Fix
If the limit is 0: this is a tier problem, not a code problem. The rate limits guide’s tier table lists “$5 paid” as the qualification for Tier 1, and says OpenAI automatically moves you up tiers as your API spend increases. Community reports say the move is not always immediate. In the 2023 thread the poster’s requests started working after some time had passed since the payment, and a forum member suggested a new API key might be needed. In the 2025 thread several users stayed on the free tier after paying, and the staff reply suggested contacting support so individual accounts could be checked.
If the limit is above 0: slow down. From the rate limits guide:
- If
Retry-Afteris present, wait at least that long, plus a small random delay. - If it is missing, use exponential backoff with jitter, and cap both the number of attempts and the total retry time.
- Official SDKs already retry eligible 429s automatically. If you also retry in your own code, disable SDK retries or count them, so nested loops don’t multiply requests.
- Unsuccessful requests count toward your per-minute limit, so resending in a tight loop makes it worse.
For agents that fan out image jobs, cap concurrent image requests below your IPM for that model instead of discovering the ceiling through 429s.
Retry or not
It depends on the limit in the message. With a non-zero limit, yes: retry after Retry-After or with backoff, because the window resets. With Limit: 0/1min, no: no amount of waiting inside a minute creates an allowance that doesn’t exist, and a retry loop just burns attempts. A practical rule for agents is that if an image model has never succeeded for this organization and keeps returning 429, treat it as a configuration problem and escalate.
When it’s not this
The error codes guide lists other 429s that need different handling:
slow_down(typerate_limit_error): your request rate increased too fast. It can occur even within your per-minute limits; ramp up gradually.credit_balance_exhausted,organization_spend_limit_exceeded,project_spend_limit_exceeded,organization_usage_limit_exceeded: billing and spend limits. The guide says retrying these won’t restore access.- 503
server_is_overloaded: the model is temporarily overloaded, not your quota.
A 403 about organization verification is a separate gate that new organizations can hit before any rate limit applies.
Related errors
- Your organization must be verified to use the model
- Billing hard limit has been reached
- Google free-tier image quota: limit 0
- Google RESOURCE_EXHAUSTED
- Replicate: request was throttled
Error text last verified against the sources below on .
Where these facts come from
- https://community.openai.com/t/429-rate-limit-exceeded-limit-0-1min-current-1-1min/565451
- https://community.openai.com/t/gpt-image-1-rate-limit-without-even-generating-a-single-image/1240859
- https://developers.openai.com/api/docs/guides/rate-limits
- https://developers.openai.com/api/docs/models/gpt-image-2
- https://developers.openai.com/api/docs/guides/error-codes