dokumentaatio
Ohjeet

Virheet ja rajoitukset

Markdown

Vastauskoodit, niiden merkitys ja toimenpiteet. Kaikki virheet ovat JSON-muodossa ja sisältävät Request ID:n.

Koko opas

Virheen muoto

Virhe saapuu kutsumasi APIn muodossa: objekti error OpenAIssa, {"type": "error", "error": {...}} Anthropicissa ja error kentillä status ja details Geminissä. Siksi SDK:t tunnistavat ne tavallisiksi API-virheiksi.

  • error.code ja error.reason — alla olevan taulukon virheluokka; arvot ovat samat. error.type — muodon vakioarvo (esimerkiksi invalid_request_error tai server_error).
  • error.request_id (Anthropicissa — request_id ylimmällä tasolla), otsake X-Request-ID ja viestitekstin loppu — pyynnön tunniste.
  • Geminissä luokka on kentässä error.details: ErrorInfo.reason — sama koodi isoilla kirjaimilla (esimerkiksi MODEL_OVERLOADED), domain — ailoot.ai; pyynnön tunniste on kentässä RequestInfo.requestId.
  • Gemini-muodossa 5xx-virhe, jota ei saa yrittää automaattisesti uudelleen, ja result_pending_check saapuvat tilakoodilla 409 ja status ABORTED: näin Gemini SDK ja CLI eivät toista niitä automaattisesti. Virheluokka on kentässä ErrorInfo.reason (esimerkiksi MODEL_TIMEOUT tai RESULT_PENDING_CHECK).
  • OpenAI-muotoisessa vastauksessa on lisäksi ylimmän tason kentät code ja message — vanhoja asiakkaita varten.
{
  "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. …"
}

Virhekoodit

