Errors
Crustoff returns errors in the OpenAI error envelope, so the official SDKs’ error handling works unchanged:
{
"error": {
"message": "Insufficient credits. Top up your balance to continue.",
"type": "insufficient_quota",
"code": "insufficient_quota",
"param": null
}
}Status codes
| HTTP | type | code | When |
|---|---|---|---|
400 | invalid_request_error | — | Malformed body, bad size/n/response_format |
401 | authentication_error | missing_api_key | No Authorization header |
401 | authentication_error | invalid_api_key | Unknown key |
401 | authentication_error | inactive_api_key | Key revoked |
402 | insufficient_quota | insufficient_quota | Balance too low for the request |
403 | permission_error | inactive_account | Account suspended |
404 | invalid_request_error | model_not_found | Unknown model, or wrong modality for the endpoint |
429 | rate_limit_error | rate_limit_exceeded | Over your RPM limit |
502 | server_error | worker_error | The model worker failed (you are not charged) |
503 | server_error | model_cold | No GPU is warm yet — retry shortly |
Notes
model_not_foundon the wrong endpoint. Calling/v1/chat/completionswith an image model (or/v1/images/generationswith a text model) returns404 model_not_found. Check the model’smodalityin/v1/models.- You are never charged for our failures.
worker_errorandmodel_coldrelease the credit hold in full. x-prox-request-id. Every response carries this header — include it if you contact support about a specific request.