LATEST
AI Tools

MiniCPM-OCR 1.0: Free OCR That Flags Its Own Mistakes

Updated November 1, 2026
12 min read
Editor's Note: This article was human-reviewed for accuracy
Two people reviewing printed financial documents with charts at a desk

Quick Answer & Key Takeaways

  • • ModelBest and OpenBMB have open-sourced MiniCPM-OCR 1.0, a 1.3B-parameter document parser released under Apache 2.0 that reads scans, photos and PDFs in Chinese and English.
  • • Its companion model, MiniCPM-OCR Jev, scores OCR output from 0 to 1 so review teams can route only the risky pages to humans.
  • • Weights, code and a free hosted API cost nothing in USD, GBP or CAD.

Document parsing is one of AI's most expensive failure points. Models that can reason through a hard problem will still miss a stamp, a table cell, or a number on a warped invoice, and every downstream step inherits the mistake. On October 31, 2026, ModelBest and the open-source lab OpenBMB gave everyone a free way to fight that problem: MiniCPM-OCR, an open-source document-parsing suite built around a 1.3-billion-parameter model called MiniCPM-OCR 1.0.

That alone would be a solid release. What makes it interesting is the second model in the box. MiniCPM-OCR Jev is a 2-billion-parameter model that does not do OCR at all. It looks at a document and someone else's OCR output and scores it from 0 to 1: an AI quality inspector for the region of a page that needs a human's eyes. Both models, the code, and the documentation are released under Apache 2.0. This review covers what each model actually does, what the benchmark numbers mean, what free really costs here, and how it stacks up against the hosted parsing services we reviewed with LlamaIndex's OCRia-1.

Two models, one parsing pipeline

MiniCPM-OCR is a family, not a single checkpoint. The recognition model, MiniCPM-OCR 1.0, is trained for OCR on top of MiniCPM-V 4.6 and pairs a SigLIP vision encoder with a Qwen3.5 language model. It reads Chinese and English documents and PDFs: text, tables, formulas, charts, seals, and key information extraction (KIE), which pulls specified fields like store names and totals out of receipts and invoices.

The 1.3B checkpoint is deliberately only the recognition component. A complete parse runs through three pieces: PP-DocLayoutV3 finds layout regions and their reading order, the recognition model reads the cropped regions, and the minicpmvocr SDK assembles everything into Markdown. Cropped regions need far fewer visual tokens than a whole high-resolution page, and different region types get different prompts and output budgets. A long table can get an 8,192-token generation allowance while a heading gets a short one.

MiniCPM-OCR Jev sits outside that pipeline. Give it an image and its OCR result and it returns a quality score from 0 to 1 for text, LaTeX formulas, and tables. It works with parsing results from MiniCPM-OCR 1.0 and from other engines: OpenBMB reports consistent scores across MiniCPM-OCR 1.0, GLM-OCR, PaddleOCR-VL-1.6, and Xiaomi-OCR-0. That means you can bolt Jev onto an existing PaddleOCR pipeline without replacing the parser. Three uses fall out naturally: auto-accept the pages that score high, route the risky ones to reviewers, or run several OCR systems and keep the best-scoring result.

The entire project, weights, code, and docs, is Apache 2.0. That is worth pausing on, because the open-weights OCR world has been learning about license fine print. The Hi3D 1.0 release hid a $1M-revenue commercial threshold in a custom license, and Bug0's QA agent converts from FSL to Apache only on its second anniversary. MiniCPM-OCR has no such catch: commercial use is permitted from day one with no revenue cap and no branding requirement.

The headline number: 93.68 on Real5-OmniDocBench

OpenBMB's strongest claim is a 93.68 score on Real5-OmniDocBench, presented as state-of-the-art among open-source OCR models. A careful independent walkthrough by Mehul Gupta explains what that number actually measures: Real5 evaluates five capture conditions (scanning, warping, screen photography, illumination variation, and skew), with 1,355 pages in each, and the headline is the equally weighted average. The underlying formula weights text accuracy, formula quality, and table structure equally.

Two details from that analysis deserve your attention. First, the score does not include reading-order edit distance, which is reported separately. A high headline score is not a guarantee that the page reads in the right order. Second, the reproduction guide still lists complete evaluation scripts and full comparison logs as "to be added," so these remain OpenBMB-reported numbers, not independently replicated ones. The model card itself is refreshingly direct on this point: scores from different benchmarks are not directly comparable.

