Virheet
Jokainen päätepiste epäonnistuu samalla tavalla: HTTP-tila ja yksi JSON-kuori.
{
"error": {
"type": "invalid_request",
"code": "invalid_input",
"message": "duration must be one of 5, 10.",
"param": "duration",
"details": [ { "param": "duration", "message": "duration must be one of 5, 10." } ],
"request_id": null,
"doc_url": "https://doitong.com/developers/docs/errors#invalid_input"
}
}
| Kenttä | Merkitys |
|---|---|
type |
Virheen yleinen luokka. Päätä tämän perusteella, mitä tehdä. |
code |
Tarkka syy, vakaa ja koneellisesti luettava. Jokaisella koodilla on alla oma osionsa; doc_url linkittää siihen. |
message |
Ihmiselle luettava selitys, jonka voi turvallisesti kirjata lokiin tai näyttää kehittäjälle. |
param |
Virheen aiheuttanut syöteparametri tai otsake, jos sellainen on. |
details |
Syötevirheissä kaikki havaitut ongelmat: [{ "param", "message" }]. |
request_id |
Pyyntö, jota virhe koskee, jos sellainen on. |
Virheen palauttavasta kutsusta ei veloiteta mitään. Pyyntö, joka epäonnistuu sen jälkeen, kun se on hyväksytty, säilyttää tilan
failed, sisältää pyyntöobjektissa kentän error: { "type", "code", "message" }, ja siitä tehdään automaattisesti hyvitys.
Tyypit
| Tyyppi | HTTP-tila | Toimi näin |
|---|---|---|
invalid_request |
400, 413 tai 422 | Korjaa pyyntö. Saman kutsun uudelleenyritys epäonnistuu taas. |
authentication_error |
401 | Lähetä kelvollinen avain otsakkeessa Authorization: Bearer <key>. |
permission_error |
403 | Käytä avainta, jolla on tarvittava käyttöoikeusalue. |
not_found |
404 | Tarkista mallin tunniste tai pyynnön tunniste. |
insufficient_credits |
402 | Tee API-saldon lisäys (top_up_url virheessä). |
budget_exceeded |
402 | Avaimen oma budjetti on käytetty. Lopullinen ratkaisu: pyydä avaimen omistajaa korottamaan sitä. |
conflict |
409 | Resurssi ei ole tilassa, joka sallii tämän kutsun. |
rate_limited |
429 | Odota Retry-After sekuntia ja yritä sitten uudelleen. |
upstream_error |
502 | Mallin taustajärjestelmä epäonnistui. Uudelleenyritys samalla Idempotency-Key-avaimella on turvallista: ajo suoritetaan uudelleen eikä sinua veloitettu. |
service_unavailable |
503 | API on keskeytetty tai riippuvuus ei ole käytettävissä. Yritä myöhemmin uudelleen. |
internal_error |
500 | Virhe palvelussamme. Yritä uudelleen; jos ongelma jatkuu, ota yhteyttä tukeen ja ilmoita aika sekä request_id. |
Koodit
invalid_request
Yleinen virheellinen pyyntö (400).
invalid_json
Runko ei ole kelvollista JSONia (400).
invalid_body
Runko on kelvollista JSONia, mutta ei objekti; mallin syötteen on oltava JSON-objekti (400).
body_too_large
Runko on suurempi kuin 16 MB (413). Lataa suuret tiedostot ja välitä niiden URL-osoite sen sijaan (katso Tiedostot).
invalid_parameter
Kyselyparametrin arvo on väärä, esimerkiksi limit on alueen 1–100 ulkopuolella, wait ei ole luku, status tai category on tuntematon tai storage on jokin muu kuin permanent / temporary (400). param ilmoittaa sen nimen.
invalid_category
GET /openapi.json?category= ilmoittaa luokan, jota ei ole (400). GET https://api.doitong.com/v1/categories luettelee luokat.
invalid_cursor
Luettelokutsun cursor ei kuulu tähän luetteloon (400). Aloita uudelleen ilman kohdistinta.
invalid_idempotency_key
Idempotency-Key-otsake on tyhjä tai yli 255 merkkiä pitkä (400).
invalid_arguments
MCP-työkalukutsusta puuttuu argumentti tai se on virheellinen (vain MCP). param ilmoittaa argumentin nimen.
invalid_input
Mallin syöte ei läpäise validointia (422): tuntematon parametri (viesti ehdottaa lähintä kelvollista nimeä), puuttuva pakollinen parametri, väärä tyyppi, sallittujen arvojen tai alueen ulkopuolinen arvo tai sekä kanoninen että natiivi nimi annettuna eri arvoilla. param on ensimmäinen virheellinen parametri ja details luettelee ne kaikki.
Mitään ei veloiteta.
unsupported_file
Tiedoston tyyppiä ei hyväksytä (422), esimerkiksi tiedosto käyttää tukematonta päätettä tai content_type ei vastaa päätettä.
invalid_webhook_url
webhook_url ei ole julkinen https://-URL-osoite (422). Yksityiset, paikalliset ja tavalliset http://-osoitteet hylätään.
missing_api_key
Päätepiste tarvitsee API-avaimen, mutta sitä ei lähetetty (401).
invalid_api_key
Avain on tuntematon, peruttu tai vanhentunut (401).
insufficient_scope
Avaimella ei ole tämän kutsun tarvitsemaa käyttöoikeusaluetta (403), esimerkiksi models:run ajoa varten tai models:read pyyntöjen ja saldon lukemista varten. Katso Todennus.
account_disabled
Tili on suljettu tai jäädytetty (403). Sen avaimet eivät enää toimi.
not_found
Polkua ei ole (404).
model_not_found
Tällä tunnisteella ei ole julkista mallia (404). Luettele mallit komennolla GET https://api.doitong.com/v1/models.
request_not_found
Tililläsi ei ole tällä tunnisteella olevaa pyyntöä (404). Muiden tilien pyyntöjä ei koskaan näytetä.
insufficient_credits
Tilin API-saldo (API-krediittiä, 1 000 API-krediittiä = 1 $ — ei Doitong-sovellusten krediittejä) ei riitä tämän kutsun hintaan (402). Vastaus lähetetään ennen veloitusta. Virhe sisältää top_up_url-osoitteen; lisää rahaa osoitteessa https://doitong.com/developers/dashboard#balance ja yritä uudelleen.
{ "error": { "type": "insufficient_credits", "code": "insufficient_credits",
"message": "This request costs 560 API credits ($0.56); the API balance is 120 API credits ($0.12). Top up at https://doitong.com/developers/dashboard#balance",
"top_up_url": "https://doitong.com/developers/dashboard#balance", "doc_url": "https://doitong.com/developers/docs/errors#insufficient_credits" } }
budget_exceeded
Kutsu ylittäisi API-avaimen oman budjetin API-krediitteinä (402). Avaimen omistaja määrittää budjetin; uudelleenyritys ei auta, ennen kuin hän korottaa sitä.
conflict
Kutsu on ristiriidassa resurssin nykyisen tilan kanssa (409).
idempotency_mismatch
Idempotency-Key-avainta on jo käytetty eri rungon kanssa (409). Käytä uutta avainta uuteen toimintaan.
idempotency_in_progress
Samalla Idempotency-Key-avaimella luodaan juuri nyt pyyntöä (409). Yritä hetken kuluttua uudelleen saadaksesi sen.
request_active
Pyyntö on yhä tilassa queued tai running, joten sillä ei ole vielä poistettavia tiedostoja (409). Poista ne, kun pyyntö on valmis.
not_cancelable
Pyyntö on jo tilassa succeeded tai failed, eikä sitä voi peruuttaa (409).
rate_limited
Avain teki nykyisen aikajakson aikana liian monta pyyntöä (429). Katso X-RateLimit-*- ja Retry-After-otsakkeet.
too_many_inflight
Tilillä on jo 10 pyyntöä tilassa queued tai running (429). Käynnistä seuraava, kun yksi niistä valmistuu.
upstream_error
Mallin taustajärjestelmä hylkäsi pyynnön tai epäonnistui sen käsittelyssä (ajossa 502 tai pyyntöobjektissa failed tällä koodilla). API-krediiteistä tehdään hyvitys. Jos taustajärjestelmä hylkäsi syötteen itse, kutsu palauttaa sen sijaan viestin sisältävän 422 invalid_input -virheen.
upstream_lost
Mallin taustajärjestelmä ei enää tunne pyyntöä, joten tulosta ei koskaan saada. Pyyntö päättyy tilaan failed tällä koodilla (tyyppi upstream_error) ja siitä tehdään hyvitys. Suorita se uudelleen.
timeout
Pyyntö kesti pidempään kuin sen aikaraja (kuville 15 minuuttia, videolle 60 ja muille 30 minuuttia), joten se pysäytettiin. Se päättyy tällä koodilla tilaan failed, ja siitä tehdään hyvitys.
service_unavailable
API on tilapäisesti keskeytetty tai jokin riippuvuus, kuten tiedostojen lataus, ei ole käytettävissä (503). Yritä myöhemmin uudelleen.
internal_error
Palvelussamme tapahtui virhe (500). Yritä uudelleen; jos ongelma jatkuu, ota yhteyttä tukeen.
charge_failed
Tililtä ei voitu veloittaa sisäisen ongelman vuoksi (500). Pyyntö merkitään tilaan failed; mitään ei veloitettu. Yritä uudelleen.
pricing_unavailable
Mallin hintaa ei ole määritetty, joten sitä ei voi tällä hetkellä hinnoitella tai suorittaa (500).