Official rate card, sourced

OpenAI OCR Pricing for GPT Per Page and Per 1,000 Pages

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.

  • Every model in dollars per 1,000 pages
  • The 32-pixel patch formula, validated
  • Why detail=original can double the bill
  • Where batch pricing halves the bill
Upload a document, no signup

PDF, JPG, PNG, BMP, HEIC, TIFF

Upload a document to extract

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.

Encrypted in transit
US data handling
Fields, not just text
$0.62
GPT-6 Luna, per 1,000 pages
$0.31
the same work through Batch
60 to 65%
of every bill is output
2,496
image tokens in a scanned letter page
The short answer

What OpenAI OCR costs

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.

Fully published math

GPT OCR cost per 1,000 pages, by model

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.

Output exact, input estimated

GPT-6 Luna, GPT-6 Sol and the pro models per 1,000 pages

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.

The published rates

OpenAI API pricing per million tokens

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.

Read this before you budget

Four things that change the real cost

The token prices are simple. The rules that turn them into a page price are where published estimates go wrong.

Detail original can double the bill

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.

One multiplier for every current model

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.

Output tokens are most of the bill

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.

Batch works, caching does not

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.

Do the math yourself

How OpenAI counts image tokens

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

more input tokens at original

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.

In context

OpenAI versus the dedicated OCR APIs

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.

The part the rate hides

Cheap per page is not cheap per correct page

No per-value confidence

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.

Fluent wrong answers

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.

Retries are billed

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.

Frequently asked questions

How much does OpenAI OCR cost?
OpenAI does not publish a per-page OCR rate, only token prices, so it has to be converted. On a scanned US Letter page at 150 DPI, GPT-6 Luna works out to 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 and GPT-6 Astra about $62.46. Those totals include the image tokens going in and roughly 750 transcription tokens coming out.
How much does GPT OCR cost per page?
About $0.0006 per page on GPT-6 Luna, $0.0014 on GPT-5.4-nano, $0.0052 on GPT-5.4-mini, $0.0125 on GPT-6 Sol and $0.035 on GPT-5.5, for a letter-size page transcribed to text. Halve those figures through the Batch API, which is 50 percent off. Page density moves the number, because a denser page produces more output tokens and output is most of the bill.
How much does GPT-6 cost for OCR?
GPT-6 comes in three sizes. Astra lists at $10 input and $50 output per million tokens, Sol at $2 and $10, and Luna at $0.10 and $0.50. Converted for a scanned letter page, that is about $62.46, $12.49 and $0.62 per 1,000 pages. Output costs five times input on all three, compared with six times on the GPT-5 models.
How does OpenAI calculate image tokens?
OpenAI covers the image in 32 by 32 pixel patches, so the raw count is the ceiling of width divided by 32, times the ceiling of height divided by 32. If that exceeds the patch budget for the chosen detail level, the image is shrunk to fit and re-counted. The final patch count is multiplied by the model multiplier, which is 1.2 on every current model OpenAI lists, and rounded up.
How many tokens is an image in the OpenAI API?
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 fits inside the 2,500 patch budget on every current model, so nothing is shrunk, and 2,080 times the 1.2 multiplier is 2,496 input tokens. A 300 DPI scan is a different story: 8,320 patches at detail original, or 2,408 after the high detail shrink.
Is GPT-6 Luna cheaper than AWS Textract for OCR?
On the rate card, yes. AWS Textract, Azure Document Intelligence Read and Google Enterprise Document OCR all charge $1.50 per 1,000 pages for plain text. GPT-6 Luna works out to about $0.62 at list and $0.31 in batch. OpenAI lists no image multiplier for Luna, so we assumed 1.2. Even at the 2.46 multiplier OpenAI uses for GPT-4.1-nano, Luna would cost about $0.89, still under $1.50.
Should I use detail high or original for OCR?
For a normal 150 DPI scan it makes no difference to the bill, because a letter page is 2,080 patches and fits under every budget. At 300 DPI it matters a lot. On high the page shrinks to 2,408 patches; on original it stays at 8,320, so input tokens rise about 3.5 times. On GPT-5.5 and GPT-6 Astra, auto behaves like original, so the expensive path is the default.
Does the OpenAI Batch API cut OCR costs?
Yes, by half. Batch pricing is 50 percent off standard on both input and output tokens, in exchange for results returned within a 24 hour window. For document processing that runs overnight or on a queue, this is the single largest lever available. It takes GPT-6 Luna from about $0.62 to about $0.31 per 1,000 pages and GPT-5.4-mini from about $5.25 to about $2.62.
Does prompt caching reduce OCR costs?
Almost never. Cached input is billed at a tenth of the standard input rate, but caching applies to a repeated prefix of the request. In document OCR the page image is exactly the part that changes on every call, so it never gets a cache hit. On the GPT-6 models cache writes are billed at 1.25 times the input rate, so caching the image would cost more, not less.
Do output tokens matter for OpenAI OCR pricing?
They are most of the bill. Transcribing a page produces roughly 750 output tokens, billed at five times the input rate on GPT-6 and six times on GPT-5. That is 64 percent of a GPT-5.5 bill, 64 percent on GPT-5.4-mini, 65 percent on GPT-5.4-nano and 60 percent on every GPT-6 model. An estimate built on the input price alone lands two to three times low.
Which OpenAI model is best for document extraction?
GPT-5.4-mini is still the safe working answer at about $5.25 per 1,000 pages, cheap enough for volume and strong enough for structured extraction. GPT-6 Luna at about $0.62 is worth a pilot on clean, predictable pages, where the saving is large. Move up to GPT-6 Sol at about $12.49 when the document needs reasoning. Test on your own documents first, because none of these models returns a confidence score per value.
Did OpenAI change its image token multipliers?
The numbers on this page did change. Our July figures applied multipliers of 1.62 and 2.46 to GPT-5.4-mini and nano and a 1,536 patch budget. OpenAI's vision guide now lists 1.2 for both models and a 2,500 patch budget at high detail, and attaches 1.62 and 2.46 to GPT-4.1-mini and GPT-4.1-nano. We recalculated every row from the current guide.

Test the output on your own documents

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.