Mistral OCR 4.1: Block Confidence Scores Are Live — Here’s What Changes Mistral OCR 4.1, released by Mistral AI, adds block-level confidence scores via a new `confidence_scores_granularity` parameter, enabling per-block routing to human review or indexing. The update, which aliases `mistral-ocr-latest` and `mistral-ocr-4` to 4.1, is priced at $4 per 1,000 pages (or $2 batch), undercutting AWS Textract's $50–70 and Google Document AI Form Parser's $10–30 for structured extraction. Mistral OCR 4.1 is trending on Hacker News today with 370 points and 149 comments https://news.ycombinator.com/item?id=49288889 . The update is smaller than the version bump implies: one new parameter, confidence scores granularity: "block" , that returns per-block confidence alongside the bounding boxes and structural labels already in OCR 4. But that one parameter changes how you build document AI pipelines — specifically, whether you can trust the output enough to auto-index it. What OCR 4.1 Actually Added Mistral OCR 4 shipped in June with bounding boxes, block-type labels title, paragraph, table, equation, signature , and per-word confidence scores. Version 4.1 adds block-level confidence — a granularity tier between page-level and word-level that tells you how confident the model is about an entire region, not just individual words. The confidence scores granularity parameter now takes three values: "page" , "block" new , or "word" . Setting it to "block" returns page-level and block-level confidence scores together. Both mistral-ocr-latest and mistral-ocr-4 now alias to 4.1 automatically. See the official OCR 4.1 documentation https://docs.mistral.ai/models/ocr-4-1 for the full parameter reference. The practical value is in routing. Block-level confidence lets you build decision logic like this: python from mistralai import Mistral client = Mistral api key="YOUR MISTRAL API KEY" resp = client.ocr.process model="mistral-ocr-latest", document={"type": "document url", "document url": url}, confidence scores granularity="block", New in 4.1 for page in resp.pages: for block in page.blocks: if block.confidence < 0.85: route to human review block else: index for rag block If the model is uncertain about a specific paragraph, you send that paragraph to a human reviewer — not the entire document. That is a meaningful improvement for compliance-heavy workflows where bad extractions cause real problems downstream. The Blocks API: What You Get That Plain OCR Doesn’t Each page in the response includes a blocks array. Every block carries a text region, a type label, a bounding box in pixel coordinates, and now a confidence score. The block types are: title , heading , paragraph , table , equation , figure , signature , header , footer , and list . Bounding boxes use pixel coordinates mapped to the page dimensions width, height, DPI . That means you can highlight a retrieved paragraph directly in the original PDF — the source citation points to an exact region, not just a page number. For RAG pipelines where you want to show users where an answer came from, this is the piece that plain OCR cannot give you. Block-type labels also fix the semantic chunking problem. Most RAG pipelines chunk by fixed token windows, which means a table might get split mid-row or a multi-paragraph equation gets cut in half. With block labels, you chunk by semantic unit — keep the table intact, keep the equation together, embed the paragraph as a discrete retrievable unit. The Pricing Math It’s Not What It Looks Like At $4 per 1,000 pages standard or $5 for Document AI mode, Mistral OCR 4.1 looks expensive next to AWS Textract and Google Document AI at roughly $1.50 per 1,000 pages. That comparison is misleading. The $1.50 tier is raw text extraction. To get structured output — forms, tables, typed blocks — from AWS you are looking at $50–70 per 1,000 pages. Google Document AI Form Parser runs $10–30 per 1,000 pages. Mistral at $4 includes bounding boxes, block classification, and confidence scores at the base price. For structured extraction, it is roughly 16x cheaper than Textract. | Provider | Structured Extraction per 1k pages | |---|---| | Mistral OCR 4.1 | $4 or $2 batch | | AWS Textract forms + tables | $50–70 | | Google Document AI Form Parser | $10–30 | | Self-hosted Mistral | ~$0.05–0.10 + ops | The batch API cuts the cost in half to $2 per 1,000 pages for non-real-time jobs. If you are processing document archives or batch ingestion pipelines, that is the tier to use. For truly cost-sensitive workloads, self-hosting the single-container Mistral deployment https://www.edenai.co/post/mistral-ocr-4-vs-top-document-parsing-apis-features-benchmarks-and-integration-guide on rented GPU brings costs to roughly $0.05–0.10 per 1,000 pages, with the tradeoff of operational overhead. The Hallucination Problem: More Manageable, Not Fixed Developers running OCR 4.0 found it generated hallucinated sentences mid-document — complete fabrications not present in the original. Version 4.1 does not claim to fix this, but block-level confidence scores give you a signal to catch suspicious output. Low-confidence blocks are candidates for hallucination; routing them to human review catches the cases that matter before they corrupt your index. The workaround gaining traction in the HN community is a two-stage pipeline: Mistral OCR for extraction fast, no content filters, handles handwriting well , then a Claude pass for error-checking and correction. It is more expensive than Mistral alone but cheaper than routing everything through Claude from the start — and avoids the copyright content restrictions that have started appearing in Anthropic OCR responses. When It Makes Sense Mistral OCR 4.1 is the right choice when you need layout-aware extraction: RAG pipelines where semantic chunking by block type matters, compliance workflows requiring signature and header extraction, multilingual document archives 170 languages supported , and regulated environments where data cannot leave your infrastructure via the single-container self-hosted deployment. For basic text extraction without structure, cheaper alternatives exist. For complex academic typography with specialized letterforms Fraktur, ligatures , specialist models still outperform it. The full Mistral changelog https://docs.mistral.ai/resources/changelogs has version-by-version details if you are migrating from an older integration. Block-level confidence scores are a small addition. But they are the piece that makes production deployment defensible — you know which extractions to trust and which to flag before bad data reaches your vector store.