Mã model không thể dùng chung: api.anthropic.com yêu cầu mã có ngày, Gemini yêu cầu chuỗi phiên bản riêng và mỗi gateway định nghĩa các slug riêng. 404 ở đây có nghĩa là “host này không có model với đúng chuỗi đó” — cách khắc phục luôn là hỏi endpoint xem nó cung cấp gì.
Lỗi
{
"error": {
"type": "model_not_found",
"message": "The model 'claude-sonnet' does not exist or you do not have access to it.",
"code": "model_not_found"
}
}Tổng quan nguyên nhân và cách khắc phục
| Nguyên nhân | Cách khắc phục |
|---|---|
| Mã model từ một host khác | Mỗi API có không gian tên riêng — sao chép mã từ danh sách model của chính endpoint, không lấy từ các bài blog. |
| Phiên bản đã ngừng hoặc được đổi tên | Nhà cung cấp ngừng các snapshot có ngày; hãy ghim vào mã hiện tại và đăng ký nhận thông báo ngừng hỗ trợ. |
| Slug bị gõ sai hoặc cắt ngắn | claude-sonnet không phải model ở bất kỳ đâu; chuỗi chính xác rất quan trọng. |
| Model tồn tại nhưng bị vô hiệu hóa đối với khóa/gói của bạn | Một số host giới hạn model theo gói — endpoint danh sách cho biết khóa CỦA BẠN có thể gọi gì. |
Liệt kê model từ endpoint bạn đang gọi
GET /v1/models là nguồn sự thật trên mọi host tương thích OpenAI — nó trả về chính xác các mã mà khóa của bạn có thể dùng:
curl -s https://api.kunavo.com/v1/models \
-H "Authorization: Bearer $KUNAVO_API_KEY" \
| python3 -c "import json,sys; print('\n'.join(m['id'] for m in json.load(sys.stdin)['data']))"Phân giải model khi chạy, không hardcode
Danh mục thay đổi (có snapshot mới, có mô hình bị ngừng cung cấp). Hãy phân giải danh sách mô hình khi khởi động, ưu tiên slug đã cấu hình kèm phương án dự phòng và cảnh báo khi slug đã cấu hình biến mất khỏi /v1/models thay vì để môi trường production gặp lỗi 404.
Nếu bạn gọi qua Kunavo
Kunavo sử dụng các slug dễ đọc ổn định (claude-sonnet-5, gpt-5-6-terra, claude-fable-5) được liệt kê tại GET /v1/models kèm metadata cho từng model, và các slug đã ngừng được chuyển hướng 301 đến phiên bản kế nhiệm trên các trang model của site để liên kết không bị hỏng. Endpoint danh sách là nguồn có thẩm quyền — llms.txt cũng nói như vậy với mọi agent đọc nó.
Câu hỏi thường gặp
Tại sao cùng một mã model hoạt động trên API này nhưng 404 trên API khác?
Vì mã được đặt trong không gian tên riêng theo từng host: mã có ngày của Anthropic, tên có phiên bản của Gemini và slug của từng gateway đều là các chuỗi khác nhau cho những model liên quan. Luôn sao chép từ danh sách model của chính endpoint đích.
Làm thế nào để chống lỗi thời model trong tương lai?
Phân giải /v1/models khi khởi động, giữ mã model trong cấu hình (không phải trong mã nguồn), định nghĩa chuỗi dự phòng và tự cảnh báo khi mã đã cấu hình biến mất — việc đó biến 404 production thành một thay đổi cấu hình.
Hướng dẫn liên quan
Thông tin chi tiết hơn về ý nghĩa lỗi có trong tài liệu tham chiếu lỗi; bạn chỉ mất một phút để lấy khóa qua đăng ký và hướng dẫn xác thực.