Error
Setiap endpoint gagal dengan cara yang sama: status HTTP dan satu envelope 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"
}
}
| Field | Arti |
|---|---|
type |
Kelas umum error. Tentukan tindakan berdasarkan ini. |
code |
Alasan spesifik, stabil, dan dapat dibaca mesin. Setiap kode memiliki bagian di bawah; doc_url mengarah ke sana. |
message |
Penjelasan yang dapat dibaca manusia, aman untuk dicatat atau ditampilkan kepada pengembang. |
param |
Parameter input atau header yang bermasalah, jika ada. |
details |
Untuk error input, setiap masalah yang ditemukan: [{ "param", "message" }]. |
request_id |
Permintaan yang terkait, jika ada. |
Tidak ada biaya untuk panggilan yang mengembalikan error. Permintaan yang gagal setelah diterima tetap berstatus
failed, membawa error: { "type", "code", "message" } pada objek permintaan, dan otomatis menerima pengembalian dana.
Jenis
| Jenis | Status HTTP | Tindakan |
|---|---|---|
invalid_request |
400, 413 atau 422 | Perbaiki permintaan. Mengulangi panggilan yang sama akan gagal lagi. |
authentication_error |
401 | Kirim kunci yang valid dalam Authorization: Bearer <key>. |
permission_error |
403 | Gunakan kunci dengan scope yang diperlukan. |
not_found |
404 | Periksa id model atau id permintaan. |
insufficient_credits |
402 | Isi ulang saldo API (top_up_url dalam error). |
budget_exceeded |
402 | Anggaran kunci tersebut telah habis. Final: minta pemilik kunci menaikkannya. |
conflict |
409 | Resource tidak berada dalam status yang memungkinkan panggilan ini. |
rate_limited |
429 | Tunggu Retry-After detik, lalu coba lagi. |
upstream_error |
502 | Backend model gagal. Aman untuk mencoba lagi dengan Idempotency-Key yang sama: proses akan dijalankan ulang; Anda tidak dikenai biaya. |
service_unavailable |
503 | API dijeda atau dependensi sedang tidak tersedia. Coba lagi nanti. |
internal_error |
500 | Bug di sisi kami. Coba lagi; jika berlanjut, hubungi dukungan dengan waktu kejadian dan request_id. |
Kode
invalid_request
Permintaan umum yang formatnya salah (400).
invalid_json
Body bukan JSON yang valid (400).
invalid_body
Body adalah JSON valid tetapi bukan objek; input model harus berupa objek JSON (400).
body_too_large
Body lebih besar dari 16 MB (413). Unggah file besar dan teruskan URL-nya (lihat File).
invalid_parameter
Parameter kueri memiliki nilai yang salah, misalnya limit di luar 1 hingga 100, wait bukan angka, status atau
category yang tidak dikenal, atau storage selain permanent / temporary (400). param menyebutkannya.
invalid_category
GET /openapi.json?category= menyebutkan kategori yang tidak ada (400). GET https://api.doitong.ru/v1/categories menampilkannya.
invalid_cursor
cursor pada panggilan daftar bukan milik daftar ini (400). Mulai lagi tanpa cursor.
invalid_idempotency_key
Header Idempotency-Key kosong atau lebih panjang dari 255 karakter (400).
invalid_arguments
Panggilan tool MCP memiliki argumen yang hilang atau formatnya salah (khusus MCP). param menyebutkan argumen tersebut.
invalid_input
Input model tidak lolos validasi (422): parameter tidak dikenal (pesan menyarankan nama valid yang paling dekat),
parameter wajib yang hilang, tipe yang salah, nilai di luar daftar atau rentang yang diizinkan, atau nama kanonis dan
nama native diberikan dengan nilai berbeda. param adalah parameter bermasalah pertama dan details mencantumkan semuanya.
Tidak ada biaya.
unsupported_file
File memiliki tipe yang tidak kami terima (422), misalnya unggahan dengan ekstensi yang tidak didukung, atau content_type
yang tidak cocok dengan ekstensi.
invalid_webhook_url
webhook_url bukan URL publik https:// (422). Alamat privat, lokal, dan http:// biasa ditolak.
missing_api_key
Endpoint memerlukan kunci API tetapi tidak ada yang dikirim (401).
invalid_api_key
Kunci tidak dikenal, dicabut, atau kedaluwarsa (401).
insufficient_scope
Kunci tidak memiliki scope yang diperlukan panggilan ini (403), misalnya models:run untuk menjalankan model, atau models:read untuk membaca
permintaan dan saldo. Lihat Autentikasi.
account_disabled
Akun ditutup atau ditangguhkan (403). Kuncinya tidak lagi berfungsi.
not_found
Path tidak ada (404).
model_not_found
Tidak ada model publik dengan id ini (404). Tampilkan model dengan GET https://api.doitong.ru/v1/models.
request_not_found
Tidak ada permintaan dengan id ini di akun Anda (404). Permintaan dari akun lain tidak pernah terlihat.
insufficient_credits
Saldo API akun (kredit API, 1.000 kredit API = $1 — bukan kredit aplikasi Doitong) tidak mencukupi untuk harga panggilan ini (402).
Respons dikirim sebelum biaya apa pun dikenakan. Error membawa top_up_url; tambahkan dana di https://doitong.ru/developers/dashboard#balance lalu coba lagi.
{ "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
Panggilan ini akan melampaui anggaran kunci API dalam kredit API (402). Anggaran ditetapkan oleh pemilik kunci; mencoba lagi tidak membantu sampai anggaran dinaikkan.
conflict
Panggilan bertentangan dengan status resource saat ini (409).
idempotency_mismatch
Idempotency-Key sudah digunakan dengan body yang berbeda (409). Gunakan kunci baru untuk operasi baru.
idempotency_in_progress
Permintaan dengan Idempotency-Key yang sama sedang dibuat (409). Coba lagi sebentar untuk mendapatkannya.
request_active
Permintaan masih queued atau running, sehingga belum memiliki file untuk dihapus (409). Hapus file setelah permintaan selesai.
not_cancelable
Permintaan sudah succeeded atau failed dan tidak dapat dibatalkan (409).
rate_limited
Kunci membuat terlalu banyak permintaan dalam jendela saat ini (429). Lihat header X-RateLimit-* dan Retry-After.
too_many_inflight
Akun sudah memiliki 10 permintaan queued atau running (429). Mulai permintaan berikutnya setelah salah satunya selesai.
upstream_error
Backend model menolak atau gagal memproses permintaan (502 saat menjalankan, atau failed dengan kode ini pada permintaan). Kredit API dikembalikan.
Jika backend menolak input itu sendiri, panggilan mengembalikan 422 invalid_input dengan pesannya.
upstream_lost
Backend model tidak lagi mengetahui permintaan tersebut, sehingga hasil tidak akan pernah tiba. Permintaan berakhir sebagai failed dengan kode ini
(tipe upstream_error) dan dana dikembalikan. Jalankan lagi.
timeout
Permintaan berjalan lebih lama dari batasnya (15 menit untuk gambar, 60 untuk video, 30 lainnya) dan dihentikan. Permintaan berakhir sebagai
failed dengan kode ini dan dana dikembalikan.
service_unavailable
API sedang dijeda sementara, atau dependensi seperti unggahan file tidak tersedia (503). Coba lagi nanti.
internal_error
Terjadi masalah di sisi kami (500). Coba lagi; jika berlanjut, hubungi dukungan.
charge_failed
Biaya tidak dapat dibebankan ke akun karena masalah internal (500). Permintaan ditandai failed; tidak ada dana yang diambil. Coba lagi.
pricing_unavailable
Harga model belum dikonfigurasi, sehingga saat ini tidak dapat dihitung atau dijalankan (500).