Langkau ke kandungan
Panduan API

Ralat

Lihat sebagai Markdown Dikemas kini

Setiap endpoint gagal dengan cara yang sama: status HTTP dan satu sampul JSON.

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"
  }
}
Medan Maksud
type Kelas umum ralat. Tentukan tindakan berdasarkan ini.
code Sebab tepat, stabil dan boleh dibaca mesin. Setiap kod mempunyai bahagian di bawah; doc_url memaut kepadanya.
message Penjelasan yang boleh difahami manusia, selamat untuk dilog atau dipaparkan kepada pembangun.
param Parameter input atau pengepala yang bermasalah, jika ada.
details Untuk ralat input, setiap masalah yang ditemui: [{ "param", "message" }].
request_id Permintaan yang berkaitan, jika ada.

Tiada caj dikenakan untuk panggilan yang mengembalikan ralat. Permintaan yang gagal selepas diterima mengekalkan status failed, membawa error: { "type", "code", "message" } pada objek permintaan dan bayaran balik dibuat secara automatik.

Jenis

Jenis Status HTTP Tindakan
invalid_request 400, 413 atau 422 Betulkan permintaan. Percubaan semula panggilan yang sama akan gagal lagi.
authentication_error 401 Hantar kunci yang sah dalam Authorization: Bearer <key>.
permission_error 403 Gunakan kunci dengan skop yang diperlukan.
not_found 404 Semak id model atau id permintaan.
insufficient_credits 402 Tambah nilai baki API (top_up_url dalam ralat).
budget_exceeded 402 Belanjawan kunci itu sendiri telah habis digunakan. Akhirnya: minta pemilik kunci menaikkannya.
conflict 409 Sumber tidak berada dalam keadaan yang membenarkan panggilan ini.
rate_limited 429 Tunggu Retry-After saat, kemudian cuba lagi.
upstream_error 502 Backend model gagal. Selamat untuk mencuba semula dengan Idempotency-Key yang sama: ia dijalankan semula; anda tidak dicaj.
service_unavailable 503 API dijeda atau kebergantungan tidak tersedia. Cuba lagi kemudian.
internal_error 500 Pepijat kami. Cuba lagi; jika berterusan, hubungi sokongan dengan masa dan request_id.

Kod

invalid_request

Permintaan umum yang tidak diformat dengan betul (400).

invalid_json

Isi kandungan bukan JSON yang sah (400).

invalid_body

Isi kandungan ialah JSON yang sah tetapi bukan objek; input model mestilah objek JSON (400).

body_too_large

Isi kandungan lebih besar daripada 16 MB (413). Muat naik fail besar dan hantar URLnya sebagai ganti (lihat Fail).

invalid_parameter

Parameter pertanyaan mempunyai nilai yang salah, contohnya limit di luar julat 1 hingga 100, wait bukan nombor, status atau category yang tidak diketahui, atau storage selain permanent / temporary (400). param menamakannya.

invalid_category

GET /openapi.json?category= menamakan kategori yang tidak wujud (400). GET https://api.doitong.ru/v1/categories menyenaraikannya.

invalid_cursor

cursor bagi panggilan senarai bukan milik senarai ini (400). Mulakan semula tanpa kursor.

invalid_idempotency_key

Pengepala Idempotency-Key kosong atau lebih panjang daripada 255 aksara (400).

invalid_arguments

Panggilan alat MCP mempunyai argumen yang hilang atau tidak diformat dengan betul (MCP sahaja). param menamakan argumen tersebut.

invalid_input

Input model tidak lulus pengesahan (422): parameter tidak diketahui (mesej mencadangkan nama sah yang paling hampir), parameter wajib yang hilang, jenis yang salah, nilai di luar senarai atau julat yang dibenarkan, atau kedua-dua nama kanonik dan nama asli diberikan dengan nilai berbeza. param ialah parameter pertama yang bermasalah dan details menyenaraikan kesemuanya. Tiada caj dikenakan.

unsupported_file

