Powrót do bloga

Pierwsze krokiPrzewodnik

Klucz API DeepSeek: co gdzie wkleić i pierwsze wywołanie

Czym jest klucz API DeepSeek, trzy wartości, o które prosi każde narzędzie (klucz, bazowy adres URL, identyfikator modelu), oraz pierwsze działające żądanie w curl i Pythonie.

Autor: CheapTokens TeamOpublikowano 4 min czytania

Okładka: trzy wartości wywołania API DeepSeek — klucz, bazowy adres URL i identyfikator modelu
Na tej stronie
  1. Czym naprawdę jest klucz API?
  2. Umieść klucz w zmiennej środowiskowej
  3. Pierwsze żądanie
  4. Co powinieneś zobaczyć
  5. Kiedy nie działa
  6. Dokąd te same trzy wartości trafiają dalej

Klucz API DeepSeek to tajny ciąg znaków, który mówi API, kto wysyła żądanie. Narzędzie nigdy nie potrzebuje jednak samego klucza: potrzebuje trzech wartości naraz — klucza, bazowego adresu URL i identyfikatora modelu. Ustaw te trzy i pierwsze wywołanie zadziała.

Prawdopodobnie trafiłeś tutaj, bo jakiś formularz prosi Cię o „Twój klucz API DeepSeek”: skrypt, wtyczka do edytora, węzeł n8n. Dobrze. Zobaczmy, czego oczekuje każde pole, a potem wyślijmy jedno prawdziwe żądanie.

Czym naprawdę jest klucz API?#

Pomyśl o karcie hotelowej. Nie mówi słowami, kim jesteś; po prostu otwiera Twoje drzwi, a recepcja obciąża Twój pokój. Klucz API robi to samo: serwer widzi go w żądaniu, wie, które konto obciążyć, i przepuszcza wywołanie. Zgub kartę, a każdy może wejść i obciążyć Twój pokój — dlatego klucz trzyma się poza kodem i poza czatami. (Dłuższa historia jest w What is an API key and how to store it safely.)

Dokumentacja API samego DeepSeek (sprawdzona 4 listopada 2026) pokazuje ten sam nawyk: klucz trafia do zmiennej środowiskowej, DEEPSEEK_API_KEY, zanim uruchomisz jakikolwiek przykład, a API działa zgodnie z formatem OpenAI — SDK OpenAI działa po zmianie api_key i base_url. To cała sztuczka i dlatego klucz nigdy nie podróżuje sam.

Fiszki

Trzy wartości, o które prosi każde narzędzie

Jeden szczegół, który ludzi zaskakuje: klucz należy do usługi, która go wydała. Klucz CheapTokens pasuje do adresu CheapTokens, a identyfikator modelu to ten, który wymienia CheapTokens. Połącz klucz z jednego miejsca z adresem innego, a dostaniesz błąd autoryzacji, nie odpowiedź.

Trzy wartości: klucz, bazowy adres URL, identyfikator modelu
Trzy wartości, których narzędzie potrzebuje do pierwszego wywołania

Umieść klucz w zmiennej środowiskowej#

Utwórz klucz na swoim koncie CheapTokens (kroki są w dokumentacji) i utrzymuj saldo, aby żądanie miało z czego czerpać. Następnie przechowuj klucz w zmiennej, zamiast wklejać go do pliku.

macOS lub Linux:

bash
export CHEAPTOKENS_API_KEY='paste-your-key-here'

Windows PowerShell (tylko bieżące okno):

powershell
$env:CHEAPTOKENS_API_KEY = 'paste-your-key-here'

Część paste-your-key-here to placeholder; wstaw tam swój prawdziwy klucz we własnym terminalu i nigdzie indziej. Dlaczego to lepsze od zaszytego klucza i co zrobić, jeśli któryś wycieknie, jest w Store an API key safely: env variable, .gitignore, leak fix.

Pierwsze żądanie#

Powiedzmy, że chcesz po prostu zobaczyć, jak to działa: poproś model, aby wyjaśnił klucz API w jednym zdaniu. To samo żądanie, dwa sposoby — wybierz kartę, której używasz.

Pierwsze żądanie do deepseek-ai/DeepSeek-V4-Flash-0731

curl

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
    "messages": [{"role": "user", "content": "Explain an API key in one sentence."}],
    "max_tokens": 200
  }'

