Lumaktaw sa nilalaman
Pagsisimula

Mabilis na pagsisimula

Tingnan bilang Markdown Na-update

Patakbuhin ang iyong unang pagbuo sa loob ng ilang minuto. Pare-parehong uri ng kahilingan ang tinatanggap ng lahat ng 1,496 modelo at pare-parehong kahilingan object ang ibinabalik para sa larawan, video at audio: matutuhan ito nang isang beses dito.

1. Kumuha ng API key

Gumawa ng key sa https://doitong.com/developers/dashboard#keys at itago ito sa isang environment variable: isang beses lang itong ipinapakita. Maaaring magkaroon ng sariling badyet ang bawat key, kaya maaari kang magbigay ng isa sa isang agent nang hindi nalalagay sa panganib ang buong account. Ibinabalik ng GET /account ang iyong balanse sa API.

export DOITONG_API_KEY="doitong_..."

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

Binabayaran ang mga run mula sa API balanse ng iyong account sa kredito ng API: 1,000 kredito ng API = $1, at eksaktong presyo ng gumawa nito ang halaga ng bawat modelo. Magdagdag ng balanse sa https://doitong.ru/developers/dashboard#balance.

2. Kumuha muna ng quote, saka magpatakbo

Tinatanggap ng POST /quote/{model_id} ang input JSON at ibinabalik ang eksaktong presyo. Hindi nito kailangan ng key at walang gastos. Ang pagpapatakbo sa parehong input ay eksaktong ganoon ang halaga: ang quote ang singil. (Ang modelong sinisingil batay sa paggamit ang eksepsiyon: ang quote nito ang pinakamalaking maaaring halaga ng run, at ibinabalik ang hindi nagamit pagkatapos ng run.)

curl -X POST "https://api.doitong.ru/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 · quote
{
  "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"
}

Pagkatapos, ipadala ang parehong body sa POST /run/{model_id}. Idagdag ang ?wait=20 upang panatilihing bukas ang koneksiyon nang hanggang 20 segundo: ibinabalik ng mabilis na modelo ang natapos na resulta sa isang round trip. Magpadala ng Idempotency-Key header upang hindi kailanman dalawang beses mapatakbo o masingil ang isang retry.

curl -X POST "https://api.doitong.ru/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"}'

Ang response ay isang kahilingan object:

200 OK · kahilingan
{
  "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. Subaybayan ang status

Kung gumagana pa rin ang modelo kapag natapos ang paghihintay, makakakuha ka ng 202 Accepted kasama ang id ng kahilingan at kasalukuyan nitong status. Dumaraan ang bawat kahilingan sa parehong lifecycle:

Lifecycle ng kahilingan
  1. queued Tinanggap at siningil, naghihintay ng worker
  2. running Gumagawa ang modelo
  3. Mga huling status:
    • succeededSinisingil ang quote; naglalaman ang outputs[] ng mga URL sa aming storage
    • failedAwtomatikong na-refund; sinasabi ng error kung bakit
    • canceledItinigil bago magkaroon ng resulta; na-refund

Basahin muli ang kahilingan gamit ang id nito. Gumagana rin dito ang ?wait=20, kaya sapat na ang simpleng loop:

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

Kapag status ay succeeded, naglalaman ang outputs[].url ng mga link sa mga file sa aming storage. Kung ang kahilingan ay failed o canceled, awtomatikong ibinabalik ang kredito ng API nito at ipinapaliwanag ng error ang dahilan. Kanselahin ang anumang queued o running:

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

Para sa mahahabang video job, maaari mong laktawan ang polling at sa halip ay magpasa ng webhook_url (tingnan ang Webhooks).

4. Mga file

Magpasa ng anumang pampublikong URL bilang input, o humingi sa POST /files ng upload URL, i-PUT ang file doon at gamitin ang ibinalik na file_url (tingnan ang Files). Inililista ng isang matagumpay na kahilingan ang mga resulta nito sa outputs[] kasama ang type, content type at, kapag alam, mga dimensiyon at tagal.

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

Mga error

Pareho ang paraan ng pagkabigo ng bawat modelo: isang envelope na may type, eksaktong code, problemadong param at bawat problema sa details, upang maayos ng isang agent ang kahilingan nang hindi nagbabasa ng paliwanag. Walang sinisingil para sa invalid na kahilingan.

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"
  }
}

Nakalista ang bawat type at code sa Errors.

Pagpepresyo

Nasa USD at kredito ng API ang mga presyo at ipinapakita sa bawat pahina ng modelo bago ka magpatakbo. May cost ang bawat kahilingan na may credits, usd, charged at refunded. Sisingilin ang run kapag tinanggap ito; awtomatikong nire-refund ang mga failed at canceled na kahilingan. Eksaktong batay sa input ang presyo ng ilang modelo, batay sa haba o laki ng mga file na ipinapadala mo ang iba, at ang iba naman ay naniningil ng estimated price per run: sa alinmang paraan, ang quote ang iyong babayaran. Ang ilang modelo (mga modelo ng wika at vision, voice, at mga tool na nakabatay sa oras ng pagproseso) ay sinisingil batay sa paggamit: ang quote ang pinakamalaking maaaring halaga ng run, at awtomatikong nire-refund ang bahaging hindi nagamit ng run. Tingnan ang Pricing.

MCP at mga AI agent

Ikonekta ang anumang MCP client sa https://api.doitong.ru/v1/mcp gamit ang parehong Bearer key. Maaaring maghanap ang iyong agent sa catalog, kumuha ng quote at magpatakbo ng mga modelo, at basahin ang bawat pahina ng dokumentasyon bilang Markdown.

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

Mga susunod na hakbang