MiniCPM-OCR 1.0: Parse PDFs, Choose Weights and Budget Costs
MiniCPM-OCR 1.0 is OpenBMB’s 1.3B document-recognition model for Chinese and English text, tables, formulas, charts and seals. Its SDK combines layout detection, image-region recognition and Markdown assembly for complete PDFs. Use the official demo for a sample, or run the downloadable Apache 2.0 weights locally. Budget the vision projector, layout model and runtime as well as the recognition weights.
Content reviewed:

Use this model
Online access and trials
- Try the official MiniCPM-OCR demo
Availability and signup terms are set by the provider.
Official model repository
- Official model card and demo links
Model card, downloads and license conditions.
Local tools and guides
- Full installation and parsing tutorial
Follow the tool’s installation and hardware requirements.
Which documents can MiniCPM-OCR parse?
- Turn scanned or photographed Chinese and English pages into searchable text.
- Preserve tables and LaTeX formulas while converting a PDF into Markdown.
- Extract named fields from an image for a downstream application.
Choose a page parser or a recognition request
The recognition model reads an image region using a task prompt. The full SDK additionally detects layout, crops regions, reconstructs reading order and assembles the results into Markdown. Choose the SDK for a multi-page PDF whose tables and ordering must survive into a usable document.
A direct image request is useful for a text block, table, formula or specified fields. Text Recognition: selects text; Table Recognition: selects table structure; Formula Recognition: produces LaTeX. The SDK handles conversion of table output into HTML for the assembled document.
For a first check, open the official demo linked by OpenBMB and upload a non-sensitive representative page. Inspect a dense paragraph, a table and a formula in the result. A simple page can look correct while rotated labels or merged cells fail, so select a sample that resembles your real documents.
Which model files should you download?
MiniCPM-OCR 1.0 is the main recognition model. Its DSpark draft is an optional accelerator that must match the main release. MiniCPM-OCR Jev is a separate 2B quality-assessment model for judging OCR results; it does not replace the recognizer. It also differs from TypeSafe’s Jev decision API.
The official GGUF repository lists a required 4× vision projector at 0.901GB. The Q8_0 language-model file is 0.812GB, so those two files total about 1.713GB on disk. Q4_K_M is 0.529GB, making about 1.430GB with the same projector. These decimal file totals exclude the layout model, caches and working memory.
OpenBMB recommends Q8_0 for code- or XML-heavy pages. Its card notes that smaller quantization can lose closing-tag slashes in code-heavy documents. Choose precision using the output you need to retain, then evaluate the complete parser; the smallest language-model file alone is not the full deployment.
| Artifact | Role | When needed |
|---|---|---|
| MiniCPM-OCR-1.0 | Recognition | Every OCR inference path |
| GGUF vision projector | Visual input for the GGUF model | Required alongside the language-model GGUF |
| MiniCPM-OCR-1.0-DSpark | Speculative draft | Optional DSpark acceleration |
| PP-DocLayoutV3 | Layout detection | The documented full SDK pipeline |
| MiniCPM-OCR Jev | Quality assessment | Optional separate scoring stage |
Parse your first PDF locally
The official full-pipeline tutorial uses Linux x86_64 and an RTX 5090 32GB, with a driver at least version 580 for its CUDA 13 path. That is the documented tested configuration, not a measured minimum GPU requirement. Reserve at least 40GB disk for the two environments, source builds, models and caches.
Clone the official repository, then follow its SDK and inference-environment setup. The tutorial’s install script builds pinned vLLM and Transformers sources. Keep those model-specific revisions: installing an arbitrary vLLM package can fail to recognize the architecture.
Start the recognition server using the tutorial’s complete command, including its image limits, multimodal request options and disabled thinking. DSpark requires both main and draft weights; remove the speculative configuration if you choose standard decoding. In the SDK terminal, use the following command with an existing doc.pdf.
Open doc.md and its exported tables and formulas, then compare page order and numbers against the PDF. A successful server response only proves recognition returned something; acceptance depends on whether the assembled file preserves the content your application needs.
minicpmvocr parse \
--device cuda:0 \
--server-url http://127.0.0.1:18499 \
--model minicpm-ocr \
--input doc.pdf \
--output doc.mdCheck exported content, not just recognized text
In issue 12, JSJ189 reports that SDK commit 50b74eb recognized text inside image-labeled blocks but dropped it during Markdown assembly. The report includes reproduction steps for a page classified as one image region. This is an output-assembly problem that can resemble poor recognition.
The project links fix 36bf514 in PR 20. Use an SDK revision containing that change and check the exported file on your document. An older installed package can still drop recognized image-block text even when the issue tracker records a fix.
For your own acceptance set, include pages with figure regions, tables spanning lines and small formulas. Count missing blocks and malformed structure alongside word accuracy. If the service produces a raw table representation, use the SDK’s conversion stage when the downstream system expects HTML or Markdown.
Budget cost per accepted page
The model weights, code and documentation use Apache 2.0. A local pipeline avoids an OCR provider’s per-request bill, while equipment, GPU allocation, disk, energy and human review remain part of the job. The official recognition API guide requires a service-supplied endpoint and model ID and does not publish a per-page tariff.
For a hypothetical 10,000-page job, assume the complete pipeline takes two GPU-hours at an assumed $1.50 per hour. Compute costs $3, or $0.0003 per submitted page. If setup and retries take another hour, compute becomes $4.50. These inputs illustrate the calculation; they are not a measured MiniCPM speed or an available GPU quote.
If 9,500 pages meet your acceptance criteria, the $4.50 compute charge is about $0.000474 per accepted page before storage and review. Measure time from PDF rendering through final assembly, including the layout stage and any optional quality scoring. Region-level recognition speed alone understates the work of a complete document conversion.
Compare MiniCPM-OCR with Youtu-Parsing-Omni when structured document output matters. Use the existing MiniCPM-V 4.7 page for broader image or video understanding. MiniCPM-OCR’s narrower task can make integration easier when the required result is a faithful document rather than a general visual answer.
Before you use it
- The release focuses on Chinese and English document recognition; use representative pages when evaluating other scripts or layouts.
- The SDK, inference runtime, vision projector and optional drafter have distinct resource requirements.
How to get started
Try one representative page in the official demo, then use the full SDK tutorial for local PDFs. Check the assembled Markdown and accepted-page cost before processing a large collection.
Sources
Sources (7)
- OpenBMB: MiniCPM-OCR 1.0 model card ↗
Source checked:
- OpenBMB: GGUF components and precision guidance ↗
Source checked:
- OpenBMB: complete local SDK tutorial ↗
Source checked:
- OpenBMB: recognition API configuration ↗
Source checked:
- OpenBMB: OCR Jev model role ↗
Source checked:
- JSJ189: SDK image-block assembly report ↗
Source checked:
- OpenBMB: image-block assembly fix ↗
Source checked: