İçeriğe geç
Başlarken

Hızlı başlangıç

Markdown olarak görüntüle Güncellendi

İlk üretiminizi birkaç dakika içinde çalıştırın. Tüm 1.496 model aynı tür isteği alır ve görsel, video ve ses için aynı istek nesnesini döndürür: burada bir kez öğrenin.

1. API anahtarı alın

https://doitong.com/developers/dashboard#keys adresinden bir anahtar oluşturun ve bir ortam değişkeninde saklayın: yalnızca bir kez gösterilir. Her anahtar kendi bütçesini taşıyabilir; böylece tüm hesabı riske atmadan bir ajana anahtar verebilirsiniz. GET /account, API bakiyenizi döndürür.

export DOITONG_API_KEY="doitong_..."

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

Çalıştırmalar, hesabınızın API kredisi bakiyesinden ödenir: 1.000 API kredisi = $1 ve her model, üreticisinin belirlediği ücrete tam olarak mal olur. https://doitong.com/developers/dashboard#balance adresinden bakiye yükleyin.

2. Önce fiyat alın, sonra çalıştırın

POST /quote/{model_id}, girdi JSON'ını alır ve kesin fiyatı döndürür. Anahtar gerektirmez ve ücretsizdir. Aynı girdiyi çalıştırmanın maliyeti tam olarak budur: fiyat teklifi, ücretlendirilecek tutardır. (Kullanıma göre ücretlendirilen bir model istisnadır: fiyat teklifi, çalıştırmanın maliyetinin ulaşabileceği en yüksek tutardır ve kullanılmayan kısım çalıştırmadan sonra iade edilir.)

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 · fiyat teklifi
{
  "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"
}

Ardından aynı gövdeyi POST /run/{model_id} adresine gönderin. Bağlantıyı en fazla 20 saniye açık tutmak için ?wait=20 ekleyin: hızlı bir model, tamamlanmış sonucu tek gidiş-dönüşte döndürür. Bir yeniden denemenin iki kez çalıştırma yapmaması (ve iki kez ücretlendirmemesi) için Idempotency-Key başlığı gönderin.

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

Yanıt bir istek nesnesidir:

200 OK · istek
{
  "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. Durumu takip edin

Bekleme süresi sona erdiğinde model hâlâ çalışıyorsa, isteğin id ve mevcut status alanıyla birlikte 202 Accepted alırsınız. Her istek aynı yaşam döngüsünden geçer:

İstek yaşam döngüsü
  1. queued Kabul edildi ve ücretlendirildi, worker bekleniyor
  2. running Model üretim yapıyor
  3. Son durumlar:
    • succeededÜcretlendirme teklifi tahsil edildi; outputs[] depolamamızdaki URL'leri içerir
    • failedOtomatik olarak iade edildi; error nedeni belirtir
    • canceledSonuç alınmadan durduruldu; ücret iade edildi

İsteği kimliğiyle yeniden okuyun. ?wait=20 burada da çalışır; bu nedenle basit bir döngü yeterlidir:

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

status, succeeded olduğunda outputs[].url, depolamamızdaki dosyalara giden bağlantıları içerir. İstek failed olduysa veya canceled durumuna getirildiyse API kredisi otomatik olarak iade edilir ve error nedenini belirtir. Hâlâ queued veya running durumunda olanları iptal edin:

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

Uzun video işlerinde yoklama yapmayı atlayıp bunun yerine bir webhook_url gönderebilirsiniz (Webhook'lar bölümüne bakın).

4. Dosyalar

Herhangi bir herkese açık URL'yi girdi olarak gönderin veya yükleme URL'si almak için POST /files isteğinde bulunun; dosyayı bu adrese PUT ile yükleyin ve döndürülen file_url değerini kullanın (Dosyalar bölümüne bakın). Başarılı bir istek, sonuçlarını outputs[] içinde; tür, içerik türü ve biliniyorsa boyutlar ile süre bilgileriyle listeler.

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

Hatalar

Her model aynı şekilde başarısız olur: bir type, kesin bir code, soruna neden olan param ve details içinde her sorunla birlikte tek bir zarf döner; böylece bir ajan, açıklama metnini okumadan isteği düzeltebilir. Geçersiz bir istek için ücret alınmaz.

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

Her tür ve kod Hatalar bölümünde listelenmiştir.

Fiyatlandırma

Fiyatlar USD ve API kredisi cinsindendir ve çalıştırmadan önce her model sayfasında gösterilir. Her istek, credits, usd, charged ve refunded alanlarını içeren cost bilgisini taşır. Bir çalıştırma kabul edildiğinde ücretlendirilir; failed ve canceled durumundaki istekler otomatik olarak iade edilir. Bazı modeller girdiden tam olarak, bazıları gönderdiğiniz dosyaların uzunluğuna veya boyutuna göre fiyatlandırılır; diğerleri ise çalıştırma başına tahmini fiyat üzerinden ücretlendirilir: her durumda ödediğiniz tutar fiyat teklifindeki tutardır. Bazı modeller (dil ve görsel modelleri, ses ve işlem süresi araçları) kullanıma göre ücretlendirilir: fiyat teklifi, çalıştırmanın maliyetinin ulaşabileceği en yüksek tutardır ve çalıştırmanın kullanmadığı kısım otomatik olarak iade edilir. Fiyatlandırma bölümüne bakın.

MCP ve AI ajanları

Herhangi bir MCP istemcisini aynı Bearer anahtarıyla https://api.doitong.com/v1/mcp adresine bağlayın. Ajanınız kataloğu arayabilir, modeller için fiyat teklifi alıp çalıştırabilir ve tüm belgeler sayfalarını Markdown olarak okuyabilir.

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

Sonraki adımlar