Gå til innhold
API-veiledning

Feil

Vis som Markdown Oppdatert

Alle endepunkter feiler på samme måte: en HTTP-status og én JSON-konvolutt.

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"
  }
}
Felt Betydning
type Overordnet feilklasse. Bruk denne til å avgjøre hva du skal gjøre.
code Den nøyaktige årsaken, stabil og maskinlesbar. Hver kode har en seksjon nedenfor; doc_url lenker til den.
message Menneskelesbar forklaring som trygt kan logges eller vises til en utvikler.
param Inndataparameteren eller headeren som er problemet, når det finnes en.
details For inndatafeil: alle problemene som ble funnet: [{ "param", "message" }].
request_id Forespørselen det gjelder, når det finnes en.

Det belastes ingenting for et kall som returnerer en feil. En forespørsel som feiler etter at den er godtatt, beholder statusen failed, har error: { "type", "code", "message" } på forespørselsobjektet og får automatisk tilbakebetaling.

Typer

Type HTTP-status Hva du skal gjøre
invalid_request 400, 413 eller 422 Rett forespørselen. Nytt forsøk med samme kall vil feile igjen.
authentication_error 401 Send en gyldig nøkkel i Authorization: Bearer <key>.
permission_error 403 Bruk en nøkkel med nødvendig scope.
not_found 404 Kontroller modell-ID-en eller forespørsels-ID-en.
insufficient_credits 402 Gjør et påfyll av API-saldoen (top_up_url i feilen).
budget_exceeded 402 Nøkkelens eget budsjett er brukt opp. Endelig løsning: be nøkkeleieren øke det.
conflict 409 Ressursen er ikke i en tilstand som tillater dette kallet.
rate_limited 429 Vent Retry-After sekunder, og prøv deretter på nytt.
upstream_error 502 Modellens backend feilet. Det er trygt å prøve på nytt med samme Idempotency-Key: det kjøres igjen, og du ble ikke belastet.
service_unavailable 503 API-et er satt på pause, eller en avhengighet er nede. Prøv igjen senere.
internal_error 500 En feil hos oss. Prøv igjen. Hvis problemet fortsetter, kontakter du kundestøtte med tidspunktet og request_id.

Koder

invalid_request

Generisk ugyldig forespørsel (400).

invalid_json

Brødteksten er ikke gyldig JSON (400).

invalid_body

Brødteksten er gyldig JSON, men ikke et objekt; modellinndata må være et JSON-objekt (400).

body_too_large

Brødteksten er større enn 16 MB (413). Last opp store filer og send URL-en deres i stedet (se Filer).

invalid_parameter

En spørringsparameter har feil verdi, for eksempel limit utenfor 1 til 100, wait er ikke et tall, en ukjent status eller category, eller storage annet enn permanent / temporary (400). param angir hvilken.

invalid_category

GET /openapi.json?category= angir en kategori som ikke finnes (400). GET https://api.doitong.com/v1/categories viser dem.

invalid_cursor

cursor for et listekall tilhører ikke denne listen (400). Start på nytt uten en cursor.

invalid_idempotency_key

Headeren Idempotency-Key er tom eller lengre enn 255 tegn (400).

invalid_arguments

Et MCP-verktøykall har et manglende eller ugyldig argument (kun MCP). param angir argumentet.

invalid_input

Modellinndata består ikke valideringen (422): en ukjent parameter (meldingen foreslår det nærmeste gyldige navnet), en manglende obligatorisk parameter, feil type, en verdi utenfor den tillatte listen eller det tillatte området, eller både det kanoniske og det opprinnelige navnet angitt med forskjellige verdier. param er den første problematiske parameteren, og details viser alle. Det belastes ingenting.

unsupported_file

En fil har en type vi ikke godtar (422), for eksempel en opplasting med en filtype vi ikke støtter, eller en content_type som ikke samsvarer med filtypen.

invalid_webhook_url

webhook_url er ikke en offentlig https://-URL (422). Private, lokale og vanlige http://-adresser avvises.

missing_api_key

Endepunktet trenger en API-nøkkel, og ingen ble sendt (401).

invalid_api_key

Nøkkelen er ukjent, tilbakekalt eller utløpt (401).

insufficient_scope

Nøkkelen mangler scopet dette kallet trenger (403), for eksempel models:run for en kjøring eller models:read for å lese forespørsler og saldoen. Se Autentisering.

account_disabled

Kontoen er avsluttet eller suspendert (403). Nøklene dens fungerer ikke lenger.

not_found

Stien finnes ikke (404).

model_not_found

Ingen offentlig modell har denne ID-en (404). List modeller med GET https://api.doitong.com/v1/models.

request_not_found

Det finnes ingen forespørsel med denne ID-en på kontoen din (404). Forespørsler fra andre kontoer er aldri synlige.

insufficient_credits

Kontoens API-saldo (API-kreditter, 1 000 API-kreditter = 1 $ – ikke kredittene i Doitong-appene) dekker ikke prisen for dette kallet (402). Svaret sendes før noe belastes. Feilen inneholder top_up_url; legg til penger på https://doitong.com/developers/dashboard#balance og prøv igjen.

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

Kallet ville overskride API-nøkkelens eget budsjett i API-kreditter (402). Budsjettet fastsettes av nøkkeleieren; det hjelper ikke å prøve på nytt før eieren øker det.

conflict

Kallet er i konflikt med ressursens nåværende tilstand (409).

idempotency_mismatch

Idempotency-Key er allerede brukt med en annen brødtekst (409). Bruk en ny nøkkel for en ny operasjon.

idempotency_in_progress

En forespørsel med samme Idempotency-Key opprettes akkurat nå (409). Prøv igjen om et øyeblikk for å hente den.

request_active

Forespørselen er fortsatt queued eller running, så den har ingen filer som kan slettes ennå (409). Slett dem når den er ferdig.

not_cancelable

Forespørselen er allerede succeeded eller failed og kan ikke avbrytes (409).

rate_limited

Nøkkelen sendte for mange forespørsler i det gjeldende tidsvinduet (429). Se headerne X-RateLimit-* og Retry-After.

too_many_inflight

Kontoen har allerede 10 forespørsler som er queued eller running (429). Start den neste når en av dem er ferdig.

upstream_error

Modellens backend avviste eller feilet forespørselen (502 ved kjøring, eller failed med denne koden på forespørselen). API-kredittene betales tilbake. Hvis backenden selv avviste inndataene, returnerer kallet 422 invalid_input med meldingen.

upstream_lost

Modellens backend kjenner ikke lenger forespørselen, så det vil aldri komme noe resultat. Den avsluttes som failed med denne koden (type upstream_error) og får tilbakebetaling. Kjør den på nytt.

timeout

Forespørselen kjørte lenger enn grensen (15 minutter for bilder, 60 for video, 30 ellers) og ble stoppet. Den avsluttes som failed med denne koden og får tilbakebetaling.

service_unavailable

API-et er midlertidig satt på pause, eller en avhengighet som filopplastinger er nede (503). Prøv igjen senere.

internal_error

Noe gikk galt hos oss (500). Prøv igjen. Hvis problemet fortsetter, kontakter du kundestøtte.

charge_failed

Kontoen kunne ikke belastes på grunn av et internt problem (500). Forespørselen merkes som failed; ingenting ble trukket. Prøv igjen.

pricing_unavailable

Modellens pris er ikke konfigurert, så den kan ikke beregnes eller kjøres akkurat nå (500).