Preskoči na vsebino
Uvod

Hiter začetek

Prikaži kot Markdown Posodobljeno

Prvo generiranje izvedite v nekaj minutah. Vseh 1496 modelov uporablja enako vrsto zahteve in vrača isti objekt zahteve za slike, video in zvok: tukaj se ga naučite enkrat.

1. Pridobite ključ API

Ustvarite ključ na naslovu https://doitong.com/developers/dashboard#keys in ga shranite v spremenljivko okolja: prikazan je samo enkrat. Vsak ključ ima lahko svoj proračun, zato ga lahko dodelite agentu, ne da bi tvegali celoten račun. GET /account vrne vaše stanje API.

export DOITONG_API_KEY="doitong_..."

curl "https://api.doitong.com/v1/account" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Izvedbe se plačujejo iz stanja vašega računa v kreditih API: 1000 API kreditov = 1 $, vsak model pa stane točno toliko, kot določi njegov izdelovalec. Dobroimetje dopolnite na naslovu https://doitong.com/developers/dashboard#balance.

2. Pridobite ponudbo, nato izvedite zahtevo

POST /quote/{model_id} sprejme vhodni JSON in vrne natančno ceno. Ključa ne potrebuje in nič ne stane. Izvedba z enakim vhodom stane natanko toliko: ponudba je zaračunani znesek. (Izjema je model, ki se zaračunava glede na uporabo: njegova ponudba je najvišji možni strošek izvedbe, neporabljeni del pa se po izvedbi vrne.)

curl -X POST "https://api.doitong.com/v1/quote/kling-video/v3/pro/image-to-video" \
  -H "Content-Type: application/json" \
  -d '{"image": "https://example.com/fox.jpg", "duration": 5, "generate_audio": true}'
200 OK · ponudba
{
  "object": "quote",
  "model": "kling-video/v3/pro/image-to-video",
  "credits": 840,
  "usd": "0.84",
  "unit": "second",
  "quantity": 5,
  "unit_credits": 168,
  "mode": "exact",
  "breakdown": "5 s × 168 API credits"
}

Nato pošljite isto telo na POST /run/{model_id}. Dodajte ?wait=20, da povezavo zadržite do 20 sekund: hiter model vrne dokončan rezultat v enem povratnem klicu. Pošljite glavo Idempotency-Key, da se zahteva pri ponovnem poskusu nikoli ne izvede (ali zaračuna) dvakrat.

curl -X POST "https://api.doitong.com/v1/run/flux/schnell?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: lighthouse-001" \
  -d '{"prompt": "A lighthouse on a rocky coast at dusk, warm light in the window"}'

Odgovor je objekt zahteve:

200 OK · zahteva
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "flux/schnell",
  "status": "succeeded",
  "cost": { "credits": 3, "usd": "0.003", "charged": 3, "refunded": 0 },
  "outputs": [
    { "type": "image", "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg", "width": 1024, "height": 768, "stored": true }
  ],
  "error": null
}

3. Spremljajte stanje

Če model ob koncu čakanja še vedno deluje, prejmete 202 Accepted z id zahteve in njenim trenutnim status. Vsaka zahteva gre skozi enak življenjski cikel:

Življenjski cikel zahteve
  1. queued Sprejeto in zaračunano, čaka na izvajalca
  2. running Model ustvarja vsebino
  3. Končna stanja:
    • succeededObračunana navedena cena; outputs[] vsebuje URL-je v naši shrambi
    • failedSamodejno povrnjeno; napaka pojasnjuje razlog
    • canceledUstavljeno pred rezultatom; sredstva povrnjena

Zahtevo znova preberite z njenim id-jem. ?wait=20 deluje tudi tukaj, zato zadostuje preprosta zanka:

curl "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Ko je status enak succeeded, outputs[].url vsebuje povezave do datotek v naši shrambi. Če zahteva failed ali canceled, se njeni krediti API samodejno vrnejo, error pa pove razlog. Prekličite vse, kar je še queued ali running:

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

Pri dolgotrajnih video opravilih lahko preskočite preverjanje stanja in namesto tega posredujete webhook_url (glejte Webhooki).

4. Datoteke

Kot vhod lahko posredujete kateri koli javni URL ali pa za URL za nalaganje zaprosite z POST /files, datoteko pošljete tja z PUT in uporabite vrnjeni file_url (glejte Datoteke). Uspešna zahteva navede rezultate v outputs[] z vrsto, vrsto vsebine ter, če sta znani, merami in trajanjem.

terminal
curl -X POST "https://api.doitong.com/v1/files" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filename": "fox.jpg", "content_type": "image/jpeg", "size": 482113}'

Napake

Vsak model odpove na enak način: z enim ovojem, ki vsebuje type, natančen code, sporni param in vsako težavo v details, tako da lahko agent popravi zahtevo brez branja razlage. Za neveljavno zahtevo se nič ne zaračuna.

422 Unprocessable Entity
{
  "error": {
    "type": "invalid_request",
    "code": "invalid_input",
    "message": "duration must be one of 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.",
    "param": "duration",
    "details": [ { "param": "duration", "message": "duration must be one of 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15." } ],
    "request_id": null,
    "doc_url": "https://doitong.com/developers/docs/errors#invalid_input"
  }
}

Vse vrste in kode so navedene v Napake.

Cene

Cene so v USD in kreditih API ter so prikazane na vsaki strani modela, preden ga zaženete. Vsaka zahteva vsebuje cost s polji credits, usd, charged in refunded. Izvedba se zaračuna, ko je sprejeta; zahteve failed in canceled se samodejno povrnejo. Nekateri modeli imajo ceno, izračunano natančno iz vhoda, pri nekaterih je odvisna od dolžine ali velikosti poslanih datotek, drugi pa zaračunajo ocenjeno ceno na izvedbo: v vsakem primeru plačate znesek ponudbe. Nekaj modelov (jezikovni in vidni modeli, glasovna orodja ter orodja za čas obdelave) se zaračunava glede na uporabo: ponudba je najvišji možni strošek izvedbe, neporabljeni del pa se samodejno vrne. Glejte Cene.

MCP in AI-agenti

Kateri koli odjemalec MCP se lahko poveže z https://api.doitong.com/v1/mcp z istim ključem Bearer. Vaš agent lahko išče po katalogu, pridobiva ponudbe in izvaja modele ter bere vse strani dokumentacije v Markdownu.

Claude Code
claude mcp add --transport http doitong-models https://api.doitong.com/v1/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Naslednji koraki