Get started

Error codes

Every error response carries a stable code, a human-readable message, and the request_id for support lookups. Branch on the code — never on the message string.

Catalog

All public codes

CodeHTTPMeaning
authentication_failed401Missing or invalid bearer token.
account_disabled403Key or customer is paused.
origin_not_allowed403Key has an allowed-origin list and the request Origin didn't match.
ip_not_allowed403Key has an allowed-IP list and the request IP didn't match.
invalid_request400Body failed validation.
invalid_product400Unknown product id.
source_image_required400This model needs a source image. Provide source_image_url (or start_image_url for video).
invalid_image400An uploaded image could not be decoded.
image_too_large400An uploaded image exceeded the size cap.
insufficient_balance402Not enough credits. Top up to continue.
product_paused409Product temporarily unavailable.
invalid_state409The job isn't in a state that supports this action (e.g. retrying a non-failed job).
idempotency_conflict409Idempotency-Key reused with a different request body.
invalid_pack400Unknown top-up pack.
rate_limited429Too many requests. Slow down and honor Retry-After.
queue_full429Too many unfinished jobs queued under this key.
rate_limiter_unavailable503Rate limiter is temporarily unreachable; requests are rejected fail-closed. Retry shortly.
service_unavailable502 / 503Backend is temporarily unavailable. Retry with backoff.
not_found404Resource does not exist or isn't owned by your key.
generation_failedasyncGeneration could not be produced. Credits are refunded automatically.

Retry policy

Safe retries

Retry 429 and 503 with exponential backoff and jitter. Honor the Retry-After header when present. Always include the same Idempotency-Key on retries so the call cannot double-charge.

Kiara API — image & video generation for your business.