Platform
Kesalahan
Error dikembalikan sebagai JSON dalam format endpoint yang Anda panggil, dengan pesan yang mudah dipahami dan, pada endpoint bergaya OpenAI, kode tetap untuk diproses program.
Format
{ "error": { "message": "This API key can't use `gpt-6-astra`. It's limited to gpt-6-sol. Change that at https://zurelay.com/app/keys.", "type": "permission_error", "param": "model", "code": "model_not_allowed" }}Pada /v1/messages, error yang sama dikembalikan dalam format Anthropic, yang tidak memiliki kode: gunakan status HTTP dan error.type: { "type": "error", "error": { "type": "...", "message": "..." } }. Setiap respons chat, gambar, dan video, baik error maupun bukan, memiliki header x-request-id.
Kode
Mencoba ulang
- Coba ulang
429dan503, dengan menunggu selama jumlah detik di headerretry-after(atau menambah jeda secara eksponensial), kecuali respons menyatakanx-should-retry: false. - Jangan coba ulang error
4xxlainnya tanpa perubahan: hasilnya akan tetap gagal dengan cara yang sama. - Permintaan yang gagal tidak dikenakan biaya, jadi mencoba ulang tidak menambah biaya sampai ada yang berhasil. Stream yang terputus di tengah dikenakan biaya untuk bagian yang sudah dikirim, dan kasus langka
503denganx-should-retry: falsedikenakan biaya untuk inputnya (lihat Penagihan). - SDK resmi OpenAI dan Anthropic sudah otomatis mencoba ulang error yang memang perlu dicoba ulang.
Error di tengah stream
Error dari model tentang permintaan Anda sendiri (parameter yang tidak didukung, prompt yang terlalu panjang) diteruskan dengan pesan dan kode asli dari model, sebagai 400 atau 422.
Error di tengah stream
Setelah stream dimulai, kegagalan tidak bisa lagi disampaikan sebagai status HTTP. Sebagai gantinya, Anda menerima event error terakhir (dalam format endpoint), lalu stream berakhir. Anda dikenakan biaya untuk input dan output yang sudah diterima sebelum error, bukan setelahnya. Ini jarang terjadi: sebagian besar masalah terdeteksi dan dicoba ulang sebelum token pertama.
Event sejenis juga mengakhiri stream jika saldo atau anggaran kunci habis di tengah proses, dengan insufficient_quota, key_budget_exceeded atau key_daily_budget_exceeded. Permintaan non-streaming yang kehabisan saldo atau anggaran di tengah proses mengembalikan bagian yang sudah ditulis, terpotong seperti jawaban yang mencapai max_tokens (finish_reason: "length", atau stop_reason: "max_tokens" pada /v1/messages), dengan header x-zurelay-stopped yang mencantumkan kodenya.
Ada pertanyaan, atau ada yang kurang? Tanyakan kepada tim dukungan kami dan kami akan menjawab lewat email, biasanya dalam satu menit.