dokumentation
Hjälp

Fel och gränser

Markdown

Svarkoder, deras betydelse och vad du ska göra. Alla fel är i JSON och innehåller Request ID.

Fullständig guide

Felformat

Felet returneras i formatet för det API du anropade: objektet error för OpenAI, {"type": "error", "error": {...}} för Anthropic och error med fälten status och details för Gemini. SDK:erna känner därför igen dem som vanliga API-fel.

  • error.code och error.reason — felklassen i tabellen nedan; värdena är desamma. error.type — formatets standardvärde (till exempel invalid_request_error eller server_error).
  • error.request_id (i Anthropic — request_id på toppnivå), headern X-Request-ID och slutet av felmeddelandet anger anropets identifierare.
  • I Gemini finns klassen i error.details: ErrorInfo.reason — samma kod med versaler (till exempel MODEL_OVERLOADED), domain — ailoot.ai; anropets identifierare finns i RequestInfo.requestId.
  • I Gemini-format returneras ett 5xx-fel som inte får upprepas automatiskt, och result_pending_check med status 409 och status ABORTED: på så sätt upprepar Gemini SDK och CLI dem inte automatiskt. Felklassen finns i ErrorInfo.reason (till exempel MODEL_TIMEOUT eller RESULT_PENDING_CHECK).
  • Svaret i OpenAI-format innehåller även toppnivåfälten code och message — för äldre klienter.
{
  "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. …"
}

Felkoder

