Sleppa yfir í efni
API-leiðbeiningar

Beiðnir

Skoða sem Markdown Uppfært

Beiðni er eitt kall á eitt líkan. Hún hefur auðkenni (req_…), stöðu, kostnað í API-inneign (1000 = 1 USD) og, þegar hún heppnast, mynduðu skrárnar. Sami hlutur kemur til baka frá öllum endapunktunum hér fyrir neðan, fyrir hvert líkan.

Finna líkan

Vörulisti allra 1.496 líkananna er opinbert JSON (ekki þarf lykil):

skipanalína
curl "https://api.doitong.com/v1/models?category=text-to-video&lab=Google&limit=20"
Færibreyta fyrir fyrirspurn Merking
q Orð sem öll verða að koma fyrir í heiti, auðkenni, framleiðanda eða tögum, til dæmis kling 3.
category Eitt flokksauðkenni, til dæmis text-to-video eða upscale. GET https://api.doitong.com/v1/categories sýnir öll 21 með fjölda þeirra.
lab Framleiðandi líkansins, eftir heiti eða auðkenni, til dæmis Google eða black-forest-labs.
family family-auðkenni úr fyrri röð: hvert afbrigði eins líkans (pro, fast, image-to-video, …).
mode exact (verðið er reiknað út frá inntakinu), measured (út frá lengd eða stærð inntaksskránna), estimate (áætlað verð fyrir hverja keyrslu) eða metered (rukkað eftir raunnotkun, allt að hámarki fyrir hverja keyrslu).
limit, cursor Síðustærð (1 til 100, sjálfgefið 50) og next_cursor úr fyrri síðu.

Hver röð hefur id, name, lab, category, family, summary, tags, output_kind, docs_url og price- hlut (sjá Verðlagning). GET https://api.doitong.com/v1/models/{model_id} bætir við fullu JSON Schema fyrir inntak og úttak, stöðluðum færibreytuheitum, verðreglunum og dæmi um inntak. Óþekkt category eða mode skilar 400 invalid_parameter.

Keyra líkan

skipanalína
curl -X POST "https://api.doitong.com/v1/run/{model_id}?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-1842-cover" \
  -d '{"prompt": "..."}'
  • Meginmálið er inntak líkansins, JSON-hlutur. Hver líkanasíða sýnir færibreytur þess.
  • Inntakið er yfirfarið áður en nokkuð er rukkað. Ógilt inntak skilar 422 invalid_input með vandræðalegu param og kostar ekkert.
  • ?wait=N (allt að 20 sekúndur) heldur kallinu opnu þar til beiðninni lýkur eða tíminn rennur út.
  • ?webhook_url=https://… sendir undirritað POST á URL-ið þegar beiðninni lýkur (sjá Vefkrókar).
  • ?storage=permanent eða ?storage=temporary velur hversu lengi úttaksskrárnar eru geymdar; án þess gildir stilling reikningsins (sjá Hvar skrár eru geymdar).

Svarið er 202 Accepted meðan beiðnin er enn í vinnslu og 200 OK þegar henni lauk innan biðtímans (eða þegar um endurspilun er að ræða, sjá hér fyrir neðan). Hausarnir Location og Doitong-Request-Id innihalda URL og auðkenni beiðninnar.

Stöður

Lífsferill beiðni
  1. queued Samþykkt og gjaldfært, bíður starfsmanns
  2. running Líkanið er að búa til úttakið
  3. Lokastaðal:
    • succeededTilvitnað verð gjaldfært; outputs[] inniheldur URL í geymsluna okkar
    • failedEndurgreitt sjálfkrafa; villan útskýrir ástæðuna
    • canceledStöðvað áður en niðurstaða fékkst; endurgreitt
Staða Merking Lokastöðutilvik
queued Samþykkt og rukkað, bíður eftir vinnsluaðila. queue_position getur sýnt sætið í röðinni. nei
running Líkanið er að mynda úttakið. nei
succeeded Lokið. outputs sýnir skrárnar. já
failed Líkanið eða takmörk stöðvuðu hana. error segir hvers vegna. API-inneignin er endurgreidd. já
canceled Hætt við áður en niðurstaða varð til. API-inneignin er endurgreidd. já

Beiðni sem keyrir lengur en tímamörk hennar nær ekki fram að ganga með kóðanum timeout og er endurgreidd: 15 mínútur fyrir myndir, 60 mínútur fyrir myndband, 30 mínútur fyrir hljóð og allt annað.

Beiðnahluturinn

JSON
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "flux/schnell",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:01Z",
  "completed_at": "2026-10-20T12:00:02Z",
  "queue_position": null,
  "cost": { "credits": 3, "usd": "0.003", "charged": 3, "refunded": 0 },
  "input": { "prompt": "..." },
  "output": { "images": [ { "url": "https://content.doitong.com/dev-api/…/0-output.jpeg", "width": 1024, "height": 768 } ] },
  "outputs": [
    { "type": "image", "url": "https://content.doitong.com/dev-api/…/0-output.jpeg", "content_type": "image/jpeg",
      "width": 1024, "height": 768, "file_size": 183920, "stored": true }
  ],
  "error": null,
  "metrics": { "inference_seconds": 1.2 },
  "storage": { "mode": "permanent", "bytes": 183920, "expires_at": null, "expired": false },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
  • outputs er eins fyrir hvert líkan: ein færsla fyrir hverja myndaða skrá með type (image, video, audio, file eða 3d), url í geymslu okkar, content_type og, þegar það er þekkt, file_size, width, height, duration.
  • output er eigin niðurstöðuhlutur líkansins (reitir hans eru taldir upp á hverri líkanasíðu) með sömu URL-slóðum.
  • storage segir hvernig skrárnar eru geymdar: mode (permanent eða temporary), geymd bytes, expires_at (þegar tímabundinni skrá er eytt, null fyrir varanlegar) og expired (true þegar skrárnar eru horfnar).
  • cost.credits er verð kallsins í API-inneign (cost.usd í USD), cost.charged það sem var dregið af API-stöðunni, cost.refunded það sem kom til baka. Fyrir metered-líkan er cost.credits hámarkið sem haldið er eftir í upphafi (cost.held); þegar keyrslan heppnast sýnir cost.settled hver raunnotkunin varð og afgangur hámarksins er í cost.refunded (sjá Rukkað eftir notkun).
  • Þegar beiðni mistekst er error { "type": …, "code": …, "message": … }.

