What does

actually cost?

Real prices for content you recognise. An email, a legal contract, an entire novel. Pick your model. Spot the 200K context cliff. Toggle Batch and Cache pricing. Watch costs compound.

Who are you paying?

No sign-up / runs entirely in your browser

Every reply re-reads the entire conversation
Context re-read (grows)
Output written (fixed)
You
6 words / 8 tokens / $0.000024 ↓ prompt
0 words / 0 tokens / $0.00 ↑ reply
total this exchange / 86 tokens / $0.001194
Under two thousandths of a cent. But a million messages a day is $1,194. Scale is everything — which is what the tool below shows.
Tap a content type live
📧
Email ~300 words / ~400 tokens
Standard
Full rate
Batch API
50% off
Cache hit
90% off input
Now try it with your own content

Type a word count, paste any text, or pick a content type. Drag the conversation slider. Toggle Batch and Cache. Everything you just saw — but live, with your numbers.

Background
Mood override
Colour palette
Dusk tap to expand
out
save
f-lite
flash
pro
DuskRed · Teal · Indigo
out
save
f-lite
flash
pro
EmberTeal · Navy · Indigo
out
save
f-lite
flash
pro
SlateIndigo · Teal · Claret
out
save
f-lite
flash
pro
BrassNavy · Midnight · Oxblood
out
save
f-lite
flash
pro
TideTeal · Sapphire · Iris
🎨 Color system legend
Every color in this app · what it is · what it controls · where it lives
── Model identity · palette-swappable · set by JS on model switch
--haiku-c
Haiku tier · model tab bar · context fill when Haiku active · landmark selected pip · compare grid header
#0ea5e9
--sonnet-c
Flash tier · default UI accent · input stripe · pricing mode active bar · intro bubble stripe · intro cursor · intro dismiss button · intro "You" label
#1a6aff
--pro-c (→ opus-c)
Pro tier · model tab · all-models grid header · palette button fourth dot · context cliff indicator
#7c3aed
--model-c · --model-bg · --model-bd
Active model composite (JS-set) · hero stats stripe · context bar fill · expand toggles open state · left accent bars · slider thumb · budget body border
JS-computed
── Cost semantics · palette-swappable
--in-c · --in-bg · --in-bd
Input cost · hero input cell · summary IN label · pricing strip active bg · legend button open state · tokeniser header · proximity badge · intro bs-num.blue
↓ tokens sent
--out-c · --out-bg · --out-bd
Output cost · hero output cell · summary OUT value · running total bar · reply counter at max · reset button · intro bs-num.orange · savings-new.in pill
↑ tokens out
--save-c · --save-bg
Savings · batch & cache discount callout · savings rows · budget per-month result · tokeniser privacy bar · dark mode auto-brightens for contrast
50% · 90% off
── Surface · never change with palette
--bg · --panel · --card
Three elevation levels · page background → card surface → inset panel · auto-invert in dark mode · topbar overridden to solid bg hex in dark
surface stack
--border · --border-strong
Two border weights · default card outlines → stronger dividers and emphasis borders
dividers
--text · --text-sub · --text-muted · --text-faint
Four-level text scale · primary headings → body → labels → placeholders · all auto-invert in dark mode
text scale ×4
Aa
--text-on-color
White text for colored backgrounds · intro dismiss button · active pills · always #ffffff regardless of theme
white
── Chrome · palette picker's own subdued skin
--chrome-bg · --chrome-text · --chrome-sub
Picker panel surface · label text · secondary text · offset from --panel so the dropdown feels like its own layer · each dark theme overrides separately
picker only
── Topbar background · theme-specific overrides
--topbar-bg
Sticky topbar background · light: rgba(--bg, 0.92) with backdrop blur · dark themes: overridden to solid hex · Charcoal=#1c1a18, Midnight=#0d1117, Pitch=#080808
sticky bar
── Brand · third-party identity · never palette-linked
--brand-linkedin · --brand-linkedin-dk
LinkedIn official blue (#0A66C2) · footer Follow button · pressed dark state · dark mode: ghost/outline treatment · always fixed regardless of palette
#0A66C2
--brand-gemini
Gemini brand color = --in-c (Flash/input) · footer "data sourced from Google AI" badge · follows palette
= --in-c
── Dark mode: automatic contrast & opacity rules
--save-c auto-brightens in dark
Charcoal + Midnight → #4caf76 · Pitch → #6abf8a · Maintains WCAG contrast while blending with dark surfaces more naturally than pure lime (#22c55e)
contrast fix
Expand toggles → 0.65 closed / 0.75 open
All section headers (budget, conv, iter, legend) dimmed to 0.65 when closed · return to 0.75 when open so active model color bleeds through at readable level
0.65 / 0.75
Budget results · all-models grid · stack costs → 0.82
Vivid model-c on dark panels needs a consistent dim · 0.82 chosen as the midpoint between full opacity and the 0.65 toggle level · keeps primary data values readable
0.82 opacity
hero-inline-icon → 0.55 + brightness(0.85) · lm-icon → 0.72 + saturate(0.8)
Emojis in dark mode: body emojis dim with opacity+filter · landmark grid buttons get a slightly different treatment to preserve the grid's visual rhythm
emoji rules
Tap to enter a word count ↑ or use the slider
drag the slider to explore
⚑ report a pricing error
tap to edit
↕ tokens
 
 
$0.00
↓ input
 
 
$0.00
↑ output
 
 
$0.00
= total
 
type tokens · set word count above · paste text below
Live Token Counter paste or type to count tokens & cost
⚠ Exceeds 200K limit — must chunk across multiple API calls.
pick something familiar
Costs compound — watch every reply re-read everything Drag the slider · see context dominate · understand your bill
Set a scenario · drag replies · watch costs compound.
Set your scenario
↓ Context re-read each reply = the growing blue bar
words ×2 +1K
↑ Output written per reply = the red bar
words ×2 +250
Model
Replies in conversation Reply 1 of 10
reply +10 +100
Blue = context re-read (grows) Red = output written (fixed)
in : out ratio
Scale your per-call cost to a real monthly bill. Set your daily call volume and reply size — see what this actually costs at production scale.
API calls per day production volume
1,000 calls +10K +100K
Output words per call avg. reply length
300 words +250 +1000
Per call
enter a word count
Per day
Per month
30 days
Per year
365 days
All models
Provider name
provider type
TokenScale · Learn
Everything you need to understand AI model pricing, providers and how to choose.
Article
⚠ Report a pricing error
Help keep TokenScale accurate