Thick, wavy diagonal brushstrokes in purple, gray, and gold

tokens

because who needs consistent bills

3 min read

I’ve had two friends ask me how token-based billing works. That seems like enough of a critical mass to write up a post instead of explaining it a third time.

Let’s start with some basics.

What is an LLM?

A complex algorithm that returns data.

What data?

All of the publicly accessible data, in addition to other sources, was downloaded.

Then an ungodly amount of linear algebra and statistics is applied to it to create a lossy compressed version of that dataset.

How is it searched?

In unstructured, human language.

Can it do more?

We (the industry) can build adaptors, interfaces, and integrations to connect the core (LLM) to other tools like a text editor, terminal, web browser, etc. We call these Agents.

Is it repeatable?

No, an LLM is non-deterministic. A fancy way to say the same inputs don’t guarantee the same output. In other words, their processing is not reproducible in the exact sense.

How is it priced?

Now this is where it gets interesting.

Let’s take the pricing for Claude Sonnet 4.6 as of June 25, 2026.

InputCached InputOutput
$3.00 / MTok$0.30 / MTok$15.00 / MTok

1 million tokens is roughly 750,000 words. The King James Bible contains 783,137 words. So it would cost a hair over $3 to process an input of that size. On the flip side, it would run about 5x the cost to return an output of that size.

Based on the input, we have no guarantee how large the output will be.

Before any certified prompters at me, this example is overly simplistic to illustrate a point.

Here is our prompt.

Provide me hello world in Python

Very simple, only 6 tokens.

Note, Anthropic doesn’t provide their own tokenizer, so I am using OpenAI’s. Let’s ignore how models count tokens differently because that paints an even gloomier picture.

Here are some of the potential valid responses.

print("Hello, World!")

6 tokens.

def main():
    print("Hello, World!")

main()

12 tokens.

class Hello:
    def __str__(self):
        return "Hello, World!"

print(Hello())

21 tokens.

Are y’all seeing my concern?

The same prompt can produce different responses.

Each of which incurs a nondeterministic cost.

Business decision making favors stability and these tools by nature cannot do that.

Yes there is an argument to be made the fuzzy math of insurance modeling works here. In large enough volumes, the costs can be blended to get a relatively stable line item.

But that kinda defeats the marketing that LLMs democratize knowledge. If unpredictability is a privilege that can be purchased, then the wrong verb is being applied to knowledge.