These pages describe the Training API on
dev, where authenticated creation, editing, downloads, revert, and website brand lookup have been tested live.
Production availability is not confirmed. Your API service and worker must both run the updated code.
See Testing and availability.HTTP responses
Errors commonly contain a
detail string. Request validation errors can instead contain a structured detail array with field locations and messages. Do not assume all error bodies have an identical shape.
When creation returns detail.code: "VIDEO_GENERATION_CONCURRENCY_LIMIT", the whole batch was rejected before submission. Wait for an existing video to finish before retrying. See Rate limits.
Batch errors
A valid creation batch can return HTTP 200 witherrors greater than zero and results[].status: "error". The failed item includes index, uuid, code, and message. Codes include DURATION_NOT_ALLOWED, HTTP_ERROR, and ITEM_FAILED.
Invalid schema fields reject the request with 422; account-specific duration and processing failures can occur per item after schema validation. Review failed entries before retrying. A transport or queueing error can leave an uncertain outcome, so inspect the job or dashboard before creating a replacement.
Brand lookup errors
HTTP 200 withsuccess: false is a failed lookup, not usable brand data. Inspect error; missing provider configuration requires a server-side fix. Retry temporary provider failures with backoff.
Asynchronous failures and retries
A 200 creation response or 202 edit response is only acceptance. Poll and checkis_failed and error_message.
- Correct 400, 403, 415, and 422 causes before retrying; refresh invalid credentials for 401.
- Resolve the conflict described by a 409 before resubmitting.
- On 429, wait for
Retry-After. - Back off on transient failures. For an edit retry, retain the same body and
Idempotency-Key; avoid concurrent retries. - Creation has no documented idempotency guarantee. Check for an accepted job before resubmitting after a timeout.
- If an edit asks for missing information, submit a new, complete instruction with a new idempotency key.
is_complete: true but is not a newly applied edit. Check status, and see Revert edit for media verification limits.