Hatalar
Her uç nokta aynı şekilde başarısız olur: bir HTTP durumu ve tek bir JSON zarfı.
{
"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.
{ "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).