How Much Does GPT OCR Cost? Per Page and Per 1,000 Pages

Jul 22, 2026 8 min read

OpenAI sells tokens and image patches, not pages, so there is no GPT OCR rate to look up. Converted from the official prices and the patch formula: about $1.67 per 1,000 pages on GPT-5.4-nano, $5.19 on mini and $32.90 on GPT-5.5.

// Try it now

PDF, JPG, PNG, BMP, HEIC, TIFF

Upload a document to extract

GPT OCR costs roughly $1.67 per 1,000 pages on GPT-5.4-nano, $5.19 on GPT-5.4-mini, $16.45 on GPT-5.4 and $32.90 on GPT-5.5, for a scanned US Letter page transcribed to text. Send the same work through the Batch API and every one of those figures halves. OpenAI does not publish a per-page rate anywhere, only prices per million tokens and a formula for turning an image into tokens, so each of those numbers has to be derived.

The derivation is worth walking through, because the two most common shortcuts both produce badly wrong answers. Everything below was checked against OpenAI's own pricing and vision documentation on July 22, 2026.

The short answer

Assume a scanned letter page at 150 DPI, which is 1,275 by 1,650 pixels, transcribed to plain text at roughly 750 output tokens. Those two assumptions drive everything, so they are stated rather than hidden.

ModelPer 1,000 pagesThrough the Batch API
GPT-5.4-nano$1.67$0.84
GPT-5.4-mini$5.19$2.60
GPT-5.6-luna$6.58$3.29
GPT-5.4 and GPT-5.6-terra$16.45$8.22
GPT-5.5 and GPT-5.6-sol$32.90$16.45
GPT-5.4-pro and GPT-5.5-pro$197.40$98.70

For the full working, including the patch counts and the input and output split for every model, see the OpenAI OCR pricing reference.

How OpenAI turns a page into tokens

OpenAI covers an image in 32 by 32 pixel patches. The raw count is the ceiling of the width divided by 32, times the ceiling of the height divided by 32. Our letter page is 40 patches across and 52 down, so 2,080 patches.

Then two things happen that most estimates skip.

First, if the count exceeds the model's patch budget, the image gets shrunk. The budgets are not the same across the lineup. GPT-5.4-mini and GPT-5.4-nano cap at 1,536 patches. The full models allow 2,500 at high detail and 10,000 at original detail. So the same page passes through GPT-5.4 untouched at 2,080 patches, and gets scaled down to 1,496 patches on mini and nano.

Second, the final patch count is multiplied by a per-model figure. GPT-5.4-mini multiplies by 1.62. GPT-5.4-nano multiplies by 2.46. So mini bills about 2,424 image tokens for that page and nano bills about 3,680, even though both looked at the identical 1,496 patches.

One detail in the shrink step catches almost everybody. A naive proportional scale down puts our page at 1,530 patches. The real answer is 1,496, because after the proportional scale OpenAI adjusts the image so its height lands on a whole patch boundary and then re-counts. We validated this 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. A naive shrink gives 1,530 for that case as well. The two-step version returns 1,452 exactly, which is how we know the letter page figure is right.

The mistake that makes every published estimate too low

Search for what GPT costs to read a document and you will find numbers well below the ones above. They are almost all input-only. They count the image going in and forget the text coming out.

Output is billed at six times the input rate on every model in the lineup, and 6.25 times on nano. A full-page transcription is roughly 750 output tokens. Run that through and output turns out to be 68 percent of a GPT-5.5 bill, 65 percent on GPT-5.4-mini and 56 percent on GPT-5.4-nano. An input-only estimate is not slightly low, it is off by a factor of two to three.

This is not an OpenAI quirk. We derived Anthropic and Google separately and found the same thing: output is 58 to 71 percent of a Claude bill and 92 to 96 percent of a Gemini bill. It is the single most repeated error in the category, which is why the LLM OCR pricing pillar leads with it.

