Talbiet
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):
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
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_inputbil-paramli 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=permanentjew?storage=temporaryjagħż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
-
queuedAċċettata u ċċarġjata, qed tistenna ħaddiem -
runningIl-mudell qed jiġġenera -
Statuses finali:
succeededĠiet iċċarġjata l-kwotazzjoni; outputs[] fihom URLs fil-ħażna tagħnafailedRifużjoni awtomatika; l-iżball jispjega għaliexcanceledImwaqqfa 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
{
"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"
}
}
outputshuwa l-istess għal kull mudell: entrata waħda għal kull fajl iġġenerat b'type(image,video,audio,filejew3d),urlfil-ħażna tagħna,content_typeu, meta magħrufin,file_size,width,height,duration.outputhuwa l-oġġett tar-riżultat tal-mudell innifsu (l-oqsma tiegħu huma elenkati fuq kull paġna tal-mudell) bl-istess URLs.storagejgħid kif jinżammu l-fajls:mode(permanentjewtemporary),bytesmaħżuna,expires_at(meta jitħassar fajl temporanju,nullgħal dawk permanenti) uexpired(trueladarba l-fajls ikunu spiċċaw).cost.creditshuwa l-prezz tas-sejħa fi krediti tal-API (cost.usdf'USD),cost.chargeddak li ġie ddebitat mill-bilanċ tal-API,cost.refundeddak li ġie rritornat. Għal mudellmetered,cost.creditshuwa l-massimu miżmum fil-bidu (cost.held); ladarba l-eżekuzzjoni tirnexxi,cost.settledjgħ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,
errorhuwa{ "type": …, "code": …, "message": … }.
Aqra talba
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=1iżid il-linji tal-log tal-progress tal-mudell (l-aħħar 50) bħalalogs.
Tista' taqra biss it-talbiet tal-kont tiegħek; kwalunkwe id ieħor huwa 404 request_not_found.
Elenka t-talbiet
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
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ċievi200. - Diġà qed tiġi ġġenerata: il-kanċellazzjoni tintbagħat lill-mudell u tirċievi
202b'"cancel_requested": true. Jekk il-mudell xorta jispiċċa, it-talba tirnexxi normalment u titħallas. - Diġà finali:
409 not_cancelable(talba li diġà hijacanceledsempliċement tirritorna200).
Ħassar il-fajls ta' talba
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, headerIdempotent-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_errorjewinternal_errorwaqt 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/storageb'{"mode": "temporary"}.GET https://api.doitong.com/v1/accountjurih taħtstorage, flimkien mal-bytes li żżomm u l-istima ta' kull xahar. ?storage=permanent|temporaryfuq eżekuzzjoni (l-argumentstoragetal-għodda MCPrun) 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.