HTTPLuokka (reason)Mitä tapahtuiToimenpide
400invalid_requestPyyntö on virheellinen: väärä runko tai parametri; malli ei tue pyynnön kenttää, liitettä tai työkalua; avain on lähetetty osoitteessa Korjaa pyyntö virhetekstin perusteella: poista tukematon kenttä, liite tai työkalu; lähetä avain otsakkeessa. Tukemattoman kentän, liitteen tai työkalun aiheuttama hylkäys tapahtuu ennen varausta — mitään ei ole veloitettu
400context_length_exceededPyyntö ylittää mallin kontekstinLyhennä historiaa tai valitse malli, jossa on suurempi konteksti
400content_policy_violationMallin säännöt hylkäsivät pyynnönMuotoile pyyntö uudelleen
401invalid_api_keyAvain puuttuu tai on virheellinenTarkista, että koko avain on lähetetty
401api_key_disabledAvain on poistettu käytöstäOta avain käyttöön tai luo uusi
402insufficient_balance, insufficient_quotaVapaa saldo ei riitä edes vähimmäisvaraukseen (insufficient_quota — sama tilanne OpenAI SDK:lle tutussa muodossa)Lataa saldoa tai pienennä max_tokens-arvoa
402api_key_quota_exhaustedAvaimen kokonaiskulutusraja on käytettyNosta avaimen rajaa hallintapaneelissa
402payment_disputedTilillä on velkaa kiistetystä maksustaUudet pyynnöt on keskeytetty velan maksamiseen asti — ota yhteyttä tukeen
403api_key_expiredAvain on vanhentunutLuo uusi avain
403account_inactiveTilisi on poistettu käytöstäOta yhteyttä tukeen
403permission_deniedTämä pyyntö on estetty avaimelta (esimerkiksi IP:n vuoksi)Tarkista avaimen rajoitukset
404model_not_foundMallia ei oleTarkista ID luettelosta /v1/models
404unsupported_endpointMalli ei toimi tässä muodossaValitse toinen muoto tai malli
404not_foundPolkua tai objektia (esimerkiksi tehtävää) ei oleTarkista osoite ja tunniste
409duplicate_requestToiminto samalla idempotenssiavaimella on jo hyväksytty ja mahdollisesti valmisTarkista ensimmäisen toiminnon tulos, älä lähetä uutta
409not_ready, video_not_readyVideo tai muu tehtävä ei ole vielä valmisHae tila myöhemmin
409, 503result_pending_checkSelvitämme pyynnön tulosta. Videotehtävässä tämä on tilalippu result_pending_check: true tilavastauksessa; itse tehtävän tilana pysyy in_progressÄlä lähetä pyyntöä uudelleen — tila ilmestyy historiaan (GET https://ailoot.ai/api/v1/usage). Älä luo videotehtävää uudelleen: tarkista se myöhemmin metodilla GET /v1/videos/{id}
410model_retiredMalli on poistettu palvelustaValitse uusi versio metodista GET /v1/models
413request_too_largePyynnön runko on liian suuriPienennä tiedostoja tai historiaa
429rate_limit_exceeded, gateway_concurrency_limit, gateway_queue_fullTililtäsi lähetetään liikaa pyyntöjä tai samanaikaisia pyyntöjäOdota (otsake Retry-After, yleensä 10 s) ja yritä uudelleen
429usage_limit_reachedAvaimen kulutusjakso on käytetty (5 tuntia, 1 päivä tai 7 päivää)Odota jakson uusiutumista tai nosta avaimen rajaa
500internal_errorAilootin virheOta yhteyttä tukeen Request ID:n kanssa
502invalid_model_response, empty_response, incomplete_responseMalli palautti virheellisen, tyhjän tai puutteellisen vastauksenEtsi Request ID hallintapaneelin historiasta. Jos siellä on tulos tai veloitus, pyynnön toistaminen luo toisen maksullisen pyynnön. Merkinnän puuttuminen ei vahvista, ettei pyyntöä ole lähetetty tai suoritettu: älä toista lähetystä, jonka toteutumisesta ei ole varmuutta; ota yhteyttä tukeen ja ilmoita Request ID.
502result_not_deliveredTulosta ei toimitettu Ailootin syystä, varaus tai veloitus on palautettuPyynnön voi lähettää uudelleen
503model_overloadedMalli on tilapäisesti ylikuormittunutJos X-Should-Retry: true — yritä uudelleen Retry-After-otsakkeessa ilmoitetun sekuntimäärän kuluttua; jos false — tarkista ensin Request ID historiasta
503model_unavailableMalli ei tällä hetkellä ole saatavillaValitse toinen malli. Jos X-Should-Retry: true — yritä uudelleen Retry-After-otsakkeessa ilmoitetun sekuntimäärän kuluttua; jos false — tarkista ensin Request ID historiasta
503service_unavailableTilapäinen häiriö Ailootin puolellaJos X-Should-Retry: true — yritä uudelleen Retry-After-otsakkeessa ilmoitetun sekuntimäärän kuluttua; jos false — tarkista ensin Request ID historiasta
503charge_not_confirmedVastausta ei toimitettu: veloitusta ei voitu vahvistaa; varaus palautettiin eikä rahaa veloitettuJos X-Should-Retry: true — yritä uudelleen Retry-After-otsakkeessa ilmoitetun sekuntimäärän kuluttua; jos false — tarkista ensin Request ID historiasta
504model_timeoutMalli ei vastannut ajoissa, tulos voi vielä ilmestyäÄlä lähetä pyyntöä uudelleen ennen kuin olet tarkistanut Request ID:n historiasta

Mallivastausten ja tuloksen tarkistuksen koodit (502, 503 ja 504) nimeävät nyt mallin tai pyynnön: model_unavailable, model_timeout, invalid_model_response, incomplete_response, charge_not_confirmed ja result_pending_check. Jos koodisi vertaa error.code aiempiin arvoihin, korvaa ne taulukon koodeilla; aiempien ja uusien koodien vastaavuuden kertoo tuki.

Milloin pyyntöä kannattaa yrittää uudelleen

  • Tarkista ensin X-Should-Retry: arvolla false, result_pending_check tai model_timeout älä yritä automaattisesti uudelleen. Etsi Request ID hallintapaneelin historiasta: siellä näkyvät tulos ja veloitus.
  • Uudelleenyritys on turvallinen, kun saat X-Should-Retry: true -otsakkeen: odota Retry-After sekuntia. 5xx-virheissä pelkkä koodi ei riitä: tulos on voinut jo saapua. Tarkista ensin historia hallintapaneelista tai ota yhteyttä tukeen Request ID:n kanssa. Tämä on erityisen tärkeää kuville, videoille, musiikille ja pitkille agenttiaskelille.
  • Uudelleenyritys ei auta: 400, 401, 402, 403, 404 — korjaa ensin pyyntö, avain tai saldo.

Rajoitukset

Pyyntötiheyttä ja samanaikaisten pyyntöjen määrää rajoitetaan koko tilille, ei yksittäiselle avaimelle. Ylityksestä saat 429 rate_limit_exceeded otsakkeella Retry-After: 10. Jos itse malli on ylikuormittunut — 503 model_overloaded kentällä Retry-After: 30. Jos tarvitset suurempaa kuormitusta, ota yhteyttä tukeen.

Kulutusrajat asetetaan avaimelle: kokonaisraja — 402 api_key_quota_exhausted, jaksot 5 tuntia, 1 päivä ja 7 päivää — 429 usage_limit_reached. Lisätietoja — Avaimet ja API-osoite.

NVIDIA-mallit: jono

Malliluettelon voi pyytää myös nollasaldolla; generointi vaatii saldoa varaukseen. NVIDIA-mallit (Nemotron ja muut) käyttävät yhteistä jonoa: suurella kuormituksella vastaus voi saapua myöhemmin tai palautuu virhe ”malli on tilapäisesti ylikuormittunut” Retry-After-otsakkeella — yritä uudelleen ilmoitetun ajan kuluttua. Hinnat ovat luettelossa, ja veloitus toimii kuten muillakin malleilla.

Malli määrittää kokorajat: kontekstin (lähetettävien tokenien määrä) ja vastauksen enimmäispituuden. Ne ilmoitetaan luettelossa.

Historia ja kulutus

Historia ja kulutus · GET https://ailoot.ai/api/v1/usage · JWT · Authorization: Bearer $TOKEN

JWT ≠ sk-… · Kirjautuminen ja istunnot

Onko vielä kysyttävää? Lähetä Request ID ja kuvaus — autamme selvittämään asian.Ota yhteyttä tukeen