Chyby a limity
MarkdownKódy odpovedí, ich význam a odporúčaný postup. Všetky chyby sú vo formáte JSON a obsahujú Request ID.
Úplný sprievodca
Formát chyby
Chyba príde vo formáte API, ktoré ste zavolali: objekt error pre OpenAI, {"type": "error", "error": {...}} pre Anthropic a error s poľami status a details pre Gemini. SDK ich preto rozpoznajú ako bežné chyby API.
error.codeaerror.reason– trieda chyby z tabuľky nižšie; tieto hodnoty sú rovnaké.error.type– štandardná hodnota daného formátu (napríkladinvalid_request_erroraleboserver_error).error.request_id(v Anthropicrequest_idna najvyššej úrovni), hlavičkaX-Request-IDa koniec textu správy obsahujú identifikátor požiadavky.- V Gemini je trieda v
error.details:ErrorInfo.reason– rovnaký kód veľkými písmenami (napríkladMODEL_OVERLOADED),domain–ailoot.ai; identifikátor požiadavky je vRequestInfo.requestId. - Vo formáte Gemini chyba 5xx, ktorú nemožno automaticky opakovať, a
result_pending_checkprichádzajú so stavom 409 astatusABORTED: SDK a CLI Gemini ich tak samy neopakujú. Trieda chyby je vErrorInfo.reason(napríkladMODEL_TIMEOUTaleboRESULT_PENDING_CHECK). - Odpoveď vo formáte OpenAI obsahuje aj polia najvyššej úrovne
codeamessage– pre starších klientov.
{
"code": "API_KEY_REQUIRED",
"error": {
"code": "invalid_api_key",
"message": "No API key was sent with the request. Nothing was charged. Please check that the full key is sent in the Authorization header as \"Bearer <key>\". Request ID: 3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6.",
"param": null,
"reason": "invalid_api_key",
"request_id": "3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6",
"type": "invalid_request_error"
},
"message": "No API key was sent with the request. Nothing was charged. …"
}{
"type": "error",
"error": {
"type": "authentication_error",
"code": "invalid_api_key",
"reason": "invalid_api_key",
"message": "… Nothing was charged. … Request ID: 94ed3e31-4373-41ce-bf8a-0d1ed3f7235e."
},
"request_id": "94ed3e31-4373-41ce-bf8a-0d1ed3f7235e"
}{
"error": {
"code": 401,
"status": "UNAUTHENTICATED",
"message": "The API key is not valid. Nothing was charged. … Request ID: e7aa743b-9d0d-4064-b206-2562609f545b.",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "INVALID_API_KEY",
"domain": "ailoot.ai",
"metadata": {
"code": "invalid_api_key",
"reason": "invalid_api_key",
"request_id": "e7aa743b-9d0d-4064-b206-2562609f545b"
}
},
{
"@type": "type.googleapis.com/google.rpc.RequestInfo",
"requestId": "e7aa743b-9d0d-4064-b206-2562609f545b"
}
]
}
}Kódy chýb
| HTTP | Trieda (reason) | Čo sa stalo | Čo robiť |
|---|---|---|---|
| 400 | invalid_request | Požiadavka je neplatná: nesprávne telo alebo parameter; model nepodporuje pole, prílohu alebo nástroj z požiadavky; kľúč je odovzdaný v adrese | Opravte požiadavku podľa textu chyby: odstráňte nepodporované pole, prílohu alebo nástroj; kľúč odovzdávajte v hlavičke. Odmietnutie pre nepodporované pole, prílohu alebo nástroj nastáva pred rezerváciou – nič sa nezaúčtuje |
| 400 | context_length_exceeded | Požiadavka presahuje kontext modelu | Skráťte históriu alebo použite model s väčším kontextom |
| 400 | content_policy_violation | Požiadavka bola odmietnutá pravidlami modelu | Preformulujte požiadavku |
| 401 | invalid_api_key | Kľúč chýba alebo je nesprávny | Overte, či bol odovzdaný celý kľúč |
| 401 | api_key_disabled | Kľúč je vypnutý | Zapnite kľúč alebo vytvorte nový |
| 402 | insufficient_balance, insufficient_quota | Voľný zostatok nestačí ani na minimálnu rezerváciu (insufficient_quota – rovnaký prípad vo forme bežnej pre OpenAI SDK) | Dobite kredit alebo znížte max_tokens |
| 402 | api_key_quota_exhausted | Celkový limit výdavkov kľúča je vyčerpaný | Zvýšte limit kľúča v účte |
| 402 | payment_disputed | Na účte je dlh z napadnutej platby | Nové požiadavky sú pozastavené do úhrady – napíšte podpore |
| 403 | api_key_expired | Platnosť kľúča vypršala | Vytvorte nový kľúč |
| 403 | account_inactive | Váš účet je vypnutý | Napíšte podpore |
| 403 | permission_denied | Kľúč nemá povolenú túto požiadavku (napríklad podľa IP) | Overte obmedzenia kľúča |
| 404 | model_not_found | Takýto model neexistuje | Porovnajte ID s /v1/models |
| 404 | unsupported_endpoint | Model v tomto formáte nefunguje | Vyberte iný formát alebo model |
| 404 | not_found | Takáto cesta alebo objekt (napríklad úloha) neexistuje | Overte adresu a identifikátor |
| 409 | duplicate_request | Operácia s rovnakým kľúčom idempotencie už bola prijatá a možno aj dokončená | Overte výsledok prvej operácie, novú neodosielajte |
| 409 | not_ready, video_not_ready | Video alebo iná úloha ešte nie je hotová | Stav si vyžiadajte neskôr |
| 409, 503 | result_pending_check | Overujeme výsledok požiadavky. Pri video úlohe ide o príznak result_pending_check: true v odpovedi so stavom, samotná úloha zostáva in_progress | Požiadavku neposielajte znova – stav sa objaví v histórii (GET https://ailoot.ai/api/v1/usage). Video úlohu nevytvárajte znova: overte ju neskôr cez GET /v1/videos/{id} |
| 410 | model_retired | Model bol vyradený z prevádzky | Vyberte novú verziu v GET /v1/models |
| 413 | request_too_large | Telo požiadavky je príliš veľké | Zmenšite súbory alebo skráťte históriu |
| 429 | rate_limit_exceeded, gateway_concurrency_limit, gateway_queue_full | Príliš veľa požiadaviek alebo súbežných požiadaviek z vášho účtu | Počkajte (hlavička Retry-After, zvyčajne 10 s) a skúste znova |
| 429 | usage_limit_reached | Limit výdavkov kľúča za časové okno je vyčerpaný (5 hodín, 1 deň alebo 7 dní) | Počkajte na obnovenie okna alebo zvýšte limit kľúča |
| 500 | internal_error | Chyba Ailoot | Napíšte podpore s Request ID |
| 502 | invalid_model_response, empty_response, incomplete_response | Model vrátil neplatnú, prázdnu alebo neúplnú odpoveď | Vyhľadajte Request ID v histórii účtu. Ak je tam výsledok alebo zaúčtovanie, opakovanie vytvorí druhú platenú požiadavku. Chýbajúci záznam nepotvrdzuje, že požiadavka nebola odoslaná alebo vykonaná: neopakujte odoslanie s neznámym stavom; obráťte sa na podporu s Request ID. |
| 502 | result_not_delivered | Výsledok nebol doručený vinou Ailoot, rezervácia alebo zaúčtovaná suma boli vrátené | Požiadavku možno odoslať znova |
| 503 | model_overloaded | Model je dočasne preťažený | Ak je X-Should-Retry: true, skúste znova po počte sekúnd z Retry-After; ak false, najprv overte Request ID v histórii |
| 503 | model_unavailable | Model je dočasne nedostupný | Vyberte iný model. Ak je X-Should-Retry: true, skúste znova po počte sekúnd z Retry-After; ak false, najprv overte Request ID v histórii |
| 503 | service_unavailable | Dočasné zlyhanie na strane Ailoot | Ak je X-Should-Retry: true, skúste znova po počte sekúnd z Retry-After; ak false, najprv overte Request ID v histórii |
| 503 | charge_not_confirmed | Odpoveď nebola vydaná: nepodarilo sa potvrdiť zaúčtovanie; rezervácia bola vrátená, peniaze sa nezaúčtovali | Ak je X-Should-Retry: true, skúste znova po počte sekúnd z Retry-After; ak false, najprv overte Request ID v histórii |
| 504 | model_timeout | Model neodpovedal včas, výsledok sa ešte môže objaviť | Požiadavku neposielajte znova, kým neoveríte Request ID v histórii |
Kódy pre odpovede modelu a overovanie výsledku (502, 503 a 504) teraz pomenúvajú model alebo požiadavku: model_unavailable, model_timeout, invalid_model_response, incomplete_response, charge_not_confirmed a result_pending_check. Ak váš kód porovnáva error.code s pôvodnými hodnotami, nahraďte ich kódmi z tabuľky; priradenie pôvodných kódov k novým vám poskytne podpora.
Kedy zopakovať požiadavku
- Najprv skontrolujte X-Should-Retry: pri
false,result_pending_checkalebomodel_timeoutneopakujte automaticky. Vyhľadajte Request ID v histórii účtu: uvidíte tam výsledok aj zaúčtovanie. - Opakovanie je bezpečné, keď príde X-Should-Retry: true: počkajte
Retry-Aftersekúnd. Pri 5xx samotný kód nestačí: výsledok sa už mohol objaviť. Najprv overte históriu v účte alebo napíšte podpore s Request ID. Je to obzvlášť dôležité pri obrázkoch, videu, hudbe a dlhých krokoch agentov. - Opakovanie nepomôže: 400, 401, 402, 403, 404 – najprv opravte požiadavku, kľúč alebo zostatok.
Limity
Frekvencia a počet súbežných požiadaviek sú obmedzené pre celý váš účet, nie pre jednotlivý kľúč. Pri prekročení príde 429 rate_limit_exceeded s hlavičkou Retry-After: 10. Ak je preťažený samotný model, 503 model_overloaded s Retry-After: 30. Ak potrebujete vyššiu záťaž, napíšte podpore.
Limity výdavkov sa nastavujú pri kľúči: celkový limit – 402 api_key_quota_exhausted, okná 5 hodín, 1 deň a 7 dní – 429 usage_limit_reached. Viac informácií – Kľúče a adresa API.
Modely NVIDIA: front
Zoznam modelov možno načítať aj pri nulovom zostatku; generovanie vyžaduje prostriedky na rezerváciu. Modely NVIDIA (Nemotron a ďalšie) pracujú cez spoločný front: pri vysokej záťaži môže odpoveď prísť neskôr alebo sa vráti chyba „model je dočasne preťažený“ s hlavičkou Retry-After – skúste znova po uvedenom čase. Ceny sú v katalógu, účtovanie funguje ako pri ostatných modeloch.
Limity veľkosti určuje model: kontext (koľko tokenov možno odoslať) a maximálnu dĺžku odpovede. Sú uvedené v katalógu.
História a výdavky
História a výdavky · GET https://ailoot.ai/api/v1/usage · JWT · Authorization: Bearer $TOKEN
JWT ≠ sk-… · Prihlasovanie a relácie