Rozwiązywanie problemówPrzewodnik
Błąd API 401 lub 404: zły klucz, base URL lub identyfikator modelu
Odczytaj kod statusu, ustal, która z trzech rzeczy jest błędna (klucz, base URL, identyfikator modelu), i potwierdź poprawkę jednym żądaniem curl.

Na tej stronie
Twoje żądanie zakończyło się błędem ze kodem statusu i nie wiesz, czego najpierw dotknąć. Krótka odpowiedź: 401 zwykle wskazuje na klucz, 404 zwykle oznacza, że pukasz w złe miejsce — albo adres (base URL i ścieżka), albo identyfikator modelu. Trzy rzeczy do sprawdzenia, w tej kolejności, i jedno polecenie curl, które potwierdza poprawkę.
Strona OpenAI z kodami błędów (sprawdzona 26 października 2026) wymienia dwie wiadomości 401: "Invalid Authentication" i "Incorrect API key provided". Podawana poprawka jest taka sama dla obu: sprawdź klucz lub wygeneruj nowy. Strona nie dokumentuje 404 dla samego API, więc dla 404 poniższa zasada wynika ze sposobu działania endpointów zgodnych z OpenAI, a nie z tej strony.
Szybki sposób na ich rozróżnienie#
Przewiń tabelę w prawo →
| Status | Co mówi serwer | Na co patrzeć najpierw |
|---|---|---|
| 401 | zwykle: nie akceptuję tego klucza | klucz i to, do którego dostawcy należy |
| 404 przy każdym modelu | zwykle: pod tym adresem nic nie ma | base URL i /v1 |
| 404 tylko przy jednym modelu | zwykle: adres jest w porządku, ten identyfikator modelu nie jest znany | identyfikator modelu |
Treść wiadomości zależy od serwera i od twojego narzędzia (Cline, Aider, OpenCode i Continue każde opakowuje błędy po swojemu), więc zacznij od numeru, a potem potwierdź sprawdzeniem curl poniżej.
401: klucz nie pasuje do endpointu#
Klasyczna historia: przeniosłeś narzędzie do nowego dostawcy, zmieniłeś base URL, a w konfiguracji został klucz starego dostawcy. Adres jest nowy, klucz stary, a serwer odpowiada 401. Nic nie jest zepsute; klucz po prostu należy do innego domu.
Co sprawdzić:
- Który dostawca wydał klucz? Musi to być ten, którego adres wywołujesz. Klucz do jednej usługi nie jest ważny w innej.
- Zbłąkane znaki. Spacja lub znak nowej linii wklejony razem z kluczem albo cudzysłowy, które znalazły się wewnątrz wartości.
- Skąd narzędzie go czyta. Zmienna środowiskowa ustawiona w jednym terminalu, a nie w tym, z którego uruchomiono edytor, to częsta przyczyna. Jeśli narzędzie ma zarówno plik konfiguracyjny, jak i zmienną środowiskową, ustal, które wygrywa.
- Klucz unieważniony lub usunięty. Klucz, który usunąłeś lub unieważniłeś, przestaje działać — utwórz nowy i umieść go w konfiguracji.
Jeśli nie masz pewności, jak działają klucze lub gdzie je trzymać, czym jest klucz API i jak go bezpiecznie przechowywać omawia to prostymi słowami.
404 przy każdym modelu: adres jest błędny#
Base URL dla CheapTokens to https:/. Narzędzia i SDK same dopisują ścieżkę endpointu, więc typowe pomyłki dotyczą /v1:
- Brak
/v1: narzędzie wywołuje w efekciehttps:/./ api. cheaptokens. dev/ chat/ completions - Podwojone
/v1: wkleiłeś pełną ścieżkę do pola, które już ją dodaje, i otrzymujeszhttps:/./ api. cheaptokens. dev/ v1/ v1/ chat/ completions - Zły wariant: narzędzia w stylu OpenAI i SDK OpenAI przyjmują adres z
/v1. SDK Anthropic i Claude Code przyjmują adres bez/v1:https:/./ api. cheaptokens. dev
Jeśli kiedykolwiek zastanawiałeś się, czym dokładnie jest base URL i którą jego część dodaje narzędzie, ten przewodnik przeprowadza przez to krok po kroku. Po stronie Anthropic zobacz Anthropic Python SDK z CheapTokens.
404 przy jednym modelu: identyfikator modelu#
To łapie osoby, które kopiują nazwę z tabeli cen lub od innego dostawcy. Tabela cen może podawać DeepSeek-; API oczekuje pełnego identyfikatora bramy, z prefiksem dewelopera i wydaniem:
Przewiń tabelę w prawo →
| Gdzie to widziałeś | Czego potrzebuje API |
|---|---|
| DeepSeek-V4-Flash | deepseek- |
| GLM-5.3-Flash | zai- |
| MiniMax-M2.7 | MiniMaxAI/ |
Krótkie identyfikatory z etykiet cenowych nie są akceptowane przez API, a pisownia ma znaczenie: wielkie litery, ukośnik, sufiks -0731. Skopiuj identyfikator z dokumentacji CheapTokens, zamiast wpisywać go z pamięci — różni dostawcy nazywają ten sam model inaczej. Aby zobaczyć dokładne identyfikatory dostępne dla twojego klucza, wywołaj GET https:/ z tym samym nagłówkiem Authorization i skopiuj identyfikator z listy:
curl https://api.cheaptokens.dev/v1/models \
-H "Authorization: Bearer YOUR_API_KEY"Jeśli logika nazw w tabeli wygląda dziwnie, jak czytać nazwy modeli AI wyjaśnia alias kontra przypiętą wersję.
Potwierdź poprawkę jednym poleceniem curl#
Wyłącz narzędzie z równania i wywołaj API bezpośrednio. Zastąp placeholder klucza własnym:
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
}'To jedno żądanie zawiera wszystkich trzech podejrzanych: klucz w nagłówku, base URL w pierwszej linii, identyfikator modelu w treści. Odpowiedź JSON z tablicą choices oznacza, że wszystkie trzy są poprawne, a problemem jest to, co twoje narzędzie robi inaczej. Jeśli się nie powiedzie, zmieniaj jedną rzecz naraz:
- 401 → wstaw klucz otrzymany z CheapTokens i uruchom ponownie.
- 404 → porównaj URL znak po znaku z powyższym, a potem identyfikator modelu.
Gdy curl zadziała, skopiuj te same trzy wartości do narzędzia: klucz, base URL (https:/ lub bez /v1 dla SDK Anthropic i Claude Code) oraz pełny identyfikator modelu.
Jeśli nadal nie działa#
- Ten sam błąd w narzędziu, curl działa. Narzędzie czyta stary klucz lub URL skądinąd: z drugiego pliku konfiguracyjnego, zapisanego profilu, zmiennej środowiskowej. Zrestartuj narzędzie po zmianie.
- Nie masz pewności, czy identyfikator modelu jest poprawny. Wywołaj
GET /v1/modelsze swoim kluczem i skopiuj identyfikator z listy. - Connection refused, przekroczenia limitu czasu, błędy certyfikatów. To nie jest 401 ani 404; zobacz typowe błędy połączenia.
- Nie masz pewności, jak powinno wyglądać pierwsze żądanie. Twoje pierwsze żądanie API prowadzi krok po kroku, a dokumentacja zawiera pełne odniesienie.
Nawyk wart zachowania: gdy wywołanie się nie powiedzie, najpierw przeczytaj numer. 401 zwykle oznacza klucz, 404 zwykle adres lub identyfikator modelu, a curl rozstrzyga sprawę. To rozwiązuje większość tych błędów, zanim otworzysz choćby jeden log.



