Billing and errors

Video usage, safe retries and troubleshooting.

Usage

A generation is identified by its saved video ID. Requested output length is specified with seconds; the completed task and account journal show the final usage. Account balance and API-key quota are separate limits.

Recovery and support

A repeated POST can create and charge for another video. Once an ID is known, retry only GET on that task. A POST timeout without an ID has an unknown outcome: check the console or contact support before considering a new order. On GET 429 or 5xx, pause and read the same ID again; respect Retry-After when present. A local polling timeout does not cancel the task.

SituationAction
400Check JSON, model, field ranges and media roles
401 or access deniedCheck key, expiry and model permission
Insufficient balance or quotaCheck both account balance and key quota
404 on task GETCheck origin, saved ID and key account
Task failedKeep ID; review charge and contact support
Signed media URL returns 403Re-read the existing task for a current link within the original media retention window; GET does not extend that window. If it has ended or the link remains unavailable, use a saved copy or contact support with the ID. Do not POST again.

Send support the model, task ID, time with timezone, HTTP status and a concise description. For billing include the disputed amount and transaction time; for input media include type, size, duration and dimensions. Never send full keys, signed URLs, request bodies or raw error dumps through ordinary logs or tickets.