Waarom kosten Claude output-tokens meer dan input-tokens?
Output-tokens bij Claude zijn vijf keer duurder dan input-tokens. Ontdek waarom decoding trager is dan prefill en hoe deze prijsverhouding uw maandelijkse factuur beïnvloedt.
Waarom output-tokens meer kosten dan input-tokens
Output-tokens kosten vijf keer zoveel als input-tokens bij elk Claude-model in de huidige catalogus. De oorzaak hiervan is de vorm van de berekening. Het lezen van een prompt is één doorloop over het model. Het schrijven van een antwoord is één doorloop per token, waarbij elke doorloop moet wachten op de voorgaande.
Die verhouding is gelijk in elke rij van de prijslijst, dus het model dat u kiest, verandert niets aan het aandeel van de output in uw factuur. De vorm van uw werklast bepaalt dit. Een agent-stap die 60,000 tokens leest en antwoordt in 800 tokens, geeft bijna niets uit aan output. Een schrijftaak die 2,000 tokens leest en 12,000 tokens schrijft, geeft bijna niets uit aan input. Beide gevallen worden hieronder uitgewerkt op basis van de gepubliceerde tarieven van Anthropic van augustus 2026.
Prefill wordt eenmaal uitgevoerd, decoding eenmaal per token
Een inference-server verwerkt een verzoek in twee fasen met sterk uiteenlopende kosten. Prefill leest de prompt. Decoding schrijft het antwoord.
Prefill verwerkt de volledige prompt in één keer. Elke prompt-token komt in dezelfde forward pass het netwerk binnen, waardoor het attention- en feed-forward-werk neerkomt op een klein aantal grote matrixvermenigvuldigingen die duizenden tokens tegelijk beslaan. Eén keer uitlezen van de modelgewichten uit het geheugen volstaat voor de gehele prompt. De matrix-units van de accelerator blijven bezet, wat betekent dat prefill compute-bound is: de limiet is de snelheid waarmee de chip kan vermenigvuldigen.
Decoding kan niet op die manier werken, omdat token 2 afhankelijk is van token 1. Het token dat het model zojuist heeft geproduceerd, wordt onderdeel van de input voor de volgende stap; de stappen kunnen dus niet tegelijkertijd worden uitgevoerd. Elk output-token krijgt zijn eigen forward pass, en elk van die passes leest de volledige set modelgewichten uit het high-bandwidth memory om één enkel token te produceren. Dat maakt decoding memory-bound: de limiet is de snelheid waarmee gewichten kunnen worden verplaatst, niet de snelheid waarmee ze worden vermenigvuldigd. Hetzelfde verkeer aan gewichten dat tijdens prefill een hele prompt verwerkte, levert u bij decoding slechts één token op.
Serving-systemen gaan dit tegen door middel van batching. Veel verzoeken worden tegelijk gedecodeerd, waardoor één keer uitlezen van de gewichten één token oplevert voor elk verzoek in de batch. Dat is de reden waarom decoding überhaupt betaalbaar is. De beperkende factor is opnieuw het geheugen. Elk actief verzoek houdt een KV cache bij (key/value cache, de opgeslagen attention-status voor elk token tot nu toe); die cache groeit met elk gegenereerd token, en wanneer deze de accelerator vult, kan de batch niet verder groeien.
Niets hiervan geeft u een exact getal, en u moet 5x niet zien als een gemeten hardwareverhouding. Het is een prijs, vastgesteld door Anthropic, gebaseerd op die asymmetrie. Wat u zelf kunt controleren is de richting, en dat kost ongeveer een minuut.
Meet zelf het verschil tussen input en output
Installeer de tools op een willekeurige Ubuntu-machine:
sudo apt update && sudo apt install -y curl jq moreutilsStuur nu een korte prompt die om een lang antwoord vraagt en voorzie elke regel van een tijdstempel zodra deze binnenkomt.
curl -sN https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":1000,"stream":true,
"messages":[{"role":"user","content":"Count from 1 to 300, one number per line."}]}' \
| ts -s '%.s'ts -s plaatst voor elke regel het aantal seconden dat is verstreken sinds het commando is gestart. Twee zaken zijn uit deze output af te lezen. De eerste content_block_delta-regel is uw 'time to first token', waarbij de volledige prefill heeft plaatsgevonden. Elke regel daarna is een kleine stap in het decoderingsproces en de tijdstempels blijven oplopen tot message_stop verschijnt.
Draai de verhouding nu om. Plaats een lang document in de prompt en beperk het antwoord tot enkele tokens.
curl -sN https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d "$(jq -n --rawfile doc ./long-document.txt \
'{model:"claude-sonnet-5", max_tokens:16, stream:true,
messages:[{role:"user", content:("Answer in one word. Is this document about networking?\n\n" + $doc)}]}')" \
| ts -s '%.s'Het eerste delta-interval duurt langer dan bij de korte prompt, omdat de prefill veel meer tekst moet verwerken. Zodra dit is voltooid, is het antwoord vrijwel direct klaar, omdat er slechts enkele tokens gedecodeerd hoeven te worden. Tienduizenden tokens gingen erin en de klok liep nauwelijks op. Enkele honderden kwamen eruit en de klok liep gedurende het gehele proces.
Elk niet-streamend antwoord eindigt met de cijfers waarvoor u wordt gefactureerd.
{
"usage": {
"input_tokens": 41283,
"output_tokens": 6,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
}Log alle vier de velden per verzoek. output_tokens bevat uitgebreid denkwerk; een model dat nadenkt voordat het antwoord geeft, factureert dit denkwerk tegen het outputtarief. Om een prompt te prijzen voordat u deze verstuurt, accepteert POST /v1/messages/count_tokens hetzelfde verzoeklichaam, retourneert {"input_tokens": N} zonder het model uit te voeren, en is kosteloos. Dit is niet het enige onderdeel van de API dat gratis is, en welke onderdelen van de Claude API nooit worden gefactureerd is het bekijken waard voordat u een eerste project begroot.
Wat Claude per miljoen tokens in rekening brengt per augustus 2026
The data behind this chart
[
{
"label": "Haiku 4.5",
"input_usd": 1,
"output_usd": 5,
"output_multiple": 5
},
{
"label": "Sonnet 5 (to 31 Aug)",
"input_usd": 2,
"output_usd": 10,
"output_multiple": 5
},
{
"label": "Sonnet 5 (from 1 Sep)",
"input_usd": 3,
"output_usd": 15,
"output_multiple": 5
},
{
"label": "Opus 5",
"input_usd": 5,
"output_usd": 25,
"output_multiple": 5
},
{
"label": "Fable 5",
"input_usd": 10,
"output_usd": 50,
"output_multiple": 5
}
]De laatste kolom is de output gedeeld door de input, en deze bevat 5 op elke rij. Haiku 4.5 factureert $1 voor input en $5 voor output. Opus 5 factureert $5 en $25. Fable 5, de duurste optie, factureert $10 en $50, en wat die Fable 5-tarieven u opleveren is het lezen waard voordat u die bovenste rij negeert. Bij het opschalen in de reeks worden beide zijden met dezelfde factor vermenigvuldigd, waardoor uw totaalbedrag verandert, maar de verhouding tussen input en output exact gelijk blijft.
Sonnet 5 staat twee keer vermeld omdat het introductietarief verloopt. Tot en met 31 augustus 2026 factureert dit model $2 en $10. Vanaf 1 september 2026 geldt het standaardtarief van $3 en $15, wat een verhoging van 50% aan beide zijden betekent. Elk uitgewerkt voorbeeld hieronder gebruikt het tarief van augustus.
Tarieven wijzigen en dit is niet de plek waar u deze dient te controleren. claude.com/pricing is de enige bron van waarheid. Wat een prijswijziging overleeft, is de methode.
Er is één kanttekening die de prijslijst niet toont. De documentatie van Anthropic stelt dat Claude 4.7 en latere modellen een nieuwere tokenizer gebruiken die ongeveer 30% meer tokens genereert voor dezelfde tekst dan de tokenizer in Sonnet 4.6 en eerdere versies. Twee modellen die enkel op prijs per miljoen tokens worden vergeleken, zullen het nieuwere model gunstiger doen lijken, omdat hetzelfde document bij dat model uit meer tokens bestaat. Vergelijk op basis van kosten per voltooide taak en reken uw werkelijke prompts door met het model dat u daadwerkelijk van plan bent te gebruiken. wat een miljoen Claude-tokens waard zijn in echte tekst behandelt hoe dat volume er in de praktijk uitziet.
Wanneer gaan outputkosten uw factuur domineren?
Met een prijs voor output die 5 keer hoger ligt dan voor input, is het omslagpunt eenvoudig te berekenen. Noem uw inputtokens I en uw outputtokens O. Input kost I. Output kost 5 keer O. Output beslaat de helft van uw uitgaven wanneer 5 keer O groter is dan I; dit komt overeen met een tokenverhouding van 5 input op 1 output.
Als uw prompt dus meer dan vijf keer langer is dan uw antwoord, vormt input de grootste kostenpost. Daaronder is dat de output.
The data behind this chart
[
{
"label": "100:1",
"input_share_pct": 95.2,
"output_share_pct": 4.8
},
{
"label": "75:1",
"input_share_pct": 93.75,
"output_share_pct": 6.25
},
{
"label": "20:1",
"input_share_pct": 80,
"output_share_pct": 20
},
{
"label": "10:1",
"input_share_pct": 66.7,
"output_share_pct": 33.3
},
{
"label": "5:1",
"input_share_pct": 50,
"output_share_pct": 50
},
{
"label": "1:1",
"input_share_pct": 16.7,
"output_share_pct": 83.3
},
{
"label": "1:6",
"input_share_pct": 3.2,
"output_share_pct": 96.8
}
]Bij een verhouding van 100 op 1 is output 4.8% van de uitgaven en is het inkorten van de prompt de enige zinvolle optimalisatie. Bij 5 op 1 zijn beide zijden gelijk. Bij 1 op 6 is output 96.8% en is de prompt verwaarloosbaar. De meeste mensen schatten hun eigen verhouding verkeerd in; haal deze daarom uit uw logs voordat u met optimalisaties begint.
Een agent-workload: lange context in, kort antwoord uit
Neem één stap van een retrieval-agent: 60,000 input-tokens aan opgehaalde documenten en gesprekshistorie, en een antwoord van 800 tokens. Dat is een verhouding van 75 op 1, wat normaal is voor elk proces dat eerst leest voordat het schrijft.
The data behind this chart
[
{
"label": "Haiku 4.5",
"input_cost": 0.06,
"output_cost": 0.004,
"total_cost": 0.064
},
{
"label": "Sonnet 5 (Aug)",
"input_cost": 0.12,
"output_cost": 0.008,
"total_cost": 0.128
},
{
"label": "Opus 5",
"input_cost": 0.3,
"output_cost": 0.02,
"total_cost": 0.32
},
{
"label": "Fable 5",
"input_cost": 0.6,
"output_cost": 0.04,
"total_cost": 0.64
}
]De output beslaat 6.25% van die aanroep op elk model, omdat de verhouding vaststaat in de gehele prijslijst. De aanroep kost $0.32 op Opus 5, $0.128 op Sonnet 5 tegen het tarief van augustus, en $0.064 op Haiku 4.5. Tweehonderd van dergelijke stappen per dag op Opus 5 kost $64 per dag.
De hefboom is duidelijk zodra u de verdeling ziet. Het inkorten van het antwoord van 800 tokens naar 400 bespaart ongeveer 3% van de aanroep. Het verwijderen van 20,000 tokens aan verouderde context uit de prompt bespaart ongeveer een derde van de kosten. Het beperken van de outputlengte bij een leesintensieve agent is nagenoeg zinloze moeite. waar de tokens van een coding-agent daadwerkelijk naartoe gaan geeft een overzicht van wat die prompt in de eerste plaats vult.
Een generatieworkload: korte prompt, lang concept
Draai de verhouding nu om. Een briefing van 2.000 tokens, een concept van 12.000 tokens, een verhouding van 1 op 6.
The data behind this chart
[
{
"label": "Haiku 4.5",
"input_cost": 0.002,
"output_cost": 0.06,
"total_cost": 0.062,
"batch_total_cost": 0.031
},
{
"label": "Sonnet 5 (Aug)",
"input_cost": 0.004,
"output_cost": 0.12,
"total_cost": 0.124,
"batch_total_cost": 0.062
},
{
"label": "Opus 5",
"input_cost": 0.01,
"output_cost": 0.3,
"total_cost": 0.31,
"batch_total_cost": 0.155
},
{
"label": "Fable 5",
"input_cost": 0.02,
"output_cost": 0.6,
"total_cost": 0.62,
"batch_total_cost": 0.31
}
]De output beslaat 96.8% van deze rekening. Opus 5 kost $0.31 per concept, vergeleken met $0.062 voor Haiku 4.5. Dit prijsverschil van factor vijf komt bijna volledig voort uit de outputzijde; dit is precies waar een goedkoper model de meeste besparingen oplevert.
De laatste kolom toont dezelfde taak via de Batch API, die 50% korting geeft op zowel input als output. Opus 5 daalt naar $0.155 per concept. Batch levert resultaten binnen 24 uur in plaats van direct; het is daarom geschikt voor het genereren van nachtelijke rapporten en bulkclassificatie. Het is niet geschikt voor taken waarbij een gebruiker op het resultaat wacht.
Model-routing loont hier op een manier die bij de agent-stap niet het geval is. Als het uitgebreide deel van de taak mechanisch is, zoals het herformatteren van tekst of het uitwerken van een reeds goedgekeurde outline, produceert het goedkope model deze tokens tegen een vijfde van de prijs. kiezen tussen Opus, Sonnet en Haiku behandelt waar de kwaliteitsgrens in de praktijk ligt.
Caching verlaagt de kosten voor input, en alleen voor input
Prompt caching slaat een voorvoegsel van uw prompt op de server op en brengt een fractie van het inputtarief in rekening om dit opnieuw te lezen. Sinds augustus 2026 zijn de vermenigvuldigers 1,25x het basistarief voor input om een cache van 5 minuten te schrijven, 2x voor een cache van 1 uur, en 0,1x om een hit te lezen.
Output valt niet onder deze regeling. Er is geen gecachte output. Elke token die het model schrijft, wordt elke keer tegen het volledige outputtarief gefactureerd, ongeacht hoeveel van de prompt als cache-hit werd teruggegeven.
Neem dezelfde agent-stap op Opus 5, waarbij 55.000 van de 60.000 input-tokens vanuit een warm cachegeheugen worden geleverd.
The data behind this chart
[
{
"label": "No cache",
"input_cost": 0.3,
"output_cost": 0.02,
"total_cost": 0.32
},
{
"label": "55k prefix cache read",
"input_cost": 0.0525,
"output_cost": 0.02,
"total_cost": 0.0725
}
]De kosten van de aanroep dalen van $0.32 naar $0.0725. De output-regel verandert niet: $0.02 daarvoor, $0.02 daarna. Caching verlaagt de rekening en verandert de opbouw ervan. Output was 6.25% van die aanroep. Nu is dat meer dan een kwart, wat bepaalt aan welke knoppen het zinvol is om als volgende te draaien.
De eerste aanroep betaalt voor het schrijven. Het schrijven naar een cache van 5 minuten kost 1,25x de basisinput, dus het verdient zichzelf terug na één enkele hit. Een schrijfactie van 1 uur kost 2x, dus daarvoor zijn er twee nodig. de schrijf- en leesvermenigvuldigers, en waar caching niet langer rendabel is werkt die berekening volledig uit.
Vier knoppen waar u controle over heeft
- Stel
max_tokensin op uw p95-outputlengte, niet op het maximum van het model. - Routeer uitgebreide stappen naar een goedkoper model.
- Batch alles waar niemand op wacht.
- Verwijder de instructies die antwoorden onnodig lang maken.
max_tokens is een harde bovengrens. Deze hoog instellen kost op zichzelf niets, omdat u betaalt voor geproduceerde tokens en nooit voor de limiet zelf. Een ruime limiet voorkomt dat een antwoord voortijdig wordt afgebroken als er iets misgaat. Haal de output_tokens-verdeling uit uw logs, stel de limiet net boven het 95e percentiel in en handel stop_reason: "max_tokens" af in uw code door het antwoord voort te zetten of opnieuw te proberen. Een afbreking die u detecteert kost minder dan een uitweiding van 4.000 tokens waarvoor u betaalt en die u vervolgens weggooit. Uitgebreid denkwerk komt ook in output_tokens terecht, dus baseer dat budget op dezelfde gegevens.
Routing werkt wanneer het dure deel van een stap het volume is in plaats van het oordeelsvermogen. Laat het sterke model de beslissing nemen en laat het typewerk over aan een goedkoper model. Meet de gerouteerde versie eerst op uw eigen evaluatieset, want een goedkoop model dat twee pogingen nodig heeft, kost meer dan één dure poging.
Batching is de enige knop die korting geeft op output. 50% korting aan beide kanten, resultaten binnen 24 uur, en alles wat volgens een schema verloopt komt hiervoor in aanmerking.
De laatste knop is degene die mensen vaak overslaan. Zinsneden als "wees grondig" en "leg uw redenering uit" bepalen de outputlengte van elke aanroep die u ooit zult doen. Vervang ze door de gewenste vorm: "Antwoord in maximaal drie zinnen" of "Geef alleen het JSON-object terug, zonder inleiding". Een systeemprompt die 300 tokens toevoegt aan elk antwoord kost vijf keer zoveel als diezelfde 300 tokens in de prompt zelf. de kosten van een actieve agent onder controle houden behandelt de monitoringkant, en of de API of een vast abonnement goedkoper is voor uw patroon is het waard om te bepalen voordat u een week besteedt aan het optimaliseren van token-uitgaven die een abonnement had kunnen opvangen. Voor één ontwikkelaar komt dat meestal neer op de vraag of Claude Pro's $20 per maand en de bijbehorende gebruikslimieten het werk dekken dat u anders zou laten meten. Als u die limieten halverwege een sessie al bereikt, komt uitzoeken op welk venster u wacht eerst, omdat de oplossing daarvoor een kleiner model, een lichtere context, extra tegoeden of het verplaatsen van dat werk naar de gemeten API is. Als de gemeten API de goedkopere plek voor dat werk blijkt te zijn, laat overstappen naar een kleiner abonnement of opzeggen de maand waarvoor u al heeft betaald intact, dus de overstap kost u niets bij het vertrek. Als het abonnement dat u tegenover Pro afweegt dat van ChatGPT is in plaats van de gemeten API, laat de twee abonnementsvormen naast elkaar geprijsd zien welke goedkoper uitvalt voor programmeerwerk. Als deze vraag voor een team wordt gesteld in plaats van voor één ontwikkelaar, houd er dan rekening mee dat Claude Enterprise een vergoeding per gebruiker combineert met tokens die tegen deze zelfde API-tarieven worden gemeten, dus elke knop op deze pagina is nog steeds van toepassing op het gemeten deel van die rekening.
FAQ
Waarom kosten output-tokens meer dan input-tokens?
Het genereren ervan kost aanzienlijk meer tijd van de accelerator per token. Een prompt wordt verwerkt in één forward pass over het geheel; één keer lezen van de modelgewichten dekt dus duizenden tokens en de hardware wordt beperkt door de vermenigvuldigingscapaciteit. Een antwoord wordt token voor token geproduceerd, waarbij elk token een eigen forward pass vereist die opnieuw de volledige modelgewichten leest. Hierdoor wordt de hardware beperkt door de geheugenbandbreedte. Anthropic hanteert voor output een prijs die vijf keer hoger ligt dan voor input in de gehele huidige catalogus, van Haiku 4.5 tot Fable 5.
Maakt prompt caching output-tokens goedkoper?
Nee. Prompt caching is alleen van toepassing op input. Sinds augustus 2026 kost een cache-read 0.1x het basistarief voor input, en cache-writes kosten 1.25x voor een duur van 5 minuten of 2x voor een duur van 1 uur. Output wordt bij elke aanroep tegen het volledige tarief gefactureerd, ongeacht wat de cache heeft gedaan. Daarom verandert caching zowel de verhouding als de omvang van uw factuur: zodra de input-kosten dalen, wordt de output het deel waar u op kunt besparen.
Kost een hoge max_tokens mij geld als het antwoord kort is?
Nee. U betaalt voor de tokens die het model daadwerkelijk produceert, dus max_tokens is een plafond en geen reservering. Het blijft wel belangrijk, omdat het de enige harde limiet is voor een antwoord dat uit de hand loopt. Stel deze waarde iets boven het 95e percentiel van uw geobserveerde output_tokens in en handel stop_reason: "max_tokens" vervolgens af in uw code in plaats van een stilletjes afgebroken antwoord te versturen.
Hoe bepaal ik mijn eigen verhouding tussen input- en output-tokens?
Log input_tokens, output_tokens, cache_read_input_tokens en cache_creation_input_tokens uit het usage-object van elke respons en deel de totalen over een week. Bij een verhouding van meer dan 5 input- op 1 output-token zit uw grootste kostenpost in de prompt; cache daarom het stabiele deel en kort de rest in. Daaronder zit uw grootste kostenpost in het antwoord; beperk daarom de lengte ervan en verplaats de stappen die de meeste output genereren naar een goedkoper model of naar de Batch API.