Model reference · open weights

MinerU2.5-Pro-2604

LLMs opendatalab Vision + text 1 build Open weights 170k dl/mo

MinerU2.5-Pro-2604 is an open-weight language model from opendatalab. MinerU2.5-Pro-2604-1.2B (BF16) weighs 2.3 GB; the smallest configuration that runs it is RTX 3060 12 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • MinerU2.5-Pro-2604 is a 1.2B parameter image-text-to-text model developed by opendatalab for document parsing.
  • It supports Chinese and English with a context length of 32,768 tokens and is released under the Apache 2.0 license.
  • The model features capabilities for table parsing, formula recognition, and image analysis.

Summary of the opendatalab/MinerU2.5-Pro-2604-1.2B model card, 2026-10-01

What it is

Released byopendatalab
Released2026-04-02
Parameters1.2B
VRAM2.3 GB for the weights

What it runs on

Memory and cards for MinerU2.5-Pro-2604-1.2B (BF16)

2.3 GBweights, file size
12 MBcache per 1K tokens
1.9 GBruntime overhead, at least
32,768 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB7318all 32K11.6 GB
RTX 4060 Ti 16 GB11027all 32K15.4 GB
RTX 3090 24 GB19047all 32K23.4 GB
RTX 4090 24 GB18947all 32K23.4 GB
RTX 5090 32 GB26666all 32K31.0 GB
L40S 48 GB39498all 32K44.0 GB
A100 80 GB734183all 32K78.2 GB
H100 80 GB694173all 32K78.1 GB
RTX PRO 6000 Blackwell 96 GB850212all 32K93.8 GB
DGX Spark (GB10) 128 GB unified984246all 32K107 GB
H200 141 GB1000+322all 32K138 GB
B200 180 GB1000+416all 32K176 GB
Memory needed at each load
Requests at once8K tokens each32K tokens each
14.3 GB4.6 GB
54.7 GB6.3 GB
85.0 GB7.5 GB
165.9 GB10.7 GB
327.5 GB17.1 GB
6410.7 GB30.0 GB

One card, with vLLM's small-card settings.

From the model card

What opendatalab says about MinerU2.5-Pro-2604

Read the model card

MinerU2.5-Pro: Pushing the Limits of Data-Centric Document Parsing at Scale


🏆 Unmatched SOTA Performance

MinerU2.5-Pro is our latest document parsing model (PDF-to-Markdown) that establishes a new industry standard. By focusing entirely on data engineering without altering the original 1.2B-parameter architecture, it delivers exceptional results across the board:

1. Defeating Leading Models on OmniDocBench v1.6 On the newly proposed, highly rigorous OmniDocBench v1.6, MinerU2.5-Pro achieves the absolute SOTA overall score of 95.69. It comprehensively outperforms both top-tier specialized OCR models (GLM-OCR, PaddleOCR-VL-1.5) and massive frontier VLMs (Gemini 3 Pro, Qwen3-VL-235B).

2. Massive Leap from MinerU 2.5 via Data Engineering Compared to the previous MinerU 2.5 baseline, the overall score skyrocketed from 92.98 to 95.69. This breakthrough was achieved not by scaling model parameters, but through meticulous data engineering—drastically expanding data scale, enriching distribution and difficulty diversity, and systematically elevating annotation quality.

3. Exceptional Modality-Specific Breakthroughs

  • 📊 Table Parsing: Evaluated across 5 diverse table benchmarks, MinerU2.5-Pro dominates the leaderboard. It outperforms the 2nd place model by 1.39 points and surpasses the original MinerU by 3.06 points (with Table TEDS jumping specifically by +5.54 on OmniDocBench).
  • 🧮 Formulas & Text: Achieves SOTA levels with Dense Formula parsing (CDM) reaching 97.29 (+1.70), and Text Edit Distance dropping to an industry-best 0.036.

4. ✨ New Practical Capabilities Beyond metric improvements, MinerU2.5-Pro now natively supports: Image & Chart Parsing, Truncated Paragraph Merging, Cross-Page Table Merging and In-Table Image Recognition.


