Aqbeż għall-kontenut
Gwida tal-API

Talbiet

Ara bħala Markdown Aġġornat

Talba hija sejħa waħda ta' mudell wieħed. Għandha id (req_…), status, l-ispiża tagħha fi krediti tal-API (1000 = 1 USD), u, meta tirnexxi, il-fajls iġġenerati. L-istess oġġett jiġi lura minn kull endpoint hawn taħt, għal kull mudell.

Sib mudell

Il-katalgu tal-mudelli kollha ta' 1,496 huwa JSON pubbliku (mhi meħtieġa l-ebda ċavetta):

terminal
curl "https://api.doitong.com/v1/models?category=text-to-video&lab=Google&limit=20"
Parametru tal-mistoqsija Tifsira
q Kliem li kollha jridu jidhru fl-isem, l-id, il-produttur jew it-tags, pereżempju kling 3.
category Id ta' kategorija waħda, pereżempju text-to-video jew upscale. GET https://api.doitong.com/v1/categories jelenka l-21 kollha flimkien mal-għadd tagħhom.
lab Il-produttur tal-mudell, bl-isem jew bl-id, pereżempju Google jew black-forest-labs.
family Id ta' family minn ringiela preċedenti: kull varjant ta' mudell wieħed (pro, fast, image-to-video, …).
mode exact (il-prezz jiġi kkalkulat mill-input), measured (mit-tul jew mid-daqs tal-fajls tal-input), estimate (prezz stmat għal kull eżekuzzjoni) jew metered (jitħallas skont l-użu attwali, sa massimu għal kull eżekuzzjoni).
limit, cursor Daqs tal-paġna (1 sa 100, prestabbilit 50) u l-next_cursor tal-paġna preċedenti.

Kull ringiela għandha id, name, lab, category, family, summary, tags, output_kind, docs_url u oġġett price (ara Ipprezzar). GET https://api.doitong.com/v1/models/{model_id} iżid l-input u l-output JSON Schema sħaħ, l-ismijiet kanoniċi tal-parametri, ir-regoli tal-prezz u eżempju ta' input. category jew mode mhux magħruf jagħti 400 invalid_parameter.

Ħaddem mudell

terminal
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": "..."}'
  • Il-korp huwa l-input tal-mudell, oġġett JSON. Kull paġna tal-mudell telenka l-parametri tiegħu.
  • L-input jiġi vverifikat qabel ma jitħallas xejn. Input mhux validu jagħti 422 invalid_input bil-param li kkawża l-problema, u ma jiswa xejn.
  • ?wait=N (sa 20 sekonda) iżomm is-sejħa sakemm tispiċċa t-talba jew jgħaddi l-ħin.
  • ?webhook_url=https://… jibgħat POST iffirmat lil dak l-URL meta tispiċċa t-talba (ara Webhooks).
  • ?storage=permanent jew ?storage=temporary jagħżel kemm jinżammu l-fajls tal-output; mingħajru japplika l-issettjar tal-kont (ara Fejn jinżammu l-fajls).

It-tweġiba hija 202 Accepted waqt li t-talba tkun għadha qed taħdem, u 200 OK meta tkun spiċċat matul il-ħin ta' stennija (jew meta tkun replay, ara hawn taħt). Il-headers Location u Doitong-Request-Id iġorru l-URL u l-id tat-talba.

Statusijiet

Ċiklu tal-ħajja tat-talba
  1. queued Aċċettata u ċċarġjata, qed tistenna ħaddiem
  2. running Il-mudell qed jiġġenera
  3. Statuses finali:
    • succeededĠiet iċċarġjata l-kwotazzjoni; outputs[] fihom URLs fil-ħażna tagħna
    • failedRifużjoni awtomatika; l-iżball jispjega għaliex
    • canceledImwaqqfa qabel riżultat; rifużjoni saret
Status Tifsira Finali
queued Aċċettata u mħallsa, qed tistenna ħaddiem. queue_position jista' juri l-pożizzjoni fil-kju. le
running Il-mudell qed jiġġenera. le
succeeded Lesta. outputs jelenka l-fajls. iva
failed Il-mudell jew limitu waqqafha. error jgħid għaliex. Il-krediti tal-API jiġu rifużi. iva
canceled Ikkanċellata qabel ma pproduċiet riżultat. Il-krediti tal-API jiġu rifużi. iva

Talba li ddum aktar mil-limitu ta' ħin tagħha tfalli bil-kodiċi timeout u tiġi rifuża: 15-il minuta għall-immaġnijiet, 60 minuta għall-vidjo, 30 minuta għall-awdjo u kull ħaġa oħra.

