Wat kost 1 miljoen tokens in Claude?
Claude rekent invoer en uitvoer apart af. Bekijk de actuele tarieven per model en bereken met een eenvoudig voorbeeld wat 1 miljoen tokens op uw maandfactuur kost.
Hoeveel zijn 1M tokens in Claude?
1M tokens betekent een miljoen tokens. Dit is de eenheid waarin elke Claude API-prijs (application programming interface) wordt uitgedrukt. Er is geen vaste prijs voor, omdat invoer en uitvoer tegen verschillende tarieven worden gefactureerd en elk model zijn eigen tarieven heeft. In augustus 2026 kost een miljoen invoertokens $1 op Claude Haiku 4.5, $2 op Claude Sonnet 5 en $5 op Claude Opus 5.
Uitvoer is de duurdere helft. Bij elk huidig model ligt het uitvoertarief vijf keer hoger dan het invoertarief. De verdeling tussen beide bepaalt uw factuur daarom sterker dan het genoemde hoofdtarief. Een app die lange documenten verstuurt en korte antwoorden retourneert, werkt financieel heel anders dan een app die lange antwoorden genereert op basis van een korte prompt.
Deze pagina gaat over de kosteneconomie per eenheid: wat een token kost en hoe u een factuur kunt schatten voordat u gaat bouwen. Lees waar de tokens terechtkomen tijdens een Claude Code-sessie voor informatie over waar de tokens daadwerkelijk naartoe gaan terwijl u werkt.
Hoe 1M tokens eruitziet
Een token is een teksteenheid die het model leest of schrijft. Volgens de globale richtlijn van Anthropic is dat 1 token per 4 tekens, of ongeveer 0.75 Engelse woorden. 1 miljoen tokens komt dus neer op ongeveer 750,000 woorden, of circa 4 MB platte tekst.
Gepubliceerde schattingen voor veelgebruikte invoer geven een beter beeld van deze omvang.
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"
}
]Bij die verhoudingen staat 1M tokens ongeveer gelijk aan 400 gemiddelde webpagina's die eenmaal zijn gelezen, of aan acht onderzoeksartikelen van die omvang. Het is één volledige verwerking van een middelgrote codebase, of een maand licht chatgebruik door één persoon.
Beschouw dit alles als een schatting. Code, JSON en tekst in andere talen dan het Engels bevatten minder woorden per token, waardoor de verhouding van 0.75 aan de optimistische kant ligt. Er is nog een factor die de telling beïnvloedt: Claude Opus 4.7 en later, waaronder Opus 5 en Sonnet 5, gebruiken een nieuwere tokenizer die voor dezelfde tekst ongeveer 30 procent meer tokens oplevert dan Sonnet 4.6 en eerder. Claude Haiku 4.5 gebruikt de oudere tokenizer. Een telling die u op Haiku 4.5 hebt gemeten, valt dus lager uit dan de telling op Sonnet 5 voor identieke invoer. Daardoor is een rechtstreekse vergelijking van de prijs per miljoen tokens over die grens heen niet eerlijk. Tel dezelfde prompt bij beide modellen voordat u een beslissing neemt.
Wat Claude per miljoen tokens in rekening brengt
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 gebruikt tot en met 31 August 2026 introductietarieven van $2 voor invoer en $10 voor uitvoer. Vanaf 1 September 2026 geldt het standaardtarief: $3 voor invoer en $15 voor uitvoer. Voor Claude Opus 5 geldt $5 voor invoer en $25 voor uitvoer.
Tarieven veranderen. Beschouw elk bedrag op deze pagina als een uitgewerkt voorbeeld van August 2026 en controleer de actuele bedragen op de officiële prijspagina voordat u een budget definitief vaststelt.
De contextlengte verandert het tarief niet. Op Claude 4.6 en later wordt het volledige contextvenster van 1M tokens tegen de standaardprijzen in rekening gebracht. Een aanvraag van 900,000 tokens kost per token dus hetzelfde als een aanvraag van 9,000 tokens. Een lange prompt kost meer omdat deze uit meer tokens bestaat. Er geldt geen afzonderlijk tarief voor lange contexten.
De berekening die een prijswijziging overleeft
Elke factuur bestaat uit twee vermenigvuldigingen en één optelling.
cost = (input_tokens / 1,000,000) * input_rate
+ (output_tokens / 1,000,000) * output_rateUitgeschreven als code die u kunt uitvoeren:
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}")Dit geeft 0.0126 als resultaat. Een verzoek met 4,300 invoertokens en 400 uitvoertokens kost op Sonnet 5 ongeveer 1.3 cent. Houd de twee tarieven op één plaats in uw code. Wanneer een prijs verandert, past u twee regels aan. Alle schattingen in uw systeem worden dan automatisch bijgewerkt.
Een uitgewerkte schatting voor een echte applicatie
Neem een ondersteuningsassistent. De systeemprompt en productdocumentatie bevatten samen 4,000 tokens. Deze worden bij elk afzonderlijk verzoek verzonden, omdat de Messages API stateless is en het model niets onthoudt tussen aanroepen. Een gebruikersvraag voegt ongeveer 300 tokens toe. Een antwoord bevat ongeveer 400 tokens. Per verzoek gaat het dus om 4,300 invoertokens en 400 uitvoertokens.
Met 1 miljoen invoertokens kunt u ongeveer 232 verzoeken van dit type uitvoeren. Bij 1,000 verzoeken per dag verbruikt de applicatie dagelijks 4.3 miljoen invoertokens. "1M tokens" staat dus voor minder dan zes uur netwerkverkeer.
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"
}
]Op Claude Opus 5 kost dit netwerkverkeer $31.50 per 1,000 verzoeken. Op Sonnet 5 kost het $12.60. Met Claude Haiku 4.5 daalt dit naar $6.30, en met een warme promptcache op Sonnet 5 daalt het nog verder naar $5.40.
Vermenigvuldig dit met 30 voor een maand met dit netwerkverkeer. Sonnet 5 kost tegen de catalogusprijzen ongeveer $378 per maand. Dezelfde applicatie met een warme cache kost ongeveer $162. Uw modelkeuze en uw beslissing over caching zijn elk meer waard dan elke korting die u bij dit volume kunt onderhandelen. Welk model u gebruikt, is een afzonderlijke vraag. Het goedkoopste model dat uw evaluaties doorstaat, is de beste keuze: kiezen tussen Opus, Sonnet en Haiku behandelt hoe u dit correct test.
Prompt caching verlaagt het herhaalde deel
Die prefix van 4,000 tokens is bij elk verzoek identiek. U betaalt er iedere keer de volledige invoerprijs voor. Prompt caching slaat de verwerkte prefix op en berekent een lager tarief wanneer deze opnieuw wordt gebruikt.
Het lezen van de cache kost 0.1 keer het basistarief voor invoer. Het schrijven naar de cache kost 1.25 keer het basistarief voor een levensduur van 5 minuten, of 2 keer het basistarief voor een levensduur van 1 uur. De cache van 5 minuten verdient zichzelf dus na één keer lezen terug. Het schrijven kost 0.25 extra, terwijl elke leesbewerking 0.9 bespaart. De cache van 1 uur heeft twee leesbewerkingen nodig om quitte te spelen.
U schakelt dit het eenvoudigst in met één veld op het hoogste niveau:
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?"}
]
}'Lees vervolgens het blok usage dat wordt geretourneerd:
{
"usage": {
"cache_creation_input_tokens": 5120,
"cache_read_input_tokens": 1800,
"input_tokens": 50,
"output_tokens": 503
}
}Voor deze drie invoertellers gelden drie verschillende tarieven. Samen vormen ze uw werkelijke invoervolume: total_input_tokens = cache_read_input_tokens + cache_creation_input_tokens + input_tokens. Een kostenraming die alleen input_tokens leest, is onjuist zodra caching is ingeschakeld.
Twee zaken zorgen ervoor dat een cache zichzelf niet terugverdient. Beide mislukken stilzwijgend.
De prefix moet byte-identiek zijn. Bij het opzoeken van de cache wordt gezocht naar een overeenkomende prefix. Een tijdstempel of de naam van de gebruiker bovenaan uw systeemprompt wijzigt deze daarom bij elk verzoek. U betaalt dan iedere keer 1.25 keer het basistarief voor invoer en leest de cache nooit. Het symptoom is dat cache_creation_input_tokens hoog blijft, terwijl cache_read_input_tokens 0 blijft. Plaats cache_control op het laatste blok waarvan de inhoud bij alle verzoeken gelijk is. Plaats alles wat varieert daarna. Als u uw definities van tools wijzigt, wordt de volledige cache eronder ongeldig. Ongeldigmaking verloopt namelijk in de volgorde tools, daarna system en vervolgens messages.
De prefix moet lang genoeg zijn. De minimale cachebare lengte is 512 tokens op Opus 5, 1,024 op Sonnet 5 en 4,096 op Haiku 4.5. Een kortere prompt wordt niet gecachet en er wordt geen fout geretourneerd. De prefix van 4,000 tokens in het bovenstaande voorbeeld wordt op Sonnet 5 gecachet, maar niet op Haiku 4.5, omdat 4,000 onder de ondergrens van dat model ligt. Als beide tellers 0 aangeven, is er niets gecachet.
Batchverwerking halveert het tarief
De Batch API verwerkt verzoeken asynchroon met 50 procent korting op zowel invoer als uitvoer. In het bovenstaande voorbeeld wordt $12.60 per 1.000 verzoeken daardoor $6.30. De korting wordt gecombineerd met promptcaching. Een gecachte batchtaak is daarom de goedkoopste manier om bulkverwerking uit te voeren.
U levert wel latentie in. Daardoor is batchverwerking niet geschikt voor toepassingen waarbij iemand op het resultaat wacht. De methode past wel bij classificatie die 's nachts wordt uitgevoerd en het achteraf verwerken van documenten.
Waarom chatkosten binnen één gesprek oplopen
Omdat de API geen status bijhoudt, verzendt uw client bij elke beurt het volledige gesprek opnieuw. Het tokengebruik binnen één chat groeit daardoor kwadratisch met de lengte, niet lineair.
Ga uit van beurten met gemiddeld 500 tokens. Beurt 1 verzendt 500 invoertokens. Beurt 2 verzendt 1,000. Beurt 20 verzendt 10,000. Tel dit op met n(n+1)/2. Een gesprek van 20 beurten heeft dan ongeveer 105,000 invoertokens verzonden, terwijl het transcript zelf slechts 10,000 tokens lang is.
Daarom kost een chatfunctie meer dan het transcript doet vermoeden. Daarom loont het om het stabiele prefix te cachen of oudere beurten samen te vatten bij lange gespreksthreads. Een agent die toolaanroepen in een lus uitvoert, heeft dezelfde structuur, en het probleem is nog groter: elk toolresultaat blijft in de geschiedenis staan en wordt bij elke volgende beurt opnieuw verzonden. Een harde bestedingslimiet instellen voor een agent die u zelf uitvoert is hier het belangrijkst, omdat die groei automatisch plaatsvindt en niemand dit bewaakt.
Tel de tokens voordat u raadt
Stop met het afleiden van tokenaantallen uit woordenaantallen. De API telt ze voor u, zonder extra kosten, via een afzonderlijke rate limit die losstaat van het maken van berichten.
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"
}]
}'De respons bevat één veld:
{ "input_tokens": 14 }Gebruik uw echte systeemprompt en tooldefinities, samen met een representatief gebruikersbericht, en vul het aantal vervolgens in de bovenstaande kostenfunctie in. Het endpoint gebruikt dezelfde body als een berichtaanvraag, zodat afbeeldingen en PDF's ook correct worden meegeteld. Er zijn twee belangrijke aandachtspunten. Het aantal is een schatting en kan iets afwijken van het gefactureerde aantal. Het wordt ook gemeten met de tokenizer van het model dat u opgeeft. Geef daarom het model op dat u daadwerkelijk gaat gebruiken.
Outputtokens kunnen niet vooraf worden geteld, omdat ze nog niet bestaan. Beperk het aantal met max_tokens en meet vervolgens de werkelijke verdeling via usage.output_tokens op live verkeer.
Wat er nog op de rekening komt
Tokens vormen het grootste deel van de kosten. Enkele onderdelen zijn geen tokens en komen voor veel mensen als een verrassing.
- Tooldefinities worden bij elke aanvraag omgezet in invoertokens. Alleen al de systeemprompt voor toolgebruik voegt op Opus 5 286 tot 406 tokens toe, nog voordat uw eigen schema's worden meegerekend. Tien uitgebreide toolbeschrijvingen kunnen een kleine prompt verdubbelen.
- Voor zoeken op het web wordt $10 per 1.000 zoekopdrachten in rekening gebracht. Daar komen de kosten bij voor de tokens die de resultaten gebruiken wanneer ze aan de context worden toegevoegd.
- Het ophalen van webpagina's brengt geen afzonderlijke kosten met zich mee, maar de opgehaalde pagina wordt wel als invoertokens verwerkt. Een documentatiepagina van 100 kB bevat ongeveer 25,000 van deze tokens.
- Als u met
inference_geoop Claude 4.6 en later uitsluitend inferentie in de VS aanvraagt, wordt een factor 1.1 toegepast op elke tokencategorie, inclusief cachelezingen en cachebewerkingen.
Of de API überhaupt de juiste keuze is, hangt af van uw gebruiksvolume. Onder een bepaald gebruiksniveau is een vast maandabonnement zonder meer voordeliger. De API vergeleken met een Claude-abonnement maakt die vergelijking met werkelijke cijfers.
FAQ
Hoeveel kosten 1M tokens in Claude?
Dit hangt af van het model en van de vraag of het om invoer- of uitvoertokens gaat. In augustus 2026 kost één miljoen invoertokens $1 op Claude Haiku 4.5, $2 op Claude Sonnet 5 tegen het introductietarief en $5 op Claude Opus 5. Uitvoer kost bij elk van deze modellen vijf keer het invoertarief. Voor Sonnet 5 wordt het tarief op 1 september 2026 $3 voor invoer en $15 voor uitvoer. Tarieven veranderen. Controleer daarom de officiële prijspagina voordat u een bedrag in een budget opneemt.
Zijn 1M tokens hetzelfde als 1M woorden?
Nee. Eén token bestaat in het Engels uit ongeveer 4 tekens, oftewel ongeveer 0,75 woorden. Eén miljoen tokens komt dus neer op ongeveer 750.000 woorden. Deze verhouding is slechts een richtlijn. Code, JSON en andere talen dan het Engels gebruiken meer tokens per woord. Claude Opus 4.7 en latere versies gebruiken bovendien een nieuwere tokenizer die voor identieke tekst ongeveer 30 procent meer tokens oplevert dan Claude Sonnet 4.6 en eerdere versies. Aantallen zijn daarom niet overdraagbaar tussen modelgeneraties. Meet dit met het gratis /v1/messages/count_tokens-endpoint en geef daarbij het model op dat u wilt uitvoeren.
Bespaart prompt caching altijd geld?
Nee. Het schrijven van een cache van 5 minuten kost 1.25 keer het basistarief voor invoer. Een prefix dat wordt geschreven maar nooit wordt gelezen, kost daardoor 25 procent meer dan wanneer u het normaal verzendt. Vanaf de eerste lezing is de cache rendabel. Dit kan op twee manieren misgaan, zonder dat u een foutmelding krijgt. Als de gecachte prefix tussen aanvragen verandert, komt de opzoekactie nooit overeen, omdat een exacte prefixovereenkomst vereist is. Als de prefix korter is dan de minimale cachebare lengte van het model, wordt niets gecachet en wordt geen fout geretourneerd. Deze minimale lengte is 1,024 tokens op Sonnet 5 en 4,096 op Haiku 4.5. Als cache_creation_input_tokens en cache_read_input_tokens beide 0 aangeven, doet de cache niets.
Waarom groeide mijn factuur sneller dan mijn aantal berichten?
Omdat de volledige conversatie bij elke beurt opnieuw wordt verzonden. De Messages API bewaart geen status. Daardoor bevat beurt 20 van een chat alle 19 eerdere beurten opnieuw als invoer. Bij gemiddeld 500 tokens per beurt verzendt een conversatie van 20 beurten ongeveer 105.000 invoertokens, terwijl het transcript slechts 10.000 tokens lang is. Agentlussen werken op dezelfde manier, omdat elk toolresultaat in de geschiedenis blijft staan. Cache de stabiele prefix of vat oudere beurten samen en verwijder ze uit de aanvraag.