Pemecahan masalahPanduan
Error API 401 atau 404: kunci, base URL, atau id model yang salah
Baca kode status, temukan mana dari tiga hal yang salah (kunci, base URL, id model) dan konfirmasi perbaikannya dengan satu permintaan curl.

Di halaman ini
Permintaan Anda gagal dengan kode status dan Anda tidak yakin apa yang harus diperiksa terlebih dahulu. Jawaban singkat: 401 biasanya menunjuk ke kunci, 404 biasanya berarti Anda mengetuk di tempat yang salah — entah alamatnya (base URL dan path) atau id model. Tiga hal yang perlu diperiksa, dalam urutan ini, dan satu perintah curl yang membuktikan perbaikannya.
Halaman kode error OpenAI (diperiksa 26 Oktober 2026) mencantumkan dua pesan 401: "Invalid Authentication" dan "Incorrect API key provided". Perbaikan yang diberikan sama untuk keduanya: periksa kunci atau buat yang baru. Halaman itu tidak mendokumentasikan 404 untuk API itu sendiri, jadi untuk 404 aturan di bawah ini berasal dari cara kerja endpoint yang kompatibel dengan OpenAI, bukan dari halaman tersebut.
Cara cepat membedakannya#
Gulir tabel ke kanan →
| Status | Apa yang dikatakan server | Periksa dulu |
|---|---|---|
| 401 | biasanya: Saya tidak menerima kunci ini | kuncinya, dan milik penyedia mana |
| 404 pada setiap model | biasanya: tidak ada apa pun di alamat ini | base URL dan /v1 |
| 404 hanya pada satu model | biasanya: alamatnya benar, id model ini tidak dikenal | id model |
Kata-kata pesannya bergantung pada server dan pada alat Anda (Cline, Aider, OpenCode dan Continue masing-masing membungkus error dengan caranya sendiri), jadi mulailah dari angkanya, lalu konfirmasi dengan pemeriksaan curl di bawah.
401: kunci tidak cocok dengan endpoint#
Kisah klasik: Anda memindahkan alat ke penyedia baru, mengubah base URL, dan meninggalkan kunci penyedia lama di konfigurasi. Alamatnya baru, kuncinya yang lama, dan server menjawab 401. Tidak ada yang rusak; kuncinya hanya milik rumah yang berbeda.
Yang perlu diperiksa:
- Penyedia mana yang menerbitkan kunci? Itu harus penyedia yang alamatnya Anda panggil. Kunci untuk satu layanan tidak valid di layanan lain.
- Karakter nyasar. Spasi atau baris baru yang ikut tersalin dengan kunci, atau tanda kutip yang berakhir di dalam nilai.
- Dari mana alat membacanya. Variabel lingkungan yang diatur di satu terminal dan tidak di terminal tempat editor Anda dimulai adalah penyebab yang sering. Jika alat memiliki file konfigurasi dan variabel lingkungan, cari tahu mana yang menang.
- Kunci yang dicabut atau dihapus. Kunci yang Anda hapus atau cabut berhenti berfungsi — buat yang baru dan masukkan ke konfigurasi.
Jika Anda tidak yakin bagaimana kunci bekerja atau di mana menyimpannya, apa itu API key dan cara menyimpannya dengan aman membahasnya dengan kata-kata sederhana.
404 pada setiap model: alamatnya salah#
Base URL untuk CheapTokens adalah https:/. Alat dan SDK menambahkan path endpoint sendiri, jadi kesalahan yang umum adalah tentang /v1:
/v1hilang: alat akhirnya memanggilhttps:/./ api. cheaptokens. dev/ chat/ completions /v1ganda: Anda menempelkan path lengkap ke bidang yang sudah menambahkannya, dan mendapatkanhttps:/./ api. cheaptokens. dev/ v1/ v1/ chat/ completions - Jenis yang salah: alat bergaya OpenAI dan SDK OpenAI mengambil alamat dengan
/v1. SDK Anthropic dan Claude Code mengambil alamat tanpa/v1:https:/./ api. cheaptokens. dev
Jika Anda pernah bertanya-tanya apa sebenarnya base URL dan bagian mana yang ditambahkan alat, penjelasan ini membahasnya. Untuk sisi Anthropic, lihat Anthropic Python SDK dengan CheapTokens.
404 pada satu model: id model#
Yang ini menjebak orang yang menyalin nama dari tabel harga atau dari penyedia lain. Tabel harga mungkin menulis DeepSeek-; API menginginkan id gateway lengkap, dengan awalan pengembang dan rilisnya:
Gulir tabel ke kanan →
| Di mana Anda melihatnya | Apa yang dibutuhkan API |
|---|---|
| DeepSeek-V4-Flash | deepseek- |
| GLM-5.3-Flash | zai- |
| MiniMax-M2.7 | MiniMaxAI/ |
Id pendek dari label harga tidak diterima oleh API, dan ejaannya penting: huruf kapital, garis miring, akhiran -0731. Salin id dari dokumentasi CheapTokens daripada mengetiknya dari ingatan — penyedia yang berbeda menamai model yang sama secara berbeda. Untuk melihat id persis yang tersedia untuk kunci Anda, panggil GET https:/ dengan header Authorization yang sama dan salin id dari daftar:
curl https://api.cheaptokens.dev/v1/models \
-H "Authorization: Bearer YOUR_API_KEY"Jika logika penamaan di tabel terlihat aneh, cara membaca nama model AI menjelaskan alias versus versi yang dipin.
Buktikan perbaikannya dengan satu perintah curl#
Keluarkan alat dari gambaran dan panggil API secara langsung. Ganti placeholder kunci dengan milik Anda sendiri:
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-ai/DeepSeek-V4-Flash-0731",
"messages": [{"role": "user", "content": "Say hi in one word."}],
"max_tokens": 20
}'Permintaan yang satu ini memuat ketiga tersangka: kunci di header, base URL di baris pertama, id model di body. Balasan JSON dengan array choices berarti ketiganya benar, dan apa pun yang dilakukan alat Anda secara berbeda adalah masalahnya. Jika gagal, ubah satu hal pada satu waktu:
- 401 → tukar dengan kunci yang Anda dapatkan dari CheapTokens dan jalankan lagi.
- 404 → bandingkan URL karakter demi karakter dengan yang di atas, lalu id model.
Setelah curl berhasil, salin ketiga nilai yang sama ke alat: kuncinya, base URL (https:/, atau tanpa /v1 untuk SDK Anthropic dan Claude Code) dan id model lengkap.
Jika masih tidak berhasil#
- Error yang sama di alat, curl baik-baik saja. Alat membaca kunci atau URL lama dari tempat lain: file konfigurasi kedua, profil tersimpan, variabel lingkungan. Mulai ulang alat setelah mengubahnya.
- Tidak yakin id modelnya benar. Panggil
GET /v1/modelsdengan kunci Anda dan salin id dari daftar. - Koneksi ditolak, timeout, error sertifikat. Itu bukan 401 atau 404; lihat error koneksi umum.
- Tidak yakin seperti apa permintaan pertama seharusnya. Permintaan API pertama Anda membahasnya langkah demi langkah, dan dokumentasi memiliki referensi lengkapnya.
Kebiasaan yang layak dipertahankan: saat panggilan gagal, baca angkanya dulu. 401 biasanya berarti kunci, 404 biasanya alamat atau id model, dan curl menyelesaikannya. Itu menyelesaikan sebagian besar error ini sebelum Anda membuka satu log pun.



