İçeriğe geç
API kılavuzu

Hatalar

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

Her uç nokta aynı şekilde başarısız olur: bir HTTP durumu ve tek bir JSON zarfı.

JSON
{
  "error": {
    "type": "invalid_request",
    "code": "invalid_input",
    "message": "duration must be one of 5, 10.",
    "param": "duration",
    "details": [ { "param": "duration", "message": "duration must be one of 5, 10." } ],
    "request_id": null,
    "doc_url": "https://doitong.com/developers/docs/errors#invalid_input"
  }
}
Alan Anlamı
type Hatanın genel sınıfı. Ne yapılacağına buna göre karar verin.
code Kesin neden; sabit ve makine tarafından okunabilir. Her kodun aşağıda bir bölümü vardır; doc_url bu bölüme bağlantı verir.
message Geliştiriciye gösterilmesi veya günlüğe kaydedilmesi güvenli, insanlar tarafından okunabilir açıklama.
param Hatalı girdi parametresi veya üst bilgisi, varsa.
details Girdi hatalarında bulunan tüm sorunlar: [{ "param", "message" }].
request_id İlgili istek, varsa.

Hata döndüren bir çağrı için ücret alınmaz. Kabul edildikten sonra başarısız olan bir istek failed durumunu korur, istek nesnesinde error: { "type", "code", "message" } taşır ve otomatik olarak iade edilir.

Türler

Tür HTTP durumu Yapılacak işlem
invalid_request 400, 413 veya 422 İsteği düzeltin. Aynı çağrıyı yeniden denemek yine başarısız olur.
authentication_error 401 Authorization: Bearer <key> içinde geçerli bir anahtar gönderin.
permission_error 403 Gerekli kapsama sahip bir anahtar kullanın.
not_found 404 Model kimliğini veya istek kimliğini kontrol edin.
insufficient_credits 402 API bakiyesine bakiye yükleyin (hatadaki top_up_url).
budget_exceeded 402 Anahtarın kendi bütçesi tükenmiş. Son olarak anahtar sahibinden bütçeyi artırmasını isteyin.
conflict 409 Kaynak, bu çağrıya izin veren bir durumda değil.
rate_limited 429 Retry-After saniye bekleyin, ardından yeniden deneyin.
upstream_error 502 Model arka ucu başarısız oldu. Aynı Idempotency-Key ile yeniden denemek güvenlidir: işlem tekrar çalışır; ücret alınmaz.
service_unavailable 503 API duraklatılmış veya bir bağımlılık kullanılamıyor. Daha sonra yeniden deneyin.
internal_error 500 Bizim hatamız. Yeniden deneyin; sürerse zaman ve request_id ile desteğe başvurun.

Kodlar

invalid_request

Genel biçimi bozuk istek (400).

invalid_json

Gövde geçerli bir JSON değil (400).

invalid_body

Gövde geçerli bir JSON ancak bir nesne değil; model girdisi bir JSON nesnesi olmalıdır (400).

body_too_large

Gövde 16 MB'tan büyük (413). Büyük dosyaları yükleyin ve bunun yerine URL'lerini gönderin (Dosyalar bölümüne bakın).

invalid_parameter

Bir sorgu parametresinin değeri yanlış; örneğin limit 1 ile 100 arasında değil, wait bir sayı değil, bilinmeyen bir status veya category ya da storage değeri permanent / temporary dışında (400). param bunu belirtir.

invalid_category

GET /openapi.json?category= mevcut olmayan bir kategori belirtir (400). GET https://api.doitong.ru/v1/categories bunları listeler.

invalid_cursor

Bir liste çağrısındaki cursor bu listeye ait değil (400). İmleç olmadan yeniden başlayın.

invalid_idempotency_key

Idempotency-Key üst bilgisi boş veya 255 karakterden uzun (400).

invalid_arguments

Bir MCP araç çağrısında eksik veya biçimi bozuk bir bağımsız değişken var (yalnızca MCP). param bağımsız değişkeni belirtir.

invalid_input

Model girdisi doğrulamadan geçmiyor (422): bilinmeyen bir parametre (mesaj en yakın geçerli adı önerir), eksik zorunlu parametre, yanlış tür, izin verilen liste veya aralık dışında değer ya da hem kurallı hem yerel adın farklı değerlerle verilmesi. param ilk hatalı parametredir ve details tümünü listeler. Ücret alınmaz.

unsupported_file

Bir dosyanın kabul etmediğimiz bir türü var (422); örneğin desteklenmeyen uzantıya sahip bir yükleme veya uzantıyla eşleşmeyen bir content_type.

