XPlor3
REST API

Batas dan error

Format error, kode yang paling sering ditemui, batas request per menit, dan cara menanganinya.

Format error

Setiap error dijawab dengan status HTTP yang sesuai dan body yang bentuknya selalu sama:

{
  "error": {
    "code": "INSUFFICIENT_CREDITS",
    "message": "Kredit tidak cukup untuk model ini"
  }
}

Bercabanglah di code, yang tidak pernah berubah. message ditulis untuk manusia dan mengikuti header Accept-Language, jadi boleh langsung ditampilkan ke penggunamu.

Kode yang paling sering ditemui

StatusKodeArtinyaYang perlu dilakukan
400BAD_REQUESTBody atau parameter tidak sesuai skemaPeriksa field yang disebut di message
400JOB_ALREADY_SENTJob sudah dikirim ke model, tidak bisa dibatalkanTunggu hasilnya; kredit tidak dikembalikan
400JOB_NOT_CANCELABLEJob sudah selesaiTidak ada
400WEBHOOK_URL_INVALIDwebhookUrl bukan alamat HTTPS publik di port 443Pakai alamat HTTPS yang bisa dijangkau dari internet. Lihat Webhook
401UNAUTHORIZEDKunci tidak ada, salah, dicabut, atau kedaluwarsaPeriksa header Authorization atau buat kunci baru
402INSUFFICIENT_CREDITSSaldo tidak cukup untuk request iniIsi ulang kredit di studio
403EMAIL_UNVERIFIEDEmail akun belum diverifikasiVerifikasi email di studio
403ACCOUNT_SUSPENDEDAkun ditangguhkanHubungi tim lewat Telegram
404NOT_FOUNDJob, berkas, atau proyek tidak ada atau bukan milik akun iniPeriksa id-nya
429TOO_MANY_ACTIVE_JOBSSudah ada 5 job yang berjalanTunggu salah satunya selesai, lalu coba lagi
429RATE_LIMITEDTerlalu banyak request dalam semenitTunggu sesuai message, lalu coba lagi

Kalau input tidak lolos aturan model, misalnya pilihan yang tidak ada, berkas acuan yang terlalu besar, atau kombinasi setelan yang tidak didukung, jawabannya 400 dengan kode yang menjelaskan aturannya. Kredit tidak dipotong untuk request yang ditolak.

Batas

BatasNilai
Job berjalan bersamaan (QUEUED, SUBMITTED, RUNNING)5 per akun
Variasi per request1 sampai 5
Request yang memulai generate atau mengunggah30 per menit per kunci
Request lainnya120 per menit per kunci
Id per request tautan unduhan100
Item per halaman daftar50

Batas per menit dihitung per kunci API, jadi beberapa kunci tidak saling menghabiskan jatah.

Saran penanganan

  • Ulangi dengan jeda untuk 429 dan untuk error 5xx. Jeda yang bertambah (2, 4, 8 detik) sudah cukup.
  • Jangan mengulang POST /jobs secara buta setelah koneksi terputus. Periksa dulu GET /jobs?sort=newest&limit=5 untuk memastikan job-nya belum terbuat, supaya kredit tidak terpotong dua kali.
  • Job yang FAILED sudah dikembalikan kreditnya. Tidak perlu tindakan apa pun untuk refund.

Di halaman ini