The rest of the reported picture: 54.7 on OCRBench v2 for general recognition, and leading results on OmniDocBench v1.6, Wild-OmniDocBench, and olmOCR-Bench. On the Jev side, the company introduced its own benchmark, JevOCRBench, where MiniCPM-OCR Jev reaches an AUROC of 93.6, ahead of the 35B-parameter JEV-35B-A3B at 90.1 and within reach of the 397B Qwen3.5 model at 93.8. A 2B judge punching at that weight is the most surprising number in the release, though again: their benchmark, their harness.

The speed story: DSpark speculative decoding

The 1.3B size is only half the efficiency story. The other half is DSpark, OpenBMB's speculative-decoding technique, which uses a cheap draft model to propose tokens and lets the main model verify them in bulk. OpenBMB reports a 55% improvement in end-to-end processing efficiency with DSpark enabled. Gupta's analysis correctly cautions that this is an end-to-end result under one configuration, not a universal 55% cut to latency, memory, or cost.

The throughput figures come from a published test on an RTX 5090 with each system's accelerated configuration: MiniCPM-OCR 1.0 at 1.217 pages per second, PaddleOCR-VL-1.6 at 0.818, and MinerU2.5 Pro at 0.336. That is where the "1.49x" and "3.62x" ratios come from, and they are throughput ratios under OpenBMB's test, not physics. The same write-up reports P95 and P99 per-sample times of 2.1 and 3.8 seconds, and notes that pushing image-level concurrency to eight lifted throughput to 2.13 pages per second.

Practically, the DSpark setup has one sharp edge the README documents: the draft heads must come from the same release as the main checkpoint. Mixing draft weights with a different main checkpoint is explicitly warned against. And a small parameter count does not mean a small deployment: BF16 weights are about 2.6 GB, plus the draft model, KV cache, and the separate layout model. The official vLLM tutorial was verified on a 32 GB RTX 5090, which is the documented setup, not a stated minimum. Quantized BF16, GGUF, AWQ, and GPTQ weights are all published, but the 1.2 pages/s figure was measured on the accelerated config, so expect different numbers from other backends.

Jev: the model that grades other OCR models

Jev is the new idea here. Traditional OCR tools return one final text output and leave your staff hunting for mistakes line by line. A region-level checker narrows the search: it points reviewers at the exact table, stamp, or paragraph likely to be wrong. For a bank processing mortgage files or an insurer parsing claims, that is the difference between reviewing everything and reviewing only the flagged share.

The honest part of the README is a single sentence that production teams should take seriously: set Jev's threshold only after checking it on a small batch from the real application. The review-free accuracy curves for legal documents, financial receipts, and complex documents are illustrative, not calibrated to your data. Jev is a triage tool, not a certification.

One disambiguation, because the name will confuse people: this Jev is not OpenAI's Jev. OpenAI's model answers multiple-choice decision questions at a reported $0.042 per million input tokens, as we covered in our decision-API roundup. MiniCPM-OCR Jev grades OCR output. Same name, entirely different job.

Pricing: what free actually means

This is the simplest pricing section we have written in a while. The weights are free. The code is free. The documentation is free. The license is Apache 2.0 with no commercial restriction. In USD, GBP, and CAD alike, the price is $0 / £0 / C$0. ModelBest also runs a free hosted API for the 1.0 recognizer and Jev scoring, with 100 credits on signup — enough to try the service without touching a GPU.

The fine print is the hardware. Free weights are not free compute. The documented vLLM path wants an NVIDIA GPU with a modern driver and about 40 GB of disk for the two Python environments, and OpenBMB's own numbers come from an RTX 5090. The cheapest realistic way to run this is Ollama with the GGUF weights, or the llama.cpp build, both supported from day one, alongside vLLM, SGLang, and the FlagOS stack.

Compare that with the hosted alternative. LlamaParse's v2 pricing runs $0.01 per page on the cost-effective tier, $0.03125 on the agentic tier, and $0.075 on Agentic Plus, per our OCRia-1 review. At a million pages a month, even the cheapest hosted tier is a five-figure line item; the same volume on owned hardware is electricity and depreciation. The tradeoff is operational: hosted APIs absorb the engineering, self-hosting absorbs the hardware and the maintenance.

