Four arrangements, four bills
"Let's run it ourselves" describes four different setups, with four different billing conditions:
**Hardware you buy.** You pay once for the card and then for power, cooling, space and upkeep. There is no hourly invoice — there is a cost incurred and a standing cost.
**A card kept on an hourly arrangement.** You pay for its time, including the time it processed nothing. A card rented for one job and released generates no charge; a card kept continuously generates one in a month with no work as well. That assumption has to be made deliberately, because the whole bill turns on it.
**Serverless, or processing billed per use.** You pay for work done, and nothing while idle. You maintain no server, but you also have no say over where the document physically goes.
**A vendor's container on your own hardware.** You pay the list rate per page plus the hardware, power and people on your side — Azure states plainly that container pricing is the same as cloud service pricing.
These four differ by more than cost. They differ in who is accountable for the result and who carries the cost of downtime.
What cannot be compared directly
A rate per page and a rate per hour are two different units: one counts work, the other counts time. They are not set side by side — one has to be converted into the other at our volume and our working schedule, and that conversion is the whole of the comparison.
The output has to match too. The price lists we quote price text reading separately ($1.50 per thousand pages), layout and tables ($10), and field extraction ($30 in Azure, $65 in AWS for forms). Comparing the price of a text read against the price of vision-model processing is not a comparison of two offers for the same job, and that is what most calculators do.
What one measurement does say
A measurement published in 2026 processed 100,000 pages with open vision-language models on rented serverless infrastructure for $223 — $2.27 per thousand pages, with a failure rate under 2%.
That tells us something about the per-use model at full occupancy. It says nothing about the cost of keeping a card on an arrangement where you pay for time, and it should not be carried over to one. Nor does it tell us what we would pay at our own document volume and our own schedule.
For completeness: AWS's own worked example prices 100,000 pages of plain text reading at $150. That is different work from the measurement above, and comparing the two numbers would mislead.
Where the costs actually bite
Cost calculators compare unit rates and stay quiet about four lines that are real inside a company.
People: someone has to watch the queues, the library updates and whether results are still correct after a model changes quietly. That is not work anyone does once.
Covering failures outside working hours: somebody has to answer the alert at two in the morning, and a procedure nobody has rehearsed is not a procedure.
Spare capacity: if the hardware is sized for peaks, it runs at a fraction of its capability the rest of the time while you pay for all of it.
Matching the output to the job: paying for structure nobody uses wastes as much as buying text-only and staffing people to repair what the read did not return.
When each route makes sense
If documents arrive in bursts and nothing happens overnight, billing per use is cheaper than a card kept continuously and sitting idle. If volume is large, steady and certain, and the output needs structure, your own setup on a rented card starts to look reasonable — provided the person who looks after it is in the arithmetic too. And if a document cannot leave the company, the choice is limited to setups running on hardware kept within the company, with the bill for control paid whether or not it comes out cheaper.
There is no single answer to be derived from a price per page. There are conditions to check against our own volume and our own schedule.
Sources and the scope of the numbers
- Vendor price lists read on 28 September 2026: Azure AI Document Intelligence (https://azure.microsoft.com/en-us/pricing/details/ai-document-intelligence/) — text read $1.50 per thousand pages, layout models $10, extraction $30, container pricing equal to cloud pricing; AWS Textract (https://aws.amazon.com/textract/pricing/) — $1.50 per thousand pages to read, $65 for forms and tables, and the vendor's own 100,000-page example; Mistral (https://mistral.ai/pricing/) — document recognition per thousand pages, with a batch discount. - The vision-language measurement: "OCR'ing 100,000 pages with open-source VLMs on Modal", 2026 (https://www.redspring.xyz/blog/vlm-ocr-bench) — 100,000 pages, $223, under 2% failures, one run at full occupancy. - A calculator comparing self-hosting with APIs: https://gigagpu.com/ocr-cost-calculator — a point of reference, not a source of prices.
These are prices checked on the stated date rather than a guarantee that they remain current, and none of these figures is a quote for a particular deployment.
What this means for your company
Start with the monthly document count and whether it arrives steadily or in bursts. Then settle what output is actually needed: text alone, or structure that something downstream can use. Only then ask your vendor for a quote at your volume — the numbers on this page are there to give you something to compare an offer against, not to replace it.
And there is one decision that cannot be deferred: who in the company is responsible for the system still working in the month when nothing happens.