Polecenia z tego poradnika zostały uruchomione 7 października 2026 w czystym systemie (Ubuntu 24.04.5 LTS, Node.js 24.21.0, Python 3.12.3). Wyniki pod poleceniami pochodzą z tego uruchomienia.
API AI wybieram według kosztu poprawnie wykonanego zadania, jakości na własnych danych i wymagań integracji. Na start polecam porównać tańszy model z modelem droższym na tych samych przykładach, a dopiero potem projektować przełączanie dostawców. Claude, Gemini i modele OpenAI warto sprawdzić osobno, z uwzględnieniem formatu odpowiedzi, narzędzi oraz zasad przetwarzania danych.
Koszt policzysz, mnożąc rozliczane tokeny wejścia i wyjścia przez odpowiednie stawki, a następnie dodając cache, narzędzia i kolejne wywołania. Poniżej pokazuję ceny, rachunek dla przykładowego zadania i pierwsze zapytanie do API. Cenniki i dokumentację sprawdziłem 7 października 2026 r.
W skrócie
- Polecam zaczynać od jednego zadania, np. przypisania zgłoszenia do kategorii, z jasnym kryterium poprawności.
- Porównuję pełny koszt procesu: wszystkie wywołania, poprawki i dodatkowe usługi.
- Zalecam trzymać klucz po stronie serwera oraz kontrolować budżet w aplikacji.
- Przed wdrożeniem sprawdzam warunki konkretnego API, modelu i funkcji.
API AI: co kupujesz i za co płacisz
API jest interfejsem, przez który aplikacja wysyła dane do modelu i odbiera wynik. SDK to biblioteka ułatwiająca takie wywołania. Token jest jednostką tekstu przetwarzanego przez model; nie należy utożsamiać go z całym słowem.
Oddzielam wybór dostawcy, modelu i sposobu dostępu. „OpenAI” oznacza dostawcę, natomiast konkretny model ma identyfikator, np. gpt-6.1-sol. W konfiguracji aplikacji zalecam zapisywać również użyte parametry, żeby dało się odtworzyć porównanie.
Abonament czatu trzeba sprawdzić osobno. OpenAI wyraźnie wskazuje, że API jest rozliczane niezależnie od subskrypcji ChatGPT. Dlatego budżetu integracji nie wyliczam z ceny konta użytkownika.
Dla asystenta odpowiadającego na pytania o dokumenty przygotowałbym osobne pozycje kosztów: wyszukanie materiałów, wygenerowanie odpowiedzi oraz utrzymanie infrastruktury. Sam cennik modelu nie wystarczy do mojego planu finansowego.
Claude, Gemini i OpenAI: od czego zacząć porównanie
Claude: tekst, dokumenty i prosty kontrakt wiadomości
Messages API przyjmuje wiadomości i zwraca odpowiedź modelu. Claude Sonnet 5.5 obsługuje tekst oraz obrazy na wejściu i generuje tekst. Wybrałbym go do porównania przy zadaniach z dokumentami, obok tańszego wariantu z tabeli.
W próbce uwzględniłbym dokument z brakującą informacją, sprzeczne fragmenty i pytanie wymagające wskazania podstawy odpowiedzi. Cenę Sonnetu warto zestawić z osobnym materiałem „Claude Sonnet 5.5: czy szybszy model obniży koszty?”.
OpenAI: sprawdź endpoint używany przez aplikację
Dla GPT-6.1 Sol dokumentacja zaleca Responses API do wywoływania narzędzi; Chat Completions jest obsługiwane bez tool calling. Przy integracji z istniejącą aplikacją sprawdziłbym ten warunek przed zmianą identyfikatora modelu.
Do próbki dodałbym odpowiedź w ustalonej strukturze i wywołanie firmowej funkcji, np. pobranie statusu zamówienia. Oceniałbym osobno wybór funkcji, argumenty i odpowiedź przygotowaną po otrzymaniu wyniku.
Gemini: porównaj także rodzaje danych
Aktualny przewodnik startowy Gemini pokazuje Interactions API. Gemini 3.8 Flash przyjmuje tekst, obrazy, wideo, audio i PDF, a zwraca tekst.
Jeżeli aplikacja ma analizować nagrania lub materiały wizualne, przygotowałbym próbkę właśnie z takich danych. Dla ekstrakcji pól z tekstu porównałbym też tańszy model. Nie przenoszę wyników jednego rodzaju zadania na pozostałe bez sprawdzenia.
Ceny modeli: ile kosztuje przykładowe wywołanie
Poniżej zestawiam standardowe stawki bezpośrednich API dla tekstu. Własny przykład zakłada 10 000 tokenów wejścia i 1000 rozliczanych tokenów wyjścia, bez cache oraz dodatkowych narzędzi. Ostatnia kolumna to moje obliczenie na podstawie podlinkowanych stawek, nie pomiar rzeczywistej aplikacji.
| Model i cennik | Wejście, USD / mln tokenów | Wyjście, USD / mln tokenów | Koszt przykładu, USD |
|---|---|---|---|
| Claude Haiku 4.5 | 1,00 | 5,00 | 0,015 |
| Claude Sonnet 5.5 | 2,00 | 10,00 | 0,030 |
| Claude Opus 5.5 | 4,00 | 20,00 | 0,060 |
| Gemini 3.5 Flash-Lite | 0,30 | 2,50 | 0,0055 |
| Gemini 3.8 Flash | 0,75 | 3,75 | 0,01125 |
| GPT-6 Luna | 0,10 | 0,50 | 0,0015 |
| GPT-6.1 Sol | 2,00 | 10,00 | 0,030 |
| GPT-6 Astra | 10,00 | 50,00 | 0,150 |
Dla OpenAI używam kolumny „Short context”. GPT-6.1 Sol ma wyższe stawki dla żądań przekraczających 272 000 tokenów wejścia: podwojone ceny wejścia i cache oraz mnożnik 1,5 dla wyjścia, obejmujące całe żądanie.
Ceny Gemini 3.8 Flash z tabeli obowiązują do 31 grudnia 2026 r. Od 1 stycznia 2027 r. Google podaje 1,50 USD za milion tokenów wejścia i 7,50 USD za milion tokenów wyjścia. W planie na kolejny rok uwzględniłbym te zapowiedziane stawki.
Od pojedynczego zadania do budżetu miesięcznego
Bez cache rachunek wygląda następująco: koszt = tokeny wejścia / 1 000 000 × stawka wejścia + tokeny wyjścia / 1 000 000 × stawka wyjścia.
Dla stawek GPT-6.1 Sol mój przykład daje 0,02 USD za wejście i 0,01 USD za wyjście. Przy założeniu 100 000 identycznych zadań miesięcznie wychodzi 3000 USD za tokeny. To scenariusz do planowania, bez przeliczenia walut, podatków i infrastruktury.
Do arkusza dodałbym osobne scenariusze: krótki dokument, długi dokument i proces wymagający poprawki. Budżet planowałbym na podstawie liczby wywołań przypadających na zadanie, zamiast zakładać jedno zapytanie na każdego użytkownika.
Co zmienia rachunek w praktycznej integracji
Rozliczane wyjście i rozumowanie
W modelach rozumujących OpenAI tokeny rozumowania są płatne jak wyjście, choć nie są widoczne jako tekst odpowiedzi. Zbyt niski limit generacji może zakończyć wywołanie, zanim pojawi się widoczna odpowiedź.
Dlatego w przykładzie cenowym użyłem rozliczanego wyjścia. Zalecam porównywać statystyki użycia z odpowiedzi API i sprawdzać różne ustawienia rozumowania na tej samej próbce. Krótszy tekst odpowiedzi traktuję jako wymaganie produktu, a oszczędność potwierdzam pomiarem.
Cache: policz zapis i ponowne odczyty
Dla Sonnet 5.5 zapis cache na pięć minut kosztuje 2,50 USD za milion tokenów, a odczyt 0,20 USD. W moim hipotetycznym przykładzie zapis 50 000 tokenów kosztuje 0,125 USD, a każdy skuteczny odczyt tej samej liczby tokenów 0,01 USD. Nowe wejście i wyjście doliczam osobno.
Zalecam sprawdzić cache przy wielokrotnych pytaniach o ten sam dokument. W statystykach Claude zapis i odczyt mają osobne pola, a input_tokens oznacza wejście poza nimi. Całe wejście otrzymasz przez zsumowanie tych kategorii.
W Gemini 3.8 Flash cache ma również opłatę za przechowywanie: do końca 2026 r. 0,50 USD za milion tokenów na godzinę. Zalecam uwzględnić czas przechowywania w kalkulacji.
Narzędzia i przetwarzanie wsadowe
Web search w Claude kosztuje 10 USD za 1000 wyszukiwań, dodatkowo do tokenów. Cennik OpenAI również rozdziela opłatę za web search i tokeny treści wyszukiwania. W projekcie agenta ustaliłbym osobny limit użycia takich narzędzi.
Dla pracy bez oczekiwania na natychmiastową odpowiedź sprawdziłbym batch, czyli przetwarzanie wsadowe. OpenAI opisuje rabat 50% i okno realizacji do 24 godzin. Sonnet 5.5 ma rabat batch 50% na wejście i wyjście; Google podaje taką samą redukcję dla Batch API.
Do kolejki wsadowej skierowałbym np. nocną klasyfikację dokumentów. Czatu wymagającego bieżącej odpowiedzi nie projektowałbym wokół takiego czasu oczekiwania.
Pierwsze wywołanie Claude API
Poniższy przykład proponuję jako test połączenia. Potrzebujesz terminala z curl; polecenia wykonaj w katalogu projektu.
- Zaloguj się do Claude Console albo załóż konto, zgodnie z instrukcją uzyskania klucza.
- Przy rozliczeniu przedpłaconym zapewnij saldo. Użytkownik z rolą Admin lub Billing otwiera Settings > Billing, wybiera Buy credits, wpisuje kwotę i potwierdza, zgodnie z instrukcją płatności. Przy nowej organizacji trzeba także uzupełnić informacje o organizacji i zastosowaniu oraz dane płatnicze.
- W Settings → API keys wybierz Create key, nadaj nazwę, wybierz termin ważności i ustaw Linked account na swoje konto. Przypisz klucz do jednego workspace i skopiuj go, zgodnie z instrukcją tworzenia klucza. Klucz obejmujący wiele workspace wymaga dodatkowego nagłówka.
- Ustaw klucz w zmiennej środowiskowej pokazanej w przewodniku startowym:
export ANTHROPIC_API_KEY="WSTAW_KLUCZ_API"
- Wyślij zapytanie w formacie Messages API. Używam identyfikatora z dokumentacji Haiku 4.5:
curl https://api.anthropic.com/v1/messages \
-H "Content-Type: application/json" \
-H "anthropic-version: 2023-06-01" \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d '{
"model": "claude-haiku-4-5-20251001",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Wyjaśnij po polsku w dwóch zdaniach, czym jest API."
}
]
}'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0100 340 0 130 100 210 552 891 --:--:-- --:--:-- --:--:-- 1440
{"type":"error","error":{"type":"authentication_error","message":"invalid x-api-key"},"request_id":"req_011CfnDfpuZkqnPe93ELKqai"}- Po udanym wywołaniu sprawdź tekst w blokach
contentoraz statystykiusage, zgodnie ze strukturą odpowiedzi Messages API. W tym APImax_tokensokreśla maksymalną liczbę generowanych tokenów; model może zakończyć odpowiedź wcześniej.
Otrzymasz JSON, a treść wygenerowanego wyjaśnienia może się różnić. Klucza nie umieszczałbym w repozytorium ani w kodzie wysyłanym do przeglądarki.
Jak włączyć model do aplikacji
Proponuję poniższy podział odpowiedzialności. Backend sprawdza dostęp i budżet, wybiera model, a przed przekazaniem wyniku waliduje odpowiedź.
flowchart TD
A[Użytkownik] --> B[Backend]
B --> C[Dostęp i budżet]
C --> D[API modelu]
D --> E[Walidacja wyniku]
E --> F[Odpowiedź]
D --> G[Statystyki użycia]
E --> GGdy dodajesz własne funkcje, przepływ tool calling opisany przez OpenAI obejmuje wykonanie kodu po stronie aplikacji i odesłanie wyniku do modelu. Polecam sprawdzać uprawnienia do danej operacji w backendzie, niezależnie od argumentów wygenerowanych przez model.
Jeżeli potrzebujesz danych do dalszego przetwarzania, sprawdziłbym odpowiedzi ustrukturyzowane. Structured Outputs w OpenAI obsługuje podzbiór JSON Schema, ale odpowiedź nadal może zawierać błędy merytoryczne. Przy ekstrakcji zamówienia walidowałbym więc zarówno format, jak i zgodność kwoty z dokumentem.
W integracji z dokumentami kolejnym tematem jest RAG AI od podstaw. Przy udostępnianiu firmowych narzędzi polecam przejść do przewodnika po MCP.
Jak wybrać model na własnych danych
Proponuję taki test przed wdrożeniem:
- Zbierz reprezentatywną próbkę zadań, w tym brakujące dane, błędy wejścia i długie materiały.
- Dla każdego przykładu zapisz warunek akceptacji, np. właściwą kategorię albo pola zgodne z dokumentem.
- Uruchom tę samą próbkę dla wybranych modeli, zapisując parametry, tokeny, czas i błędy.
- Oddziel wynik poprawny od wyniku wymagającego naprawy lub ręcznej kontroli.
- Porównaj łączny koszt prób z liczbą zaakceptowanych wyników i zdecyduj o modelu domyślnym.
Dla klasyfikacji zgłoszeń polecam sprawdzać jakość każdej kategorii osobno. W zadaniach programistycznych za kryterium przyjąłbym przejście właściwych testów oraz ocenę zmiany. Ten obszar łączy się z materiałem o AI w programowaniu w zespole.
Droższy wariant przeznaczyłbym dla jasno określonych przypadków, np. po wykryciu niezgodności przez walidator. Nie budowałbym przełączania wyłącznie na deklaracji modelu, że jest pewny odpowiedzi.
Budżet, błędy i dane przed wdrożeniem
W logach zalecam zapisywać model, wersję promptu, kategorie tokenów, czas, rezultat walidacji i identyfikator zadania. Osobno monitorowałbym kolejne próby tego samego procesu. Dla konta klienta ustaliłbym własny limit wydatków i współbieżnych zadań.
Przy błędach sprawdziłbym znaczenie kodu u konkretnego dostawcy. Claude może zwrócić 429 zarówno po przekroczeniu limitu tempa, jak i miesięcznego pułapu wydatków danej klasy konta. W drugim przypadku samo ponawianie nie przywróci dostępu. Zalecam ograniczoną liczbę prób i komunikat pozwalający użytkownikowi wrócić do zadania.
OpenAI domyślnie nie wykorzystuje danych API do trenowania modeli, chyba że klient jawnie się na to zgodzi. Anthropic także deklaruje brak domyślnego treningu na wejściu i wyjściu produktów komercyjnych, w tym API. Przechowywanie danych sprawdziłbym osobno dla używanych funkcji.
Warunki Gemini przewidują brak używania promptów i odpowiedzi do ulepszania produktów w Paid Services. W EOG, Szwajcarii i Wielkiej Brytanii te zasady wykorzystania danych dotyczą także usług bezpłatnych. Jednocześnie udostępnianie aplikacji użytkownikom w tych regionach wymaga Paid Services.
Przed wysłaniem danych firmowych ustaliłbym, jakie informacje są potrzebne do zadania, jak długo mają być przechowywane i kto może je odczytać. Od tych wymagań zaczynam wybór sposobu integracji.
FAQ
Ile kosztuje API ChatGPT?
OpenAI nalicza opłaty według modelu i funkcji, a API rozlicza oddzielnie od ChatGPT. Do własnej wyceny polecam zebrać statystyki typowych żądań i policzyć cały proces według tabeli, uwzględniając poprawki.
Czy ChatGPT Plus obejmuje korzystanie z API?
Subskrypcja ChatGPT i API mają osobne rozliczenia. Dla płatnego użycia API trzeba skonfigurować metodę płatności w koncie API.
Czy Gemini API jest darmowe?
Google oferuje bezpłatny poziom z ograniczonym dostępem do wybranych modeli. Przy aplikacji dla użytkowników w EOG obowiązuje jednak wymóg Paid Services. Rozróżniam więc bezpłatne eksperymentowanie i sposób udostępnienia produktu.
Czy można zmienić dostawcę bez przepisywania aplikacji?
Polecam wydzielić adapter dostawcy i własny format wyniku. Przy zmianie sprawdziłbym mapowanie danych, obsługę narzędzi, błędy i pomiar kosztów, a następnie powtórzył ewaluację. Wspólny interfejs traktuję jako ułatwienie migracji.
Co dalej
Kolejnym krokiem może być zaprojektowanie procesu obejmującego model i narzędzia. Polecam praktyczny przewodnik po budowie agenta AI.
Jeśli potrzebujesz pomocy w połączeniu API modeli z firmowymi narzędziami i systemami, możesz skontaktować się ze mną.
Źródła
- GPT-6.1 Sol Model | OpenAI APIdevelopers.openai.com
- Managing billing for ChatGPT and the API platformhelp.openai.com
- Create a Message - Claude API Referenceplatform.claude.com
- Claude Sonnet 5.5 - Claude Platform Docsplatform.claude.com
- Getting started | Gemini APIai.google.dev
- Gemini 3.8 Flash | Gemini APIai.google.dev
- Pricing - Claude Platform Docsplatform.claude.com
- Gemini Developer API pricingai.google.dev
- Pricing | OpenAI APIdevelopers.openai.com
- Reasoning models | OpenAI APIdevelopers.openai.com
- Prompt caching - Claude Platform Docsplatform.claude.com
- Batch API | OpenAI APIdevelopers.openai.com
- Get your Claude API key - Claude Platform Docsplatform.claude.com
- How do I pay for my Claude API usage?support.claude.com
- I created a Claude Console organization - how do I start using the Claude API?support.claude.com
- Get started with Claude - Claude Platform Docsplatform.claude.com
- API overview - Claude Platform Docsplatform.claude.com
- Claude Haiku 4.5 - Claude Platform Docsplatform.claude.com
- Function calling | OpenAI APIdevelopers.openai.com
- Structured model outputs | OpenAI APIdevelopers.openai.com
- Claude API errors - Claude Platform Docsplatform.claude.com
- Data controls in the OpenAI platformdevelopers.openai.com
- Is my data used for model training?privacy.claude.com
- Gemini API Additional Terms of Serviceai.google.dev
