// Verified rate reference, July 22, 2026

OpenAI OCR Pricing: GPT Cost 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 $1.67 per 1,000 pages on GPT-5.4-nano, $5.19 on GPT-5.4-mini and $32.90 on GPT-5.5. 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
  • The multiplier that erases nano's discount
  • 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.

SOC 2 Type II
256-bit encryption
US data handling
Fields, not just text
$1.67
GPT-5.4-nano, per 1,000 pages
$0.84
the same work through Batch
68%
of a full-model bill is output
2,080
patches 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-5.4-nano costs about $1.67 per 1,000 pages, GPT-5.4-mini about $5.19, GPT-5.4 and GPT-5.6-terra about $16.45, GPT-5.5 and GPT-5.6-sol about $32.90, and the pro models about $197.40. Those totals include the image patches 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. That last point matters more than it sounds: GPT-5.4-nano in batch mode lands at about $0.84 per 1,000 pages, which is genuinely below the $1.50 that AWS Textract, Azure Read and Google Enterprise OCR charge for plain text. This is the first time a general purpose language model has reached dedicated OCR pricing rather than sitting three to twenty times above it.

// Fully published math

GPT-5.4-mini and nano per 1,000 pages

These two models are the only ones OpenAI publishes an image multiplier for, 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 1,496 (shrunk) 3,680 $0.74 $0.94 $1.67 $0.84
GPT-5.4-mini 1,496 (shrunk) 2,424 $1.82 $3.38 $5.19 $2.60

Derived on July 22, 2026 from OpenAI's published per-million-token prices and the patch rules in its vision documentation. Batch pricing is 50 percent off with results returned inside 24 hours. Re-verify before quoting.

// Output exact, input estimated

The full models per 1,000 pages

OpenAI publishes image multipliers only for the mini and nano tier. For the full models there is no multiplier in the documentation, so the input column below assumes one token per patch, which is what the absence of a published multiplier implies. 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
GPT-5.6-luna 2,080 $2.08 $4.50 $6.58
GPT-5.4 2,080 $5.20 $11.25 $16.45
GPT-5.6-terra 2,080 $5.20 $11.25 $16.45
GPT-5.5 2,080 $10.40 $22.50 $32.90
GPT-5.6-sol 2,080 $10.40 $22.50 $32.90
GPT-5.4-pro 2,080 $62.40 $135.00 $197.40
GPT-5.5-pro 2,080 $62.40 $135.00 $197.40

Read the output column as a hard floor. Whatever the true image multiplier turns out to be, a full-page transcription on GPT-5.5 cannot cost less than $22.50 per 1,000 pages, because that is the output side alone.

// 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.

Model Input / 1M Cached input / 1M Output / 1M Patch budget Image multiplier
GPT-5.6-sol $5.00 $0.50 $30.00 2,500 / 10,000 Not published
GPT-5.6-terra $2.50 $0.25 $15.00 2,500 / 10,000 Not published
GPT-5.6-luna $1.00 $0.10 $6.00 2,500 / 10,000 Not published
GPT-5.5 $5.00 $0.50 $30.00 2,500 / 10,000 Not published
GPT-5.5-pro $30.00 n/a $180.00 2,500 / 10,000 Not published
GPT-5.4 $2.50 $0.25 $15.00 2,500 / 10,000 Not published
GPT-5.4-pro $30.00 n/a $180.00 2,500 / 10,000 Not published
GPT-5.4-mini $0.75 $0.075 $4.50 1,536 1.62
GPT-5.4-nano $0.20 $0.02 $1.25 1,536 2.46

Output is billed at exactly six times input on every model in this table except GPT-5.4-nano, where it is 6.25 times. That single 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.

The multiplier inversion

GPT-5.4-nano lists at $0.20 per million input tokens against mini at $0.75, so on paper nano is 3.75 times cheaper. On images it is not. Nano multiplies its patch count by 2.46 where mini multiplies by 1.62, so the effective cost of one image patch is $0.492 per million on nano against $1.215 on mini, a ratio of 2.47. The multiplier quietly eats about a third of nano's advertised discount, and it does it only on image work, which is exactly what OCR is. If you priced a document pipeline off the headline token rates, you overstated the saving.

The cheap models see less of the page

Patch budgets are not uniform. GPT-5.4-mini and nano cap at 1,536 patches; the full models allow 2,500 at high detail and 10,000 at original. A scanned letter page is 2,080 patches, so it passes through a full model untouched but gets shrunk to 1,496 patches on mini and nano, a 28 percent cut in what the model actually looks at. Anthropic has the same trap under a different name, its standard and high resolution tiers. Two vendors arrived at the same design independently, and in both cases the discount is partly a resolution discount.

Output tokens are most of the bill

Transcribing a page produces text, and output costs six times input across the lineup, 6.25 times on nano. At roughly 750 output tokens per page that is $22.50 of a $32.90 total on GPT-5.5, about 68 percent, and $0.94 of $1.67 on nano, about 56 percent. This is the third vendor in a row where the same thing is true: Gemini output is 92 to 96 percent of a real bill, Claude 58 to 71 percent, OpenAI 56 to 68 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 every model 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, roughly 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 single call, so it never caches. 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 model budget, then applies a per-model multiplier.

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. On a full model that sits under the 2,500 patch budget and is used as is. On GPT-5.4-mini or nano it breaks the 1,536 budget, so the image is scaled down proportionally, then adjusted so the height lands on a whole patch boundary, then re-counted. That produces 1,088 by 1,408 pixels, which is 34 by 44, so 1,496 patches. Multiply by 1.62 on mini for 2,424 tokens, or by 2.46 on nano for 3,680 tokens.

