Billing and errors
Video usage, safe retries and troubleshooting.
Video usage, safe retries and troubleshooting.
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.
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.
| Situation | Action |
|---|---|
400 | Check JSON, model, field ranges and media roles |
401 or access denied | Check key, expiry and model permission |
| Insufficient balance or quota | Check both account balance and key quota |
404 on task GET | Check origin, saved ID and key account |
Task failed | Keep ID; review charge and contact support |
Signed media URL returns 403 | Re-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.