Skip to content

Errors ​

Errors are returned as a JSON body with a matching HTTP status code. Most follow one general shape:

json
{ "statusCode": 404, "message": "Job with ID \"...\" not found." }

A few statuses return a richer, purpose-specific body — those are documented below and linked to where they're explained in full.

StatusMeaningBody
401 UnauthorizedMissing or invalid x-client-id / x-client-secret{ "statusCode", "message" } — see Authentication
402 Payment RequiredInsufficient prepaid credits, or API billing not yet set up on your account{ "available", "error", "message", "required" } — see Pricing & Credits
403 ForbiddenThe action isn't allowed for this job (e.g. generating from a model you don't own){ "statusCode", "message" }
404 Not FoundThe jobId in the path doesn't exist{ "statusCode", "message" }
422 Unprocessable EntityA required field is missing, or a file has the wrong type/size{ "statusCode", "message" }
429 Too Many RequestsTemporary rate limit while the API is in test: more than 5 concurrent (pending/running) jobs on the same API key{ "statusCode", "message" } — see Authentication
500 Internal Server ErrorUnexpected failure. Retry with backoff; if it persists, contact support with the jobId (if one was returned){ "statusCode", "message" }

Outside of that temporary concurrency cap, there's no other dedicated rate limit on generation endpoints — throughput is otherwise governed by your prepaid credit balance.

Temporary rate limit during API test

While the API is in test, each API key (x-client-id) is limited to 5 concurrent jobs (status pending or running). A 6th simultaneous request returns 429 Too Many Requests until an earlier job finishes. Wait for a job to complete (poll GET /jobs/{jobId}) before starting another, or spread load across multiple keys. This limit is temporary and subject to change as the API moves out of test.

Validating parameters before you send ​

Most fields are validated server-side (types, enums, min/max — see each endpoint's reference), and an invalid value returns 422 describing which field failed.