Powrót do bloga

AI dla początkującychPrzewodnik

API zgodne z OpenAI: czym jest base_url i jak przełączyć

API zgodne z OpenAI przyjmuje te same żądania co OpenAI. Zmień base_url, klucz i identyfikator modelu, a Twój kod wyśle pierwsze żądanie do CheapTokens.

Autor: CheapTokens TeamOpublikowano Zaktualizowano 4 min czytania

Trzy wartości do zmiany przy przełączaniu na API zgodne z OpenAI: base_url, klucz API i identyfikator modelu
Na tej stronie
  1. Co oznacza „zgodne z OpenAI”?
  2. Czym jest base_url?
  3. Trzy wartości, które zmieniasz
  4. Pierwsze żądanie w Pythonie
  5. To samo żądanie z curl
  6. Co powinieneś zobaczyć
  7. Ile to kosztuje?
  8. Jeśli nie działa
  9. Następne kroki

API zgodne z OpenAI to API, które przyjmuje żądania w tym samym formacie co Chat Completions API OpenAI i odpowiada w tym samym formacie. Aby przenieść aplikację do innego dostawcy, zwykle zmieniasz trzy wartości: base_url (dokąd trafiają żądania), klucz API oraz identyfikator modelu. Reszta kodu, w tym lista wiadomości i sposób odczytywania odpowiedzi, pozostaje bez zmian.

Ten przewodnik wyjaśnia tę ideę prostymi słowami i kończy się działającym pierwszym żądaniem do CheapTokens w Pythonie i curl. Informacje o CheapTokens zostały zweryfikowane z jego dokumentacją 22 października 2026.

Co oznacza „zgodne z OpenAI”?#

API to zestaw reguł komunikacji z usługą przez internet (jeśli to nowe słowo, zacznij od jak działa Twoje pierwsze żądanie API). Format czatu OpenAI stał się wspólnym standardem: wielu dostawców i narzędzi przyjmuje to samo ciało żądania i zwraca ten sam kształt odpowiedzi. Takie API nazywa się zgodnym z OpenAI.

W praktyce oznacza to, że trzy rzeczy są takie same u każdego zgodnego dostawcy:

  • Żądanie: ciało JSON z polem model i listą messages, gdzie każda wiadomość ma role (system, user lub assistant) i content.
  • Ścieżka endpointu: /chat/completions, dodawana po bazowym URL.
  • Odpowiedź: obiekt JSON, w którym wygenerowany tekst znajduje się w choices[0].message.content.

Ponieważ format jest wspólny, oficjalne SDK i wiele aplikacji może komunikować się z dowolnym zgodnym dostawcą. Muszą tylko wiedzieć, gdzie wysłać żądanie.

Czym jest base_url?#

base_url to adres, od którego zaczyna się każde żądanie. SDK buduje pełny adres, dodając do niego ścieżkę wywołania.

Część Przykład
base_url https://api.cheaptokens.dev/v1
Ścieżka dodawana przez SDK /chat/completions
Pełny adres żądania https://api.cheaptokens.dev/v1/chat/completions

Więc gdy ustawisz inny base_url, ten sam kod wysyła ten sam rodzaj żądania do innego serwera. Bazowy URL CheapTokens to https://api.cheaptokens.dev/v1. Jego API jest zgodne z OpenAI Chat Completions oraz Anthropic Messages, a jedno przedpłacone saldo obejmuje wszystkie modele.

Trzy wartości, które zmieniasz#

Wartość Co to jest Skąd pochodzi
base_url Adres API https://api.cheaptokens.dev/v1
Klucz API Twoje tajne hasło do API Twoje konto CheapTokens. Zobacz czym jest klucz API i jak go bezpiecznie przechowywać
Identyfikator modelu Dokładna nazwa modelu w polu model Dokumentacja CheapTokens

Identyfikator modelu zasługuje na uwagę. Różni dostawcy nadają temu samemu modelowi różne identyfikatory, więc identyfikator z innej usługi tu nie zadziała. Bierz identyfikatory z dokumentacji CheapTokens. Obecnie dostępne identyfikatory:

Model Identyfikator modelu Kontekst Maks. wyjście na odpowiedź
GLM-5.3-Flash zai-org/GLM-5.3-Flash 390K 8 192 tokeny
DeepSeek-V4-Flash deepseek-ai/DeepSeek-V4-Flash-0731 380K 32 768 tokenów
MiniMax-M2.7 MiniMaxAI/MiniMax-M2.7 180K 8 192 tokeny

