Xatolar va limitlar
MarkdownJavob kodlari, ularning ma’nosi va nima qilish kerakligi. Barcha xatolar JSON formatida va Request ID bilan keladi.
To‘liq qo‘llanma
Xato formati
Xato siz chaqirgan API formatida keladi: obyekt error OpenAI uchun, {"type": "error", "error": {...}} Anthropic uchun va error quyidagi maydonlar bilan status va details Gemini uchun. Shu sababli SDK’lar ularni odatiy API xatolari sifatida taniydi.
error.codevaerror.reason— quyidagi jadvaldagi xato sinfi; ikkalasi bir xil.error.type— formatning standart qiymati (masalan,invalid_request_erroryokiserver_error).error.request_id(Anthropic’da —request_idyuqori darajada), sarlavhaX-Request-IDva xabar matnining oxiri — so‘rov identifikatori.- Gemini’da sinf quyidagi maydonda:
error.details:ErrorInfo.reason— shu kodning bosh harflardagi shakli (masalan,MODEL_OVERLOADED),domain—ailoot.ai; so‘rov identifikatori esa quyidagi maydonda:RequestInfo.requestId. - Gemini formatida avtomatik takrorlash mumkin bo‘lmagan 5xx xatosi va
result_pending_check409 holati vastatusABORTEDbilan keladi: shunda Gemini SDK va CLI ularni o‘zi takrorlamaydi. Xato sinfi quyidagi maydonda:ErrorInfo.reason(masalan,MODEL_TIMEOUTyokiRESULT_PENDING_CHECK). - OpenAI formatidagi javobda yuqori darajadagi quyidagi maydonlar ham bor:
codevamessage— eski mijoz dasturlari uchun.
{
"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"
}
]
}
}Xato kodlari
| HTTP | Sinf (reason) | Nima yuz berdi | Nima qilish kerak |
|---|---|---|---|
| 400 | invalid_request | So‘rov noto‘g‘ri: tana yoki parametr xato; model so‘rovdagi maydon, ilova yoki vositani qo‘llab-quvvatlamaydi; kalit manzilda yuborilgan | Xato matniga qarab so‘rovni tuzating: qo‘llab-quvvatlanmaydigan maydon, ilova yoki vositani olib tashlang; kalitni sarlavhada yuboring. Qo‘llab-quvvatlanmaydigan maydon, ilova yoki vosita sababli rad etish zaxira olinishidan oldin sodir bo‘ladi — hech narsa yechib olinmagan |
| 400 | context_length_exceeded | So‘rov model kontekstidan uzun | Tarixni qisqartiring yoki kattaroq kontekstli modelni tanlang |
| 400 | content_policy_violation | So‘rov model qoidalari asosida rad etildi | So‘rovni boshqacha ifodalang |
| 401 | invalid_api_key | Kalit yo‘q yoki noto‘g‘ri | Kalit to‘liq yuborilganini tekshiring |
| 401 | api_key_disabled | Kalit faolsizlantirilgan | Kalitni yoqing yoki yangisini yarating |
| 402 | insufficient_balance, insufficient_quota | Erkin balans hatto eng kichik zaxiraga ham yetmaydi (insufficient_quota — OpenAI SDK uchun odatiy shakldagi ayni holat) | Balansni to‘ldiring yoki max_tokens’ni kamaytiring |
| 402 | api_key_quota_exhausted | Kalitning umumiy sarf limiti tugagan | Boshqaruv panelida kalit limitini oshiring |
| 402 | payment_disputed | Hisobda bahsli to‘lov bo‘yicha qarz bor | Qarz to‘languncha yangi so‘rovlar to‘xtatilgan — yordam xizmatiga yozing |
| 403 | api_key_expired | Kalitning amal qilish muddati tugagan | Yangi kalit yarating |
| 403 | account_inactive | Hisobingiz faolsizlantirilgan | Yordam xizmatiga yozing |
| 403 | permission_denied | Kalitga bu so‘rov taqiqlangan (masalan, IP bo‘yicha) | Kalit cheklovlarini tekshiring |
| 404 | model_not_found | Bunday model yo‘q | ID’ni /v1/models bilan solishtiring |
| 404 | unsupported_endpoint | Model bu formatda ishlamaydi | Boshqa format yoki model tanlang |
| 404 | not_found | Bunday yo‘l yoki obyekt (masalan, topshiriq) yo‘q | Manzil va identifikatorni tekshiring |
| 409 | duplicate_request | Ayni idempotentlik kaliti bilan operatsiya allaqachon qabul qilingan va yakunlangan bo‘lishi mumkin | Birinchi operatsiya natijasini tekshiring, yangisini yubormang |
| 409 | not_ready, video_not_ready | Video yoki boshqa topshiriq hali tayyor emas | Holatni keyinroq so‘rang |
| 409, 503 | result_pending_check | So‘rov natijasini aniqlashtiryapmiz. Video topshirig‘ida bu bayroq result_pending_check: true holat javobida bo‘ladi, topshiriqning o‘zi esa in_progress | So‘rovni qayta yubormang — holat tarixda (GET https://ailoot.ai/api/v1/usage) paydo bo‘ladi. Video topshirig‘ini qayta yaratmang: keyinroq GET /v1/videos/{id} orqali tekshiring |
| 410 | model_retired | Model xizmatdan chiqarilgan | GET /v1/models’dan yangi versiyani tanlang |
| 413 | request_too_large | So‘rov tanasi juda katta | Fayllar yoki tarixni kichraytiring |
| 429 | rate_limit_exceeded, gateway_concurrency_limit, gateway_queue_full | Hisobingizdan juda ko‘p so‘rov yoki bir vaqtdagi so‘rov yuborilgan | Kuting (sarlavha Retry-After, odatda 10 soniya), so‘ng takrorlang |
| 429 | usage_limit_reached | Kalitning sarf davri limiti tugagan (5 soat, 1 kun yoki 7 kun) | Davr yangilanishini kuting yoki kalit limitini oshiring |
| 500 | internal_error | Ailoot xatosi | Request ID bilan yordam xizmatiga yozing |
| 502 | invalid_model_response, empty_response, incomplete_response | Model noto‘g‘ri, bo‘sh yoki to‘liq bo‘lmagan javob qaytardi | Shaxsiy kabinet tarixidan Request ID ni toping. Agar u yerda natija yoki mablag‘ yechilgani qayd etilgan bo‘lsa, takrorlash ikkinchi pulli so‘rovni yaratadi. Yozuv yo‘qligi so‘rov yuborilmagan yoki bajarilmaganini tasdiqlamaydi: yuborilish holati noma’lum so‘rovni takrorlamang; Request ID bilan yordam xizmatiga murojaat qiling. |
| 502 | result_not_delivered | Natija Ailoot aybi bilan yetkazilmadi, zaxira yoki yechib olingan summa qaytarildi | So‘rovni qayta yuborish mumkin |
| 503 | model_overloaded | Model vaqtincha ortiqcha yuklangan | X-Should-Retry: true bo‘lsa — Retry-After soniyadan keyin qayta urinib ko‘ring; false bo‘lsa — avval tarixda Request ID’ni tekshiring |
| 503 | model_unavailable | Model vaqtincha mavjud emas | Boshqa model tanlang. X-Should-Retry: true bo‘lsa, Retry-After soniyadan keyin takrorlang; false bo‘lsa, avval tarixda Request ID’ni tekshiring |
| 503 | service_unavailable | Ailoot tomonida vaqtinchalik nosozlik | X-Should-Retry: true bo‘lsa — Retry-After soniyadan keyin qayta urinib ko‘ring; false bo‘lsa — avval tarixda Request ID’ni tekshiring |
| 503 | charge_not_confirmed | Javob berilmadi: yechib olishni tasdiqlab bo‘lmadi; zaxira qaytarildi, pul yechib olinmagan | X-Should-Retry: true bo‘lsa — Retry-After soniyadan keyin qayta urinib ko‘ring; false bo‘lsa — avval tarixda Request ID’ni tekshiring |
| 504 | model_timeout | Model vaqtida javob bermadi, natija hali paydo bo‘lishi mumkin | Tarixda Request ID’ni tekshirmaguningizcha so‘rovni qayta yubormang |
Model javoblari va natijani tekshirish kodlari (502, 503 va 504) endi model yoki so‘rovni bildiradi: model_unavailable, model_timeout, invalid_model_response, incomplete_response, charge_not_confirmed va result_pending_check. Kodingiz error.code ni eski qiymatlar bilan solishtirsa, ularni jadvaldagi kodlarga almashtiring; eski va yangi kodlar mosligini aytib beradi — yordam xizmati.
So‘rovni qachon takrorlash kerak
- Avval X-Should-Retry’ni tekshiring: quyidagi holatlarda
false,result_pending_checkyokimodel_timeoutavtomatik takrorlamang. Boshqaruv paneli tarixidan Request ID’ni toping: u yerda natija va yechib olingan summa ko‘rinadi. - X-Should-Retry: true kelganda takrorlash xavfsiz: kuting
Retry-Aftersoniya. 5xx uchun kodning o‘zi yetarli emas: natija allaqachon paydo bo‘lgan bo‘lishi mumkin. Avval boshqaruv panelidagi tarixni tekshiring yoki Request ID bilan yordam xizmatiga yozing. Bu ayniqsa rasmlar, video, musiqa va uzun agent qadamlari uchun muhim. - Takrorlash yordam bermaydi: 400, 401, 402, 403, 404 — avval so‘rov, kalit yoki balansni tuzating.
Limitlar
Chastota va bir vaqtdagi so‘rovlar soni alohida kalit uchun emas, butun hisobingiz uchun cheklangan. Chegaradan oshganda 429 keladi rate_limit_exceeded Quyidagi sarlavha bilan: Retry-After: 10. Modelning o‘zi ortiqcha yuklangan bo‘lsa — 503 model_overloaded quyidagiga ega: Retry-After: 30. Kattaroq yuklama kerak bo‘lsa, yozing: yordam xizmatiga.
Sarf limitlari kalitda belgilanadi: umumiy limit — 402 api_key_quota_exhausted, 5 soat, 1 kun va 7 kunlik davrlar — 429 usage_limit_reached. Batafsil — Kalitlar va API manzili.
NVIDIA modellari: navbat
Modellar ro‘yxatini balans nol bo‘lganda ham so‘rash mumkin; generatsiya uchun zaxiraga yetadigan balans kerak. NVIDIA modellari (Nemotron va boshqalar) umumiy navbat orqali ishlaydi: yuklama katta bo‘lsa, javob kechroq kelishi yoki Retry-After sarlavhali «model vaqtincha ortiqcha yuklangan» xatosi qaytishi mumkin — ko‘rsatilgan vaqtdan keyin takrorlang. Narxlar katalogda, yechib olish boshqa modellardagidek.
Hajm limitlarini model belgilaydi: kontekst (qancha token yuborish mumkin) va javobning maksimal uzunligi. Ular quyidagi joyda ko‘rsatilgan: katalogda.
Tarix va sarf
Tarix va sarf · GET https://ailoot.ai/api/v1/usage · JWT · Authorization: Bearer $TOKEN
JWT ≠ sk-… · Kirish va seanslar