Error Codes
Every error code the API returns, with cause and fix.
400 Bad Request Cause: Invalid or missing parameters
Fix: Check the request body against the endpoint schema. Common issues: missing model field, duration out of range, unsupported resolution value.
401 Unauthorized Cause: Missing or invalid API key
Fix: Ensure the Authorization header is present and formatted as "Bearer YOUR_API_KEY". Verify the key is active and not revoked.
402 Payment Required Cause: Insufficient credits or no active subscription
Fix: Check your credit balance at /dashboard or upgrade at /pricing. If you have a subscription, your credits may have been exhausted for this billing cycle.
403 Forbidden Cause: API access not available on your plan
Fix: API access requires Pro or Premium. Upgrade at /pricing.
404 Not Found Cause: Job ID does not exist or does not belong to your account
Fix: Verify the job ID. Job IDs from other accounts are not accessible.
422 Unprocessable Entity Cause: Input validation failed (Zod)
Fix: The request body parsed correctly but failed validation. Response body includes a "errors" array with field-level details.
429 Too Many Requests Cause: Rate limit exceeded
Fix: Check the Retry-After response header and wait before retrying. See /docs/rate-limits for per-plan limits.
500 Internal Server Error Cause: Unexpected server error
Fix: Retry the request after a short delay. If the error persists, contact support with the job ID or request timestamp.
503 Service Unavailable Cause: Upstream generation service unavailable
Fix: The generation infrastructure is temporarily unavailable. Check /status for service status. Retry with exponential backoff.