Change history
Every change to this page, newest first. Expand an entry to see what changed.
- 15 Oct 2026 · +5 −0 lines
Show changes
⋯ | 429 | `end_user_cap_reached` | Yes | This end user reached the daily run cap. Retry after the Retry-After header (resets 00:00 UTC). | | 429 | `gateway_rate_limited` | Yes | A gateway key's product reached its runs-per-minute limit. Retry after the Retry-After header. | + | 429 | `uploads_rate_limited` | Yes | Your org reached its presigned uploads per minute. Retry after the Retry-After header. | + | 429 | `product_busy` | Yes | Your product's concurrency slots and its queue are full. Retry after the Retry-After header (about 5 s). | | 500 | `internal_error` | Yes | Something went wrong on our side. Retry with the same Idempotency-Key; quote X-Request-Id to support. | | 503 | `style_unavailable` | Yes | This style cannot run on a live key right now (no model behind it). Test keys still return a sample. | | 503 | `uploads_unavailable` | Yes | Uploads are not available on this deployment right now. | + | 503 | `service_unavailable` | Yes | The job queue is briefly unavailable; nothing was created or charged. Retry with the same Idempotency-Key after the Retry-After header. | + Submit answers, `429` ones included, carry `X-Concurrency-Limit`, `X-Concurrency-Running` and `X-Concurrency-Waiting`. Each `product_busy` and `gateway_rate_limited` answer is a refusal: it is listed at `GET /v2/queue/refusals`. See [Queue and congestion](queue-and-congestion.md). + A run that fails after it was accepted is not an HTTP error: the run ends `failed` or `nsfw` with a [free-run reason](concepts.md#free-runs), and you are not charged. ⋯
- 14 Oct 2026 · Page created