Lesa beiðni

skipanalína
curl "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"
  • ?wait=N (allt að 20 sekúndur) bíður með langri könnun: kallið skilar sér um leið og beiðnin er komin í lokastöðu eða eftir N sekúndur með núverandi stöðu. Að endurtaka þetta er einfaldasta leiðin til að bíða eftir niðurstöðu.
  • ?logs=1 bætir framvindulínum líkansins (síðustu 50) við sem logs.

Þú getur aðeins lesið beiðnir á þínum eigin reikningi; annað auðkenni er 404 request_not_found.

Birta beiðnir

skipanalína
curl "https://api.doitong.com/v1/requests?limit=20&status=succeeded&model=flux/schnell" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Nýjustu fyrst. limit er 1 til 100 (sjálfgefið 20), status og model sía niðurstöðurnar. Svarið er { "object": "list", "data": [ … ], "has_more": true, "next_cursor": "req_…" }; sendu cursor=<next_cursor> fyrir næstu síðu.

Hætta við beiðni

skipanalína
curl -X POST "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel" \
  -H "Authorization: Bearer $DOITONG_API_KEY"
  • Hætt við áður en líkanið hóf vinnslu: staðan verður canceled, API-inneignin er endurgreidd og þú færð 200.
  • Þegar líkanið er þegar að mynda úttak: hætt við er komið áfram og þú færð 202 með "cancel_requested": true. Ef líkanið klárar samt heppnast beiðnin eðlilega og er rukkuð.
  • Þegar beiðnin er þegar í lokastöðu: 409 not_cancelable (beiðni sem þegar er canceled skilar einfaldlega 200).

Eyða skrám beiðni

skipanalína
curl -X DELETE "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/files" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Eyðir afritum okkar af úttaksskrám beiðninnar samstundis og stöðvar geymslugjaldið. Svarið er beiðni með storage.expired: true; URL-slóðirnar eru áfram í færslunni en virka ekki lengur. Að kalla á þetta aftur breytir engu (200). Beiðni sem er enn queued eða running hefur engar skrár enn: 409 request_active. Krefst models:run.

Endurtekningaröryggi: reyna aftur án tvöfaldrar greiðslu

Net geta bilað. Til að reyna keyrslu aftur á öruggan hátt skaltu senda hausinn Idempotency-Key (hvaða streng sem er, allt að 255 stafir, einstakur fyrir hverja aðgerð, til dæmis eigið pöntunarnúmer):

  • Sami lykill og sami megintexti og áður: þú færð upphaflegu beiðnina til baka (200, hausinn Idempotent-Replayed: true) og ekkert er rukkað aftur.
  • Sami lykill og megintexti eftir keyrslu sem mistókst áður en hún náði til líkansins (upstream_error eða internal_error við sendingu, insufficient_credits, budget_exceeded, too_many_inflight): ekkert varð til og ekkert er rukkað, svo endurtekningin keyrir líkanið aftur í stað þess að skila biluninni.
  • Sami lykill með öðrum megintexta: 409 idempotency_mismatch.
  • Lyklar eru bundnir við API-lykilinn sem sendi þá.

Hvar skrár eru geymdar

Hver úttaksskrá er afrituð í geymslu okkar áður en beiðnin er merkt succeeded, svo URL-slóðirnar í outputs eru á okkunar eigin hýsingum og þú getur tengt beint í þær. Þú velur hversu lengi þær eru geymdar:

Stilling Hversu lengi Verð
permanent (sjálfgefið) Þar til þú eyðir þeim 100 API-inneign (0,10 $) á hvert GB á mánuði, dregið daglega af API-stöðunni
temporary 7 dagar, síðan eytt Ókeypis
  • Stilling reikningsins ræður fyrir nýjar beiðnir: rofinn „Geyma skrár að eilífu“ í stjórnborðinu, eða PATCH https://api.doitong.com/v1/account/storage með {"mode": "temporary"}. GET https://api.doitong.com/v1/account sýnir hana undir storage, ásamt geymdum bætum og mánaðarlegu mati.
  • ?storage=permanent|temporary í keyrslu (færibreytan storage í MCP-verkfærinu run) yfirskrifar hana fyrir þá keyrslu.
  • Að breyta stillingunni snertir aldrei skrár sem þú átt nú þegar; eyddu þeim með DELETE /requests/{id}/files.
  • Þegar API-staðan getur ekki greitt fyrir geymslu er ekkert rukkað og þú færð tölvupóst: fylltu á innan 30 daga, annars verða geymdu skrárnar tímabundnar og þeim eytt 7 dögum síðar.

Í sjaldgæfum tilvikum þar sem afritun okkar mistekst hefur færslan "stored": false og URL-slóðin er upprunalega, skammlífa slóðin: sæktu hana fljótlega.