Empty body / missing url field.
{
"error": "No url provided"
}// DOCS · ERROR RESPONSES
Every error the entit.ai API returns, in canonical form. Sourced directly from handler_submit.go, handler_poll.go, and the x402 middleware.
// submit errors
Empty body / missing url field.
{
"error": "No url provided"
}URL is a TikTok photo/slideshow (containing /photo/). Slideshows are not supported.
{
"error": "TikTok slideshow conversion is not supported"
}URL did not resolve to a supported platform (tiktok, instagram reels, youtube shorts).
{
"error": "Error resolving url: currently we only support tiktok, instagram and youtube shorts urls"
}Could not extract a stable videoId from the resolved URL.
{
"error": "Error getting video ID"
}format was set but is not one of the closed enum of workflow slugs. The full list lives at /docs/api#workflow-formats and in /llms.txt. Submitted value is echoed in the error message for debugging.
{
"error": "invalid format: must be one of the workflow formats listed at https://entit.ai/docs/api#workflow-formats"
}Missing or invalid X-Payment header. Body is an x402 PaymentRequiredResponse describing the accept schemas.
{
"x402Version": 1,
"accepts": [
{
"scheme": "exact",
"network": "eip155:8453",
"resource": "POST /v1/jobs",
"payTo": "0x000000000000000000000000000000000000dEaD",
"maxAmountRequired": "$0.10",
"description": "Submit a TikTok, Instagram Reel, or YouTube Shorts URL for transcript + visual analysis. Poll GET /v1/jobs/{jobId} (free) until status is success.",
"mimeType": "application/json"
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"resource": "POST /v1/jobs",
"payTo": "11111111111111111111111111111111",
"maxAmountRequired": "$0.10",
"description": "Submit a TikTok, Instagram Reel, or YouTube Shorts URL for transcript + visual analysis. Poll GET /v1/jobs/{jobId} (free) until status is success.",
"mimeType": "application/json"
}
]
}Internal failure writing to Firestore or publishing to Pub/Sub. Retry after backoff.
{
"error": "failed to enqueue job"
}// poll errors
Unknown jobId. Job was never created or already pruned.
{
"error": "Job not found"
}Job exists but ExpiresAt has passed (24h after submission). The job is gone.
{
"error": "Job expired"
}Job finished with status: failed. The error field describes the reason.
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"videoId": "7123456789",
"status": "failed",
"error": "video download timed out"
}Internal failure reading or parsing the job document.
{
"error": "failed to get job"
}// RETRY GUIDANCE
Retry-After: 5 — honor it.See also: API reference · VideoAnalysis schema.