{"slug": "mistral-ocr-4-1-block-confidence-scores-are-live-heres-what-changes", "title": "Mistral OCR 4.1: Block Confidence Scores Are Live — Here’s What Changes", "summary": "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.", "body_md": "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\"`\n\n, 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.\n\n## What OCR 4.1 Actually Added\n\nMistral 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.\n\nThe `confidence_scores_granularity`\n\nparameter now takes three values: `\"page\"`\n\n, `\"block\"`\n\n(new), or `\"word\"`\n\n. Setting it to `\"block\"`\n\nreturns page-level and block-level confidence scores together. Both `mistral-ocr-latest`\n\nand `mistral-ocr-4`\n\nnow 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.\n\nThe practical value is in routing. Block-level confidence lets you build decision logic like this:\n\n``` python\nfrom mistralai import Mistral\n\nclient = Mistral(api_key=\"YOUR_MISTRAL_API_KEY\")\n\nresp = client.ocr.process(\n    model=\"mistral-ocr-latest\",\n    document={\"type\": \"document_url\", \"document_url\": url},\n    confidence_scores_granularity=\"block\",  # New in 4.1\n)\n\nfor page in resp.pages:\n    for block in page.blocks:\n        if block.confidence < 0.85:\n            route_to_human_review(block)\n        else:\n            index_for_rag(block)\n```\n\nIf 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.\n\n## The Blocks API: What You Get That Plain OCR Doesn’t\n\nEach page in the response includes a `blocks`\n\narray. 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`\n\n, `heading`\n\n, `paragraph`\n\n, `table`\n\n, `equation`\n\n, `figure`\n\n, `signature`\n\n, `header`\n\n, `footer`\n\n, and `list`\n\n.\n\nBounding 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.\n\nBlock-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.\n\n## The Pricing Math (It’s Not What It Looks Like)\n\nAt $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.\n\nThe $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.\n\n| Provider | Structured Extraction (per 1k pages) |\n|---|---|\n| Mistral OCR 4.1 | $4 (or $2 batch) |\n| AWS Textract (forms + tables) | $50–70 |\n| Google Document AI Form Parser | $10–30 |\n| Self-hosted Mistral | ~$0.05–0.10 + ops |\n\nThe 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.\n\n## The Hallucination Problem: More Manageable, Not Fixed\n\nDevelopers 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.\n\nThe 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.\n\n## When It Makes Sense\n\nMistral 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.\n\nFor 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.\n\nBlock-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.", "url": "https://wpnews.pro/news/mistral-ocr-4-1-block-confidence-scores-are-live-heres-what-changes", "canonical_source": "https://byteiota.com/mistral-ocr-4-1-block-confidence-scores-are-live-heres-what-changes/", "published_at": "2026-08-14 12:11:46+00:00", "updated_at": "2026-08-14 12:34:57.964751+00:00", "lang": "en", "topics": ["artificial-intelligence", "machine-learning", "ai-products", "ai-tools"], "entities": ["Mistral AI", "Mistral OCR 4.1", "AWS Textract", "Google Document AI"], "alternates": {"html": "https://wpnews.pro/news/mistral-ocr-4-1-block-confidence-scores-are-live-heres-what-changes", "markdown": "https://wpnews.pro/news/mistral-ocr-4-1-block-confidence-scores-are-live-heres-what-changes.md", "text": "https://wpnews.pro/news/mistral-ocr-4-1-block-confidence-scores-are-live-heres-what-changes.txt", "jsonld": "https://wpnews.pro/news/mistral-ocr-4-1-block-confidence-scores-are-live-heres-what-changes.jsonld"}}