💡 How We Achieved It: The Data Engine

Current SOTA models (regardless of architecture) consistently fail on the same set of complex layouts. We realized the true bottleneck is training data deficiency and annotation noise. To fix this, we built a novel Data Engine:

  1. Difficulty & Diversity-Aware Scaling: We expanded the training corpus from under 10M to 65.5M pages, heavily targeting long-tail hard samples while controlling distribution shifts.
  2. Solving the "Annotation Paradox": Complex tables and dense formulas usually suffer from noisy automatic labels. We generated ultra-reliable annotations using Cross-Model Consistency Verification (CMCV) and an iterative Judge-and-Refine pipeline.
  3. 3-Stage Progressive Training: We maximized data utility by matching data quality tiers to a structured training pipeline: Large-scale Pre-training ➡️ High-quality Hard-Sample Fine-Tuning ➡️ GRPO Format Alignment.

Bottom Line: MinerU2.5-Pro proves that systematic data engineering is the ultimate lever for document parsing, providing the most accurate structural extraction available today for LLM data pipelines and advanced RAG systems.

1. Quick Start

For convenience, we provide mineru-vl-utils, a Python package that simplifies the process of sending requests and handling responses from MinerU2.5-Pro Vision-Language Model. Here we give some examples to use MinerU2.5-Pro. For more information and usages, please refer to mineru-vl-utils.

📌 We strongly recommend using vllm for inference, as the vllm-async-engine can achieve a concurrent inference speed of 2.12 fps on one A100.

1.1. Install packages

# For `transformers` backend
pip install "mineru-vl-utils[transformers]"
# For `vllm-engine` and `vllm-async-engine` backend
pip install "mineru-vl-utils[vllm]"

1.2. transformers Example

from transformers import AutoProcessor, Qwen2VLForConditionalGeneration
from PIL import Image
from mineru_vl_utils import MinerUClient

# for transformers>=4.56.0
model = Qwen2VLForConditionalGeneration.from_pretrained(
    "opendatalab/MinerU2.5-Pro-2604-1.2B", dtype="auto", device_map="auto"
)

processor = AutoProcessor.from_pretrained(
    "opendatalab/MinerU2.5-Pro-2604-1.2B", use_fast=True
)

client = MinerUClient(
    backend="transformers", model=model, processor=processor,
    image_analysis=False # default False, set True to enable image/chart analysis
)

print(client.two_step_extract(Image.open("/path/to/page.png")))

1.3. vllm-engine Example (Recommended!)

from vllm import LLM
from PIL import Image
from mineru_vl_utils import MinerUClient
from mineru_vl_utils import MinerULogitsProcessor  # if vllm>=0.10.1

llm = LLM(
    model="opendatalab/MinerU2.5-Pro-2604-1.2B",
    logits_processors=[MinerULogitsProcessor]  # if vllm>=0.10.1
)

client = MinerUClient(
    backend="vllm-engine", vllm_llm=llm,
    image_analysis=False # default False, set True to enable image/chart analysis
)

print(client.two_step_extract(Image.open("/path/to/page.png")))

1.4. JSON result to Markdown (enable truncated paragraph merging)

from mineru_vl_utils.post_process import json2md

# ... omit client initialize
content_list = client.two_step_extract(Image.open("path/to/page.png"))
md_res = json2md(content_list)

🚧 Cross-Page Table Merging: Currently under integration. Stay tuned!

2. Performance

2.1. End-to-End Document Parsing on OmniDocBench v1.6

2.2. Text Recognition

2.3. Formula Recognition

2.4. Table Recognition

3. Showcase

3.1. Basic Parsing Capability

3.2. Extra Supported Features

4. Acknowledgement & Citation

We would like to thank Qwen Team, vLLM, OmniDocBench, PaddleOCR, UniMERNet, DocLayout-YOLO for providing valuable code and models. We also a

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms