Powrót do bloga

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.

Autor: CheapTokens TeamOpublikowano Zaktualizowano 5 min czytania

Okładka: klucz API jako hasło do konta AI, przechowywany w zmiennej środowiskowej
Na tej stronie
  1. Czym jest klucz API
  2. Skąd wziąć klucz
  3. Gdzie klucz nigdy nie może się znaleźć
  4. Przechowuj klucz w zmiennej środowiskowej
  5. Wykonaj pierwsze wywołanie
  6. Nawyki, które chronią klucz
  7. Co zrobić, jeśli klucz wyciekł
  8. Następne kroki

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:

  1. Utwórz konto.
  2. Otwórz stronę kluczy API w panelu.
  3. Naciśnij przycisk tworzący nowy klucz i nadaj mu nazwę, na przykład my-first-script.
  4. 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 .env zatwierdzony 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:

bash
export CHEAPTOKENS_API_KEY="YOUR_API_KEY"

W Windows PowerShell:

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:

text
# .gitignore
.env

Następnie odczytaj klucz w kodzie. Nigdy go tam nie wpisuj:

python
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/MiniMax-M2.7:

python
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:

bash
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:

  1. 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.
  2. Utwórz nowy klucz z nową nazwą.
  3. Zastąp go wszędzie, gdzie był używany: zmienne środowiskowe, pliki .env, serwery, aplikacje i narzędzia.
  4. Sprawdź saldo i zużycie. Żądania, których nie wysłałeś, to znak, że stary klucz został użyty.
  5. Posprzątaj źródło. Usuń klucz z kodu i dodaj .env do .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#

Gotowy, aby spróbować? Zdobądź klucz CheapTokens, ustaw go jako CHEAPTOKENS_API_KEY i uruchom powyższy przykład.

Punkty końcowe, identyfikatory modeli i limity dla każdego modelu są w dokumentacji CheapTokens.