Docs · v1
Errors
Platform API errors use HTTP status codes plus a JSON body. Async generation jobs can also fail
after a 200 — poll status and read data.status.
HTTP status codes
Parameters
| Code | When it happens |
|---|---|
| 200 | Request accepted. For generate jobs, poll status until completed or failed. |
| 400 | Missing fields, invalid input, file too large, or insufficient credits. |
| 401 | Missing or invalid X-Api-Key. |
| 404 | Avatar, voice, video, template, or subscription not found. |
| 500 | Server error. Retry with backoff, then contact help@makeugc.ai if it persists. |
Authentication error
401 response
{
"status": false,
"message": "Not authenticated"
}
Validation error
400 response
{
"status": false,
"message": "Missing required fields or invalid input"
}
Missing resource
404 response
{
"status": false,
"message": "Avatar or voice not found"
}
Failed async job
Product-in-Hand and Content Library status endpoints keep HTTP 200 and report failure on the job payload.
Failed status response
{
"status": true,
"message": "Video is failed",
"data": {
"status": "failed",
"reason": "Request timeout due to high load"
}
}
Questions
What does HTTP 401 mean?
The request is not authenticated. Confirm the X-Api-Key header, that the key is active, and that the account still has API access.
How should I handle 400 vs 404?
400 means the payload is missing required fields or failed validation (script length, file type, unreachable voice_url). 404 means the referenced avatar, voice, video, or subscription was not found.
Is a failed video generation always an HTTP error?
No. Generate endpoints usually return 200 with a job id. Poll the status endpoint: data.status can be processing, completed, or failed. A failed job includes a reason field while HTTP status remains 200.
