Powrót do bloga

Pierwsze krokiPrzewodnik

Pierwsze żądanie do API zgodnego z OpenAI w Postmanie

Wyślij żądanie chat/completions z Postmana z kluczem Bearer trzymanym w zmiennej i odczytaj odpowiedź oraz pole usage.

Autor: CheapTokens TeamOpublikowano 4 min czytania

Ciało żądania w Postmanie z identyfikatorem modelu i jedną wiadomością dla API CheapTokens
Na tej stronie
  1. Skonfiguruj to w czterech krokach
  2. Naciśnij Send i odczytaj odpowiedź
  3. Ile kosztuje pierwsze żądanie
  4. Jeśli nie działa

Masz klucz API i chcesz zobaczyć, co faktycznie przechodzi przez sieć, zanim napiszesz linijkę kodu. Postman nadaje się do tego idealnie: wpisujesz URL, klucz i ciało JSON, naciskasz Send, a odpowiedź pojawia się tuż poniżej. Dla CheapTokens żądanie to POST https://api.cheaptokens.dev/v1/chat/completions z kluczem Authorization: Bearer i ciałem JSON, które wskazuje model.

Poniższe kroki opierają się na dokumentacji samego Postmana (v12, najnowsza wersja na stronie dokumentacji, sprawdzona 31 października 2026). Jeśli wolisz terminal, to samo żądanie znajdziesz w Your first API request with CheapTokens.

The request body in Postman: model id, one user message, max_tokens
The raw JSON body of the first request

Skonfiguruj to w czterech krokach#

Potrzebujesz tylko kilku rzeczy: bazowego URL-a, swojego klucza, identyfikatora modelu i jednej wiadomości. Postman trzyma pierwsze dwie w zmiennych, więc klucz nigdy nie trafia bezpośrednio do żądania.

Ustaw w kolejności

Uporządkuj konfigurację Postmana

  1. Zdefiniuj zmienne base_url i api_key
  2. Utwórz żądanie HTTP: POST na {{base_url}}/chat/completions
  3. Na karcie Authorization wybierz Bearer Token i wpisz {{api_key}}
  4. Na karcie Body wybierz raw > JSON, wklej ciało, naciśnij Send

Kilka szczegółów do każdego kroku.

Utwórz żądanie. Kliknij ikonę Add na lewym pasku bocznym i wybierz HTTP. Lista rozwijana metody domyślnie pokazuje GET, więc zmień ją na POST i wpisz URL. Zmienne Postmana zapisuje się jako {{variable_name}}; dokumentacja używa {{base_url}} jako przykładu. Zdefiniuj base_url jako https://api.cheaptokens.dev/v1, a pole URL zmieni się w {{base_url}}/chat/completions. Postman przechowuje zmienne jako ciągi znaków, co tutaj jest w porządku.

Dodaj klucz. Otwórz kartę Authorization, wybierz Bearer Token na liście Auth Type i wpisz {{api_key}} w polu Token. Postman wyśle go jako nagłówek Authorization w formacie Bearer. Dokumentacja zaleca dokładnie to: trzymaj token w zmiennej i odwołuj się do niego po nazwie. Dlaczego ten nawyk ma znaczenie, opisano w Store an API key safely.

Napisz ciało. Na karcie Body wybierz raw, a następnie JSON na liście rozwijanej. Dla ciał raw Postman sam ustawia pasujący Content-Type, więc nie dodajesz tego nagłówka. Wklej to:

json
{
  "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
  "messages": [
    { "role": "user", "content": "Explain in one sentence what a token is." }
  ],
  "max_tokens": 200
}

Identyfikator modelu to pełny gateway_id z dokumentacji CheapTokens; krótka nazwa jak deepseek-flash nie jest akceptowana. max_tokens ogranicza długość odpowiedzi, więc pierwszy test nie może się rozciągnąć. Jeszcze jeden szczegół Postmana: komentarze // i /* */ w ciele JSON są usuwane przed wysłaniem, więc możesz opatrzyć ciało adnotacjami dla kolegi z zespołu.

Naciśnij Send i odczytaj odpowiedź#

Jeśli wszystko jest w porządku, panel odpowiedzi pokazuje obiekt JSON w formacie OpenAI Chat Completions. Liczą się dwa miejsca:

  • choices[0].message.content to tekst odpowiedzi.
  • usage zawiera prompt_tokens (to, co wysłałeś) i completion_tokens (to, co napisał model). Za to płacisz, więc sprawdź to już przy pierwszym żądaniu.

Sprawdź też choices[0].finish_reason. stop oznacza, że model zakończył samodzielnie; length oznacza, że odpowiedź trafiła na limit max_tokens i została ucięta. Jeśli to widzisz, zwiększ limit lub przeczytaj AI answer cut off? Fix finish_reason "length".

Wypróbuj to, zanim otworzysz odpowiedź:

Spróbuj samWypróbuj: ustawiasz max_tokens na 5 i naciskasz Send. Czego oczekujesz w finish_reason?Pokaż odpowiedź

Otrzymujesz length: pięć tokenów to za mało na pełne zdanie, więc odpowiedź jest ucięta. Wróć do 200 i zmieni się w stop.

Ile kosztuje pierwsze żądanie#

Załóżmy, że powyższe żądanie zużywa około 30 tokenów wejściowych, a odpowiedź zajmuje około 100 tokenów wyjściowych (to przykład, nie pomiar; Twoje pole usage pokazuje rzeczywiste liczby). Na DeepSeek-V4-Flash to $0.00001 przy obecnej cenie, a cena jest taka sama o każdej porze. Ceny za 1M tokenów są w tabeli na żywo na the pricing page.

To samo żądanie w Postmanie może wypróbować inny model. Zastąp tylko linię model, na przykład na zai-org/GLM-5.3-Flash (kontekst 390K, do 8 192 tokenów wyjściowych), i naciśnij Send ponownie. Jedno saldo obejmuje wszystkie modele, więc nic więcej się nie zmienia: ten sam URL, ten sam klucz.

Jeśli nie działa#

Postman pokazuje kod statusu obok odpowiedzi. Oto typowi podejrzani:

Dopasuj pary

Dopasuj objaw do przyczyny

  • 401 UnauthorizedBrakuje klucza, jest błędnie wpisany albo {{api_key}} jest puste, bo zmienna nie jest zdefiniowana
  • 404 Not FoundURL jest błędny: sprawdź, czy base_url kończy się na /v1, a ścieżka to /chat/completions
  • Błąd, który wspomina modelIdentyfikator modelu jest skrócony; użyj pełnego identyfikatora, takiego jak deepseek-ai/DeepSeek-V4-Flash-0731

Warto sprawdzić dwie rzeczy specyficzne dla Postmana. Jeśli dostajesz 401 albo URL wygląda źle, sprawdź, czy base_url i api_key są zdefiniowane w wybranym środowisku. A jeśli klucz wygląda dobrze, ale nadal dostajesz 401, otwórz ponownie kartę Authorization: Auth Type musi być Bearer Token, a nie No Auth. Więcej o tych kodach: API 401 or 404 error. Nie wiesz, którego identyfikatora użyć? List models with GET /v1/models zwraca je wszystkie.

Gdy będziesz zadowolony, naciśnij Save, nadaj żądaniu nazwę i wybierz kolekcję. Następnym razem edytujesz tylko pole content albo linię model, aby porównać odpowiedzi. Pełna dokumentacja API jest w the CheapTokens docs.