There is a practical consequence. Output length is the one variable you fully control. If you need six fields off an invoice, ask the model for six fields in a JSON schema rather than a full transcription. Cutting output from 750 tokens to 120 takes a GPT-5.4-mini page from about $5.19 per 1,000 pages to roughly $2.35. No other lever on the list is that large.

The nano discount is smaller than it looks

GPT-5.4-nano lists at $0.20 per million input tokens. GPT-5.4-mini lists at $0.75. That reads as 3.75 times cheaper, and for text work it is.

For image work it is not, because of the multipliers. Nano applies 2.46 to its patch count where mini applies 1.62. Work out the effective cost of a single image patch and nano is $0.492 per million against mini's $1.215, a ratio of 2.47. The multiplier quietly eats about a third of nano's advertised advantage, and it does it only on the image side, which is exactly what OCR is. If you sized a document pipeline off the headline token rates you overstated the saving.

The cheap models see less of the page

The patch budget split has a second consequence that never appears on a price list. A letter page is 2,080 patches. On a full model that is what the model looks at. On mini and nano it is compressed to 1,496, a 28 percent reduction in the detail reaching the model.

Anthropic does the same thing under a different name, with standard and high resolution tiers that shrink the same page by 42 percent on the budget models. Two vendors arrived at this design independently, and in both cases part of what you are saving is resolution. That matters most on the documents where it hurts most: dense tables, small print, carbon copy forms, anything with a six-point font in a footer.

Scanning at higher DPI does not rescue it either. Send a 300 DPI page to nano and the extra pixels are scaled straight back out before the model sees them. You pay nothing extra and you gain nothing.

Batch works, caching does not

Two discounts are on the table and only one of them is useful here.

The Batch API is 50 percent off, on both input and output, on every model, in exchange for results returned inside a 24 hour window. Document backlogs are close to the perfect workload for it. This is the discount that takes nano from $1.67 to $0.84 per 1,000 pages.

Prompt caching looks larger, at roughly a tenth of the input rate, but it applies to a repeated prefix of the request. In OCR the page image is precisely the part that changes on every single call, so it never gets a cache hit. You can cache a long system prompt and save a little on a small share of the tokens. Do not build a budget around it.

Is GPT now cheaper than dedicated OCR?

At the bottom of the range, yes, and that is new. AWS Textract, Azure AI Document Intelligence Read and Google Enterprise Document OCR all charge $1.50 per 1,000 pages for plain text. GPT-5.4-nano at $1.67 is level with them, and at $0.84 in batch mode it is comfortably under. No general purpose language model had reached that line before 2026.

Price parity is not capability parity, though. Those three services return text with coordinates and a per-word confidence score, and they return the same answer for the same page every time. A language model returns whatever the prompt asked for, with no per-value confidence, and it can produce a fluent and completely wrong number on a field it could not actually read. On an invoice total that failure mode costs more than any per-page rate. It is the same reason teams that have extracted their documents still put real effort into where the values land afterwards, whether that is a warehouse table or something that makes the results findable across the whole company rather than stranded in one system.

What this means for a real pipeline

The extraction call is the cheap part, and it was the cheap part before nano got to $1.67. What takes the months is the validation rules, the review queue for low confidence values, the retry handling for malformed JSON, and the export into whatever system consumes the data.

Budget a retry rate too. A truncated transcription or a schema mismatch means sending the page again, and the second attempt costs exactly what the first one did. A 5 percent retry rate is 5 percent on the bill, every month.

That is the honest comparison for a product like DocuOCR at roughly $14 to $20 per 1,000 pages: not against a raw token rate, but against a raw token rate plus the pipeline you would otherwise write and maintain. If your volumes are large and your documents are uniform, building it on nano is a reasonable call. If they are not, the assembled version usually wins on total cost long before it wins on per-page price.

Upload a document above and look at the extracted fields before you commit to any of it. A rate card tells you nothing about whether the numbers come out right on your paperwork.

Extract your documents with DocuOCR

Upload a document and get clean, structured data in seconds. No template setup required.

Start free

← Back to all articles

From the same family of tools