HTTPKlass (reason)Vad som händeVad du ska göra
400invalid_requestOgiltigt anrop: felaktig anropskropp eller parameter; modellen stöder inte ett fält, en bilaga eller ett verktyg i anropet; nyckeln har skickats i adressen Rätta anropet enligt felmeddelandet: ta bort fältet, bilagan eller verktyget som inte stöds; skicka nyckeln i en header. Avvisning på grund av ett fält, en bilaga eller ett verktyg som inte stöds sker före reserveringen — ingenting har debiterats
400context_length_exceededAnropet överskrider modellens kontextfönsterKorta historiken eller använd en modell med större kontext
400content_policy_violationAnropet avvisades av modellens reglerFormulera om anropet
401invalid_api_keyNyckeln saknas eller är ogiltigKontrollera att hela nyckeln har skickats
401api_key_disabledNyckeln är avaktiveradAktivera nyckeln eller skapa en ny
402insufficient_balance, insufficient_quotaTillgängligt saldo räcker inte ens till minsta reservering (insufficient_quota — samma fall i ett format som OpenAI SDK känner igen)Fyll på saldot eller minska max_tokens
402api_key_quota_exhaustedNyckelns totala utgiftsgräns är förbrukadHöj nyckelns gräns i kontrollpanelen
402payment_disputedKontot har en skuld på grund av en bestridd betalningNya anrop pausas tills skulden är betald — kontakta supporten
403api_key_expiredNyckelns giltighetstid har gått utSkapa en ny nyckel
403account_inactiveDitt konto är avaktiveratKontakta supporten
403permission_deniedNyckeln får inte göra detta anrop (till exempel på grund av IP)Kontrollera nyckelns begränsningar
404model_not_foundModellen finns inteKontrollera ID mot /v1/models
404unsupported_endpointModellen fungerar inte i detta formatVälj ett annat format eller en annan modell
404not_foundSökvägen eller objektet finns inte (till exempel en uppgift)Kontrollera adress och identifierare
409duplicate_requestEn operation med samma idempotensnyckel har redan accepterats och kan vara slutfördKontrollera resultatet av den första operationen; skicka ingen ny
409not_ready, video_not_readyVideon eller en annan uppgift är inte klar änHämta status senare
409, 503result_pending_checkVi klarlägger anropets resultat. För en videouppgift är detta flaggan result_pending_check: true i statussvaret, medan uppgiften fortfarande har status in_progressSkicka inte anropet igen — statusen visas i historiken (GET https://ailoot.ai/api/v1/usage). Skapa inte videouppgiften på nytt: kontrollera den senare via GET /v1/videos/{id}
410model_retiredModellen har tagits ur driftVälj en ny version i GET /v1/models
413request_too_largeAnropskroppen är för storMinska filerna eller historiken
429rate_limit_exceeded, gateway_concurrency_limit, gateway_queue_fullFör många anrop eller samtidiga anrop från ditt kontoVänta (headern Retry-After, vanligen 10 s) och försök igen
429usage_limit_reachedNyckelns förbrukningsfönster är förbrukat (5 timmar, 1 dag eller 7 dagar)Vänta tills fönstret förnyas eller höj nyckelns gräns
500internal_errorAiloot-felKontakta supporten med Request ID
502invalid_model_response, empty_response, incomplete_responseModellen returnerade ett ogiltigt, tomt eller ofullständigt svarHitta Request ID i kontrollpanelens historik. Om det finns ett resultat eller en debitering där skapar en upprepning ett andra betalt anrop. Att en post saknas bevisar inte att anropet inte har skickats eller utförts: upprepa inte ett anrop vars sändningsstatus är okänd; kontakta supporten och ange Request ID.
502result_not_deliveredResultatet levererades inte på grund av Ailoot; reserveringen eller debiteringen har återförtsAnropet kan skickas på nytt
503model_overloadedModellen är tillfälligt överbelastadOm X-Should-Retry: true — försök igen efter Retry-After sekunder; om false — kontrollera först Request ID i historiken
503model_unavailableModellen är tillfälligt otillgängligVälj en annan modell. Om X-Should-Retry: true — försök igen efter Retry-After sekunder; om false — kontrollera först Request ID i historiken
503service_unavailableTillfälligt fel hos AilootOm X-Should-Retry: true — försök igen efter Retry-After sekunder; om false — kontrollera först Request ID i historiken
503charge_not_confirmedSvaret levererades inte: debiteringen kunde inte bekräftas; reserveringen har återförts och ingenting har debiteratsOm X-Should-Retry: true — försök igen efter Retry-After sekunder; om false — kontrollera först Request ID i historiken
504model_timeoutModellen svarade inte inom tidsgränsen; resultatet kan fortfarande kommaSkicka inte anropet på nytt förrän du har kontrollerat Request ID i historiken

Koderna för modellsvar och resultatkontroll (502, 503 och 504) anger nu modellen eller anropet: model_unavailable, model_timeout, invalid_model_response, incomplete_response, charge_not_confirmed och result_pending_check. Om din kod jämför error.code med tidigare värden ersätter du dem med koderna i tabellen; kopplingen mellan gamla och nya koder får du av supporten.

När ett anrop ska upprepas

  • Kontrollera först X-Should-Retry: vid false, result_pending_check eller model_timeout ska du inte upprepa automatiskt. Hitta Request ID i kontrollpanelens historik: där visas resultat och debitering.
  • Upprepning är säker när X-Should-Retry: true har returnerats: vänta Retry-After sekunder. För 5xx räcker inte enbart koden: resultatet kan redan finnas. Kontrollera först historiken i kontrollpanelen eller kontakta supporten med Request ID. Detta är särskilt viktigt för bilder, video, musik och långa agentsteg.
  • Upprepning hjälper inte: 400, 401, 402, 403, 404 — rätta först anropet, nyckeln eller saldot.

Gränser

Frekvens och antal samtidiga anrop begränsas för hela kontot, inte per nyckel. Vid överskridande returneras 429 rate_limit_exceeded med headern Retry-After: 10. Om själva modellen är överbelastad returneras 503 model_overloaded med Retry-After: 30. Behöver du högre kapacitet, kontakta supporten.

Utgiftsgränser anges för nyckeln: den totala gränsen ger 402 api_key_quota_exhausted, fönster på 5 timmar, 1 dag och 7 dagar ger 429 usage_limit_reached. Läs mer — Nycklar och API-adress.

NVIDIA-modeller: kö

Modellistan kan hämtas även vid nollsaldo; generering kräver saldo till reserveringen. NVIDIA-modeller (Nemotron och andra) använder en gemensam kö: vid hög belastning kan svaret komma senare eller felet ”modellen är tillfälligt överbelastad” returneras med Retry-After-headern — försök igen efter angiven tid. Priserna finns i katalogen, och debiteringen fungerar som för övriga modeller.

Modellen bestämmer storleksgränserna: kontext (hur många token som kan skickas) och maximal svarslängd. De anges i katalogen.

Historik och förbrukning

Historik och förbrukning · GET https://ailoot.ai/api/v1/usage · JWT · Authorization: Bearer $TOKEN

JWT ≠ sk-… · Inloggning och sessioner

Har du fler frågor? Skicka Request ID och en beskrivning, så hjälper vi dig.Kontakta supporten