Preskoči na vsebino
Vodič po API-ju

Napake

Prikaži kot Markdown Posodobljeno

Vsaka končna točka odpove na enak način: s kodo stanja HTTP in enim ovojem JSON.

JSON
{
  "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"
  }
}
Polje Pomen
type Širši razred napake. Na podlagi tega določite, kaj storiti.
code Natančen razlog, stabilen in strojno berljiv. Vsaka koda ima spodaj svoj razdelek; doc_url vodi do njega.
message Razlaga, berljiva človeku, primerna za beleženje ali prikaz razvijalcu.
param Vhodni parameter ali glava, ki povzroča napako, če obstaja.
details Pri vhodnih napakah vsaka najdena težava: [{ "param", "message" }].
request_id Zahteva, na katero se nanaša, če obstaja.

Za klic, ki vrne napako, se nič ne zaračuna. Zahteva, ki ne uspe po sprejetju, ohrani stanje failed, na objektu zahteve vsebuje error: { "type", "code", "message" } in se samodejno povrne.

Vrste

Vrsta Stanje HTTP Kaj storiti
invalid_request 400, 413 ali 422 Popravite zahtevo. Ponovni poskus istega klica bo znova neuspešen.
authentication_error 401 Pošljite veljaven ključ v Authorization: Bearer <key>.
permission_error 403 Uporabite ključ z zahtevanim obsegom.
not_found 404 Preverite ID modela ali ID zahteve.
insufficient_credits 402 Izvedite dopolnitev dobroimetja API (top_up_url v napaki).
budget_exceeded 402 Proračun ključa je porabljen. Končna rešitev: prosite lastnika ključa, naj ga poveča.
conflict 409 Vir ni v stanju, ki omogoča ta klic.
rate_limited 429 Počakajte Retry-After sekund in nato poskusite znova.
upstream_error 502 Zaledje modela ni uspelo. Ponovni poskus z istim Idempotency-Key je varen: izvedel se bo znova; zaračunano vam ni bilo.
service_unavailable 503 API je začasno zaustavljen ali odvisnost ni na voljo. Poskusite pozneje.
internal_error 500 Napaka na naši strani. Poskusite znova; če se ponavlja, se ob času in z request_id obrnite na podporo.

Kode

invalid_request

Splošno nepravilno oblikovana zahteva (400).

invalid_json

Telo ni veljaven JSON (400).

invalid_body

Telo je veljaven JSON, vendar ni objekt; vhod modela mora biti objekt JSON (400).

body_too_large

Telo je večje od 16 MB (413). Naložite velike datoteke in namesto tega posredujte njihov URL (glejte Datoteke).

invalid_parameter

Parameter poizvedbe ima napačno vrednost, na primer limit zunaj razpona 1–100, wait ni število, neznan status ali category oziroma storage, ki ni permanent / temporary (400). param ga poimenuje.

invalid_category

GET /openapi.json?category= navaja kategorijo, ki ne obstaja (400). GET https://api.doitong.com/v1/categories jih izpiše.

invalid_cursor

cursor klica za seznam ne pripada temu seznamu (400). Začnite znova brez kazalca.

invalid_idempotency_key

Glava Idempotency-Key je prazna ali daljša od 255 znakov (400).

invalid_arguments

Klic orodja MCP ima manjkajoč ali nepravilno oblikovan argument (samo MCP). param poimenuje argument.

invalid_input

Vhod modela ne prestane preverjanja (422): neznan parameter (sporočilo predlaga najbližje veljavno ime), manjkajoč zahtevan parameter, napačen tip, vrednost zunaj dovoljenega seznama ali razpona oziroma hkraten vnos kanoničnega in izvornega imena z različnima vrednostma. param je prvi sporni parameter, details pa navede vse. Nič se ne zaračuna.

unsupported_file

Datoteka ima vrsto, ki je ne sprejemamo (422), na primer naložena datoteka z nepodprto pripono ali content_type, ki se ne ujema s pripono.

invalid_webhook_url

webhook_url ni javni URL https:// (422). Zasebni, lokalni in navadni naslovi http:// so zavrnjeni.

missing_api_key

Končna točka potrebuje ključ API, vendar ta ni bil poslan (401).

invalid_api_key

Ključ je neznan, preklican ali potekel (401).

insufficient_scope

Ključ nima obsega, ki ga ta klic potrebuje (403), na primer models:run za zagon ali models:read za branje zahtev in stanja. Glejte Preverjanje pristnosti.

account_disabled

Račun je zaprt ali začasno onemogočen (403). Njegovi ključi ne delujejo več.

not_found

Pot ne obstaja (404).

model_not_found

Javni model s tem ID-jem ne obstaja (404). Modele izpišete z GET https://api.doitong.com/v1/models.

request_not_found

V vašem računu ne obstaja nobena zahteva s tem ID-jem (404). Zahteve drugih računov niso nikoli vidne.

insufficient_credits

Stanje API računa (krediti API, 1000 API kreditov = 1 $ — ne krediti aplikacij Doitong) ne pokriva cene tega klica (402). Odgovor je poslan, preden se kar koli zaračuna. Napaka vsebuje top_up_url; sredstva dodajte na https://doitong.com/developers/dashboard#balance in poskusite znova.

JSON
{ "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

Klic bi presegel lasten proračun ključa API v kreditih API (402). Proračun določi lastnik ključa; ponovni poskus ne pomaga, dokler ga lastnik ne poveča.

conflict

Klic je v nasprotju s trenutnim stanjem vira (409).

idempotency_mismatch

Idempotency-Key je bil že uporabljen z drugim telesom (409). Za novo dejanje uporabite nov ključ.

idempotency_in_progress

Zahteva z istim Idempotency-Key se trenutno ustvarja (409). Čez trenutek poskusite znova, da jo pridobite.

request_active

Zahteva je še vedno queued ali running, zato še nima datotek za brisanje (409). Izbrišite jih, ko se konča.

not_cancelable

Zahteva je že succeeded ali failed in je ni mogoče preklicati (409).

rate_limited

Ključ je v trenutnem oknu poslal preveč zahtev (429). Glejte glavi X-RateLimit-* in Retry-After.

too_many_inflight

Račun že ima 10 zahtev queued ali running (429). Naslednjo začnite, ko se ena od njih konča.

upstream_error

Zaledje modela je zahtevo zavrnilo ali ni uspelo (502 pri zagonu oziroma failed s to kodo na zahtevi). Krediti API se povrnejo. Če je zaledje samo zavrnilo vhod, klic vrne 422 invalid_input z ustreznim sporočilom.

upstream_lost

Zaledje modela zahteve ne pozna več, zato rezultat ne bo nikoli prispel. Konča se kot failed s to kodo (vrsta upstream_error) in se povrne. Zaženite jo znova.

timeout

Zahteva je tekla dlje od omejitve (15 minut za slike, 60 za video, sicer 30) in je bila ustavljena. Konča se kot failed s to kodo in se povrne.

service_unavailable

API je začasno zaustavljen ali odvisnost, kot so nalaganja datotek, ni na voljo (503). Poskusite pozneje.

internal_error

Na naši strani je prišlo do napake (500). Poskusite znova; če se ponavlja, se obrnite na podporo.

charge_failed

Računa ni bilo mogoče bremeniti zaradi notranje težave (500). Zahteva je označena kot failed; nič ni bilo odvzeto. Poskusite znova.

pricing_unavailable

Cena modela ni nastavljena, zato je trenutno ni mogoče prikazati ali izvesti (500).