Ile kosztuje 1M tokenów w Claude?
Claude rozlicza tokeny wejściowe i wyjściowe osobno. Sprawdź stawki modeli Haiku 4.5, Sonnet 5 i Opus 5 oraz oblicz koszt miliona tokenów.
Ile kosztuje 1M tokenów w Claude?
1M tokenów oznacza milion tokenów. Jest to jednostka, w której podawane są ceny każdego interfejsu API (application programming interface) Claude. Nie ma jednej ceny, ponieważ tokeny wejściowe i wyjściowe są rozliczane według różnych stawek, a każdy model ma własną parę stawek. W sierpniu 2026 jeden milion tokenów wejściowych kosztuje $1 w Claude Haiku 4.5, $2 w Claude Sonnet 5 oraz $5 w Claude Opus 5.
Tokeny wyjściowe są droższą częścią rozliczenia. W każdym obecnym modelu stawka za tokeny wyjściowe jest pięciokrotnie wyższa od stawki za tokeny wejściowe. Oznacza to, że proporcja między tymi typami tokenów wpływa na rachunek bardziej niż sama cena bazowa. Aplikacja, która wysyła długie dokumenty i zwraca krótkie odpowiedzi, działa pod względem kosztów zupełnie inaczej niż aplikacja generująca długie odpowiedzi na podstawie krótkiego zapytania.
Ta strona dotyczy ekonomiki jednostkowej: kosztu tokenu oraz sposobu oszacowania rachunku przed rozpoczęciem pracy nad aplikacją. Informacje o tym, gdzie faktycznie są wykorzystywane tokeny podczas pracy, znajdują się w artykule gdzie tokeny są wykorzystywane podczas sesji Claude Code.
Jak wygląda 1M tokenów
Token to fragment tekstu odczytywany lub zapisywany przez model. Według przybliżonej reguły Anthropic jeden token przypada na 4 znaki lub około 0.75 słowa w języku angielskim. Jeden milion tokenów to zatem około 750,000 słów lub około 4 MB zwykłego tekstu.
Opublikowane szacunki dla typowych danych wejściowych lepiej pokazują tę skalę.
The data behind this chart
[
{
"label": "Average web page (10 kB)",
"tokens": "2,500"
},
{
"label": "Documentation page (100 kB)",
"tokens": "25,000"
},
{
"label": "Research paper PDF (500 kB)",
"tokens": "125,000"
}
]Przy tych wartościach 1M tokenów odpowiada około 400 przeciętnym stronom internetowym odczytanym jeden raz lub ośmiu artykułom naukowym tej wielkości. Obejmuje to jedno przejście przez bazę kodu średniej wielkości lub miesiąc sporadycznego korzystania z czatu przez jedną osobę.
Wszystkie te wartości należy traktować jako szacunki. Kod, JSON i teksty w językach innych niż angielski zawierają mniej słów w jednym tokenie, dlatego współczynnik 0.75 oznacza wartość optymistyczną. Na wynik wpływa jeszcze jedna kwestia: Claude Opus 4.7 i nowsze modele, w tym Opus 5 i Sonnet 5, używają nowszego tokenizera, który dla tego samego tekstu generuje około 30 procent więcej tokenów niż Sonnet 4.6 i wcześniejsze modele. Claude Haiku 4.5 używa starszego tokenizera. Oznacza to, że liczba zmierzona dla Haiku 4.5 będzie zaniżona względem liczby dla Sonnet 5 przy identycznych danych wejściowych. Z tego powodu bezpośrednie porównanie ceny za milion tokenów po obu stronach tej granicy nie jest miarodajne. Przed podjęciem decyzji należy policzyć tokeny dla tego samego promptu w obu modelach.
Opłaty Claude za milion tokenów
The data behind this chart
[
{
"label": "Haiku 4.5",
"input_usd": 1,
"output_usd": 5
},
{
"label": "Sonnet 5 (to 31 Aug 2026)",
"input_usd": 2,
"output_usd": 10
},
{
"label": "Sonnet 5 (from 1 Sep 2026)",
"input_usd": 3,
"output_usd": 15
},
{
"label": "Opus 5",
"input_usd": 5,
"output_usd": 25
}
]Claude Sonnet 5 jest objęty ceną promocyjną wynoszącą $2 za tokeny wejściowe i $10 za tokeny wyjściowe do 31 August 2026. Od 1 September 2026 obowiązuje standardowa stawka: $3 za tokeny wejściowe i $15 za tokeny wyjściowe. Cena Claude Opus 5 wynosi $5 za tokeny wejściowe i $25 za tokeny wyjściowe.
Stawki mogą się zmieniać. Każdą wartość na tej stronie należy traktować jako przykład obliczeniowy z August 2026. Przed zatwierdzeniem budżetu należy potwierdzić aktualne wartości na oficjalnej stronie cennika.
Długość kontekstu nie zmienia stawki. W Claude 4.6 i nowszych pełne okno kontekstu o rozmiarze 1M tokenów jest rozliczane według standardowego cennika. Dlatego żądanie zawierające 900,000 tokenów kosztuje tyle samo za token co żądanie zawierające 9,000 tokenów. Długi prompt kosztuje więcej, ponieważ zawiera więcej tokenów. Nie obowiązuje odrębna stawka za długi kontekst.
Obliczenia odporne na zmianę ceny
Każda opłata składa się z dwóch działań mnożenia i jednego dodawania.
cost = (input_tokens / 1,000,000) * input_rate
+ (output_tokens / 1,000,000) * output_rateZapis w postaci kodu, który można uruchomić:
INPUT_RATE = 2.00 # USD per million input tokens, Sonnet 5, August 2026
OUTPUT_RATE = 10.00 # USD per million output tokens
def cost(input_tokens, output_tokens):
return (input_tokens * INPUT_RATE + output_tokens * OUTPUT_RATE) / 1_000_000
print(f"{cost(4300, 400):.4f}")Polecenie wyświetla 0.0126. Żądanie, które wysyła 4,300 tokenów wejściowych i otrzymuje 400 tokenów wyjściowych, kosztuje około 1.3 centa w Sonnet 5. Obie stawki należy przechowywać w jednym miejscu w kodzie. Po zmianie ceny wystarczy zmodyfikować dwie linie, a wszystkie szacunki w systemie zostaną odpowiednio zaktualizowane.
Przykładowe oszacowanie dla rzeczywistej aplikacji
Rozważmy asystenta pomocy technicznej. Jego prompt systemowy i dokumentacja produktu zajmują 4,000 tokenów. Są one wysyłane przy każdym żądaniu, ponieważ Messages API jest bezstanowe, a model nie zachowuje żadnych informacji między wywołaniami. Pytanie użytkownika dodaje około 300 tokenów. Odpowiedź ma około 400 tokenów. Na każde żądanie przypada więc 4,300 tokenów wejściowych i 400 tokenów wyjściowych.
Jeden milion tokenów wejściowych wystarcza na około 232 żądania o takiej strukturze. Przy 1,000 żądań dziennie aplikacja zużywa codziennie 4.3 miliona tokenów wejściowych. Oznacza to, że „1M tokenów” wystarcza na mniej niż sześć godzin ruchu.
The data behind this chart
[
{
"label": "Opus 5, list rates",
"cost_per_1k_usd": "31.50"
},
{
"label": "Sonnet 5, list rates",
"cost_per_1k_usd": "12.60"
},
{
"label": "Sonnet 5, Batch API",
"cost_per_1k_usd": "6.30"
},
{
"label": "Haiku 4.5, list rates",
"cost_per_1k_usd": "6.30"
},
{
"label": "Sonnet 5, warm prompt cache",
"cost_per_1k_usd": "5.40"
}
]W Claude Opus 5 taki ruch kosztuje $31.50 za 1,000 żądań. W Sonnet 5 koszt wynosi $12.60. Przejście na Claude Haiku 4.5 obniża koszt do $6.30, a użycie rozgrzanej pamięci podręcznej promptów w Sonnet 5 obniża go jeszcze bardziej, do $5.40.
Pomnóż tę wartość przez 30, aby uzyskać miesięczny koszt takiego ruchu. Sonnet 5 według stawek katalogowych kosztuje około $378 miesięcznie. Ta sama aplikacja z rozgrzaną pamięcią podręczną kosztuje około $162. Wybór modelu i decyzja dotycząca buforowania mają przy takim wolumenie większe znaczenie niż jakakolwiek stawka wynegocjowana z dostawcą. Wybór modelu jest osobnym zagadnieniem. Należy wybrać najtańszy model, który przejdzie testy ewaluacyjne: wybór między Opus, Sonnet i Haiku wyjaśnia, jak prawidłowo przeprowadzić takie testy.
Buforowanie promptów ogranicza powtarzaną część
Ten prefiks o długości 4,000 tokenów jest identyczny przy każdym żądaniu, a pełna opłata za dane wejściowe jest naliczana za każdym razem. Buforowanie promptu zapisuje przetworzony prefiks i obniża opłatę za jego ponowne użycie.
Odczyt z bufora kosztuje 0.1 podstawowej stawki za dane wejściowe. Zapis bufora kosztuje 1.25 podstawowej stawki przy czasie życia wynoszącym 5 minut lub 2 razy stawkę podstawową przy czasie życia wynoszącym 1 godzinę. Bufor 5-minutowy zwraca się po jednym odczycie, ponieważ zapis kosztuje dodatkowe 0.25, a każdy odczyt zapewnia oszczędność 0.9. Bufor 1-godzinny wymaga dwóch odczytów, aby wyjść na zero.
Najprościej włączyć tę funkcję za pomocą pojedynczego pola najwyższego poziomu:
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5",
"max_tokens": 1024,
"cache_control": {"type": "ephemeral"},
"system": "You are a helpful assistant.",
"messages": [
{"role": "user", "content": "What are the key themes in Pride and Prejudice?"}
]
}'Następnie należy odczytać zwrócony blok usage:
{
"usage": {
"cache_creation_input_tokens": 5120,
"cache_read_input_tokens": 1800,
"input_tokens": 50,
"output_tokens": 503
}
}Te trzy liczniki danych wejściowych są rozliczane według trzech różnych stawek i łącznie odpowiadają rzeczywistej objętości danych wejściowych: total_input_tokens = cache_read_input_tokens + cache_creation_input_tokens + input_tokens. Oszacowanie kosztu oparte wyłącznie na input_tokens będzie znacznie błędne po włączeniu buforowania.
Bufor może nie przynosić oszczędności z dwóch powodów. W obu przypadkach nie jest zwracany błąd.
Prefiks musi być identyczny na poziomie bajtów. Wyszukiwanie w buforze polega na dopasowaniu prefiksu. Znacznik czasu lub nazwa użytkownika na początku promptu systemowego zmieniają go przy każdym żądaniu. W takiej sytuacji za każdym razem naliczana jest opłata w wysokości 1.25 podstawowej stawki za dane wejściowe i nie dochodzi do żadnego odczytu. Objawem jest utrzymywanie się wysokiej wartości cache_creation_input_tokens przy wartości cache_read_input_tokens równej 0. Należy umieścić cache_control w ostatnim bloku, którego zawartość jest taka sama we wszystkich żądaniach, a wszystkie zmienne elementy umieścić za nim. Zmiana definicji tools unieważnia cały bufor znajdujący się za nimi, ponieważ unieważnianie przebiega zgodnie z kolejnością: tools, następnie system, a potem messages.
Prefiks musi być wystarczająco długi. Minimalna długość buforowanego prefiksu wynosi 512 tokenów w Opus 5, 1,024 w Sonnet 5 i 4,096 w Haiku 4.5. Krótszy prompt nie jest buforowany i nie jest zwracany żaden błąd. Prefiks o długości 4,000 tokenów z powyższego przykładu jest buforowany w Sonnet 5, ale nie jest buforowany w Haiku 4.5, ponieważ wartość 4,000 nie osiąga minimalnego limitu tego modelu. Jeśli oba liczniki mają wartość 0, nic nie zostało zbuforowane.
Przetwarzanie wsadowe zmniejsza stawkę o połowę
Batch API przetwarza żądania asynchronicznie, zapewniając rabat w wysokości 50 procent zarówno na dane wejściowe, jak i wyjściowe. W powyższym przykładzie zmienia to kwotę $12.60 za 1,000 żądań na $6.30. Rabat łączy się z buforowaniem promptów, dlatego zadanie wsadowe z wykorzystaniem buforowanych danych jest najtańszym sposobem wykonywania operacji zbiorczych.
Kosztem jest opóźnienie, dlatego przetwarzanie wsadowe nie nadaje się do zadań, na których ukończenie użytkownik czeka. Sprawdza się w klasyfikacji wykonywanej w nocy oraz w uzupełnianiu dokumentów.
Dlaczego koszty czatu rosną w ramach jednej rozmowy
Ponieważ API nie przechowuje stanu, klient wysyła całą rozmowę ponownie przy każdej turze. Dlatego liczba tokenów używanych w jednym czacie rośnie proporcjonalnie do kwadratu jego długości, a nie liniowo.
Załóżmy, że każda tura obejmuje średnio 500 tokenów. Tura 1 wysyła 500 tokenów wejściowych. Tura 2 wysyła 1,000. Tura 20 wysyła 10,000. Po zsumowaniu zgodnie ze wzorem n(n+1)/2 rozmowa obejmująca 20 tur wysłała około 105,000 tokenów wejściowych, mimo że sam zapis rozmowy ma długość tylko 10,000 tokenów.
Dlatego funkcja czatu kosztuje więcej, niż wynikałoby to z długości jej zapisu. Z tego samego powodu buforowanie stabilnego prefiksu lub podsumowywanie starszych tur zaczyna się opłacać w długich wątkach. Agent wykonujący pętle wywołań narzędzi ma taki sam przebieg, a sytuacja jest jeszcze gorsza: każdy wynik narzędzia pozostaje w historii i jest ponownie wysyłany przy każdej kolejnej turze. Ustanowienie twardego limitu wydatków dla samodzielnie uruchamianego agenta ma tutaj największe znaczenie, ponieważ ten wzrost jest automatyczny i nikt go nie monitoruje.
Policz tokeny, zanim zaczniesz zgadywać
Nie wyprowadzaj liczby tokenów z liczby słów. API oblicza ją bezpłatnie w ramach osobnego limitu szybkości, niezależnego od tworzenia wiadomości.
curl https://api.anthropic.com/v1/messages/count_tokens \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "content-type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5",
"system": "You are a scientist",
"messages": [{
"role": "user",
"content": "Hello, Claude"
}]
}'Odpowiedź zawiera jedno pole:
{ "input_tokens": 14 }Przekaż rzeczywisty monit systemowy i definicje narzędzi wraz z reprezentatywną wiadomością użytkownika, a następnie wstaw tę liczbę do powyższej funkcji kosztu. Punkt końcowy przyjmuje to samo ciało żądania co żądanie wiadomości, dlatego obrazy i pliki PDF również są prawidłowo uwzględniane. Należy pamiętać o dwóch kwestiach. Wynik jest szacunkiem i może nieznacznie różnić się od wartości użytej do naliczenia opłaty. Jest również mierzony za pomocą tokenizera modelu przekazanego w żądaniu, dlatego należy przekazać model, który będzie faktycznie używany.
Liczby tokenów wyjściowych nie można obliczyć z wyprzedzeniem, ponieważ jeszcze nie istnieją. Ogranicz je za pomocą max_tokens, a następnie zmierz rzeczywisty rozkład na podstawie usage.output_tokens w ruchu produkcyjnym.
Co jeszcze jest uwzględniane na rachunku
Największą część rachunku stanowią tokeny. Kilka pozycji nie dotyczy tokenów i może zaskakiwać.
- Definicje narzędzi są zamieniane na tokeny wejściowe przy każdym żądaniu. Sama systemowa instrukcja obsługi narzędzi dodaje od 286 do 406 tokenów w Opus 5, jeszcze przed uwzględnieniem własnych schematów. Dziesięć rozwlekłych opisów narzędzi może podwoić niewielki prompt.
- Wyszukiwanie w sieci jest rozliczane w wysokości $10 za 1,000 wyszukiwań. Opłata ta jest naliczana dodatkowo do tokenów zużywanych przez wyniki po ich wprowadzeniu do kontekstu.
- Pobieranie stron internetowych nie wiąże się z dodatkową opłatą, ale pobrana strona jest zamieniana na tokeny wejściowe. Strona dokumentacji o rozmiarze 100 kB zawiera w przybliżeniu 25,000 takich tokenów.
- Żądanie wnioskowania wyłącznie w regionie US za pomocą
inference_geow Claude 4.6 i nowszych wersjach stosuje mnożnik 1.1 do każdej kategorii tokenów, w tym do odczytów i zapisów pamięci podręcznej.
To, czy w ogóle warto kupić dostęp do API, zależy od skali użycia. Poniżej pewnego poziomu użycia korzystniejszy jest bezpośrednio stały plan miesięczny, a porównanie API z subskrypcją Claude przedstawia tę kalkulację na rzeczywistych liczbach.
FAQ
Ile kosztuje 1M tokenów w Claude?
Zależy to od modelu oraz od tego, czy tokeny są wejściowe, czy wyjściowe. W sierpniu 2026 jeden milion tokenów wejściowych kosztuje $1 w Claude Haiku 4.5, $2 w Claude Sonnet 5 w ramach ceny promocyjnej oraz $5 w Claude Opus 5. W każdym z tych modeli tokeny wyjściowe kosztują pięciokrotność stawki za tokeny wejściowe. Od 1 września 2026 stawka za tokeny wejściowe w Sonnet 5 wzrośnie do $3, a za tokeny wyjściowe do $15. Stawki ulegają zmianom. Przed uwzględnieniem konkretnej kwoty w budżecie należy potwierdzić je na oficjalnej stronie z cennikiem.
Czy 1M tokenów oznacza to samo co 1M słów?
Nie. Jeden token to w przybliżeniu 4 znaki w języku angielskim lub około 0.75 słowa. Jeden milion tokenów to zatem około 750,000 słów. Jest to tylko wartość orientacyjna. Kod, JSON i języki inne niż angielski wymagają większej liczby tokenów na słowo. Claude Opus 4.7 i nowsze modele używają także nowszego tokenizera, który dla identycznego tekstu generuje około 30 procent więcej tokenów niż Claude Sonnet 4.6 i starsze modele. Dlatego liczby tokenów nie można bezpośrednio porównywać między generacjami modeli. Pomiar należy wykonać za pomocą bezpłatnego endpointu /v1/messages/count_tokens, przekazując model, który ma zostać uruchomiony.
Czy buforowanie promptów zawsze obniża koszty?
Nie. Zapis w cache na 5 minut kosztuje 1.25-krotność podstawowej stawki za tokeny wejściowe. Prefiks zapisany w cache i nigdy nieodczytany kosztuje zatem o 25 procent więcej niż wysłanie go bez buforowania. Koszt zwraca się już przy pierwszym odczycie. Buforowanie może nie zadziałać na dwa sposoby i oba przypadki przebiegają bez komunikatu. Jeżeli buforowany prefiks zmieni się między żądaniami, wyszukiwanie nie znajdzie dopasowania, ponieważ dopasowywany jest dokładny prefiks. Jeżeli prefiks jest krótszy niż minimalna długość obsługiwana przez cache, czyli 1,024 tokenów w Sonnet 5 i 4,096 w Haiku 4.5, nic nie zostanie zapisane w cache i nie zostanie zwrócony błąd. Jeżeli cache_creation_input_tokens i cache_read_input_tokens mają wartość 0, cache nie wykonuje żadnej pracy.
Dlaczego rachunek wzrósł szybciej niż liczba wiadomości?
Ponieważ cała rozmowa jest ponownie wysyłana przy każdym obrocie. Messages API nie przechowuje stanu, dlatego 20. obrót rozmowy zawiera ponownie wszystkie 19 wcześniejszych obrotów jako dane wejściowe. Jeżeli każdy obrót ma średnio 500 tokenów, rozmowa licząca 20 obrotów wysyła około 105,000 tokenów wejściowych, mimo że cały transkrypt ma długość tylko 10,000 tokenów. Pętle agentów działają tak samo, ponieważ każdy wynik narzędzia pozostaje w historii. Należy buforować stabilny prefiks albo podsumować starsze obroty i usunąć je z żądania.