DeepSeek-V4-Flash zwraca do 32 768 tokenów na odpowiedź i ma kontekst 380K; GLM-5.3-Flash ma kontekst 390K; MiniMax-M2.7 ma kontekst 180K. Wszystkie trzy są rozliczane z tego samego salda, więc przełączanie między nimi oznacza zmianę tylko identyfikatora modelu.

Pierwsze żądanie w Pythonie#

Zainstaluj pakiet openai, a następnie przechowuj klucz w zmiennej środowiskowej zamiast wpisywać go do kodu:

bash
pip install openai
export CHEAPTOKENS_API_KEY="YOUR_CHEAPTOKENS_KEY"

Teraz kod. Jedyna różnica względem standardowego przykładu OpenAI to argument base_url, klucz i identyfikator modelu:

python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",   # 1. where requests go
    api_key=os.environ["CHEAPTOKENS_API_KEY"],   # 2. your CheapTokens key
)

response = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",                # 3. model id from the docs
    messages=[
        {"role": "system", "content": "You answer briefly."},
        {"role": "user", "content": "Explain base_url in one sentence."},
    ],
)

print(response.choices[0].message.content)

Klucz w przykładzie to placeholder: zastąp YOUR_CHEAPTOKENS_KEY własnym kluczem i nigdy nie commituj prawdziwego klucza do repozytorium.

Jeśli aplikacja, którą już masz, odczytuje ustawienia z pliku konfiguracyjnego lub zmiennych środowiskowych, nie musisz w ogóle edytować jej kodu. Poszukaj pól o nazwie base URL, API base lub endpoint i wpisz tam te same trzy wartości.

To samo żądanie z curl#

curl pokazuje, co SDK robi pod spodem: bazowy URL plus ścieżkę, klucz w nagłówku Authorization i ciało JSON.

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": "Explain base_url in one sentence."}
    ]
  }'

Co powinieneś zobaczyć#

Gdy wszystko jest ustawione poprawnie, skrypt Pythona wypisuje krótką odpowiedź tekstową, a curl wypisuje obiekt JSON. Poszukaj listy choices: tekst odpowiedzi znajduje się w choices[0].message.content. Jeśli to widzisz, Twoje pierwsze żądanie do CheapTokens zadziałało i możesz przejść do swojej prawdziwej aplikacji.

Ile to kosztuje?#

Rozliczanie odbywa się za tokeny, liczone osobno dla wejścia i wyjścia (zobacz tokeny wejściowe vs wyjściowe). Na przykład MiniMax-M2.7 kosztuje obecnie $0.05 za 1M tokenów wejściowych i $0.15 za 1M tokenów wyjściowych. Poniższa tabela zawsze pokazuje aktualne ceny wszystkich modeli, bez dopłat w godzinach szczytu.

Model Kontekst Wejście $/1M Wyjście $/1M OpenRouter wejście OpenRouter wyjście
GLM-5.3-Flash reasoning 390K $0.02 $0.04 $0.0413 $0.0758
DeepSeek-V4-Flash 380K $0.015 $0.10 $0.0475 $0.1568
MiniMax-M2.7 180K $0.05 $0.15 $0.30 $1.20

Ceny w USD za 1 mln tokenów. Dane OpenRouter służą do porównania i mogą ulec zmianie.

Ceny pełnej listy modeli są również na stronie cennika CheapTokens.

Jeśli nie działa#

  • Błąd uwierzytelniania (zwykle 401): brakuje klucza, jest błędnie wpisany lub ma dodatkowe spacje. Sprawdź, czy zmienna środowiskowa jest ustawiona w tym samym terminalu, w którym uruchamiasz skrypt.
  • „Not found” (zwykle 404): sprawdź base_url. Musi kończyć się na /v1, a przy korzystaniu z SDK nie powinieneś sam dodawać /chat/completions, bo ścieżka się podwoi.
  • Nieznany model: skopiuj identyfikator modelu dokładnie z powyższej tabeli lub z dokumentacji, łącznie z wielkimi literami i częścią przed ukośnikiem.
  • Brak połączenia lub timeout: zobacz typowe błędy połączenia i jak je naprawić.
  • Odpowiedź ucięta w połowie zdania: osiągnięto limit max_tokens, co opisano w dlaczego odpowiedź AI urywa się w połowie zdania.

Następne kroki#

Gdy pierwsze żądanie zadziała, możesz dodać streaming w Pythonie, wpisać te same trzy wartości do swojego edytora lub agenta albo przeczytać jak czytać nazwy modeli AI. Szczegóły konfiguracji i pełna lista modeli są w dokumentacji CheapTokens.