Fail mempunyai jenis yang tidak kami terima (422), contohnya muat naik dengan sambungan yang tidak disokong atau content_type yang tidak sepadan dengan sambungan.

invalid_webhook_url

webhook_url bukan URL awam https:// (422). Alamat peribadi, setempat dan http:// biasa ditolak.

missing_api_key

Endpoint memerlukan kunci API tetapi tiada kunci dihantar (401).

invalid_api_key

Kunci tidak diketahui, dibatalkan atau tamat tempoh (401).

insufficient_scope

Kunci tidak mempunyai skop yang diperlukan oleh panggilan ini (403), contohnya models:run untuk menjalankan model atau models:read untuk membaca permintaan dan baki. Lihat Pengesahan.

account_disabled

Akaun ditutup atau digantung (403). Kuncinya tidak lagi berfungsi.

not_found

Laluan tidak wujud (404).

model_not_found

Tiada model awam dengan id ini (404). Senaraikan model dengan GET https://api.doitong.ru/v1/models.

request_not_found

Tiada permintaan dengan id ini dalam akaun anda (404). Permintaan akaun lain tidak pernah kelihatan.

insufficient_credits

Baki API akaun (kredit API, 1,000 kredit API = $1 — bukan kredit aplikasi Doitong) tidak mencukupi untuk menampung harga panggilan ini (402). Respons dihantar sebelum sebarang caj dikenakan. Ralat membawa top_up_url; tambah wang di https://doitong.ru/developers/dashboard#balance dan cuba lagi.

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

Panggilan ini akan melebihi belanjawan kunci API sendiri dalam kredit API (402). Belanjawan ditetapkan oleh pemilik kunci; percubaan semula tidak membantu sehingga pemilik menaikkannya.

conflict

Panggilan bercanggah dengan keadaan semasa sumber (409).

idempotency_mismatch

Idempotency-Key telah digunakan dengan isi kandungan yang berbeza (409). Gunakan kunci baharu untuk operasi baharu.

idempotency_in_progress

Permintaan dengan Idempotency-Key yang sama sedang dibuat sekarang (409). Cuba lagi sebentar untuk mendapatkannya.

request_active

Permintaan masih queued atau running, jadi belum ada fail untuk dipadam (409). Padamkannya selepas selesai.

not_cancelable

Permintaan sudah succeeded atau failed dan tidak boleh dibatalkan (409).

rate_limited

Kunci membuat terlalu banyak permintaan dalam tetingkap semasa (429). Lihat pengepala X-RateLimit-* dan Retry-After.

too_many_inflight

Akaun sudah mempunyai 10 permintaan queued atau running (429). Mulakan permintaan seterusnya apabila salah satu daripadanya selesai.

upstream_error

Backend model menolak atau gagal memproses permintaan (502 semasa menjalankan model, atau failed dengan kod ini pada permintaan). Kredit API dibayar balik. Jika backend sendiri menolak input, panggilan mengembalikan 422 invalid_input dengan mesejnya.

upstream_lost

Backend model tidak lagi mengetahui permintaan itu, jadi keputusan tidak akan tiba. Permintaan berakhir sebagai failed dengan kod ini (jenis upstream_error) dan bayaran balik dibuat. Jalankan semula.

timeout

Permintaan berjalan melebihi hadnya (15 minit untuk imej, 60 untuk video, 30 untuk yang lain) lalu dihentikan. Permintaan berakhir sebagai failed dengan kod ini dan bayaran balik dibuat.

service_unavailable

API dijeda buat sementara atau kebergantungan seperti muat naik fail tidak tersedia (503). Cuba lagi kemudian.

internal_error

Sesuatu rosak di pihak kami (500). Cuba lagi; jika berterusan, hubungi sokongan.

charge_failed

Akaun tidak dapat dicaj kerana masalah dalaman (500). Permintaan ditandakan failed; tiada wang diambil. Cuba lagi.

pricing_unavailable

Harga model belum dikonfigurasi, jadi harga tidak dapat diberikan atau model tidak dapat dijalankan sekarang (500).