Text / WORKFLOW

Convert PDFs to Markdown locally with MiniCPM-OCR 1.0

Run OpenBMB’s MiniCPM-OCR SDK with a local llama.cpp server to turn a whole PDF into Markdown in reading order, with tables and formulas, on Windows, Mac or Linux.

Verified sourceSource checked 11/9/2026
LOCAL
Freshness 93 out of 100. Release age: 18 days old, Oct 27, 2026. Measures age, not quality.
Popularity 70 out of 100. 143,265 downloads in 30 days; 457 lifetime likes. Checked Nov 13, 2026. Measures adoption, not quality.
What do these scores mean?

Two ways to compare models. Neither score measures answer quality, benchmark performance, or whether a model fits your machine.

Freshness · release age

A new release starts at 100. The score halves every 180 days: 100 × 2^(−age in days / 180). When the release date is unavailable, a repository date is a fallback—not proof of when the model was released. Missing dates stay unscored.

Check the date source
Popularity · adoption

Downloads over the past 30 days carry 80% of the score; lifetime likes carry 20%. Both use a logarithmic scale, capped at 10 million downloads and 100,000 likes. If likes are unavailable, downloads carry all the weight. Missing download statistics stay unscored.

round(80 × min(1, log10(1 + downloads) / 7) + 20 × min(1, log10(1 + likes) / 5))

Check the statistics source
Scores as of Nov 14, 2026. Statistics checked Nov 13, 2026. Statistics are marked for refresh after 72 hours.Full scoring method

Before you begin

Hardware

Estimates for a short PDF with CPU layout detection. OpenBMB reports about 21 seconds for one table image on a 48-thread CPU; a laptop will be slower. Not measured by YouRunAI.

MachineMiniCPM-OCR 1.0 · Q4_K_M GGUFMiniCPM-OCR 1.0 · Q8_0 GGUF
NVIDIA · 6 GB VRAM + 16 GB RAMRecognition on the GPU; layout on CPURecognition on the GPU; layout on CPU
AMD Radeon · 8 GB VRAMRecognition through the Vulkan or HIP llama.cpp build, else CPUSame runtime requirement
Intel Arc · 8 GB VRAMRecognition through the Vulkan llama.cpp build, else CPUSame runtime requirement
Apple Silicon · 8 GB unified memoryComfortable; recognition uses MetalComfortable
CPU only · 16 GB RAMWorks; slowest option, minutes for a few pagesWorks; slightly slower than Q4_K_M
PRIVATE PDF PARSING · SDK + LLAMA.CPPSOURCE-LINKED SETUP

Convert PDFs to Markdown locally with MiniCPM-OCR 1.0

Start a local recognition server, install OpenBMB’s SDK and turn a multi-page PDF into one Markdown file with tables and formulas in reading order. Then check it against the PDF.

Choose a package Run its commands Check the result
01
BEFORE YOU BEGIN

Choose your package

Select the weights you want. The instructions, downloads and settings change with your choice.

The publisher has not provided a complete memory target for this task. Check its hardware guidance before starting.

CURRENT SETUP

MiniCPM-OCR 1.0 · Q8_0 GGUF · official

Start at 8,192 tokens of context, the value OpenBMB uses with its SDK. Each page region is a separate short request, so a longer context only adds memory use without helping.

Freshness 93 out of 100. Release age: 18 days old, Oct 27, 2026. Measures age, not quality.
Popularity 70 out of 100. 143,265 downloads in 30 days; 457 lifetime likes. Checked Nov 13, 2026. Measures adoption, not quality.
What do these scores mean?

Two ways to compare models. Neither score measures answer quality, benchmark performance, or whether a model fits your machine.

Freshness · release age

A new release starts at 100. The score halves every 180 days: 100 × 2^(−age in days / 180). When the release date is unavailable, a repository date is a fallback—not proof of when the model was released. Missing dates stay unscored.

Check the date source
Popularity · adoption

Downloads over the past 30 days carry 80% of the score; lifetime likes carry 20%. Both use a logarithmic scale, capped at 10 million downloads and 100,000 likes. If likes are unavailable, downloads carry all the weight. Missing download statistics stay unscored.

round(80 × min(1, log10(1 + downloads) / 7) + 20 × min(1, log10(1 + likes) / 5))

Check the statistics source
Scores as of Nov 14, 2026. Statistics checked Nov 13, 2026. Statistics are marked for refresh after 72 hours.Full scoring method
View weight source
02
THE WORKFLOW

Set up MiniCPM-OCR 1.0 · Q8_0 GGUF on your machine

Choose where you want to run it. The instructions below update to match your selection.

CHOOSE YOUR SETUPWindows
01

Install Python and llama.cpp

Install Python 3.10 or newer from python.org (tick “Add python.exe to PATH”), then open PowerShell and install llama.cpp with winget. Close and reopen PowerShell afterwards.

Download Python Official llama.cpp releases
PowerShell
winget install llama.cpp
python --version
02

Start the Q8_0 recognition server

In PowerShell, start llama.cpp’s server with OpenBMB’s SDK settings: model name minicpm-ocr, an 8,192-token context, one request at a time and reasoning off. The first run downloads the 0.81 GB + 0.90 GB projector from OpenBMB’s GGUF repository, including the vision projector. Leave this window open; the server listens only on this computer at http://127.0.0.1:8080.