invalid_webhook_url

webhook_url herkese açık bir https:// URL'si değil (422). Özel, yerel ve düz http:// adresleri reddedilir.

missing_api_key

Uç nokta bir API anahtarı gerektiriyor ancak hiç anahtar gönderilmedi (401).

invalid_api_key

Anahtar bilinmiyor, iptal edilmiş veya süresi dolmuş (401).

insufficient_scope

Anahtar bu çağrının gerektirdiği kapsama sahip değil (403); örneğin çalıştırma için models:run, istekleri ve bakiyeyi okumak için models:read. Kimlik doğrulama bölümüne bakın.

account_disabled

Hesap kapatılmış veya askıya alınmış (403). Anahtarları artık çalışmaz.

not_found

Yol mevcut değil (404).

model_not_found

Bu kimliğe sahip herkese açık model yok (404). Modelleri GET https://api.doitong.ru/v1/models ile listeleyin.

request_not_found

Hesabınızda bu kimliğe sahip bir istek yok (404). Diğer hesapların istekleri hiçbir zaman görünür değildir.

insufficient_credits

Hesabın API bakiyesi (API kredisi, 1.000 API kredisi = $1 — Doitong uygulamalarının kredileri değil) bu çağrının fiyatını karşılamıyor (402). Yanıt, herhangi bir ücret alınmadan önce gönderilir. Hata top_up_url taşır; https://doitong.ru/developers/dashboard#balance adresinden para ekleyin ve yeniden deneyin.

JSON
{ "error": { "type": "insufficient_credits", "code": "insufficient_credits",
             "message": "This request costs 560 API credits ($0.56); the API balance is 120 API credits ($0.12). Top up at https://doitong.ru/developers/dashboard#balance",
             "top_up_url": "https://doitong.ru/developers/dashboard#balance", "doc_url": "https://doitong.com/developers/docs/errors#insufficient_credits" } }

budget_exceeded

Çağrı, API anahtarının API kredisi cinsinden kendi bütçesini aşar (402). Bütçeyi anahtarın sahibi belirler; onlar artırana kadar yeniden denemek işe yaramaz.

conflict

Çağrı, kaynağın mevcut durumuyla çakışıyor (409).

idempotency_mismatch

Idempotency-Key daha önce farklı bir gövdeyle kullanılmış (409). Yeni bir işlem için yeni bir anahtar kullanın.

idempotency_in_progress

Aynı Idempotency-Key ile bir istek şu anda oluşturuluyor (409). İsteği almak için kısa süre sonra yeniden deneyin.

request_active

İstek hâlâ queued veya running durumunda, bu nedenle henüz silinecek dosyası yok (409). Tamamlandıktan sonra silin.

not_cancelable

İstek zaten succeeded veya failed durumunda ve iptal edilemez (409).

rate_limited

Anahtar, geçerli zaman aralığında çok fazla istek yaptı (429). X-RateLimit-* ve Retry-After üst bilgilerine bakın.

too_many_inflight

Hesapta zaten queued veya running durumunda 10 istek var (429). Bunlardan biri tamamlandığında sonrakini başlatın.

upstream_error

Model arka ucu isteği reddetti veya başarısız oldu (çalıştırmada 502 ya da istekte bu kodla failed). API kredisi iade edilir. Arka uç girdiyi kendisi reddettiyse çağrı bunun yerine mesajıyla birlikte 422 invalid_input döndürür.

upstream_lost

Model arka ucu isteği artık tanımıyor; bu nedenle hiçbir sonuç gelmeyecek. İstek bu kodla (tür upstream_error) failed durumunda sona erer ve iade edilir. Tekrar çalıştırın.

timeout

İstek sınırından daha uzun çalıştı (görseller için 15 dakika, video için 60, diğerleri için 30) ve durduruldu. Bu kodla failed durumunda sona erer ve iade edilir.

service_unavailable

API geçici olarak duraklatılmış veya dosya yüklemeleri gibi bir bağımlılık kullanılamıyor (503). Daha sonra yeniden deneyin.

internal_error

Bizim tarafımızda bir sorun oluştu (500). Yeniden deneyin; sürerse desteğe başvurun.

charge_failed

Dahili bir sorun nedeniyle hesaptan ücret alınamadı (500). İstek failed olarak işaretlenir; hiçbir şey alınmaz. Yeniden deneyin.

pricing_unavailable

Modelin fiyatı yapılandırılmamış; bu nedenle şu anda fiyat verilemez veya çalıştırılamaz (500).