| HTTP | Error | Description |
|---|---|---|
| 400 | Invalid input | Check the request fields, model name, and video. |
| 401 | missing_api_key | Provide your API key when creating the client. |
| 401 | invalid_api_key | The API key is invalid or revoked. |
| 401 | unauthenticated | No credentials were provided. Send an API key, or sign in from the browser console. |
| 402 | insufficient_credits | Add credits to cover the evaluation. |
| 403 | feature_not_enabled | Your account doesn’t have this capability enabled. Contact us to request it. |
| 404 | not_found | The evaluation or video could not be found for your account. |
| 409 | idempotency_key_reused | This Idempotency-Key was already used for a different request body. Use a new key for a new submission. |
| 409 | submission_in_progress | A submission with this Idempotency-Key is still being created. Retry with the same key in a moment. |
| 409 | video_not_ready | The video hasn’t finished being checked yet. The submission is fine; retry shortly. |
| 413 | body_too_large | The request body is over 2 MB. Send the video as a url or an upload_id instead of inline base64. |
| 429 | concurrency_limit | Your tier’s concurrency limit is reached. Retry-After says how long; wait for an evaluation to finish. |
| 429 | rate_limited | Too many requests. X-RateLimit-* headers say your current quota and when it resets. Not currently enforced on any tier — concurrency_limit is the one you’ll actually meet. |
| 500 | internal_error | An unexpected service error occurred. |
| 502 | model_unavailable | The model service is temporarily unavailable. |
| 502 | video_unfetchable | Galileo couldn’t download the video from storage. Nothing was charged; try again. |
| 502 | job_gone | The model server has no record of this job. Nothing was charged; safe to retry. |
| 502 | model_output_invalid | The model returned an unreadable result. |
| 503 | service_restarting | Galileo is restarting and is not taking new evaluations. Retry-After says for how long; nothing was charged. |
| 503 | model_service_unreachable | This API could not reach Galileo. Retry-After says how long; nothing was charged. |
| 503 | billing_unavailable | Billing is not configured on this server. |
| 503 | served_version_unavailable | Galileo could not say which version is serving, so the run was not recorded or charged. A restarting cluster clears this on its own; a stopped or misconfigured one will keep returning it. |
| 504 | model_timeout | The model took too long to analyze this video. |
| 504 | run_abandoned | This run stopped being tracked before it finished. Nothing was charged; safe to retry. |
| 529 | model_overloaded | Galileo is temporarily at capacity. |
| 529 | service_overloaded | This API is temporarily at capacity (not Galileo). Retry-After says how long; nothing was charged. |
Guides
Error codes
HTTP errors and their meanings.