שפּרינגען צו אינהאַלט
API גייד

ריקוועסטן

ווײַזן ווי Markdown דערהייַנטיקט

אַ בקשה איז איין רוף פֿון איין מאָדעל. זי האָט אַן אידענטיפֿיקאַטאָר (req_…), אַ סטאַטוס, איר פּרײַז אין API קרעדיטן (1000 = 1 USD), און, ווען זי איז מצליח, די געשאַפֿענע פֿײַלן. דער זעלבער אָביעקט קומט צוריק פֿון יעדן ענדפּוינט אונטן, פֿאַר יעדן מאָדעל.

געפֿינען אַ מאָדעל

דער קאַטאַלאָג פֿון אַלע 1,496 מאָדעלן איז אַ פּובליקער JSON (קיין שליסל נישט נייטיק):

טערמינאַל
curl "https://api.doitong.ru/v1/models?category=text-to-video&lab=Google&limit=20"
אָנפֿרעג־פּאַראַמעטער באַדײַטונג
q ווערטער וואָס מוזן אַלע דערשײַנען אינעם נאָמען, אידענטיפֿיקאַטאָר, שאַפֿער אָדער טאַגס, למשל kling 3.
category איין קאַטעגאָריע־אידענטיפֿיקאַטאָר, למשל text-to-video אָדער upscale. GET https://api.doitong.ru/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.ru/v1/models/{model_id} לייגט צו דעם פֿולן אַרײַנגעבונג־און־רעזולטאַט JSON Schema, די קאַנאָנישע פּאַראַמעטער־נעמען, די פּרײַז־רעגלען און אַ בײַשפּיל־אַרײַנגעבונג. אַן אומבאַקאַנטע category אָדער mode איז 400 invalid_parameter.

לויפֿן אַ מאָדעל

טערמינאַל
curl -X POST "https://api.doitong.ru/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 און אידענטיפֿיקאַטאָר.

סטאַטוסן

ריקוועסט־לעבנסציקל
  1. queued אנגענומען און באַצאָלט, וואַרט אויף אַ וואָרקער
  2. running דער מאָדעל דזשענערירט
  3. ענדגילטיקע סטאַטוסן:
    • succeededדער ציטאַט איז באַצאָלט; outputs[] האַלטן URL־ן אין אונדזער סטאָרידזש
    • failedאויטאָמאַטיש צוריקגעצאָלט; דער טעות דערקלערט פֿאַר וואָס
    • canceledאָפּגעשטעלט איידער אַ רעזולטאַט; צוריקגעצאָלט
סטאַטוס באַדײַטונג ענדגילטיק
queued אָנגענומען און געצאָלט, וואַרטנדיק אויף אַ אַרבעטער. queue_position קען ווײַזן די אָרט אין דער ריי. ניין
running דער מאָדעל שאַפֿט דעם רעזולטאַט. ניין
succeeded פֿאַרטיק. outputs ליסטעט די פֿײַלן. יאָ
failed דער מאָדעל אָדער אַ לימיט האָט עס אָפּגעשטעלט. error זאָגט פֿאַרוואָס. די API קרעדיטן ווערן צוריקגעצאָלט. יאָ
canceled אָפּגעשטעלט איידער עס האָט געשאַפֿן אַ רעזולטאַט. די API קרעדיטן ווערן צוריקגעצאָלט. יאָ

אַ בקשה וואָס לויפֿט לענגער ווי איר צײַט־לימיט פֿעלט מיט קאָד timeout און ווערט צוריקגעצאָלט: 15 מינוט פֿאַר בילדער, 60 מינוט פֿאַר ווידעא, 30 מינוט פֿאַר אַודיאָ און אַלץ אַנדערש.

דער בקשה־אָביעקט

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.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.ru/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.ru/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.ru/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.ru/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.ru/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.ru/v1/account/storage מיט {"mode": "temporary"}. GET https://api.doitong.ru/v1/account ווײַזט עס אונטער storage, מיט די bytes וואָס איר האַלט און דער חודשלעכער אָפּשאַצונג.
  • ?storage=permanent|temporary בײַם לויפֿ (דער storage אַרגומענט פֿונעם MCP run tool) איבערשרײַבט עס פֿאַר יענעם לויפֿ.
  • טוישן די אײַנשטעלונג רירט קיינמאָל נישט אָן פֿײַלן וואָס איר האָט שוין; מעקט זיי אויס מיט DELETE /requests/{id}/files.
  • ווען דער API באַלאַנס קען נישט באַצאָלן פֿאַר סטאָרידזש, ווערט גאָרנישט געצאָלט און איר באַקומט אַן אימעיל: לאָדט אויפֿ 30 טעג, אָדער די געהאַלטענע פֿײַלן ווערן צײַטווײַליק און ווערן אויסגעמעקט 7 טעג שפּעטער.

אין דעם זעלטן פֿאַל ווען אונדזער קאָפּיע פֿעלט, האָט דער איינטראָג "stored": false און די URL איז די אָריגינעלע, קורץ־לעבעדיקע: דאַונלאָודט זי באַלד.