OpenAI sells tokens and patches, not pages, so nobody quotes what GPT OCR actually costs. Converted, a scanned letter page runs about $0.62 per 1,000 pages on GPT-6 Luna, $1.44 on GPT-5.4-nano, $5.25 on GPT-5.4-mini and $12.49 on GPT-6 Sol. Here is the full patch arithmetic, including the output tokens most estimates quietly drop.
Upload a document to extract
Drop files here or click to upload
Up to 50 files
The free demo extracts the first 5 files, the rest unlock when you upgrade
Uploading...
A token price says nothing about whether the fields come out right on your documents. Drop one in and check the output before you commit.
OpenAI sells tokens, not pages, so there is no official GPT OCR rate to look up. Converting a scanned US Letter page at 150 DPI, GPT-6 Luna costs about $0.62 per 1,000 pages, GPT-5.4-nano about $1.44, GPT-5.4-mini about $5.25, GPT-6 Sol about $12.49, GPT-5.4 about $17.49, GPT-5.5 about $34.98, GPT-6 Astra about $62.46 and the pro models about $209.88. Those totals include 2,496 image tokens going in and roughly 750 transcription tokens coming out, which is where most of the money goes. Run the same work through the Batch API and every figure halves. The headline is GPT-6 Luna: at about $0.62 at list and $0.31 in batch it sits well below the $1.50 that AWS Textract, Azure Read and Google Enterprise OCR charge for plain text, and below even Textract's $0.60 volume tier. A general purpose language model is now the cheapest way to turn a page image into text on a rate card, which says a lot about rate cards and very little about whether the fields come out right.
OpenAI's vision guide lists an image multiplier of 1.2 for each of these five models, so every number below follows straight from the documentation with nothing assumed. One scanned US Letter page at 150 DPI, which is 1,275 by 1,650 pixels, transcribed at roughly 750 output tokens.
| Model | Patches / page | Image tokens | Input / 1,000 pages | Output / 1,000 pages | Total / 1,000 pages | Batch |
|---|---|---|---|---|---|---|
| GPT-5.4-nano | 2,080 | 2,496 | $0.50 | $0.94 | $1.44 | $0.72 |
| GPT-5.4-mini | 2,080 | 2,496 | $1.87 | $3.38 | $5.25 | $2.62 |
| GPT-5.4 | 2,080 | 2,496 | $6.24 | $11.25 | $17.49 | $8.75 |
| GPT-5.5 | 2,080 | 2,496 | $12.48 | $22.50 | $34.98 | $17.49 |
| GPT-6 Astra | 2,080 | 2,496 | $24.96 | $37.50 | $62.46 | $31.23 |
Derived from OpenAI's published per-million-token prices and the patch rules in its vision documentation, both re-read in September 2026. Batch pricing is 50 percent off with results returned inside 24 hours. Re-verify before quoting.
OpenAI's multiplier table covers GPT-6 Astra and the GPT-5 line but not GPT-6 Sol, GPT-6 Luna or the pro models. For those four the input column assumes the same 1.2 that every listed current model uses. We are flagging that rather than presenting it as an official rate. The output column needs no multiplier at all and is exact.
| Model | Patches / page | Input / 1,000 (estimated) | Output / 1,000 (exact) | Total / 1,000 pages | Batch |
|---|---|---|---|---|---|
| GPT-6 Luna | 2,080 | $0.25 | $0.38 | $0.62 | $0.31 |
| GPT-6 Sol | 2,080 | $4.99 | $7.50 | $12.49 | $6.25 |
| GPT-5.4-pro | 2,080 | $74.88 | $135.00 | $209.88 | $104.94 |
| GPT-5.5-pro | 2,080 | $74.88 | $135.00 | $209.88 | $104.94 |
Read the output column as a hard floor and the input column as the part that could move. Luna is the row where the assumption matters least: even at the 2.46 multiplier OpenAI attaches to GPT-4.1-nano, a page would cost about $0.89 per 1,000, still under the $1.50 dedicated OCR list rate.
These are OpenAI's own numbers, unconverted, with the two image parameters that turn them into a page price. Patch budgets are shown as detail=high and detail=original. "Not listed" means the model accepts images but OpenAI's vision guide does not give its budget or multiplier.
| Model | Input / 1M | Cached input / 1M | Output / 1M | Patch budget | Image multiplier |
|---|---|---|---|---|---|
| GPT-6 Astra | $10.00 | $1.00 | $50.00 | 2,500 / none | 1.2 |
| GPT-6 Sol | $2.00 | $0.20 | $10.00 | Not listed | Not listed |
| GPT-6 Luna | $0.10 | $0.01 | $0.50 | Not listed | Not listed |
| GPT-5.5 | $5.00 | $0.50 | $30.00 | 2,500 / 10,000 | 1.2 |
| GPT-5.5-pro | $30.00 | n/a | $180.00 | Not listed | Not listed |
| GPT-5.4 | $2.50 | $0.25 | $15.00 | 2,500 / 10,000 | 1.2 |
| GPT-5.4-pro | $30.00 | n/a | $180.00 | Not listed | Not listed |
| GPT-5.4-mini | $0.75 | $0.075 | $4.50 | 2,500 / 10,000 | 1.2 |
| GPT-5.4-nano | $0.20 | $0.02 | $1.25 | 2,500 / 10,000 | 1.2 |
Output is billed at five times input on the three GPT-6 models, six times on GPT-5.5, GPT-5.4, GPT-5.4-mini and the pro models, and 6.25 times on GPT-5.4-nano. That ratio is why transcription, which is output-heavy, costs more than the input price suggests. Batch takes 50 percent off both columns.
The token prices are simple. The rules that turn them into a page price are where published estimates go wrong.
OpenAI's own guide recommends detail original for OCR. On a 150 DPI scan that costs nothing extra, because the page is 2,080 patches and fits every budget. On a 300 DPI scan it is expensive: high detail shrinks the page to 2,408 patches, original keeps all 8,320. On GPT-5.5 that takes a page from about $36.95 to $72.42 per 1,000, and on GPT-6 Astra from about $66.40 to $137.34. The trap is that GPT-5.5 and GPT-6 Astra treat auto, the default, as original. Scan at 150 to 200 DPI, or set detail to high on purpose.
OpenAI's vision guide now lists the same 1.2 image multiplier for GPT-6 Astra, GPT-5.5, GPT-5.4, GPT-5.4-mini and GPT-5.4-nano, and the same 2,500 patch budget at high detail. So a scanned letter page is 2,496 input tokens on every one of them, and the headline token price finally tells you the relative image cost. The small models no longer see a shrunk page. The older 1.62 and 2.46 multipliers now sit against GPT-4.1-mini and GPT-4.1-nano, so if you still run those, each patch bills 35 to 105 percent more tokens than on the current line.
Transcribing a page produces text, and output costs five times input on GPT-6 and six times on GPT-5. At roughly 750 output tokens per page that is $22.50 of a $34.98 total on GPT-5.5, about 64 percent, and $0.38 of $0.62 on GPT-6 Luna, about 60 percent. Every vendor we have converted shows the same shape: Gemini output is 92 to 96 percent of a real bill, Claude 58 to 71 percent, OpenAI 60 to 65 percent. If you only need six fields off an invoice, ask for six fields rather than a full transcription, because output length is the one variable you fully control.
Two discounts are on the table and only one of them applies to OCR. The Batch API is 50 percent off on both input and output, in exchange for a 24 hour turnaround, and document backlogs are the ideal shape for it. Prompt caching looks bigger, a tenth of the input rate, but it only hits on a repeated prefix. In OCR the page image is the part that changes on every call, so it never caches, and on GPT-6 a cache write costs 1.25 times the input rate. You can cache a long system prompt and save a little. Plan on batch, not on caching.
OpenAI covers the image in 32 by 32 pixel patches, shrinks it if the count exceeds the budget for the chosen detail level, then applies the model multiplier and rounds up.
patches = ceil(width / 32) x ceil(height / 32)
A scanned US Letter page at 150 DPI is 1,275 by 1,650 pixels, which is 40 patches across and 52 down, so 2,080 patches. That sits under the 2,500 patch budget that every current model applies at high detail, so nothing is shrunk. Multiply by 1.2 and round up: 2,496 input tokens, on GPT-5.4-nano exactly as on GPT-6 Astra. The same page scanned at 300 DPI is 2,550 by 3,300 pixels and 8,320 patches. At high detail it is scaled to 1,376 by 1,780 pixels, 2,408 patches and 2,890 tokens; at original it keeps all 8,320 patches, or 9,984 tokens.
We checked that shrink procedure against the worked examples in OpenAI's documentation. The current guide says a 2,048 by 2,048 image on a 2,500 budget becomes 1,600 by 1,600 pixels and 2,500 patches, or 3,000 tokens at 1.2; an earlier version said an 1,800 by 2,400 image resolves to 1,452 patches on a 1,536 budget. Our implementation returns both exactly. A naive proportional shrink gets the second one wrong, and the step that snaps the image to whole patches is the part most calculators skip. Any image that still needs more than 30,000 patches after resizing is rejected outright.
3.5x
9,984 tokens against 2,890 for the same 300 DPI page, depending only on the detail setting. On a 150 DPI page the two settings bill the same 2,496 tokens, which is the cheapest way to keep OCR quality and cost both under control.
GPT-6 Luna is the first language model in this series that sits below the dedicated OCR meters on price. For the category view see LLM OCR pricing, the full cross-vendor table at OCR pricing per 1,000 pages, or the sibling references on Claude OCR pricing and Gemini OCR pricing.
| Service | Per 1,000 pages | What you get | Note |
|---|---|---|---|
| GPT-6 Luna (batch) | $0.31 | Text and structured fields | Cheapest LLM page-to-text path |
| GPT-6 Luna | $0.62 | Text and structured fields | Multiplier assumed at 1.2 |
| GPT-5.4-nano | $1.44 | Text and structured fields | Just under dedicated OCR list |
| AWS Textract (Detect Document Text) | $1.50 | Raw text, boxes, confidence | Drops to $0.60 above 1M pages |
| Azure AI Document Intelligence (Read) | $1.50 | Raw text, boxes, confidence | Commitment tiers to $0.45 |
| Google Document AI (Enterprise OCR) | $1.50 | Raw text, boxes, confidence | Drops to $0.60 above 5M pages |
| Mistral OCR 4.1 | $4.00 | Markdown, structured | Batch mode halves it |
| GPT-5.4-mini | $5.25 | Text, fields, reasoning | The usual working choice |
| Claude Haiku 4.5 | $5.31 | Reasoning over the page | Downscales dense pages |
| GPT-6 Sol | $12.49 | Full reasoning | Multiplier assumed at 1.2 |
| Claude Sonnet 5 | $12.93 | Full reasoning, full resolution | Within 4 percent of GPT-6 Sol |
| Claude Opus 5.5 | $25.86 | Strongest Anthropic tier | Under half of GPT-6 Astra |
| GPT-6 Astra | $62.46 | Strongest OpenAI tier | Auto detail reads at original |
Price parity is not capability parity. Textract, Azure Read and Google Enterprise OCR return text with coordinates and a per-word confidence score, and they return it the same way every time. A language model returns whatever the prompt asked for, with no per-value confidence and a real chance of a fluent, wrong answer on a field it could not read. That difference, not the rate, is what should decide the architecture.
A classical OCR engine tells you it read a digit at 62 percent confidence, so you can route that field to a human. A language model gives you a value and no score. You either check everything or you accept silent errors, and both of those cost money the rate card never mentions.
When a dedicated engine cannot read a character it returns garbage or a low score, which is easy to catch. When a model cannot read a total it can produce a plausible number in the right format. On financial documents that failure mode is more expensive than any per-page rate.
A malformed JSON response, a truncated transcription or a schema mismatch means sending the page again, and the second attempt costs the same as the first. Budget a retry rate. On high-volume pipelines a 5 percent retry rate is 5 percent on the bill.
The honest summary is that GPT-6 Luna reaching about $0.62 per 1,000 pages changes the arithmetic of a build-it-yourself pipeline, and changes nothing about the validation, review and exception handling you still have to build around it. That is the work DocuOCR ships already assembled, at roughly $14 to $20 per 1,000 pages depending on plan, with the human review queue, the field-level validation and the export included rather than written by you. For a finance or operations team, the page rate is the small number; the engineer-months of plumbing are the big one.
A token price tells you nothing about accuracy. Upload a document to DocuOCR, see the extracted fields, and compare before you build a pipeline around any model.
LLM OCR pricing
Every language model, one rate table
Claude OCR pricing
Haiku $5.31, Sonnet 5 $12.93, Opus 5.5 $25.86
Gemini OCR pricing
Token rates converted to dollars per 1,000 pages
LLM OCR
When a language model beats classical OCR
OCR pricing per 1,000 pages
Every vendor, one rate table
OCR API pricing comparison
The buyer view across the market