How it compares

ToolSelf-host priceOpen weightsReported accuracyBuilt-in quality inspector
MiniCPM-OCR 1.0$0 / £0 / C$0Yes, Apache 2.093.68 Real5-OmniDocBench (OpenBMB-reported)Yes (Jev, works cross-model)
LlamaIndex OCRia-1Hosted from $0.01/page (LlamaParse v2)No87.4 ParseBench, company's own bench (83.5 vs 82.3 on independent olmOCR-bench)No
Mistral OCRPaid hosted APINoSee our OCRia-1 review for the comparison numbersNo
PaddleOCR-VL-1.6$0 (open-source, Baidu/PaddlePaddle)YesOpenBMB's own baseline: 0.818 pages/s vs 1.217 in their testNo

Two caveats on this table. First, the benchmarks are not like-for-like: each vendor reports on its own chosen suites, and OpenBMB's card explicitly says scores across benchmarks are not directly comparable. Second, "open" covers a spectrum. MiniCPM-OCR's Apache 2.0 grant for weights, code, and docs is the clean end of it: no revenue threshold, no delayed conversion, no copyleft on your application.

Running it: demo, free API, or your own hardware

There are three doors in. The fastest is the online demo: Hugging Face Spaces, ModelBest's global demo, or the China demo. The second is the free API on ModelBest's platform. The third is local, and the README offers two entry points: an Agent Skill file that a coding agent can follow to set up the environment and parse a first document, and a pip package (minicpm-ocr on PyPI) whose command-line interface is, confusingly, named minicpmvocr. Watch for that mismatch; it will cost you ten minutes if you guess the command name.

The local path is a two-process deployment: one environment runs the SDK with layout detection and assembly, the other serves the recognition model. Fine-tuning recipes ship for LLaMA-Factory and Swift. Day-one chip support is unusually broad: AMD, Arm, Houmo AI, Intel, and NVIDIA natively, plus CIX, Huawei Ascend, Hygon, Iluvatar CoreX, Kunlunxin, MetaX, Moore Threads, Sunrise, T-Head, TsingMicro, and Apple Silicon Macs through the FlagOS stack.

Who is ModelBest? The Beijing company has been co-releasing the MiniCPM line with the OpenBMB community, most recently MiniCPM-V 4.7 on October 15, an on-device multimodal model under the same Apache 2.0 terms. MiniCPM-OCR is their first OCR-focused entry in the family, open-sourced on October 28 and formally announced on October 31. The GitHub repository was created October 27 and sits at a few hundred stars as of this writing. The suite is days old, so expect rough edges. The MiniCPM family behind it is the established part.

Pro tips and common mistakes

Match your DSpark draft heads to the main checkpoint release. The README warns against mixing draft weights with a different main checkpoint. Download both from the same release or speculative decoding will silently misbehave.

Calibrate Jev on your own documents before trusting it. The published accuracy-vs-review-rate curves are illustrative. Run a few hundred of your real pages, pick the threshold that matches your error budget, then lock it in. A threshold tuned on legal documents will not transfer to receipts.

Use Jev without replacing your parser. If you already run PaddleOCR or another engine in production, Jev scores any OCR output at the region level. Bolting the judge onto the existing pipeline is lower risk than migrating the whole parser in week one.

Do not bypass the SDK for full documents. Calling the model directly returns tables in OTSL format; the SDK converts them to HTML during assembly. Skip the SDK and you will be writing your own post-processing.

Treat KIE output as untrusted. The JSON extraction is convenient for receipts and invoices, but validate keys, types, and business rules (dates, totals, currencies) before the data touches anything financial. The "###" convention marks missing fields; it does not replace schema validation.

Frequently asked questions

Is MiniCPM-OCR really free?

Yes. The model weights, code, and documentation are all Apache 2.0, which permits commercial use with no revenue cap. ModelBest also offers a free hosted API with signup credits. You pay only for the hardware or cloud GPUs you run it on.

What hardware do I need to run it?

OpenBMB's documented vLLM setup was verified on a 32 GB RTX 5090 with Ubuntu 22.04, Python 3.12, and a CUDA 13 driver. That is the reference configuration, not a minimum. GGUF weights through Ollama or llama.cpp will run on far less, and quantized AWQ/GPTQ builds exist for supported GPU runtimes. Budget around 40 GB of disk for the full local setup.

Is MiniCPM-OCR Jev the same as OpenAI's Jev?

No. OpenAI's Jev is a decision model that answers multiple-choice questions, priced at a reported $0.042 per million input tokens. MiniCPM-OCR Jev is a 2B OCR correctness model that scores text, formula, and table output from 0 to 1. The shared name is a coincidence.

How does it compare with LlamaParse or Mistral OCR?

The headline difference is the license and the price: MiniCPM-OCR is $0 and Apache 2.0 with open weights, while the hosted services charge per page and keep their weights closed. On accuracy, each vendor reports its own benchmarks, which are not directly comparable — read our OCRia-1 review for the hosted side of the story.

Can it handle invoices and receipts?

That is what the key information extraction mode is for: you name the fields, and the model returns a JSON object, using "###" for anything it cannot find. Validate the output programmatically before it enters any financial workflow.

Does it work in languages other than English and Chinese?

The model card lists Chinese and English as the primary languages. Other languages are untested territory. Run your own evaluation before depending on them.

MiniCPM-OCR is the rare release that is both cheaper and more honest than the incumbents: free Apache 2.0 weights, published reproduction details with explicit caveats, and a second model whose entire job is telling you where the first one might be wrong. The benchmarks are vendor-reported and the repository is days old, so production teams should verify on their own documents, which is exactly what the free license lets you do. If your pipeline lives or dies on document quality, this is worth a weekend of testing.

Sources

  • OpenBMB/MiniCPM-OCR GitHub repository — github.com/OpenBMB/MiniCPM-OCR — README read in full; Apache 2.0, created October 27, 2026
  • MiniCPM-OCR 1.0 model card — huggingface.co/openbmb/MiniCPM-OCR-1.0 — benchmarks, architecture, deployment guides
  • ModelBest / OpenBMB press release, October 31, 2026 — PR Newswire
  • Mehul Gupta, "MiniCPM-OCR 1.0: A 1.3B Model That Treats OCR as a Systems Problem," Medium, October 2026 — medium.com — independent architecture and benchmark analysis
  • Fathom News, "Free AI Reader Turns Messy Scans Into Text And Flags Its Own Mistakes," October 27, 2026 — dev.to
  • ModelBest company background: MiniCPM-V 4.7 launch coverage, Tech360, October 14, 2026 — tech360.tv
  • ModelBest platform — platform.modelbest.ai — free API signup page, verified live
  • AI Core Updates, "LlamaIndex OCRia-1: The 4B Document Parser That Topped ParseBench," October 26, 2026 — aicoreupdates.com — LlamaParse pricing and hosted-comparison figures
  • AI Core Updates, "Milliseconds.ai Review," October 25, 2026 — aicoreupdates.com — OpenAI Jev pricing context
12 min read
6 views
edit_note Written by

Ratul Ahamed

Founder & Editor-in-Chief

Ratul Ahamed is the founder and editor of AI Core Updates, an independent site covering AI tools, models and pricing. He is a web developer based in Bangladesh and also runs All In One Tools, a free collection of browser-based utilities. Contact: [email protected]

Read all stories by Ratul Ahamed arrow_forward
verified_user Human-Reviewed Editorial

forum Comments (0)

Leave a Reply

chat_bubble_outline

No comments yet. Be the first to join the conversation!

Weekly AI Digest

Get our weekly AI tools digest

One email a week analyzing new AI tools, model updates, and practical workflows. Tested and summarized with zero fluff. Unsubscribe any time.

bolt
Hands-on AI Tool Reviews
Pricing math, limits, and alternatives.
verified_user
Strict Anti-Spam Policy
1-click unsubscribe at any time.
mark_email_unread

Subscribe to Digest

Sent weekly • No spam

person_outline
mail_outline

No spam ever. You can unsubscribe with a single click at any time.

cookie

Cookie Settings

We use cookies to enhance your browsing experience, serve personalized content, and analyze our traffic. By clicking "Accept All", you consent to our use of cookies. Learn more