How much does it cost to send a PDF to ChatGPT?
How LLM API billing works for PDFs, a worked cost example for a batch job, and why token estimates go wrong.
Someone on your team wants to run 500 contracts through GPT-4o to pull out renewal dates. Sounds simple. Then finance asks the obvious question: what is this going to cost?
The answer is more predictable than most people expect, once you understand how the billing works.
You pay per token, both ways
LLM APIs charge for input tokens (what you send) and output tokens (what the model writes back), usually at different rates. Output is almost always more expensive per token than input.
For a PDF task, the input is usually the big number. A 20-page contract might be 12 000 tokens of input, while the answer you want back (a few dates) might be 100 tokens of output.
A worked example
Say each contract is 20 pages and averages 12 000 tokens. At GPT-4o input pricing of $2.50 per million tokens:
- One contract: 12 000 tokens = $0.03 input
- 500 contracts: 6 000 000 tokens = about $15 input
- Add output (say 100 tokens each at $10 per million): about $0.50
So the whole batch runs around $15 to $16. Not the scary number finance was bracing for. But the per-token math only works if you actually know your token count, which is where estimates go wrong.
Where cost estimates break down
People guess token counts from page counts, and PDFs make that guess unreliable. A contract full of defined terms and tables can be twice the tokens of a plain-prose page of the same size. Scanned documents run through OCR can balloon further with noise and duplicated lines.
The difference matters at scale. If your real token count is 40% higher than your guess, a $15 job becomes $21. Across a monthly pipeline, that gap compounds.
Cheaper models change the math
Not every task needs the flagship model. GPT-4o-mini and Claude 3.5 Haiku cost a fraction of their larger siblings. For extraction tasks (pull a date, find a name, classify a clause) a smaller model often does the job at one-tenth the price.
The same 500-contract batch on GPT-4o-mini (at $0.15 per million input) would cost under $1 for input. The tradeoff is accuracy on harder reasoning, which extraction usually does not need.
Check the number before you commit
Before you budget a batch job, run a representative file through the Token Cost Calculator. It counts the actual tokens and shows the input cost across GPT-4o, Claude, Gemini, and cheaper options side by side.
For a fuller picture of what is driving the count, the Token Counter breaks it down per page. Both run in your browser, so you can price out sensitive documents without uploading them anywhere.