We checked that shrink procedure against the worked example in OpenAI's own documentation, which states that an 1,800 by 2,400 pixel image resolves to 1,452 patches on a 1,536 budget. Our implementation returns 1,452 exactly. A naive proportional shrink returns 1,530, which is wrong, and it is the answer most calculators floating around will give you. The second adjustment step, snapping the height to a whole patch, is the part that gets skipped.

28%

fewer patches on mini and nano

2,080 patches on a full model against 1,496 on mini and nano, for the identical page. Scanning at higher DPI does not help on the small models, because the extra pixels are scaled straight back out before the model sees them.

// In context

OpenAI versus the dedicated OCR APIs

This is the first table in this series where a language model does not sit obviously above the OCR meters. 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-5.4-nano (batch) $0.84 Text and structured fields Cheapest LLM page-to-text path
GPT-5.4-nano $1.67 Text and structured fields Matches dedicated OCR pricing
AWS Textract (Detect Document Text) $1.50 Raw text and boxes Drops to $0.60 above 1M pages
Azure AI Document Intelligence (Read) $1.50 Raw text and boxes Commitment tiers to $0.45
Google Document AI (Enterprise OCR) $1.50 Raw text and boxes Drops to $0.60 above 5M pages
Mistral OCR 4 $4.00 Markdown, structured Batch mode halves it
GPT-5.4-mini $5.19 Text, fields, reasoning The usual working choice
Claude Haiku 4.5 $5.31 Reasoning over the page Downscales dense pages
GPT-5.4 / GPT-5.6-terra $16.45 Full reasoning, full resolution Input column is an estimate
Claude Opus 4.8 $32.32 Strongest reasoning The premium tier

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-5.4-nano reaching $1.67 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.

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-5.4-nano works out to about $1.67 per 1,000 pages, GPT-5.4-mini about $5.19, GPT-5.4 and GPT-5.6-terra about $16.45, and GPT-5.5 and GPT-5.6-sol about $32.90. 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.0017 per page on GPT-5.4-nano, $0.0052 on GPT-5.4-mini, $0.016 on GPT-5.4 and $0.033 on GPT-5.5, for a letter-size page transcribed to text. Halve those figures if you send the work 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 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 model patch budget the image is shrunk to fit and re-counted, and then the final patch count is multiplied by a per-model multiplier. Only the mini and nano models have a published multiplier.
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. On a full model that fits inside the budget and stays at 2,080. On GPT-5.4-mini it is shrunk to 1,496 patches and multiplied by 1.62, giving about 2,424 tokens. On GPT-5.4-nano the same 1,496 patches are multiplied by 2.46, giving about 3,680 tokens.
Is GPT-5.4-nano cheaper than AWS Textract for OCR?
At list price it is close, and in batch mode it is cheaper. AWS Textract, Azure AI Document Intelligence Read and Google Enterprise Document OCR all charge $1.50 per 1,000 pages. GPT-5.4-nano works out to about $1.67 per 1,000 pages at list, and about $0.84 through the Batch API. That makes it the first language model to reach dedicated OCR pricing rather than sitting several times above it.
Why is GPT-5.4-nano not four times cheaper than mini?
Because of the image multiplier. Nano lists at $0.20 per million input tokens against mini at $0.75, which looks like 3.75 times cheaper. But nano applies a 2.46 multiplier to the patch count where mini applies 1.62, so the effective cost per image patch is $0.492 per million against $1.215, only 2.47 times cheaper. The multiplier eats about a third of the advertised saving on image work.
Does the OpenAI Batch API cut OCR costs?
Yes, by half. Batch pricing is 50 percent off across every model, 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, and it takes GPT-5.4-nano from about $1.67 to about $0.84 per 1,000 pages.
Does prompt caching reduce OCR costs?
Almost never. Cached input is billed at roughly a tenth of the standard 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. You can cache a long system prompt, which is usually a small share of the tokens. Batch is the discount that actually applies.
Do output tokens matter for OpenAI OCR pricing?
They are most of the bill. Transcribing a page produces roughly 750 output tokens, billed at six times the input rate on the full models. That is 68 percent of a GPT-5.5 bill, 65 percent on GPT-5.4-mini and 56 percent on GPT-5.4-nano. Any estimate built on the input token price alone lands two to three times low, the same error that turns up in published Gemini and Claude estimates.
Which OpenAI model is best for document extraction?
GPT-5.4-mini is the usual working answer at about $5.19 per 1,000 pages, cheap enough for volume and strong enough for structured extraction. GPT-5.4-nano at about $1.67 is worth testing on clean, high-volume pages where the layout is predictable. Move up to GPT-5.4 or GPT-5.6-terra when the document needs reasoning, and note that only the full models see the page at full patch resolution.

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.

From the same family of tools