Referensi
Galat
Galat dikembalikan dalam bentuk yang sama seperti OpenAI, dengan code yang stabil untuk kamu cocokkan dan message yang ditulis untuk manusia. Panggilan yang ditolak atau gagal tidak memakan biaya.
Diperiksa 26 Oktober 2026
Bentuknya
{
"error": {
"type": "rate_limit_error",
"code": "daily_cap",
"message": "This call needs up to $0.02 and the key has $0.01 left of its $2.00 daily cap, which resets at 00:00 UTC. …"
}
}Cocokkan berdasarkan code, bukan message: pesan bisa diubah kata-katanya, kode tetap. type mengikuti milik OpenAI, jadi SDK memunculkan exception yang kamu harapkan.
Setiap kode
| Status | Kode | Kapan | Solusi |
|---|---|---|---|
| 401 | missing_key | Tidak ada kunci yang dikirim. | Kirim sebagai Authorization: Bearer sk-nokeep-…. Buat kunci di konsol, atau coba sk-nokeep-test dulu. |
| 401 | invalid_key | Kuncinya salah, atau sudah dicabut. | Salin lagi kunci dari tempat kamu menyimpannya; konsol hanya menampilkan empat karakter terakhirnya. Buat kunci baru jika hilang. |
| 403 | account_frozen | Fitur berbayar dijeda di akun pemilik kunci ini. | Hubungi kami lewat halaman kontak. |
| 429 | rate_limited | Kunci mengirim lebih dari 120 permintaan dalam semenit (20 untuk kunci uji, per alamat). | Tunggu sebanyak detik di Retry-After, lalu coba lagi. |
| 429 | daily_cap | Panggilan ini bisa melewati batas harian kunci. | Naikkan batasnya di konsol, turunkan max_tokens, atau tunggu sampai 00:00 UTC (Retry-After memberi tahu berapa lama). |
| 402 | insufficient_credits | Kredit yang dibeli di akun tidak cukup untuk panggilan ini. | Isi ulang mulai $5 di konsol, atau turunkan max_tokens. Kredit dari paket tetap di aplikasi. |
| 400 | invalid_json | Body-nya bukan objek JSON. | Kirim Content-Type: application/json dan sebuah objek JSON. |
| 413 | too_large | Permintaannya lebih dari 12 MB. | Kirim gambar sebagai tautan, bukan data URL, atau kirim lebih sedikit sekaligus. |
| 404 | model_not_found | ID model itu bukan milik kami. | GET /v1/models menampilkan daftar ID. Periksa salah ketik atau -uncensored yang terlewat. |
| 400 | invalid_messages | messages tidak ada atau kosong, terlalu panjang, berisi role yang tidak dikenal, atau ada pesan tool tanpa tool_call_id. | Kirim 1 sampai 2.000 pesan, masing-masing dengan role system, developer, user, assistant atau tool. |
| 400 | unsupported_n | n lebih dari 1. | Kirim satu permintaan untuk setiap jawaban yang kamu mau. |
| 400 | invalid_reasoning_effort | Model tidak menerima reasoning_effort itu. | DeepSeek menerima none, low, high atau max. GLM menerima low atau high. |
| 400 | unsupported_tool_choice | GLM menerima fungsi bernama atau "required" sebagai tool_choice. | Kirim auto atau none ke GLM; ia memilih tool-nya sendiri. DeepSeek menerima semua bentuk. |
| 400 | unsupported_input | Ada bagian konten yang jenisnya tidak bisa dibaca model. | Kirim gambar ke DeepSeek; GLM hanya membaca teks. |
| 400 | too_many_images | Lebih dari sepuluh gambar dalam satu permintaan. | Kirim paling banyak sepuluh. |
| 422 | hard_limit | Permintaan melanggar salah satu batas mutlak di ketentuan. | Tidak ada yang ditagih. Hapus pesan itu dari riwayat yang kamu kirim balik, kalau tidak panggilan berikutnya juga berhenti. |
| 400 | rejected | Model tidak bisa menerima permintaan seperti yang dikirim. | Cocokkan parameternya dengan daftar model di Model. Tidak ada yang ditagih. |
| 503 | busy | Modelnya sedang sibuk. | Coba lagi setelah detik di Retry-After. Tidak ada yang ditagih. |
| 503 | model_unavailable | Model sedang offline di pihak kami. | Pakai model lainnya dulu; halaman status menunjukkan kapan model kembali. |
| 502 | upstream_error | Model gagal sebelum menulis satu kata pun. | Coba lagi sebentar lagi. Tidak ada yang ditagih. |
| 404 | not_found | Rute itu tidak ada. | API melayani GET /v1/models, GET /v1/models/{id}, GET /v1/status dan POST /v1/chat/completions. |
| 404 | api_closed | API sedang dimatikan. | Coba lagi nanti. |
| Saat streaming | Kode | Kapan | Solusi |
|---|---|---|---|
| — | stream_cut | Model berhenti sebelum selesai, di tengah streaming. | Yang sudah ditulis ditagih, tidak lebih. Coba lagi untuk mendapat sisanya, atau lanjutkan dari yang sudah tiba. |
Mana yang perlu diulang
- Ulangi
429 rate_limited,503 busydan502 upstream_error, setelah jumlah detikRetry-Afterjika ada. - Jangan ulangi
400,401,402,404atau422: permintaan yang sama akan mendapat jawaban yang sama. 429 daily_capmenunggu sampai 00:00 UTC. Sebaiknya naikkan batasnya.