Python

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ['CHEAPTOKENS_API_KEY'],
    base_url='https://api.cheaptokens.dev/v1',
)

resp = client.chat.completions.create(
    model='deepseek-ai/DeepSeek-V4-Flash-0731',
    messages=[{'role': 'user', 'content': 'Explain an API key in one sentence.'}],
    max_tokens=200,
)

print(resp.choices[0].message.content)
print(resp.usage)

Wersja w Pythonie wymaga jednorazowo pip install openai. Spójrz, co się zmieniło w porównaniu ze skryptem napisanym dla SDK OpenAI: api_key, base_url i model — te same trzy wartości. Wszystko inne zostaje bez zmian.

Żądanie w Pythonie z kluczem, bazowym adresem URL i identyfikatorem modelu, każdy opisany komentarzem
Te same trzy wartości w SDK Python

Co powinieneś zobaczyć#

Odpowiedź to JSON. Tekst odpowiedzi znajduje się w choices[0].message.content; to właśnie najpierw wypisuje skrypt w Pythonie. Tuż obok jest blok usage z prompt_tokens, completion_tokens i total_tokens — ile tokenów weszło, ile wyszło i suma. Koszt jest obliczany z tych dwóch liczb, dlatego warto na nie zerknąć nawet przy pierwszym wywołaniu (Input vs output tokens wyjaśnia podział).

Aby poczuć skalę: wywołanie takie jak to jest malutkie. Weź 30 tokenów na wejściu i 200 na wyjściu — limit max_tokens z przykładu, czyli najdroższe wywołanie, jakie to żądanie może wykonać. Kosztuje $0.00002. Tysiąc takich wygląda tak, z OpenRouter obok dla porównania:

Model Za żądanie 1000 żądań OpenRouter, 1000 żądań
GLM-5.3-Flash $0.0000086 $0.0086 $0.0176
DeepSeek-V4-Flash $0.00002 $0.0205 $0.0301
MiniMax-M2.7 $0.000032 $0.0315 $0.378

30 tokenów wejściowych i 200 tokenów wyjściowych na żądanie. Ceny za 1 mln tokenów są aktualne i zmieniają się wraz z naszymi taryfami; kolumna OpenRouter pokazuje ceny referencyjne dla tego samego obciążenia.

Model stojący za tym identyfikatorem to DeepSeek-V4-Flash: okno kontekstu 380K tokenów i do 32 768 tokenów w jednej odpowiedzi. Cena jest taka sama o każdej porze, bez dopłaty w godzinach szczytu, a jedno saldo obejmuje każdy model. W sumie — wejście i wyjście razem — wychodzi taniej niż OpenRouter, co dokładnie pokazuje powyższa tabela. Więcej o modelu: DeepSeek on CheapTokens, aktualne ceny na stronie cennika.

Kiedy nie działa#

Niemal każda porażka pierwszego wywołania to jedna z trzech wartości błędna. Dopasuj objaw do winowajcy:

Dopasuj pary

Dopasuj każdy objaw do jego przyczyny

  • 401 UnauthorizedBrakuje klucza, jest błędnie wpisany lub należy do innej usługi
  • „model not found” (tekst błędu wymienia model)Identyfikator modelu nie jest pełny: użyj deepseek-ai/DeepSeek-V4-Flash-0731
  • Błąd połączenia lub 404 na samym adresie (brak słowa „model” w błędzie)Literówka w bazowym adresie URL, na przykład brakujący /v1 lub inna domena

Pełny przewodnik po tych błędach jest w API 401 or 404 error: wrong key, base URL or model id. A jeśli nie jesteś pewien, jakiego identyfikatora użyć, zapytaj samo API: List models with GET /v1/models.

Dokąd te same trzy wartości trafiają dalej#

Sens nauki ich raz polega na tym, że są przenośne. Niemal każde narzędzie rozmawiające z API zgodnym z OpenAI prosi o te same wartości w jakiejś formie: klucz, adres i model. W skrypcie (LangChain, LiteLLM) to argumenty; w aplikacji lub węźle no-code to pola lub ustawienia. Możesz też wypróbować je bez pisania kodu w Postman. W przypadku streamingu i długich odpowiedzi z tym modelem przejdź do DeepSeek-V4-Flash quickstart.

Lista kontrolna

Zanim uznasz to za zrobione