Mistral OCR 4 costs $4.00 per 1,000 pages, Mistral Document AI $5.00, and batch halves both. Mistral also publishes a third, cheaper OCR rate of $3.00 that almost every guide misses, because it belongs to a different product. Every number and parameter below came from Mistral's own pricing payload and documentation, read in August 2026.
Upload a document to extract
Drop files here or click to upload
Up to 50 files
Free plan extracts the first 5, rest can be unlocked after
Uploading...
A markdown dump is not the same as the fields landing correctly in your system. Drop a real document in and read what comes back.
Mistral OCR is a document understanding model from Mistral AI that reads a page and returns markdown, tables, bounding boxes, block labels and confidence scores. The current version is Mistral OCR 4, reached through the alias mistral-ocr-latest. Calling it directly costs $4.00 per 1,000 pages. Mistral Document AI, which is the same model plus document annotations that return JSON fields against a schema you define, costs $5.00 per 1,000 pages. Batch processing takes 50% off both. The model is API-only: Mistral publishes open weights for several text models but not for this one, so you cannot self-host it.
Mistral's pricing page is a JavaScript application, so the rates are not in the text of the page. They are in a data attribute the page renders from, which is where these came from on 12 August 2026. Specs and limits come from Mistral's own documentation the same day.
Rates move. Two of the figures on this page contradict what most third-party guides publish, so check the source before you budget.
On the same pricing page, in two different sections, Mistral lists OCR at $4.00 per 1,000 pages and OCR at $3.00 per 1,000 pages. Both are real and current. They are not a mistake and they are not a volume tier. They belong to two different products, and the cheaper one is not the OCR API.
| Product | Meter | Rate per 1,000 pages | What it actually buys |
|---|---|---|---|
| OCR 4 API | OCR | $4.00 | mistral-ocr-latest called directly. Text, tables, blocks, confidence scores. |
| OCR 4 API | Document AI | $5.00 | The same model with document annotations, so you get JSON fields against your schema. |
| Libraries (agent tool) | OCR | $3.00 | OCR on documents you ingest into a Library. Cheapest published rate, but see the two extra meters. |
| Libraries (agent tool) | Indexing | $1.00 per 1M tokens | Charged on the text extracted at ingest, not per page. |
| Libraries (agent tool) | Call | $0.01 per call | Charged every time an agent queries the Library. |
Libraries is Mistral's document store for agents. You upload documents, Mistral OCRs and indexes them, and an agent queries them later. The $3.00 covers the OCR step at ingest, and it is genuinely $1.00 per 1,000 pages cheaper than calling the OCR API. Then two more meters start: $1.00 per million tokens to index the text that OCR just produced, and $0.01 for every retrieval call an agent makes.
For a retrieval application you were building anyway, that is a reasonable bundle. As a trick to save a dollar per thousand pages on a one-off extraction batch, it is a false economy: the indexing and per-call charges can pass the dollar you saved quickly, and you get a searchable corpus rather than the structured response you wanted.
ocr.process on your own documents: $4.00 per 1,000 pages.Read the meter names on your own Mistral invoice to confirm which line you are billed on. A published rate card tells you what exists, not what your account is charged.
Two of these move the per-page rate and one of them moves it the wrong way. The regional inference surcharge is the one to watch, because the reason you would turn it on is usually a compliance requirement rather than a preference.
50% less
OCR 4 in batch works out at $2.00 per 1,000 pages. Mistral applies this across the API.
10% more
Pinning inference to a region for data-residency reasons costs extra, it does not cost the same.
90% less on input tokens
Applies to token-priced models. OCR is priced per page, so this does nothing for OCR.
Mistral gates newer output features to newer model snapshots, and one of those gates fails quietly. If you pass include_blocks to a model older than OCR 4, the docs say it is accepted and returns an empty array. No error, no warning, just no blocks. That is a long afternoon if you do not know it.
| Capability | Minimum model | Notes |
|---|---|---|
| Text and markdown output | Any OCR model | The baseline. Returns markdown per page. |
| Image bounding boxes | Any OCR model | Figure and image regions with coordinates. |
| table_format (markdown or html) | OCR 2512 or newer | Tables returned separately in the format you ask for. |
| extract_header, extract_footer | OCR 2512 or newer | Otherwise headers and footers stay inside the main content. |
| include_blocks (block labels and boxes) | OCR 4 (mistral-ocr-4-0) or newer | ‼️ Older models accept the parameter and return an empty array, not an error. |
| confidence_scores_granularity | Current OCR models | Page-level aggregates, or per-word values. |
Pin a snapshot id such as mistral-ocr-4-0 in production if you need a parameter's behavior to stay fixed. The mistral-ocr-latest alias moves when Mistral ships a new version.
Mistral OCR returns one object per page. Markdown is the default payload; everything else is opt-in through a parameter, which is why so many integrations only ever see the text.
| Field | Type | Contents |
|---|---|---|
| markdown | string | The page content as markdown, with reading order preserved. |
| tables | list | Returned separately when table_format is set to markdown or html. |
| hyperlinks | list | Links detected on the page. |
| header, footer | string or null | Populated when extract_header or extract_footer is true. |
| dimensions | dict | The page dimensions. |
| confidence_scores | dict or null | average_page_confidence_score, minimum_page_confidence_score, and word_confidence_scores at word granularity. |
| blocks | list or null | Paragraph-level bounding boxes with block labels, in reading order, when include_blocks is true. |
| document_annotation | dict or null | The structured JSON fields when you pass a schema. |
| usage_info | dict | What the request consumed, which is what you are billed on. |
With include_blocks=True, every content region on the page comes back in reading order with a bounding box and one of these labels:
A signature label is more useful than it sounds. Knowing whether a signature block exists on a page is most of a completeness check on a contract or a lien waiver.
Yes, and it is the single most underrated thing on the rate card. Set confidence_scores_granularity to "page" for aggregate statistics on each page, or to "word" to get a value for every word, including every table entry. Without a per-value confidence number you cannot route the uncertain 3% of a batch to a person, which means either you check everything by hand or you ship errors.
| Service | Per-value confidence? | How it is exposed |
|---|---|---|
| Mistral OCR 4 | Yes, page and word | confidence_scores_granularity set to "page" or "word". Word granularity covers table entries too. |
| AWS Textract | Yes, per block and per field | Confidence is returned on every detected block and key-value pair. |
| Azure AI Document Intelligence | Yes, per field and per cell | Prebuilt and custom models return a confidence value per extracted field. |
| Google Document AI | Yes, per entity | Entities carry a confidence value. |
| Claude, GPT and Gemini used as OCR | No | A chat model returns text or JSON. There is no calibrated per-value confidence to gate a review queue on. |
This is the line worth being precise about, because it gets stated too loosely. It is true that a chat model used for OCR gives you no calibrated confidence value. It is not true that AI document extraction cannot give you one. Mistral OCR 4 is a purpose-built document model and it does, which is exactly why it is a better foundation for an accuracy-sensitive pipeline than prompting a general model. See LLM OCR for where that distinction changes the architecture.
Two rows here contradict what most tutorials say. The widely repeated "50 MB and 1,000 pages" pairing is not Mistral's published figure: Mistral's own limits page says 512 MB per uploaded file, and Mistral does not publish a per-request page ceiling for OCR at all.
| Limit | Value | Detail |
|---|---|---|
| Maximum uploaded file size | 512 MB | Mistral known-limitations page. Third-party guides widely quote 50 MB. |
| Maximum image size | 20 MB | Per image. |
| Pages per OCR request | Not published | Mistral does not state a per-request page ceiling for OCR. Guides that quote 1,000 pages are not citing Mistral. |
| Uploaded file retention | 30 days | "Uploaded files are retained for 30 days unless deleted earlier." Delete them yourself if that matters to you. |
| Batch size | 512 MB, 100,000 requests | Batch results stay downloadable for 24 hours after completion. |
| Rate limiting | 429 Too Many Requests | Limits vary by subscription tier. |
| Document formats | pdf, pptx, docx | Via document_url. |
| Image formats | png, jpeg/jpg, avif | Via image_url. The platform limits page also lists tiff, bmp, gif and webp for OCR. |
| Languages | 40+ | "Strong performance across 40+ languages" per Mistral's docs. Higher counts you may read elsewhere are not from Mistral. |
Mistral's limits page states that uploaded files are retained for 30 days unless deleted earlier. That is a default, not a policy you are stuck with: delete the file through the API once processing finishes. If your documents carry regulated data, the retention default is usually a bigger question than the per-page rate, and it varies more between vendors than pricing does. We compare all of them on OCR API data retention and zero data retention OCR.
It depends entirely on whether you need plain text or structured fields, and the answer flips completely between the two. For plain text Mistral is the expensive option at roughly 2.7 times the hyperscalers. For structured extraction it is the cheapest published rate of any major vendor, by a factor of six.
| Service | Per 1,000 pages | In batch | What you get |
|---|---|---|---|
| Mistral OCR 4 | $4.00 | $2.00 | Page-priced. Blocks, boxes and confidence scores included. |
| Mistral Document AI | $5.00 | $2.50 | The cheapest published STRUCTURED extraction rate of any major vendor. |
| Mistral Libraries OCR | $3.00 | n/a | Plus $1 per 1M tokens indexing and $0.01 per retrieval call. |
| AWS Textract (Detect Document Text) | $1.50 | No batch discount | Plain text only. Forms costs $50 and Tables $15. |
| Azure AI Document Intelligence (Read) | $1.50 | No batch discount | Layout $10, custom extraction $30. |
| Google Document AI (Enterprise Document OCR) | $1.50 | No batch discount | Form Parser and Custom Extractor both $30. |
| Azure Content Understanding (Basic) | $1.00 | No batch discount | The cheapest published cloud OCR rate anywhere. |
Mistral, Anthropic and OpenAI all cut batch work by about 50%. AWS, Azure and Google cut nothing, which quietly closes some of the gap on any workload you can run overnight. Full cross-vendor tables on OCR pricing per 1,000 pages.
The per-page rate buys recognition. It does not buy a document process. Everything below is code your team writes, hosts and maintains, and on most projects it costs considerably more than the API line on the invoice.
That is not a criticism of Mistral OCR. It is a genuinely strong model, and if you are building a product on top of a recognition layer it is a sensible foundation, especially now that it returns confidence scores you can gate on. The mistake is comparing its per-page rate against the price of a finished product and concluding one is cheaper.
Routing a mixed batch of invoices, statements and contracts to the right schema before extraction.
Totals that add up, dates in range, values checked against a master record.
A screen where a person corrects the values that came back below your confidence threshold.
Getting clean records into your accounting, ERP or database, and retrying what fails.
Queues, retries, backoff and the 429 handling that keeps a large batch moving.
Knowing that accuracy dropped on a new document layout before your customer tells you.
Mistral OCR is a document understanding model from Mistral AI that reads a page and returns its text and structure as markdown, along with bounding boxes, block labels and confidence scores. The current version is Mistral OCR 4, reached through the model alias mistral-ocr-latest. It is a developer API you call from your own code, not a sign-in application with a dashboard and a review screen.
Mistral OCR 4 costs $4.00 per 1,000 pages and Mistral Document AI, which adds structured JSON fields against a schema you supply, costs $5.00 per 1,000 pages. Batch processing halves both, to $2.00 and $2.50. Those rates were read from Mistral's own pricing page in August 2026. A third rate of $3.00 per 1,000 pages applies to OCR inside Libraries, which is a different product.
No. Mistral OCR is billed per page through the API. Mistral gives new accounts trial credits, so you can test the model without paying, but production use is charged at the per-page rate once those credits are gone. There is no perpetual free tier for the OCR model and no downloadable build you can run yourself instead.
No. Mistral publishes open weights for several of its text models, but the OCR model is not one of them. There is no mistral-ocr checkpoint on Hugging Face and no license to self-host it, so Mistral OCR is API-only. That is the practical difference between it and an open document model such as olmOCR, which you can run on your own hardware.
Mistral OCR 4 is the current model, with the snapshot id mistral-ocr-4-0 and the rolling alias mistral-ocr-latest. It is the version that supports block extraction. Earlier versions, including the 2512 snapshot and Mistral OCR 3, are still referenced widely online, which is why version-specific behavior is worth checking before you rely on a parameter.
Not in the sense people usually mean. Mistral OCR is a purpose-built document model rather than a chat model you prompt, and it returns a structured response object with per-page markdown, block coordinates and confidence values. That is why it can give you a confidence score at all, which a general chat model used for OCR cannot.
Yes. Set confidence_scores_granularity to "page" for aggregate statistics on each page, namely average_page_confidence_score and minimum_page_confidence_score, or to "word" to also get a word_confidence_scores array with a value for every word on the page and in every table entry. This is the field you would gate a human review queue on.
Yes, in two ways. Image and figure regions come back with coordinates by default. Setting include_blocks to true adds a blocks array on each page listing every content region in reading order with its bounding box and a label. Block extraction needs Mistral OCR 4 or newer, and older models accept the parameter and return an empty array rather than an error.
Mistral OCR is the model that reads the page and returns markdown and structure. Mistral Document AI is the wider product built on it, adding document annotations, which take a schema you define and return JSON fields, plus the playground in Mistral AI Studio. On the rate card they are separate lines, at $4.00 and $5.00 per 1,000 pages.
Mistral's documentation states strong performance across 40 or more languages and links to a full supported-language list. Be careful with much higher figures that circulate in third-party guides, because Mistral's own docs do not support them. If a specific language matters to your project, test it on your own documents rather than trusting any published count.
Mistral's platform limits page puts uploaded files at a maximum of 512 MB and individual images at 20 MB. Mistral does not publish a per-request page ceiling for OCR. The 50 MB and 1,000-page figures repeated across third-party tutorials are not Mistral's published numbers, so treat the documentation as the system of record.
Mistral's limits page states that uploaded files are retained for 30 days unless deleted earlier. If your retention posture requires shorter, delete the file through the API once processing finishes rather than relying on the default. This is a genuine procurement question and the answer differs sharply between vendors.
Mistral distributes models through partner clouds as well as its own platform, and Azure AI Foundry carries Mistral models. Availability is per model and it changes, so confirm the OCR model in that cloud's catalog before you plan around it. Note that a partner cloud sets its own rates, so the prices on this page apply to Mistral's own API.
For plain text extraction, no. Mistral OCR 4 at $4.00 per 1,000 pages is roughly 2.7 times the $1.50 that Textract Detect Document Text, Azure Read and Google Enterprise Document OCR all charge. For structured field extraction it is the cheapest of the group by a wide margin, since Mistral Document AI is $5.00 against $30.00 for Azure custom extraction and Google Custom Extractor and $50.00 for Textract Forms.
The rate card on its own, with the cross-vendor cost tables and worked volume examples.
Why the weights are not published, and what to use instead if you need to self-host.
The plain-language explainer, including how Document AI sits on top of the model.
For teams who want the finished workflow rather than a model to build on.
Head to head on rates, output shape and what each one leaves you to build.
Where a document model beats prompting a chat model, and the confidence-score reason why.
Every vendor normalized to one unit so the numbers can be compared directly.
File sizes, page ceilings and rate limits across every major service.
How long each vendor keeps your documents, and which ones will contract to zero.
What running an open document model on your own GPUs actually costs per 1,000 pages.
The credit-priced tier above per-page OCR, normalized to pages.
The buying decision rather than the rate card.
Markdown, block labels and a confidence number are all useful, and none of them tell you whether the fields you need land correctly on your paperwork. Upload one of your own documents and read what comes back.
Mistral rates on this page were read from Mistral's own pricing payload on 12 August 2026. Specs and limits come from Mistral's documentation the same day. Rates and model behavior change. Verify at the source before you sign anything.