OpenBMB GGUF files and SDK settings
PowerShell
llama-server -hf openbmb/MiniCPM-OCR-1.0-gguf:Q8_0 --alias minicpm-ocr --ctx-size 8192 --parallel 1 --jinja --reasoning off --host 127.0.0.1 --port 8080
03

Install the MiniCPM-OCR SDK

Open a second PowerShell window. Create a Python environment and install OpenBMB’s SDK. It provides the minicpmvocr command, which finds the layout of each page and sends every text block, table and formula to the server.

minicpm-ocr on PyPI MiniCPM-OCR GitHub
PowerShell
python -m venv "$HOME\ocr-env"
& "$HOME\ocr-env\Scripts\Activate.ps1"
python -m pip install "minicpm-ocr[all]"
04

Convert a PDF to Markdown

Put a short PDF (two or three pages to start) in the folder you are in and name it document.pdf. Paste the command below into the second PowerShell window and press Enter to run it: the SDK detects each page’s layout and the server extracts the text, tables and formulas. It uses the CPU for layout detection, as in OpenBMB’s llama.cpp example, so no CUDA setup is needed; the first run also downloads the PP-DocLayoutV3 layout model into a models folder. Expect tens of seconds per page on a laptop CPU.

Publisher parse example (llama.cpp backend)
PowerShell
minicpmvocr parse document.pdf --backend llamacpp --server-url http://127.0.0.1:8080 --model minicpm-ocr --device cpu --workers 1 --set engine.max_model_len=8192 --set pipeline.queue_mode=serial --set pipeline.overlap_layout=false --set run.run_root=output --output output/document.md
05

Check the Markdown against the PDF

Open output/document.md next to the PDF. Text should be in reading order, tables appear as HTML tables and formulas as LaTeX. Check a paragraph, a number and one table cell on each page. Per-page Markdown and structured JSON are in the run folder inside output. Stop the server with Ctrl+C when you are done.

03
SUCCESS CHECK · MiniCPM-OCR 1.0 · Q8_0 GGUF

A Markdown copy of the PDF you checked

output/document.md contains every page in reading order with tables and formulas, and spot checks of text, numbers and table cells match the PDF.

OpenBMB’s fastest whole-PDF route is its vLLM recipe or official Docker image on Linux with an NVIDIA GPU; this guide uses the publisher’s llama.cpp backend because it runs on every desktop. Checked November 9, 2026; not run by YouRunAI.

Back to setup steps

When it doesn’t go to plan

minicpmvocr cannot connect to the server.

Keep the llama-server window open, wait for it to say it is listening, and check http://127.0.0.1:8080 in a browser. The --model name must be minicpm-ocr in both commands.

Installing the SDK fails on paddlepaddle.

Use Python 3.10–3.12 in a fresh environment and upgrade pip first. On Linux with an NVIDIA GPU you can follow OpenBMB’s CUDA install instead.

Some regions come back empty or garbled.

Use the Q8_0 package, scan at a higher resolution, and check the per-page JSON to see which regions failed.

REFERENCE LIBRARY

Sources and files

Original instructions, model files, and compatibility notes behind this setup.

4 SOURCES

The model behind this workflow

MiniCPM-OCR 1.0

Keep exploring

Text
SETUP GUIDE

Qwen3.5 · 9B private chat setup

Source-backed package and platform-route plan for private local chat with Qwen3.5 · 9B. Preserves the official Ollama 9B package, a smaller 4B family fallback, and a clearly labeled community uncensored GGUF option.

Freshness 37 out of 100. Release age: 260 days old, Feb 27, 2026. Measures age, not quality.
Popularity 91 out of 100. 6,201,482 downloads in 30 days; 2,357 lifetime likes. Checked Nov 13, 2026. Measures adoption, not quality.
SOFTWAREOllama
Coding
SETUP GUIDE

Build a private coding assistant with Qwen3.8 27B

Run Qwen3.8 27B with Ollama, connect it to Cline in VS Code, and make one reviewable code change in a tiny local project.

Freshness 68 out of 100. Repository age: 101 days old, Aug 5, 2026. Measures age, not quality.
Popularity 95 out of 100. 6,960,395 downloads in 30 days; 19,805 lifetime likes. Checked Nov 13, 2026. Measures adoption, not quality.
Arena Open Source Web coding: rank 13 of 63. Ranked model: Qwen3.8-27B. Original model ranking, not a benchmark of this package. Export dated Nov 11, 2026. Source checked Nov 13, 2026. Human preference ranking, not hardware suitability.+3
SOFTWAREOllama + Visual Studio Code + Cline + Python
Images
SETUP GUIDE

Create images locally with FLUX.2 Klein

Generate images from text prompts in ComfyUI with the fast distilled or more adjustable base 4B model. Save your results and reuse the visual workflow.

Freshness 31 out of 100. Release age: 303 days old, Jan 15, 2026. Measures age, not quality.
Popularity 77 out of 100. 438,415 downloads in 30 days; 1,117 lifetime likes. Checked Nov 13, 2026. Measures adoption, not quality.
SOFTWAREComfyUI