Error 401: apa yang harus dilakukan saat claude-sonnet-4-6 gagal
Kode 401 berarti autentikasi gagal: permintaan tidak membawa API Key, atau kuncinya tidak valid, sudah dihapus, atau kedaluwarsa.
401 Unauthorized berarti permintaan tidak membawa kredensial yang valid. Gateway tidak dapat mengenali pemanggil, jadi permintaan tidak pernah sampai ke model upstream. Memeriksa header Authorization dan status key adalah satu-satunya jalan.
claude-sonnet-4-6 disediakan oleh Anthropic. Semua di halaman ini — penyebab, solusi, dan data terukur — disusun dari perilaku runtime nyata model ini di lapisan gateway.
Di gateway ini, pemicu yang paling umum adalah: Header Authorization tidak ada. Tindakan pertama yang disarankan: Kirim header sebagai Authorization: Bearer diikuti kunci Anda.
Penyebab umum
- Header Authorization tidak ada
- Kunci salah ketik atau ada spasi berlebih
- Kunci dihapus atau dinonaktifkan di halaman Token
- Kunci dari platform lain terpakai secara tidak sengaja
Cara mengatasi
- Kirim header sebagai Authorization: Bearer diikuti kunci Anda
- Buat kunci baru di halaman Token
- Pastikan Anda tidak memakai kunci dari layanan lain
- Verifikasi kunci dengan permintaan curl minimal
Contoh percobaan ulang dengan exponential backoff
Kode di bawah mencoba ulang ketika claude-sonnet-4-6 mengembalikan 401, maksimal 5 kali, dengan waktu tunggu yang meningkat plus jitter acak agar permintaan paralel tidak mengulang bersamaan. Baca base URL dan API key dari environment variable, jangan hardcode.
import os, time, random
import requests
BASE = os.getenv("OPENAI_BASE_URL") # e.g. https://<your-gateway>/v1
KEY = os.getenv("OPENAI_API_KEY")
MODEL = 'claude-sonnet-4-6'
def chat(messages, retries=5):
"""Retry with exponential backoff + jitter."""
for i in range(retries):
try:
r = requests.post(
BASE + "/chat/completions",
headers={"Authorization": "Bearer " + KEY},
json={"model": MODEL, "messages": messages, "stream": True},
timeout=60,
)
if r.status_code == 429 or r.status_code >= 500:
time.sleep(min(2 ** i + random.uniform(0, 1), 30))
continue
r.raise_for_status()
return r.json()
except requests.exceptions.Timeout:
time.sleep(min(2 ** i + random.uniform(0, 1), 30))
raise RuntimeError("gave up after " + str(retries) + " retries")
print(chat([{"role": "user", "content": "hello"}]))Data penting model ini
| Endpoint API | https://api.airai.cc/v1 |
|---|---|
| Kompatibel OpenAI | OpenAI-compatible |
| Vendor | Anthropic |
|---|---|
| Konteks | 1M |
| Kemampuan | Reasoning, Tools, Files, Vision |
| Format API | openai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search |
| Rumus penagihan | p * 3 + cr * 0.3 + cc * 3.75 + cc1h * 6 + c * 15 |
FAQ
Dengan beberapa node upstream, apakah gateway beralih otomatis saat 401?
Error ini tidak terkait kemampuan model, melainkan level gateway. Biasanya bersifat sementara dan pulih sendiri. Tag kapabilitas model ini adalah Reasoning, Tools, Files, Vision. Jika berlangsung beberapa menit, hubungi dukungan platform untuk memastikan status upstream. Tentukan dulu apakah ini level akun atau level model; penanganannya benar-benar berbeda.
Apakah permintaan yang gagal tetap dihitung dalam kuota rate limit?
Hanya output yang sudah dihasilkan yang ditagihkan; bagian yang gagal tidak. Penagihan mengikuti p * 3 + cr * 0.3 + cc * 3.75 + cc1h * 6 + c * 15, tanpa output berarti tanpa tagihan. Dengan penagihan p * 3 + cr * 0.3 + cc * 3.75 + cc1h * 6 + c * 15, biaya output panjang sebagian besar dari token output. Saat memperkirakan biaya dari p * 3 + cr * 0.3 + cc * 3.75 + cc1h * 6 + c * 15, sertakan juga anggaran percobaan ulang.
Bagaimana menjadwalkan batch saat claude-sonnet-4-6 mengembalikan 401?
Turunkan konkurensi terlebih dahulu — sebagian besar masalah throughput akan hilang. Model ini memiliki context window 1M dan berasal dari Anthropic. Konteks 1M berarti input panjang menambah latensi token pertama secara nyata. Untuk keluaran panjang, naikkan timeout ke 60 detik atau lebih. Mulai dari konkurensi rendah, amati beberapa menit, lalu tingkatkan.
Apakah 401 lebih sering terjadi di percakapan multi-giliran dengan claude-sonnet-4-6?
Parameter permintaan harus diubah, mencoba ulang saja tidak membantu. Tag kemampuan adalah Reasoning, Tools, Files, Vision, dan batas parameter mengikuti set kemampuan tersebut. Untuk error parameter, gagalkan langsung daripada menghabiskan percobaan ulang.
Error lain pada model ini
- claude-sonnet-4-6: error 429 — penyebab dan solusi
- claude-sonnet-4-6: error timeout — penyebab dan solusi
- claude-sonnet-4-6: error 500 — penyebab dan solusi
- claude-sonnet-4-6: error 502 — penyebab dan solusi
- claude-sonnet-4-6: error 503 — penyebab dan solusi
- claude-sonnet-4-6: error 504 — penyebab dan solusi
- claude-sonnet-4-6: error 403 — penyebab dan solusi
- claude-sonnet-4-6: error 400 — penyebab dan solusi
Model lain dengan error yang sama
- gpt-5
- claude-opus-5
- gemini-2.5-pro
- deepseek-v4-pro
- grok-4.3
- llama-3.3-70b-instruct
- qvq-max
- qwq-32b
- glm-5
- MiniMax-M3
- kimi-k3
- hy3
- doubao-seed-evolving
- mimo-v2.5
- gpt-4o
- claude-opus-4-6
Data diperbarui: 2026-10-10 18:35