Hibák
Minden végpont ugyanúgy hibázik: egy HTTP-állapotkódot és egyetlen JSON-burkot ad vissza.
{
"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"
}
}
| Mező | Jelentés |
|---|---|
type |
A hiba általános osztálya. Ez alapján döntse el, mi a teendő. |
code |
A pontos, stabil és géppel olvasható ok. Minden kódhoz tartozik egy alábbi szakasz; a doc_url erre hivatkozik. |
message |
Ember számára olvasható magyarázat, amely biztonságosan naplózható vagy megjeleníthető egy fejlesztőnek. |
param |
A hibás bemeneti paraméter vagy fejléc, ha van ilyen. |
details |
Bemeneti hibáknál minden megtalált probléma: [{ "param", "message" }]. |
request_id |
Az érintett kérés azonosítója, ha létezik. |
A hibát visszaadó hívásért nem számítunk fel díjat. A kérés, amely az elfogadása után hibázik, failed állapotú marad, a kérésobjektumban az error: { "type", "code", "message" } értéket hordozza, és automatikusan visszatérítésre kerül.
Típusok
| Típus | HTTP-állapot | Teendő |
|---|---|---|
invalid_request |
400, 413 vagy 422 | Javítsa a kérést. Ugyanennek a hívásnak az újrapróbálása ismét hibázik. |
authentication_error |
401 | Küldjön érvényes kulcsot az Authorization: Bearer <key> fejlécben. |
permission_error |
403 | Használjon a szükséges hatókörrel rendelkező kulcsot. |
not_found |
404 | Ellenőrizze a modell- vagy kérésazonosítót. |
insufficient_credits |
402 | Töltse fel az API-egyenleget (top_up_url a hibában). |
budget_exceeded |
402 | A kulcs saját kerete elfogyott. Végső megoldásként kérje meg a kulcs tulajdonosát a keret emelésére. |
conflict |
409 | Az erőforrás nincs olyan állapotban, amely lehetővé teszi ezt a hívást. |
rate_limited |
429 | Várjon Retry-After másodpercet, majd próbálja újra. |
upstream_error |
502 | A modell háttérrendszere hibázott. Biztonságosan újrapróbálható ugyanazzal az Idempotency-Key értékkel: újra lefut, és nem számítottunk fel díjat. |
service_unavailable |
503 | Az API szünetel, vagy egy függőség nem érhető el. Próbálja később. |
internal_error |
500 | A mi hibánk. Próbálja újra; ha fennáll, forduljon az ügyfélszolgálathoz az időpont és a request_id megadásával. |
Kódok
invalid_request
Általánosan hibásan formázott kérés (400).
invalid_json
A törzs nem érvényes JSON (400).
invalid_body
A törzs érvényes JSON, de nem objektum; a modell bemenetének JSON-objektumnak kell lennie (400).
body_too_large
A törzs nagyobb 16 MB-nál (413). Töltsön fel nagy fájlokat, és adja át helyettük az URL-jüket (lásd: Fájlok).
invalid_parameter
Egy lekérdezési paraméter értéke hibás, például a limit értéke nincs 1 és 100 között, a wait nem szám, ismeretlen a status vagy a category, illetve a storage értéke nem permanent / temporary (400). A param nevezi meg.
invalid_category
A GET /openapi.json?category= nem létező kategóriát nevez meg (400). A GET https://api.doitong.com/v1/categories felsorolja őket.
invalid_cursor
A listázó hívás cursor értéke nem ehhez a listához tartozik (400). Kezdje újra kurzor nélkül.
invalid_idempotency_key
Az Idempotency-Key fejléc üres vagy 255 karakternél hosszabb (400).
invalid_arguments
Egy MCP-eszközhívásból hiányzik egy argumentum, vagy az hibásan formázott (csak MCP). A param nevezi meg az argumentumot.
invalid_input
A modell bemenete nem felel meg az ellenőrzésnek (422): ismeretlen paraméter, hiányzó kötelező paraméter, hibás típus, az engedélyezett listán vagy tartományon kívüli érték, illetve a kanonikus és a natív név egyaránt meg van adva eltérő értékekkel. A param az első hibás paramétert nevezi meg, a details pedig mindet felsorolja. Ezért nem számítunk fel díjat.
unsupported_file
A fájl típusa nem támogatott (422), például a feltöltés kiterjesztése nem támogatott, vagy a content_type nem egyezik a kiterjesztéssel.
invalid_webhook_url
A webhook_url nem nyilvános https:// URL (422). A privát, helyi és egyszerű http:// címeket elutasítjuk.
missing_api_key
A végpont API-kulcsot igényel, de nem küldtek kulcsot (401).
invalid_api_key
A kulcs ismeretlen, visszavont vagy lejárt (401).
insufficient_scope
A kulcsból hiányzik a híváshoz szükséges hatókör (403), például futtatáshoz a models:run, a kérések és az egyenleg olvasásához pedig a models:read. Lásd: Hitelesítés.
account_disabled
A fiók lezárt vagy felfüggesztett (403). A kulcsai többé nem működnek.
not_found
Az útvonal nem létezik (404).
model_not_found
Nincs ilyen azonosítójú nyilvános modell (404). A modelleket a GET https://api.doitong.com/v1/models paranccsal listázhatja.
request_not_found
A fiókjában nem létezik ilyen azonosítójú kérés (404). Más fiókok kérései soha nem láthatók.
insufficient_credits
A fiók API-egyenlege (API-kredit, 1000 API-jóváírás = 1 $ — nem a Doitong alkalmazások kreditjei) nem fedezi a hívás árát (402). A válasz még a terhelés előtt elküldésre kerül. A hiba tartalmazza a top_up_url értéket; töltsön fel pénzt itt: https://doitong.com/developers/dashboard#balance, majd próbálja újra.
{ "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
A hívás túllépné az API-kulcs saját, API-kreditben megadott keretét (402). A keretet a kulcs tulajdonosa állítja be; az újrapróbálás addig nem segít, amíg meg nem emeli.
conflict
A hívás ütközik az erőforrás aktuális állapotával (409).
idempotency_mismatch
Az Idempotency-Key értéket már más törzzsel használták (409). Új művelethez használjon új kulcsot.
idempotency_in_progress
Éppen most hoznak létre egy kérést ugyanazzal az Idempotency-Key értékkel (409). Egy pillanat múlva próbálja újra a lekéréséhez.
request_active
A kérés még queued vagy running állapotú, ezért egyelőre nincsenek törölhető fájljai (409). A törlést a befejezése után végezze el.
not_cancelable
A kérés már succeeded vagy failed állapotú, ezért nem szakítható meg (409).
rate_limited
A kulcs túl sok kérést küldött az aktuális időablakban (429). Lásd az X-RateLimit-* és Retry-After fejléceket.
too_many_inflight
A fiókban már 10 queued vagy running kérés van (429). A következőt akkor indítsa el, amikor egyikük befejeződik.
upstream_error
A modell háttérrendszere elutasította vagy nem tudta feldolgozni a kérést (futtatáskor 502, illetve a kérésen ezzel a kóddal failed). Az API-krediteket visszatérítjük. Ha maga a háttérrendszer utasította el a bemenetet, a hívás helyette 422 invalid_input hibával és annak üzenetével tér vissza.
upstream_lost
A modell háttérrendszere már nem ismeri a kérést, ezért eredmény soha nem érkezik. A kérés ezzel a kóddal és upstream_error típusban failed állapotú lesz, a díjat pedig visszatérítjük. Futtassa újra.
timeout
A kérés túllépte a korlátját (képeknél 15 perc, videónál 60, egyébként 30), ezért leállítottuk. failed állapotú lesz ezzel a kóddal, és a díjat visszatérítjük.
service_unavailable
Az API ideiglenesen szünetel, vagy egy függőség, például a fájlfeltöltés, nem érhető el (503). Próbálja később.
internal_error
Valami meghibásodott a mi oldalunkon (500). Próbálja újra; ha fennáll, forduljon az ügyfélszolgálathoz.
charge_failed
Belső hiba miatt nem sikerült megterhelni a fiókot (500). A kérés failed állapotú lesz; nem vontunk le semmit. Próbálja újra.
pricing_unavailable
A modell ára nincs beállítva, ezért jelenleg nem kérhető rá árajánlat, és nem futtatható (500).