--- license: apache-2.0 language: - en - zh pipeline_tag: image-text-to-text tags: - minicpm-ocr - ocr - document-parsing - multimodal - vision-language - table-recognition - formula-recognition base_model: - openbmb/MiniCPM-V-4.6 ---

MiniCPM logo

Official Demo([CN](https://platform.modelbest.cn/console/playground/document-parse) / [Global](https://platform.modelbest.ai/console/playground/document-parse)) · Basic Demo([CN](http://82.157.64.212:10111/playground/document-parse) / [Global](https://huggingface.co/spaces/openbmb/MiniCPM-OCR)) \ [GitHub](https://github.com/OpenBMB/MiniCPM-OCR) · [Free API](https://platform.modelbest.ai/console/docs/api/document-parse) · [Usage](https://github.com/OpenBMB/MiniCPM-OCR#using-minicpm-ocr) · [DSpark](https://huggingface.co/openbmb/MiniCPM-OCR-1.0-DSpark) · [Skill](https://github.com/OpenBMB/MiniCPM-OCR#skill)
**MiniCPM-OCR 1.0** (1.3B) is the first OCR-specific model in the [MiniCPM-V/o](https://github.com/openbmb/MiniCPM-V) family. It focuses on text-centric document understanding — text, tables, formulas, charts, seals, and structured information extraction — and balances quality against speed on real-world captures. ## Highlights - 🏆 **SOTA document parsing**: **93.68 on Real5-OmniDocBench**, a benchmark for real-world document parsing, with leading results on OmniDocBench v1.6, Wild-OmniDocBench, and olmOCR-Bench. Handles Chinese and English documents and PDFs, including scans, curved pages, photographs, skewed pages, and recaptured documents. - ⚡ **Efficient inference.** With DSpark decoding acceleration ([BF16](https://huggingface.co/openbmb/MiniCPM-OCR-1.0-DSpark), [GGUF](https://huggingface.co/openbmb/MiniCPM-OCR-1.0-DSpark-gguf)) end-to-end processing efficiency improves by **55%**. Throughput is about **1.49×** PaddleOCR-VL-1.6 and **3.62×** MinerU2.5 Pro. - 🔍 **General recognition and information extraction**: **54.7 on OCRBench v2**, plus key information extraction (KIE) for downstream automation. - 🛠️ **Easy to deploy and develop**: **vLLM, SGLang, llama.cpp, and Ollama from day one**, with quantized variants and multi-chip builds. Supports further fine-tuning, and ships a pip SDK, a full API, and agent workflows. Online demos: [HF Spaces](https://huggingface.co/spaces/openbmb/MiniCPM-OCR) · [CN](http://82.157.64.212:10111/playground/document-parse) · [Official CN](https://platform.modelbest.cn/console/playground/document-parse) · [Official Global](https://platform.modelbest.ai/console/playground/document-parse). ## SOTA quality at higher throughput Among the open-source OCR models compared, MiniCPM-OCR 1.0 reaches **1.2 pages/s** and the highest equal-weight average score across OmniDocBench v1.6, Real5-OmniDocBench, Wild-OmniDocBench, and olmOCR-Bench.

Throughput versus parsing quality for open-source OCR models. Horizontal axis: pages per second (log scale). Vertical axis: equal-weight average score across four document parsing benchmarks.

Average score is the equal-weight mean of the four benchmarks. All models use accelerated configurations. Settings and reproduction: [reproduction guide](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/benchmark_reproduction_en.md). Per-model throughput: [model guide](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/minicpm_ocr_1dot0_en.md#throughput). ## Benchmark comparisons

Radar chart comparing MiniCPM-OCR 1.0 with other OCR models across six benchmarks.

### Full MiniCPM-OCR 1.0 evaluation results

Detailed OCR model results on OmniDocBench v1.6, Real5-OmniDocBench, Wild-OmniDocBench, olmOCR-Bench, CHAOS-Bench, and OCRBench v2.

Per-benchmark bar charts for Real5-OmniDocBench, Wild-OmniDocBench, OmniDocBench v1.6, olmOCR-Bench, OCRBench v2, and CHAOS-Bench.

Each panel keeps its own benchmark's scores; higher is better. Scores from different benchmarks are not directly comparable. Test settings and reproduction steps are in the [reproduction guide](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/benchmark_reproduction_en.md); per-benchmark discussion is in the [model guide](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/minicpm_ocr_1dot0_en.md#evaluation). ### Throughput On an NVIDIA GeForce RTX 5090 with all 1651 OmniDocBench v1.6 images, image-level concurrency 1, and each system's accelerated configuration, MiniCPM-OCR 1.0 reaches **1.2 pages/s** (relative throughput **1.00×**; higher is faster).

OCR system throughput with accelerated configurations; MiniCPM-OCR 1.0 achieves 1.2 pages/s.

Concurrency 1 is image-level: regions inside a page are still recognised in parallel. Real throughput also depends on page content, backend, concurrency, and hardware. ## Examples Left to right: original document, detected layout, and rendered Markdown. **English documents**

English document animation: original, detected layout, and rendered Markdown.

**Chinese documents**

Chinese document animation: original, detected layout, and rendered Markdown.

More examples Original documents and parsed results, side by side. **English documents**

English examples comparing inputs and results: handwriting, historical and scanned documents, newspapers, financial statements, and key information extraction.

**Chinese documents**

Chinese examples comparing inputs and results: handwritten notes, complex formulas, newspapers, financial statements, stamped documents, illustrations, and key information extraction.

## Model architecture | Item | Description | | :--- | :--- | | Parameters | 1.3B | | Base | Trained for OCR on top of MiniCPM-V 4.6 | | Components | SigLIP vision encoder + Qwen3.5 language model | | Primary languages | Chinese and English | | Tasks | Text, tables, formulas, charts, seals, and key information extraction | | Parsing pipeline | MiniCPM-OCR 1.0 + PP-DocLayoutV3 layout model + `minicpmvocr` SDK | | Visual tokens | 4× compression, `scale_resolution` 448, up to 9 slices | See the [model guide](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/minicpm_ocr_1dot0_en.md) for architecture, parsing workflow, deployment options, and benchmark breakdowns. ## Quick start ### Online Demo To quickly try text-centric document understanding and structured information extraction, we recommend [HF Spaces](https://huggingface.co/spaces/openbmb/MiniCPM-OCR), [CN](http://82.157.64.212:10111/playground/document-parse), [Official CN](https://platform.modelbest.cn/console/playground/document-parse), [Official Global](https://platform.modelbest.ai/console/playground/document-parse) / [API](https://platform.modelbest.ai/console/docs/api/document-parse). ### Local deployment For local deployment of MiniCPM-OCR, we recommend our SDK ([tutorial](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/minicpm_ocr_tutorial_en.md)) with [DSpark](https://huggingface.co/openbmb/MiniCPM-OCR-1.0-DSpark) enabled by default. For document parsing task, It reads a PDF or image, detects layout with PP-DocLayoutV3, recognises each region, and assembles Markdown in reading order. Our SDK supports different inference backends, including [vLLM](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/vllm_deploy_en.md), [SGLang](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/sglang_deploy.md), [llama.cpp](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/llamacpp_deploy.md), [Ollama](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/ollama_deploy.md), and [FlagOS](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/flagos_deploy_en.md). ### Agent Skill You can also have a coding agent follow the [Agent Skill](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/SKILL_en.md) to set up the environment, download the model, and parse a first document. ```text Read and execute https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/SKILL_en.md ``` ### Fine-tuning [LLaMA-Factory](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/llamafactory_minicpm_ocr_french_en.md) · [ms-swift](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/swift_minicpm_ocr_french_en.md) — data preparation, full-parameter SFT with the multimodal projector frozen, training, and evaluation (French handwritten text lines). ### Recognition guide
Task Region Prompt Output
Text-centric document understanding Text block / Paragraph / Title / Page Text Recognition: Plain text
Table Table Recognition: Table in HTML format(via SDK post-processing)
Formula Formula Recognition: LaTeX
Inline formula Text Recognition: LaTeX
Seal Seal Recognition: Plain text
Chart Chart to Table: Table in HTML format(via SDK post-processing)
Structured information extraction Specified fields Extract the "field", .... Format the output as a JSON object with keys: "field", .... If an item is not in the image, use "###". JSON
## Related checkpoints | Format | Hugging Face | ModelScope | | :--- | :--- | :--- | | BF16 (original) **(this repo)** | [🤗](https://huggingface.co/openbmb/MiniCPM-OCR-1.0) | [ModelScope](https://modelscope.cn/models/OpenBMB/MiniCPM-OCR-1.0) | | GGUF (llama.cpp) | [🤗](https://huggingface.co/openbmb/MiniCPM-OCR-1.0-gguf) | [ModelScope](https://modelscope.cn/models/OpenBMB/MiniCPM-OCR-1.0-gguf) | | AWQ W4A16 | [🤗](https://huggingface.co/openbmb/MiniCPM-OCR-1.0-AWQ) | [ModelScope](https://modelscope.cn/models/OpenBMB/MiniCPM-OCR-1.0-AWQ) | | GPTQ W4A16 | [🤗](https://huggingface.co/openbmb/MiniCPM-OCR-1.0-GPTQ) | [ModelScope](https://modelscope.cn/models/OpenBMB/MiniCPM-OCR-1.0-GPTQ) | | DSpark draft (BF16) | [🤗](https://huggingface.co/openbmb/MiniCPM-OCR-1.0-DSpark) | [ModelScope](https://modelscope.cn/models/OpenBMB/MiniCPM-OCR-1.0-DSpark) | | DSpark draft (GGUF) | [🤗](https://huggingface.co/openbmb/MiniCPM-OCR-1.0-DSpark-gguf) | [ModelScope](https://modelscope.cn/models/OpenBMB/MiniCPM-OCR-1.0-DSpark-gguf) | DSpark **requires a matching main and draft model from the same release** — do not mix draft weights with a different main checkpoint. See [DSpark acceleration](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/minicpm_ocr_tutorial_en.md#3-start-the-service). For OCR quality assessment (auto-accept, human-review routing, best-of-N across models), see [MiniCPM-OCR Jev](https://huggingface.co/openbmb/MiniCPM-OCR-Jev). ## FAQ Installation, model downloads, GPU memory, input formats, and unexpected outputs: [FAQ](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/docs/faq_en.md). ## License Model weights, code, and documentation are released under the [Apache License 2.0](https://github.com/OpenBMB/MiniCPM-OCR/blob/main/LICENSE).