Khắc phục sự cốHướng dẫn
Lỗi API 401 hoặc 404: sai key, base URL hoặc model id
Đọc mã trạng thái, tìm xem trong ba thứ (key, base URL, model id) cái nào sai và xác nhận bản sửa bằng một yêu cầu curl.

Trên trang này
Yêu cầu của bạn thất bại với một mã trạng thái và bạn không chắc nên sửa cái gì trước. Câu trả lời ngắn: 401 thường chỉ vào key, 404 thường có nghĩa là bạn đang gõ cửa sai chỗ — hoặc là địa chỉ (base URL và đường dẫn) hoặc là model id. Ba thứ cần kiểm tra, theo thứ tự này, và một lệnh curl chứng minh bản sửa.
Trang mã lỗi của OpenAI (kiểm tra ngày 26 tháng 10 năm 2026) liệt kê hai thông báo 401: "Invalid Authentication" và "Incorrect API key provided". Cách sửa mà trang đưa ra là giống nhau cho cả hai: kiểm tra key hoặc tạo một key mới. Trang không ghi nhận 404 nào cho chính API, nên với 404 quy tắc dưới đây đến từ cách các endpoint tương thích OpenAI hoạt động, không phải từ trang đó.
Cách nhanh để phân biệt chúng#
Cuộn bảng sang phải →
| Trạng thái | Máy chủ đang nói gì | Xem trước tiên |
|---|---|---|
| 401 | thường là: tôi không chấp nhận key này | key, và nó thuộc nhà cung cấp nào |
| 404 trên mọi model | thường là: không có gì ở địa chỉ này | base URL và /v1 |
| 404 chỉ trên một model | thường là: địa chỉ ổn, model id này không được biết | model id |
Cách diễn đạt thông báo phụ thuộc vào máy chủ và công cụ của bạn (Cline, Aider, OpenCode và Continue mỗi cái bọc lỗi theo cách riêng), nên hãy bắt đầu từ con số, rồi xác nhận bằng kiểm tra curl bên dưới.
401: key không khớp với endpoint#
Câu chuyện kinh điển: bạn chuyển một công cụ sang nhà cung cấp mới, đổi base URL, và để lại key của nhà cung cấp cũ trong cấu hình. Địa chỉ là mới, key là cũ, và máy chủ trả lời 401. Không có gì hỏng; key chỉ thuộc về một nhà khác.
Những gì cần kiểm tra:
- Nhà cung cấp nào đã phát hành key? Nó phải là nhà cung cấp có địa chỉ bạn đang gọi. Key của một dịch vụ không hợp lệ trên dịch vụ khác.
- Ký tự lạ. Một dấu cách hoặc dấu xuống dòng bị dán kèm với key, hoặc dấu ngoặc kép lọt vào trong giá trị.
- Công cụ đọc nó từ đâu. Một biến môi trường được đặt trong một terminal này mà không có trong terminal mà trình soạn thảo của bạn khởi động từ đó là nguyên nhân thường gặp. Nếu công cụ có cả tệp cấu hình và biến môi trường, hãy tìm hiểu cái nào thắng.
- Key đã bị thu hồi hoặc xóa. Key bạn đã xóa hoặc thu hồi sẽ ngừng hoạt động — tạo một key mới và đặt nó vào cấu hình.
Nếu bạn không chắc key hoạt động thế nào hoặc nên giữ chúng ở đâu, API key là gì và cách lưu trữ an toàn giải thích bằng lời đơn giản.
404 trên mọi model: địa chỉ sai#
Base URL cho CheapTokens là https:/. Các công cụ và SDK tự thêm đường dẫn endpoint, nên những sơ suất thường gặp là về /v1:
- Thiếu
/v1: công cụ rốt cuộc gọihttps:/./ api. cheaptokens. dev/ chat/ completions - Nhân đôi
/v1: bạn dán toàn bộ đường dẫn vào một trường vốn đã thêm nó, và nhận đượchttps:/./ api. cheaptokens. dev/ v1/ v1/ chat/ completions - Sai loại: các công cụ kiểu OpenAI và SDK OpenAI nhận địa chỉ có
/v1. SDK Anthropic và Claude Code nhận địa chỉ không có/v1:https:/./ api. cheaptokens. dev
Nếu bạn từng thắc mắc chính xác base URL là gì và công cụ thêm phần nào của nó, bài giải thích này đi qua từng bước. Về phía Anthropic, xem Anthropic Python SDK với CheapTokens.
404 trên một model: model id#
Cái này bắt những người sao chép tên từ bảng giá hoặc từ nhà cung cấp khác. Một bảng giá có thể ghi DeepSeek-; API muốn id gateway đầy đủ, với tiền tố nhà phát triển và bản phát hành:
Cuộn bảng sang phải →
| Nơi bạn thấy nó | API cần gì |
|---|---|
| DeepSeek-V4-Flash | deepseek- |
| GLM-5.3-Flash | zai- |
| MiniMax-M2.7 | MiniMaxAI/ |
Các id ngắn từ nhãn giá không được API chấp nhận, và cách viết rất quan trọng: chữ in hoa, dấu gạch chéo, hậu tố -0731. Hãy sao chép id từ tài liệu CheapTokens thay vì gõ từ trí nhớ — các nhà cung cấp khác nhau đặt tên cùng một model khác nhau. Để xem các id chính xác có sẵn cho key của bạn, hãy gọi GET https:/ với cùng header Authorization và sao chép id từ danh sách:
curl https://api.cheaptokens.dev/v1/models \
-H "Authorization: Bearer YOUR_API_KEY"Nếu logic đặt tên trong bảng có vẻ lạ, cách đọc tên model AI giải thích alias so với phiên bản được ghim.
Chứng minh bản sửa bằng một lệnh curl#
Loại bỏ công cụ ra khỏi bức tranh và gọi API trực tiếp. Thay chỗ giữ chỗ key bằng key của riêng bạn:
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
}'Một yêu cầu này chứa cả ba nghi phạm: key trong header, base URL ở dòng đầu tiên, model id trong body. Một phản hồi JSON với mảng choices nghĩa là cả ba đều đúng, và bất cứ điều gì công cụ của bạn làm khác đi chính là vấn đề. Nếu nó thất bại, hãy thay đổi một thứ một lúc:
- 401 → thay bằng key bạn nhận từ CheapTokens và chạy lại.
- 404 → so sánh URL từng ký tự với cái ở trên, rồi đến model id.
Sau khi curl hoạt động, sao chép cùng ba giá trị đó vào công cụ: key, base URL (https:/, hoặc không có /v1 cho SDK Anthropic và Claude Code) và model id đầy đủ.
Nếu nó vẫn không hoạt động#
- Cùng lỗi trong công cụ, curl thì ổn. Công cụ đang đọc một key hoặc URL cũ từ đâu đó khác: một tệp cấu hình thứ hai, một profile đã lưu, một biến môi trường. Khởi động lại công cụ sau khi thay đổi.
- Không chắc model id đúng. Gọi
GET /v1/modelsvới key của bạn và sao chép id từ danh sách. - Kết nối bị từ chối, hết thời gian chờ, lỗi chứng chỉ. Đó không phải 401 hay 404; xem các lỗi kết nối thường gặp.
- Không chắc yêu cầu đầu tiên nên trông như thế nào. Yêu cầu API đầu tiên của bạn đi từng bước, và tài liệu có tham chiếu đầy đủ.
Thói quen đáng giữ: khi một cuộc gọi thất bại, hãy đọc con số trước. 401 thường nghĩa là key, 404 thường là địa chỉ hoặc model id, và curl giải quyết được. Điều đó xử lý hầu hết các lỗi này trước khi bạn mở một dòng log nào.



