Errors
Error shape, status codes and what each means.
Error shape
Every error is JSON with a machine-readable error code and a human message:
{ "error": "invalid_request", "message": "topic is required." }Status codes
| Code | Meaning |
|---|---|
400 | Invalid request - a field is missing or malformed. |
401 | Missing or invalid API key. |
402 | Not enough credits to start the render. |
404 | Job not found (wrong id, or another account's job). |
429 | Rate limited - back off and retry. |
500 | Server error - retry; if it persists, contact support. |
Render failures
A render.failed (webhook) or status: "failed" (poll) is not an HTTP error - the request succeeded but generation didn't. Credits are refunded automatically, and you can safely retry.