ריקוועסטן
אַ בקשה איז איין רוף פֿון איין מאָדעל. זי האָט אַן אידענטיפֿיקאַטאָר (req_…), אַ סטאַטוס, איר פּרײַז אין API קרעדיטן (1000 = 1 USD), און, ווען זי איז מצליח, די געשאַפֿענע פֿײַלן. דער זעלבער אָביעקט קומט צוריק פֿון יעדן ענדפּוינט אונטן, פֿאַר יעדן מאָדעל.
געפֿינען אַ מאָדעל
דער קאַטאַלאָג פֿון אַלע 1,496 מאָדעלן איז אַ פּובליקער JSON (קיין שליסל נישט נייטיק):
curl "https://api.doitong.com/v1/models?category=text-to-video&lab=Google&limit=20"
| אָנפֿרעג־פּאַראַמעטער | באַדײַטונג |
|---|---|
q |
ווערטער וואָס מוזן אַלע דערשײַנען אינעם נאָמען, אידענטיפֿיקאַטאָר, שאַפֿער אָדער טאַגס, למשל kling 3. |
category |
איין קאַטעגאָריע־אידענטיפֿיקאַטאָר, למשל text-to-video אָדער upscale. GET https://api.doitong.com/v1/categories ליסטעט אַלע 21 מיט זייערע צאָלן. |
lab |
דער שאַפֿער פֿונעם מאָדעל, לויט נאָמען אָדער אידענטיפֿיקאַטאָר, למשל Google אָדער black-forest-labs. |
family |
אַ family אידענטיפֿיקאַטאָר פֿון אַ פֿריִערדיקער ריי: יעדע וואַריאַנט פֿון איין מאָדעל (pro, fast, image-to-video, …). |
mode |
exact (דער פּרײַז ווערט אויסגערעכנט פֿון דער אַרײַנגעבונג), measured (פֿון דער לענג אָדער גרייס פֿון די אַרײַנגעבונג־פֿײַלן), estimate (אַן אָפּגעשאַצטער פּרײַז פּער לויפֿ) אָדער metered (געצאָלט לויטן עכטן באַניץ, ביז אַ מאַקסימום פּער לויפֿ). |
limit, cursor |
זײַט־גרייס (1 ביז 100, סטאַנדאַרט 50) און דער next_cursor פֿון דער פֿריִערדיקער זײַט. |
יעדע ריי האָט id, name, lab, category, family, summary, tags, output_kind, docs_url און אַ price אָביעקט (זע פּרײַזן). GET https://api.doitong.com/v1/models/{model_id} לייגט צו דעם פֿולן אַרײַנגעבונג־און־רעזולטאַט JSON Schema, די קאַנאָנישע פּאַראַמעטער־נעמען, די פּרײַז־רעגלען און אַ בײַשפּיל־אַרײַנגעבונג. אַן אומבאַקאַנטע category אָדער mode איז 400 invalid_parameter.
לויפֿן אַ מאָדעל
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": "..."}'
- דער גוף איז די מאָדעל־אַרײַנגעבונג, אַ JSON אָביעקט. יעדע מאָדעל־זײַט ליסטעט אירע פּאַראַמעטערס.
- די אַרײַנגעבונג ווערט אָפּגעשאַצט איידער עפּעס ווערט געצאָלט. אַן אומגילטיקע אַרײַנגעבונג גיט צוריק
422 invalid_inputמיט דעם שעדלעכןparam, און קאָסט גאָרנישט. ?wait=N(ביז 20 סעקונדעס) האלט דעם רוף ביז די בקשה ענדיקט זיך אָדער די צײַט לויפֿט אויס.?webhook_url=https://…שיקט אַ אונטערגעשריבענעם POST צו יענער URL ווען די בקשה ענדיקט זיך (זע וועבהוקס).?storage=permanentאָדער?storage=temporaryבאַשטימט ווי לאַנג די רעזולטאַט־פֿײַלן ווערן געהאַלטן; אָן דעם גילט די חשבון־אײַנשטעלונג (זע וווּ פֿײַלן ליגן).
דער ענטפֿער איז 202 Accepted בשעת די בקשה אַרבעט נאָך, און 200 OK ווען זי איז פֿאַרטיק געוואָרן אין דער וואַרטן־צײַט (אָדער ווען זי איז אַ ווידערשפּיל, זע אונטן). די Location און Doitong-Request-Id העדערס טראָגן די בקשה־URL און אידענטיפֿיקאַטאָר.
סטאַטוסן
-
queuedאנגענומען און באַצאָלט, וואַרט אויף אַ וואָרקער -
runningדער מאָדעל דזשענערירט -
ענדגילטיקע סטאַטוסן:
succeededדער ציטאַט איז באַצאָלט; outputs[] האַלטן URL־ן אין אונדזער סטאָרידזשfailedאויטאָמאַטיש צוריקגעצאָלט; דער טעות דערקלערט פֿאַר וואָסcanceledאָפּגעשטעלט איידער אַ רעזולטאַט; צוריקגעצאָלט
| סטאַטוס | באַדײַטונג | ענדגילטיק |
|---|---|---|
queued |
אָנגענומען און געצאָלט, וואַרטנדיק אויף אַ אַרבעטער. queue_position קען ווײַזן די אָרט אין דער ריי. |
ניין |
running |
דער מאָדעל שאַפֿט דעם רעזולטאַט. | ניין |
succeeded |
פֿאַרטיק. outputs ליסטעט די פֿײַלן. |
יאָ |
failed |
דער מאָדעל אָדער אַ לימיט האָט עס אָפּגעשטעלט. error זאָגט פֿאַרוואָס. די API קרעדיטן ווערן צוריקגעצאָלט. |
יאָ |
canceled |
אָפּגעשטעלט איידער עס האָט געשאַפֿן אַ רעזולטאַט. די API קרעדיטן ווערן צוריקגעצאָלט. | יאָ |
אַ בקשה וואָס לויפֿט לענגער ווי איר צײַט־לימיט פֿעלט מיט קאָד timeout און ווערט צוריקגעצאָלט: 15 מינוט פֿאַר בילדער, 60 מינוט פֿאַר ווידעא, 30 מינוט פֿאַר אַודיאָ און אַלץ אַנדערש.
דער בקשה־אָביעקט
{
"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איז דער זעלבער פֿאַר יעדן מאָדעל: איין איינטראָג פּער געשאַפֿענער פֿײַל מיטtype(image,video,audio,fileאָדער3d), אַurlאין אונדזער סטאָרידזש,content_typeאון, ווען באַקאַנט,file_size,width,height,duration.outputאיז דער אייגענער רעזולטאַט־אָביעקט פֿונעם מאָדעל (זײַנע פֿעלדער ווערן ליסטעד אויף יעדן מאָדעל־בלאַט) מיט די זעלבע URL־ס.storageזאָגט ווי די פֿײַלן ווערן געהאַלטן:mode(permanentאָדערtemporary), געהאַלטענעbytes,expires_at(ווען אַ צײַטווײַליקע פֿײַל ווערט אויסגעמעקט,nullפֿאַר פּערמאַנענטע) אוןexpired(trueאַמאָל די פֿײַלן זענען אַוועק).cost.creditsאיז דער פּרײַז פֿונעם רוף אין API קרעדיטן (cost.usdאין USD),cost.chargedוואָס איז אַראָפּגענומען געוואָרן פֿונעם API באַלאַנס,cost.refundedוואָס איז צוריקגעקומען. פֿאַר אַmeteredמאָדעל איזcost.creditsדער מאַקסימום וואָס ווערט געהאַלטן בײַם אָנהייב (cost.held); ווען דער לויפֿ איז מצליח, ווײַזטcost.settledוויפֿל דער באַניץ האָט געקאָסט און דער רעשט פֿונעם מאַקסימום איז איןcost.refunded(זע געצאָלט לויטן באַניץ).- ווען אַ בקשה פֿעלט, איז
error{ "type": …, "code": …, "message": … }.
לייענען אַ בקשה
curl "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
?wait=N(ביז 20 סעקונדעס) מאַכט אַ לאַנג־פּאָאָל: דער רוף קערט זיך צוריק גלײַך ווען די בקשה איז ענדגילטיק, אָדער נאָך N סעקונדעס מיטן איצטיקן סטאַטוס. לויפֿן אין אַ שלייף איז דער פּשוטסטער וועג צו וואַרטן אויף אַ רעזולטאַט.?logs=1לייגט צו די פּראָגרעס־לאָג־שורות פֿונעם מאָדעל (די לעצטע 50) וויlogs.
מען קען לייענען נאָר בקשות פֿון אייגענעם חשבון; יעדן אַנדערן אידענטיפֿיקאַטאָר איז 404 request_not_found.
ליסטירן בקשות
curl "https://api.doitong.com/v1/requests?limit=20&status=succeeded&model=flux/schnell" \
-H "Authorization: Bearer $DOITONG_API_KEY"
נײַעסטע ערשט. limit איז 1 ביז 100 (סטאַנדאַרט 20), status און model פֿילטערן. דער ענטפֿער איז { "object": "list", "data": [ … ], "has_more": true, "next_cursor": "req_…" }; שיקט cursor=<next_cursor> פֿאַר דער קומענדיקער זײַט.
אָפּשטעלן אַ בקשה
curl -X POST "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel" \
-H "Authorization: Bearer $DOITONG_API_KEY"
- אָפּגעשטעלט איידער דער מאָדעל האָט אָנגעהויבן: דער סטאַטוס ווערט
canceled, די API קרעדיטן ווערן צוריקגעצאָלט, און איר באַקומט200. - שוין אין שאַפֿונג: דער אָפּשטעל־רוף ווערט איבערגעגעבן און איר באַקומט
202מיט"cancel_requested": true. אויב דער מאָדעל ענדיקט זיך סײַ ווי, איז די בקשה נאָרמאַל מצליח און ווערט געצאָלט. - שוין ענדגילטיק:
409 not_cancelable(אַ בקשה וואָס איז שויןcanceledקערט פשוט צוריק200).
אויסמעקן די פֿײַלן פֿון אַ בקשה
curl -X DELETE "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/files" \
-H "Authorization: Bearer $DOITONG_API_KEY"
עס מעקט איצט אויס אונדזערע קאפיעס פֿון די רעזולטאַט־פֿײַלן און שטעלט אָפּ זייער סטאָרידזש־אָפּצאָל. דער ענטפֿער איז דער בקשה־אָביעקט מיט storage.expired: true; אירע URL־ס בלײַבן אינעם רעקאָרד, אָבער אַרבעטן מער נישט. אַ צווייטער רוף טוישט גאָרנישט (200). אַ בקשה וואָס איז נאָך queued אָדער running האָט נאָך נישט קיין פֿײַלן: 409 request_active. עס דאַרף models:run.
Idempotency: ווידער פּרוּוון אָן צאָלן צוויי מאָל
נעטוואָרקס פֿאַלן. צו פּרוּוון אַ לויפֿ זיכערערהייט, שיקט אַן Idempotency-Key העדער (יעדער שטריקל ביז 255 אותיות, אייגנאַרטיק פּער אָפּעראַציע, למשל אייער אייגענער אָרדער־אידענטיפֿיקאַטאָר):
- דער זעלבער שליסל און דער זעלבער גוף ווי פֿריִער: איר באַקומט צוריק די אָריגינעלע בקשה (
200, העדערIdempotent-Replayed: true), און גאָרנישט ווערט ווידער געצאָלט. - דער זעלבער שליסל און גוף נאָך אַ לויפֿ וואָס איז געפֿאַלן איידער ער האָט דערגרייכט דעם מאָדעל (
upstream_errorאָדערinternal_errorבײַם שיקן,insufficient_credits,budget_exceeded,too_many_inflight): גאָרנישט איז געשאַפֿן און גאָרנישט איז געצאָלט, דעריבער לויפֿט דער ווידער־פּרוּוו דעם מאָדעל אַנשטאָט צוריקצוגעבן דעם פֿעלער. - דער זעלבער שליסל מיט אַן אַנדער גוף:
409 idempotency_mismatch. - שליסלען זענען באַגרענעצט צו דעם API שליסל וואָס האָט זיי געשיקט.
וווּ פֿײַלן ליגן
יעדע רעזולטאַט־פֿײַל ווערט קאַפּירט אין אונדזער סטאָרידזש איידער די בקשה ווערט אנגעצייכנט succeeded, דערפֿאַר זענען די URL־ס אין outputs אויף אונדזערע אייגענע האָסטס און מע קען זיי גלײַך פֿאַרבינדן. ווי לאַנג זיי בלײַבן איז אייער ברירה:
| מאָדע | ווי לאַנג | פּרײַז |
|---|---|---|
permanent (סטאַנדאַרט) |
ביז איר מעקט זיי אויס | 100 API קרעדיטן ($ 0.10) פּער GB פּער חודש, טעגליך געצאָלט פֿונעם API באַלאַנס |
temporary |
7 טעג, דערנאָך אויסגעמעקט | אומזיסט |
- די חשבון־אײַנשטעלונג באַשליסט פֿאַר נײַע בקשות: דער "האַלטן טעקעס אויף אייביק" באַשטימער אין דעם דאַשבאָרד, אָדער
PATCH https://api.doitong.com/v1/account/storageמיט{"mode": "temporary"}.GET https://api.doitong.com/v1/accountווײַזט עס אונטערstorage, מיט די bytes וואָס איר האַלט און דער חודשלעכער אָפּשאַצונג. ?storage=permanent|temporaryבײַם לויפֿ (דערstorageאַרגומענט פֿונעם MCPruntool) איבערשרײַבט עס פֿאַר יענעם לויפֿ.- טוישן די אײַנשטעלונג רירט קיינמאָל נישט אָן פֿײַלן וואָס איר האָט שוין; מעקט זיי אויס מיט
DELETE /requests/{id}/files. - ווען דער API באַלאַנס קען נישט באַצאָלן פֿאַר סטאָרידזש, ווערט גאָרנישט געצאָלט און איר באַקומט אַן אימעיל: לאָדט אויפֿ 30 טעג, אָדער די געהאַלטענע פֿײַלן ווערן צײַטווײַליק און ווערן אויסגעמעקט 7 טעג שפּעטער.
אין דעם זעלטן פֿאַל ווען אונדזער קאָפּיע פֿעלט, האָט דער איינטראָג "stored": false און די URL איז די אָריגינעלע, קורץ־לעבעדיקע: דאַונלאָודט זי באַלד.