The #1 mistake people are making with Mistral OCR 4 right now: switching their mistral-ocr-latest calls to the new model without checking the price tag. OCR 4 just dropped, the community is hyped about the 85.20 OlmOCRBench score, and everyone’s racing to upgrade. But per Mistral’s OCR 4 announcement, the API is priced at $4 per 1,000 pages (as of the OCR 4 launch – verify on the pricing page before budgeting) – exactly double what OCR 3 cost. If your pipeline runs millions of pages and you don’t need bounding boxes, you just doubled your bill for nothing.
Reverse-engineer the right approach: first identify which OCR 4 features you actually need (bounding boxes? block classification? confidence scores?), then pick the model. This guide walks you through the setup, the gotchas the launch post doesn’t mention, and when OCR 3 is still the smarter call.
What’s actually new in Mistral OCR 4
Confidence scores are the headline. That’s the feature that changes how you build – bounding boxes and block classification matter for layout-sensitive pipelines, but inline confidence scores give you a quality gate you can automate. The Mistral release post lists all three as new additions to OCR 4, alongside support for 170 languages across 10 language groups (as of launch – rare and low-resource language coverage is explicitly called out as improved over previous versions).
The benchmark number: 85.20 on OlmOCRBench, with independent annotators preferring OCR 4 over every other leading OCR and document-AI system tested – 72% average win rate. One customer quote in the announcement puts it at roughly 8x lower cost than agentic document parsers on a chart-heavy financial QA dataset, same accuracy. Take that figure as a directional signal, not a universal promise.
Deployment angle: OCR 4 runs in a single container, which means you can keep documents in your own environment for data residency or sovereignty requirements. It’s also the ingestion layer inside Mistral’s new Search Toolkit – structured output feeds directly into the toolkit’s retrieval and evaluation workflow for RAG pipelines.
The fastest way to try it: Document AI in Mistral Studio
$5 per 1,000 pages. That’s the Document AI price – a dollar more than the raw API. You’re paying for the drag-and-drop interface in Mistral Studio, which is useful for a one-off test but overkill the moment you put it in a loop.
- Sign in to Mistral AI Studio and create an organization.
- Open the Document AI tab.
- Drop a PDF or image. Pick text mode or JSON schema mode.
- Click Run. Output appears as markdown or structured JSON.
One thing worth knowing before you trust the JSON schema output: a community tester found that when OCR couldn’t parse a document against the submitted schema, the API returned the schema itself – no data, no error, just the skeleton you sent in. More on that in the pitfalls section below.
Using Mistral OCR 4 via the Python API
For anything production, you want the API. Install the official SDK:
pip install mistralai python-dotenv
Grab an API key from console.mistral.ai/api-keys and set MISTRAL_API_KEY in your environment. The call pattern, adapted from the official docs:
import os
from mistralai import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
response = client.ocr.process(
model="mistral-ocr-latest", # points to OCR 4 as of the OCR 4 release
document={
"type": "document_url",
"document_url": "https://arxiv.org/pdf/2201.04234"
},
include_image_base64=True,
table_format="html",
extract_header=True,
extract_footer=True,
confidence_scores_granularity="page"
)
print(response)
Three things to notice – and two of them will burn you if you miss them.
mistral-ocr-latest routes to OCR 4 as of the launch. Pin mistral-ocr-2512 explicitly to stay on OCR 3 and keep the old pricing. The Mistral docs note that table formatting plus header/footer extraction only work on OCR 2512 or newer – older model IDs silently ignore those parameters, no warning thrown. And confidence_scores_granularity? That’s new territory. Use it as a quality gate: flag pages that score below your threshold for human review instead of blindly piping everything downstream.
Common pitfalls that aren’t in the launch post
These bit real users in production.
Pro tip: Before you flip a pipeline to
mistral-ocr-latest, run 100 representative pages through both OCR 3 and OCR 4 in parallel, compare confidence scores, and only switch if OCR 4’s bounding boxes actually solve a problem you have. “Newer” is not “better for your use case.”
- The silent JSON schema failure. When OCR 4 can’t parse a document against your JSON schema, it doesn’t throw. It returns the schema you submitted, with no data. If you’re piping output into a downstream system that checks for keys (not values), you’ll write empty rows for hours before noticing.
- The 50 MB / 1,000-page hard cap. Documents must not exceed 50 MB or 1,000 pages per request (per community testing, this may have changed – check the docs). For large archives, you split client-side. No chunking is built in.
- The URL must be publicly accessible. Private corporate URLs don’t work. Pre-signed S3 URLs do. For private files, upload via the SDK’s file upload endpoint first, get a signed URL back, then pass that to the OCR call.
- The pricing trap on model upgrade. Setting your config to OCR 4 silently doubles per-page cost versus OCR 3. No “are you sure?” warning. Audit your monthly usage before the bill arrives.
The silent failure in particular is worth sitting with for a second. OCR pipelines are easy to trust because they look like they’re working – files go in, files come out. A schema that returns empty structure is indistinguishable from successful extraction unless you’re validating values, not just keys. That’s a monitoring gap most teams don’t close until something breaks downstream.
Performance: what to actually expect
The 72% win rate and 85.20 OlmOCRBench score are averages – and averages hide the shape of the distribution. OCR 4 pulls ahead on three specific categories: forms with checkboxes, low-resource language scans, and chart-heavy financial documents. On clean printed English PDFs? OCR 3 and OCR 4 are close enough that the $2/page price gap matters more than accuracy.
Is there a confidence score threshold that reliably predicts a bad extraction? That’s an open question the docs don’t answer yet. Different document types probably need different cutoffs – a handwritten form and a typeset legal contract aren’t going to behave the same way at any given score value. Worth running your own calibration before you automate the gate.
| Model | API price (per 1k pages) | With Batch API | Best for |
|---|---|---|---|
Mistral OCR 3 (mistral-ocr-2512) |
$2 | $1 | High-volume, mostly clean documents |
Mistral OCR 4 (mistral-ocr-latest) |
$4 | $2 | Bounding boxes, confidence scoring, RAG ingestion |
| Document AI (UI) | $5 | – | One-off jobs, non-technical users |
Numbers from Mistral’s OCR 4 announcement and the OCR 3 launch post, both checked at publish time – pricing changes without notice, so verify on the current pricing page before committing budget.
When NOT to use Mistral OCR 4
Skip OCR 4 if any of these describe you:
- You don’t need bounding boxes or confidence scores. OCR 3 hits the same text quality for half the price on most printed documents.
- Your documents are simple receipts or invoices in major languages. The gains OCR 4 shows are concentrated in rare languages and complex layouts. Plain English receipts don’t benefit enough to justify $4 versus $2.
- You need real-time per-document latency on huge files. The 1,000-page cap forces client-side splitting; this isn’t the right tool for streaming-style ingestion.
- You’re under strict zero-egress policies and aren’t ready to self-host. The single-container self-hosted deployment exists, but check with Mistral on current availability for your tier before planning around it.
The other honest answer: if you’re processing a few hundred pages a month, the price difference is rounding-error money. Use OCR 4 and stop optimizing.
FAQ
Does mistral-ocr-latest automatically point to OCR 4 now?
Yes, as of the OCR 4 release. Pin mistral-ocr-2512 explicitly if you want OCR 3 pricing.
Can I use Mistral OCR 4 to extract data from a private PDF on my corporate drive?
Not directly – the API needs either a publicly accessible URL or a base64-encoded payload. The practical path: upload the file via the SDK’s file upload endpoint, receive a signed URL, pass that to the OCR call. That keeps the file transfer inside Mistral’s own infrastructure rather than exposing a private corporate URL. For documents that genuinely cannot leave your network, the single-container self-hosted deployment is the only fully private option – confirm availability and access requirements with Mistral before building around it.
What’s the difference between Document AI and the OCR API?
Same engine, different interface, different price. Document AI is the drag-and-drop UI; the API is what you call from code. The UI costs a dollar more per thousand pages. Useful for one-offs; not for pipelines.
Next action: Open console.mistral.ai, generate a key, and run the Python snippet above against a single representative document from your real workload. Check the confidence scores on the output. Above 0.95 on the pages that matter? You have your answer on whether to migrate.