AI dla początkującychPrzewodnik
Czym jest klucz API i jak go bezpiecznie przechowywać
Czym jest klucz AI API, skąd go wziąć, dlaczego musi pozostawać poza kodem i gitem, jak wykonać pierwsze wywołanie i co zrobić, jeśli klucz wycieknie.

Na tej stronie
Zarejestrowałeś się w AI API i pierwsze, o co pyta, to klucz. Ten przewodnik wyjaśnia, czym jest klucz API, skąd pochodzi, jak go bezpiecznie przechowywać i co zrobić, jeśli trafi tam, gdzie nie powinien.
Czym jest klucz API#
Klucz API to długi ciąg liter i cyfr, który mówi usłudze, kto wysyła żądanie. Pomyśl o nim jak o haśle dla programów: twój skrypt wysyła klucz z każdym żądaniem, a usługa używa go, aby znaleźć twoje konto i pobrać koszt żądania z twojego salda.
Wynikają z tego dwie rzeczy:
- Kto ma klucz, ten może wydawać twoje saldo. Usługa nie odróżni cię od kogoś, kto skopiował twój klucz.
- Klucz to nie model i nie saldo. To tylko przepustka. Saldo to osobna rzecz, którą doładowujesz, a ten sam klucz działa z każdym modelem dostępnym dla twojego konta.
Koszt żądania liczy się w tokenach. Jeśli tokeny są dla ciebie nowością, zacznij od Czym jest token w AI?.
Skąd wziąć klucz#
Każda usługa AI wydaje klucze z własnego panelu. Na przykład oficjalne API DeepSeek ma stronę kluczy API pod adresem platform.deepseek.com/api_keys, a jego dokumentacja odczytuje klucz ze zmiennej środowiskowej DEEPSEEK_API_KEY (sprawdzone 21 października 2026). Ogólny przebieg jest prawie wszędzie taki sam:
- Utwórz konto.
- Otwórz stronę kluczy API w panelu.
- Naciśnij przycisk tworzący nowy klucz i nadaj mu nazwę, na przykład
my-first-script. - Skopiuj klucz od razu. Wiele usług pokazuje go tylko raz.
W CheapTokens kroki od konta do klucza opisuje Twoje pierwsze żądanie API z CheapTokens. CheapTokens działa z przedpłaconego salda w USD: jedno saldo dla wszystkich modeli. Jeśli żądanie nie powiedzie się z powodu pustego salda, zobacz Błąd „Not enough tokens”.
Gdzie klucz nigdy nie może się znaleźć#
Większość wycieków to nie ataki hakerskie. To błędy kopiuj-wklej:
- klucz wpisany bezpośrednio w kodzie (
api_key="sk-..."), a następnie wypchnięty do GitHuba; - klucz na zrzucie ekranu, w wiadomości na czacie lub w pytaniu na forum;
- klucz w kodzie front-endu (strona internetowa lub aplikacja mobilna): każdy może go otworzyć i odczytać;
- plik
.envzatwierdzony w gicie.
Ostatni przypadek jest najczęstszy. Nawet jeśli usuniesz plik w następnym commicie, klucz pozostaje w historii gita, więc klucz, który kiedykolwiek został zatwierdzony, trzeba traktować jako ujawniony.
Przechowuj klucz w zmiennej środowiskowej#
Zmienna środowiskowa to nazwana wartość, która żyje w twoim systemie, a nie w kodzie. Program odczytuje ją przy starcie, więc kod można bezpiecznie udostępniać, a klucz pozostaje na twojej maszynie.
W Linuksie lub macOS ustaw ją dla bieżącego terminala:
export CHEAPTOKENS_API_KEY="YOUR_API_KEY"W Windows PowerShell:
$env:CHEAPTOKENS_API_KEY = "YOUR_API_KEY"Działa to do zamknięcia terminala. Aby zachować ją między sesjami, umieść tę linię w profilu powłoki lub użyj pliku .env dla projektu i dodaj go do .gitignore przed pierwszym commitem:
# .gitignore
.envNastępnie odczytaj klucz w kodzie. Nigdy go tam nie wpisuj:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.cheaptokens.dev/v1",
api_key=os.environ["CHEAPTOKENS_API_KEY"], # read from the environment, not written in the code
)Jeśli zmiennej brakuje, os.environ[...] natychmiast zatrzymuje program z błędem, co jest lepsze niż wysłanie żądania z pustym kluczem.
Wykonaj pierwsze wywołanie#
CheapTokens obsługuje formaty OpenAI Chat Completions i Anthropic Messages, więc standardowe SDK działają: zmieniasz tylko bazowy URL i klucz. Oto pełny test z MiniMaxAI/:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.cheaptokens.dev/v1",
api_key=os.environ["CHEAPTOKENS_API_KEY"],
)
response = client.chat.completions.create(
model="MiniMaxAI/MiniMax-M2.7",
messages=[{"role": "user", "content": "Explain what an API key is in two sentences."}],
max_tokens=200,
)
print(response.choices[0].message.content)To samo z curl, gdzie powłoka podstawia zmienną, a klucz nigdy nie pojawia się w poleceniu:
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "MiniMaxAI/MiniMax-M2.7", "messages": [{"role": "user", "content": "Hello"}], "max_tokens": 100}'Taki krótki test jest tani. Na przykład żądanie z 1 000 tokenów wejściowych i 500 tokenów wyjściowych kosztuje $0.00013 przy obecnej cenie. MiniMax-M2.7 ma też kontekst 180K i udziela odpowiedzi do 8 192 tokenów, więc to wygodny model na pierwsze eksperymenty. Jeśli odpowiedź urywa się w połowie zdania, zobacz Dlaczego odpowiedź AI urywa się w połowie zdania?.
Kopiuj identyfikator modelu z dokumentacji CheapTokens, a nie z innej usługi: nazwy modeli różnią się między dostawcami.
Nawyki, które chronią klucz#
- Jeden klucz na projekt. Jeśli jeden wycieknie, wymieniasz tylko ten jeden i nic innego nie przestaje działać.
- Nadawaj kluczom nazwy mówiące, gdzie są używane (
laptop-script,telegram-bot), abyś wiedział, co zaktualizować po wymianie. - Utrzymuj małe saldo, gdy się uczysz. Przy przedpłaconym saldzie szkody z ujawnionego klucza ogranicza to, co na nim jest, ale to wciąż twoje pieniądze.
- Nie wklejaj kluczy do czatów z ludźmi ani asystentami AI, i wycinaj je z logów i zrzutów ekranu.
- Nie umieszczaj klucza w przeglądarce ani aplikacji mobilnej. Wywołuj API z serwera, który kontrolujesz, a aplikacja niech rozmawia z tym serwerem.
Co zrobić, jeśli klucz wyciekł#
Jeśli wypchnąłeś klucz do publicznego repozytorium, wysłałeś go w wiadomości lub po prostu nie masz pewności, działaj tak, jakby był już w cudzych rękach:
- Najpierw unieważnij klucz. Otwórz stronę, na której go utworzyłeś, i usuń go lub wyłącz. Zrób to przed wszystkim innym; porządki przyjdą później.
- Utwórz nowy klucz z nową nazwą.
- Zastąp go wszędzie, gdzie był używany: zmienne środowiskowe, pliki
.env, serwery, aplikacje i narzędzia. - Sprawdź saldo i zużycie. Żądania, których nie wysłałeś, to znak, że stary klucz został użyty.
- Posprzątaj źródło. Usuń klucz z kodu i dodaj
.envdo.gitignore. Usunięcie pliku nie usuwa klucza z historii gita, dlatego krok 1 jest ważniejszy niż przepisywanie historii.
Kolejność ma znaczenie. Unieważniony klucz jest nieszkodliwy, nawet jeśli pozostanie w starym commicie.
Następne kroki#
- Wykonaj pierwsze żądanie z kluczem: Twoje pierwsze żądanie API z CheapTokens.
- Zrozum, za co płacisz: Czym jest token w AI?.
- Doładuj saldo, gdy się skończy: Błąd „Not enough tokens”.
Gotowy, aby spróbować? Zdobądź klucz CheapTokens, ustaw go jako CHEAPTOKENS_ i uruchom powyższy przykład.
Punkty końcowe, identyfikatory modeli i limity dla każdego modelu są w dokumentacji CheapTokens.