L-oġġett tat-talba

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 huwa l-istess għal kull mudell: entrata waħda għal kull fajl iġġenerat b'type (image, video, audio, file jew 3d), url fil-ħażna tagħna, content_type u, meta magħrufin, file_size, width, height, duration.
  • output huwa l-oġġett tar-riżultat tal-mudell innifsu (l-oqsma tiegħu huma elenkati fuq kull paġna tal-mudell) bl-istess URLs.
  • storage jgħid kif jinżammu l-fajls: mode (permanent jew temporary), bytes maħżuna, expires_at (meta jitħassar fajl temporanju, null għal dawk permanenti) u expired (true ladarba l-fajls ikunu spiċċaw).
  • cost.credits huwa l-prezz tas-sejħa fi krediti tal-API (cost.usd f'USD), cost.charged dak li ġie ddebitat mill-bilanċ tal-API, cost.refunded dak li ġie rritornat. Għal mudell metered, cost.credits huwa l-massimu miżmum fil-bidu (cost.held); ladarba l-eżekuzzjoni tirnexxi, cost.settled jgħid kemm kien l-użu u l-bqija tal-massimu jkun f'cost.refunded (ara Imħallas skont l-użu).
  • Meta talba tfalli, error huwa { "type": …, "code": …, "message": … }.

Aqra talba

terminal
curl "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"
  • ?wait=N (sa 20 sekonda) jagħmel long-polling: is-sejħa tirritorna hekk kif it-talba tkun finali, jew wara N sekondi bl-istat attwali. Li tirrepeti dan huwa l-aktar mod sempliċi biex tistenna riżultat.
  • ?logs=1 iżid il-linji tal-log tal-progress tal-mudell (l-aħħar 50) bħala logs.

Tista' taqra biss it-talbiet tal-kont tiegħek; kwalunkwe id ieħor huwa 404 request_not_found.

Elenka t-talbiet

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

L-aktar ġodda l-ewwel. limit huwa 1 sa 100 (prestabbilit 20), u status u model jiffiltraw. It-tweġiba hija { "object": "list", "data": [ … ], "has_more": true, "next_cursor": "req_…" }; għaddi cursor=<next_cursor> għall-paġna li jmiss.

Ikkanċella talba

terminal
curl -X POST "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel" \
  -H "Authorization: Bearer $DOITONG_API_KEY"
  • Ikkanċellata qabel ma beda l-mudell: l-istatus isir canceled, il-krediti tal-API jiġu rifużi, u tirċievi 200.
  • Diġà qed tiġi ġġenerata: il-kanċellazzjoni tintbagħat lill-mudell u tirċievi 202 b'"cancel_requested": true. Jekk il-mudell xorta jispiċċa, it-talba tirnexxi normalment u titħallas.
  • Diġà finali: 409 not_cancelable (talba li diġà hija canceled sempliċement tirritorna 200).

Ħassar il-fajls ta' talba

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

Tħassar minnufih il-kopji tagħna tal-fajls tal-output tat-talba u twaqqaf il-ħlas tal-ħażna tagħhom. It-tweġiba hija l-oġġett tat-talba b'storage.expired: true; l-URLs tagħha jibqgħu fir-rekord iżda ma jibqgħux jaħdmu. Li ssejħilha mill-ġdid ma jbiddel xejn (200). Talba li għadha queued jew running għad m'għandhiex fajls: 409 request_active. Teħtieġ models:run.

Idempotenza: erġa' pprova mingħajr ma tħallas darbtejn

In-netwerks ifallu. Biex terġa' tipprova eżekuzzjoni b'mod sigur, ibgħat header Idempotency-Key (kwalunkwe string sa 255 karattru, uniku għal kull operazzjoni, pereżempju l-id tal-ordni tiegħek):

  • L-istess ċavetta u l-istess korp bħal qabel: tirċievi t-talba oriġinali lura (200, header Idempotent-Replayed: true), u ma jitħallas xejn mill-ġdid.
  • L-istess ċavetta u korp wara eżekuzzjoni li falliet qabel ma waslet għand il-mudell (upstream_error jew internal_error waqt is-submit, insufficient_credits, budget_exceeded, too_many_inflight): ma ġie prodott xejn u ma tħallas xejn, għalhekk il-prova mill-ġdid tħaddem il-mudell mill-ġdid minflok tirritorna l-falliment.
  • L-istess ċavetta b'korp differenti: 409 idempotency_mismatch.
  • Iċ-ċwievet huma marbuta maċ-ċavetta API li bagħthom.

Fejn jinżammu l-fajls

Kull fajl tal-output jiġi kkupjat fil-ħażna tagħna qabel ma t-talba tiġi mmarkata succeeded, għalhekk l-URLs f'outputs ikunu fuq il-hosts tagħna stess u tista' torbothom direttament. Int tagħżel kemm jibqgħu:

Modalità Kemm idumu Prezz
permanent (prestabbilit) Sakemm tħassarhom 100 krediti tal-API ($0.10) għal kull GB fix-xahar, iċċarġjati kuljum mill-bilanċ tal-API
temporary 7 jum, imbagħad jitħassru B'xejn
  • L-issettjar tal-kont jiddeċiedi għal talbiet ġodda: is-swiċċ "Żomm il-fajls għal dejjem" fid-dashboard, jew PATCH https://api.doitong.com/v1/account/storage b'{"mode": "temporary"}. GET https://api.doitong.com/v1/account jurih taħt storage, flimkien mal-bytes li żżomm u l-istima ta' kull xahar.
  • ?storage=permanent|temporary fuq eżekuzzjoni (l-argument storage tal-għodda MCP run) jegħlebha għal dik l-eżekuzzjoni.
  • It-tibdil tal-issettjar qatt ma jmiss fajls li diġà għandek; ħassarhom b'DELETE /requests/{id}/files.
  • Meta l-bilanċ tal-API ma jkunx jista' jħallas għall-ħażna, ma jitħallas xejn u tirċievi email: agħmel top-up fi żmien 30 jum, inkella l-fajls miżmuma jsiru temporanji u jitħassru 7 jum wara.

Fil-każ rari li l-kopja tagħna tfalli, l-entrata jkollha "stored": false u l-URL tkun dik oriġinali, li ddum għal żmien qasir: niżżilha dalwaqt.