Model reference · open weights

MinerU2.5-2509

LLMs opendatalab Vision + text 1 build Its own licence terms 10k dl/mo

MinerU2.5-2509 is an open-weight language model from opendatalab. MinerU2.5-2509-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-2509 is a 1.2B-parameter vision-language model developed by opendatalab for high-resolution document parsing.
  • It uses a two-stage strategy to extract text, formulas, and tables from images, supporting Chinese and English.
  • The model has a context length of 16,384 tokens and is released under the agpl-3.0 license.

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

What it is

Released byopendatalab
Released2025-09-17
Parameters1.2B
VRAM2.3 GB for the weights

What it runs on

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

2.3 GBweights, file size
12 MBcache per 1K tokens
1.9 GBruntime overhead, at least
16,384 tokenscontext max
CardRequests at onceContext maxMemory
8K each
RTX 3060 12 GB73all 16K11.6 GB
RTX 4060 Ti 16 GB110all 16K15.4 GB
RTX 3090 24 GB190all 16K23.4 GB
RTX 4090 24 GB189all 16K23.4 GB
RTX 5090 32 GB266all 16K31.0 GB
L40S 48 GB394all 16K44.0 GB
A100 80 GB734all 16K78.2 GB
H100 80 GB694all 16K78.1 GB
RTX PRO 6000 Blackwell 96 GB850all 16K93.8 GB
DGX Spark (GB10) 128 GB unified984all 16K107 GB
H200 141 GB1000+all 16K138 GB
B200 180 GB1000+all 16K176 GB
Memory needed at each load
Requests at once8K tokens each
14.3 GB
54.7 GB
85.0 GB
165.9 GB
327.5 GB
6410.7 GB

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

From the model card

What opendatalab says about MinerU2.5-2509

Read the model card

MinerU2.5: A Decoupled Vision-Language Model for Efficient High-Resolution Document Parsing


Introduction

MinerU2.5 is a 1.2B-parameter vision-language model for document parsing that achieves state-of-the-art accuracy with high computational efficiency. It adopts a two-stage parsing strategy: first conducting efficient global layout analysis on downsampled images, then performing fine-grained content recognition on native-resolution crops for text, formulas, and tables. Supported by a large-scale, diverse data engine for pretraining and fine-tuning, MinerU2.5 consistently outperforms both general-purpose and domain-specific models across multiple benchmarks while maintaining low computational overhead.

Key Improvements

  • Comprehensive and Granular Layout Analysis: It not only preserves non-body elements like headers, footers, and page numbers to ensure full content integrity, but also employs a refined and standardized labeling schema. This enables a clearer, more structured representation of elements such as lists, references, and code blocks.
  • Breakthroughs in Formula Parsing: Delivers high-quality parsing of complex, lengthy mathematical formulae and accurately recognizes mixed-language (Chinese-English) equations.
  • Enhanced Robustness in Table Parsing: Effortlessly handles challenging cases, including rotated tables, borderless tables, and tables with partial borders.

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 Vision-Language Model. Here we give some examples to use MinerU2.5. 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.

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]"

🔗 Ecosystem & Integrations

This model is used in production via the MinerU Open API — no GPU required. Two deployment tracks:

TrackRequirementBest for
🖥️ Self-hostedGPU (A100 recommended)Research, private deployment
☁️ Cloud APIAPI token (free tier available)Production use, no GPU needed

→ MinerU-Ecosystem on GitHub.


🖥️ Self-Hosted — Direct Model Inference

Use mineru-vl-utils to run MinerU2.5 locally on your own GPU.

transformers

pip install "mineru-vl-utils[transformers]"
from transformers import AutoProcessor, Qwen2VLForConditionalGeneration
from PIL import Image
from mineru_vl_utils import MinerUClient

model = Qwen2VLForConditionalGeneration.from_pretrained(
    "opendatalab/MinerU2.5-2509-1.2B", dtype="auto", device_map="auto"
)
processor = AutoProcessor.from_pretrained(
    "opendatalab/MinerU2.5-2509-1.2B", use_fast=True
)
client = MinerUClient(backend="transformers", model=model, processor=processor)
print(client.two_step_extract(Image.open("/path/to/page.png")))

vllm (recommended — 2.12 fps on A100)

# pip install "mineru-vl-utils[vllm]"
from vllm import LLM
from PIL import Image
from mineru_vl_utils import MinerUClient, MinerULogitsProcessor

client = MinerUClient(
    backend="vllm-engine",
    vllm_llm=LLM(model="opendatalab/MinerU2.5-2509-1.2B",
                 logits_processors=[MinerULogitsProcessor])
)
print(client.two_step_extract(Image.open("/path/to/page.png")))

vllm-async (concurrent batch)

# pip install "mineru-vl-utils[vllm]"
import asyncio, io, aiofiles
from vllm.v1.engine.async_llm import AsyncLLM
from vllm.engine.arg_utils import AsyncEngineArgs
from PIL import Image
from mineru_vl_utils import MinerUClient, MinerULogitsProcessor

async_llm = AsyncLLM.from_engine_args(
    AsyncEngineArgs(model="opendatalab/MinerU2.5-2509-1.2B",
                    logits_processors=[MinerULogitsProcessor])
)
client = MinerUClient(backend="vllm-async-engine", vllm_async_llm=async_llm)

async def main():
    async with aiofiles.open("/path/to/page.png", "rb") as f:
        image = Image.open(io.BytesIO(await f.read()))
    print(await client.aio_two_step_extract(image))

asyncio.run(main())
async_llm.shutdown()

☁️ Cloud API — No GPU Required

Free Flash mode available without a token (20 pages / 10 MB per file).

# Windows (PowerShell)
irm https://cdn-mineru.openxlab.org.cn/open-api-cli/install.ps1 | iex

# macOS / Linux
curl -fsSL https://cdn-mineru.openxlab.org.cn/open-api-cli/install.sh | sh

# Flash extract — no login, Markdown only
mineru-open-api flash-extract report.pdf

# Precision extract — token required
mineru-open-api auth
mineru-open-api extract report.pdf -o ./output/

Python SDK

# pip install mineru-open-sdk
from mineru import MinerU

# Flash mode — free, no token
result = MinerU().flash_extract("report.pdf")
print(result.markdown)

# Precision mode — tables, formulas, large files
client = MinerU("your-token")  # https://mineru.net/apiManage/token
result = client.extract("report.pdf")
print(result.markdown)

RAG — LangChain

# pip install langchain-mineru
from langchain_mineru import MinerULoader

# Flash mode — free, no token
docs = MinerULoader(source="report.pdf").load()
print(docs[0].page_content)

# Precision mode — full RAG pipeline
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddin

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