News
5 min read

MiniCPM-OCR 1.0: OpenBMB's 1.3B Open OCR Model

OpenBMB's Apache 2.0 MiniCPM-OCR 1.0 reads scans, tables and formulas at 1.2 pages per second on one GPU, and a 2B Jev model scores OCR output for review.

Olivetti-style cover reading MINICPM-OCR 1.0, a scanned page block passing through a reader block into neat text, table and formula blocks
Olivetti-style cover reading MINICPM-OCR 1.0, a scanned page block passing through a reader block into neat text, table and formula blocks

OpenBMB, the open-source group behind the MiniCPM models, has released MiniCPM-OCR 1.0, a 1.3B open-weight model that turns scans, photos and PDFs into text, tables, formulas and structured data. The weights went up on Hugging Face on October 21 under the Apache 2.0 license, and it is now on the hub's trending models list. A 2B companion model, MiniCPM-OCR Jev, followed on October 23. It does not read documents itself. It checks whether another OCR result is right.

Together they target a dull but expensive job: getting clean text out of messy paperwork without sending it to a cloud API.

What MiniCPM-OCR 1.0 does

OCR (optical character recognition) means reading text from an image. Older OCR tools return a flat stream of characters. Newer vision-language OCR models like this one try to rebuild the document: headings, paragraphs, tables, math and reading order.

According to the model card, MiniCPM-OCR 1.0 handles:

  • Plain text in paragraphs, titles and full pages
  • Tables, returned as HTML after the SDK's post-processing
  • Formulas, returned as LaTeX
  • Seals (stamps)
  • Charts, converted to tables
  • Key information extraction, where you name fields and get JSON back, with "###" for any field that is not in the image

The model is built for Chinese and English. OpenBMB says it was trained for OCR on top of its MiniCPM-V 4.6 vision model and pairs a SigLIP vision encoder with a Qwen3.5 language model. If you followed our coverage of MiniCPM-V 4.7, this is the same family, cut down to one task.

It is not a single model doing everything. The full parsing pipeline uses a separate layout model, PP-DocLayoutV3, to find regions on the page. MiniCPM-OCR then reads each region, and OpenBMB's minicpmvocr SDK puts the pieces back together as Markdown in reading order.

Diagram of the MiniCPM-OCR pipeline: PDF or image input, PP-DocLayoutV3 finds regions, MiniCPM-OCR 1.0 reads each region, SDK assembles Markdown, optional Jev 2B score

The numbers OpenBMB reports

All figures below are OpenBMB's own and come from the model card and its model guide. They have not been independently checked.

  • 93.68 on Real5-OmniDocBench, which the card calls a benchmark for real-world document parsing. The card says the model handles scans, curved pages, photographs, skewed pages and recaptured documents
  • 54.7 on OCRBench v2, a broader recognition and extraction test
  • The highest equal-weight average across OmniDocBench v1.6, Real5-OmniDocBench, Wild-OmniDocBench and olmOCR-Bench among the open OCR models it compared

Speed is the bigger claim. On an NVIDIA GeForce RTX 5090, using all 1,651 images in OmniDocBench v1.6 with one image at a time, OpenBMB measured MiniCPM-OCR 1.0 at 1.217 pages per second. In the same test it lists GLM-OCR at 1.179, PaddleOCR-VL-1.6 at 0.818 and MinerU2.5-Pro at 0.336. That is where the card's "1.49x PaddleOCR-VL-1.6" and "3.62x MinerU2.5 Pro" figures come from. Note that GLM-OCR is close behind on this test, so the lead over the fastest rival is small.

The guide's full table lists 15 systems. Baidu's Unlimited-OCR2 is at 0.246 pages per second in this test. Our Unlimited OCR 2 explainer covers how that model handles long documents.

Running eight images at once raised throughput to 2.133 pages per second on the same card, a 1.75x gain, according to the guide. Part of the speed comes from DSpark, a draft-model speedup that OpenBMB says improves end-to-end efficiency by 55%. The card warns that the DSpark draft and the main model must come from the same release.

Bar chart of OCR throughput on an RTX 5090 reported by OpenBMB: MiniCPM-OCR 1.0 1.217, GLM-OCR 1.179, PaddleOCR-VL-1.6 0.818, Xiaomi-OCR-0 0.724, MinerU2.5-Pro 0.336 pages per second

Jev: a model that grades OCR

MiniCPM-OCR Jev is the more unusual release. Give it a cropped region of a page and a candidate OCR result, and it returns a score from 0 to 1 for how likely that result is correct. OpenBMB trained it from Qwen3.5-2B and replaced the text output head with a classification head.

On its own JevOCRBench test, OpenBMB reports a decision AUROC of 93.6 (a measure of how well a score separates right answers from wrong ones), close to the 93.8 it lists for the much larger Qwen3.5-397B-A17B. Across results from four OCR models, including GLM-OCR and PaddleOCR-VL-1.6, the score stayed between 91.9 and 93.4 on a 200-sample set.

The practical use is routing. Set a threshold on your own documents. Regions above it go through automatically, and the rest go to a person. You can also run several OCR models on the same region and keep the highest-scoring answer. OpenBMB's own card adds a caution: validate on your own data, because Jev can only pick among the candidates it is given.

How to run it

The weights are about 1.3 billion parameters, small enough for a single consumer GPU. OpenBMB publishes BF16, GGUF for llama.cpp, and 4-bit AWQ and GPTQ versions. If those labels are new to you, our quantization explainer covers what they mean. The card lists vLLM, SGLang, llama.cpp and Ollama support from launch, plus fine-tuning recipes for LLaMA-Factory and ms-swift.

For full documents, OpenBMB recommends its SDK, installed from PyPI as minicpm-ocr. The FAQ says the two environments plus the model need at least 20GB of disk space, and the layout step defaults to CUDA, with a setting to move it to CPU. There is also a Hugging Face Space demo and a free hosted API on ModelBest's platform, which the model card links.

Why it matters

Document parsing is a common business job for AI, and it is one where local models make sense: invoices, contracts, medical forms and filings are often things companies do not want to upload. A 1.3B model under Apache 2.0 that claims top scores on real-world captures and runs at more than a page per second on one gaming GPU lowers the cost of doing that in-house.

Jev may matter more in production. An OCR error is costly mainly when nobody knows which page has it. A cheap open checker that flags doubtful regions gives teams a way to automate the easy pages and send only the hard ones to review.

Two limits stand out. The model is tuned for Chinese and English, so other languages need fine-tuning, and every benchmark figure so far comes from OpenBMB. Independent tests on mixed, real paperwork will decide whether the lead holds.

Sources

NewsOpen WeightsModel ReleasesVision Language Models