Model reference · open weights
PaddleOCR-VL-1.5 is an open-weight language model from Baidu. PaddleOCR-VL-1.5 (BF16) weighs 1.9 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.
Summary of the PaddlePaddle/PaddleOCR-VL-1.5 model card, 2026-10-01
What it is
| Released by | Baidu |
|---|---|
| Released | 2026-01-28 |
| Parameters | 959M |
| VRAM | 1.9 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB | 51 | 12 | all 128K | 11.6 GB |
| RTX 4060 Ti 16 GB | 77 | 19 | all 128K | 15.4 GB |
| RTX 3090 24 GB | 129 | 32 | all 128K | 23.4 GB |
| RTX 4090 24 GB | 129 | 32 | all 128K | 23.4 GB |
| RTX 5090 32 GB | 180 | 45 | all 128K | 31.0 GB |
| L40S 48 GB | 266 | 66 | all 128K | 44.0 GB |
| A100 80 GB | 492 | 123 | all 128K | 78.2 GB |
| H100 80 GB | 469 | 117 | all 128K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 573 | 143 | all 128K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 663 | 165 | all 128K | 107 GB |
| H200 141 GB | 866 | 216 | all 128K | 138 GB |
| B200 180 GB | 1000+ | 279 | all 128K | 176 GB |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 3.9 GB | 4.4 GB |
| 5 | 4.5 GB | 6.8 GB |
| 8 | 5.0 GB | 8.6 GB |
| 16 | 6.2 GB | 13.4 GB |
| 32 | 8.6 GB | 23.1 GB |
| 64 | 13.4 GB | 42.4 GB |
One card, with vLLM's small-card settings.
From the model card
PaddleOCR-VL-1.5: Towards a Multi-Task 0.9B VLM for Robust In-the-Wild Document Parsing
🔥 Official Website 📝 Technical Report
PaddleOCR-VL-1.5 is an advanced next-generation model of PaddleOCR-VL, achieving a new state-of-the-art accuracy of 94.5% on OmniDocBench v1.5. To rigorously evaluate robustness against real-world physical distortions—including scanning artifacts, skew, warping, screen photography, and illumination—we propose the Real5-OmniDocBench benchmark. Experimental results demonstrate that this enhanced model attains SOTA performance on the newly curated benchmark. Furthermore, we extend the model’s capabilities by incorporating seal recognition and text spotting tasks, while remaining a 0.9B ultra-compact VLM with high efficiency.
With a parameter size of 0.9B, PaddleOCR-VL-1.5 achieves 94.5% accuracy on OmniDocBench v1.5, surpassing the previous SOTA model PaddleOCR-VL. Significant improvements are observed in table, formula, and text recognition.
It introduces an innovative approach to document parsing by supporting irregular-shaped localization, enabling accurate polygonal detection under skewed and warped document conditions. Evaluations across five real-world scenarios—scanning, skew, warping, screen-photography, and illumination—demonstrate superior performance over mainstream open-source and proprietary models.
The model introduces text spotting (text-line localization and recognition), along with seal recognition, with all corresponding metrics setting new SOTA results in their respective tasks.
PaddleOCR-VL-1.5 further strengthens its capability in specialized scenarios and multilingual recognition. Recognition performance is improved for rare characters, ancient texts, multilingual tables, underlines, and checkboxes, and language coverage is extended to include China's Tibetan script and Bengali.
The model supports automatic cross-page table merging and cross-page paragraph heading recognition, effectively mitigating content fragmentation issues in long-document parsing.
2026.03.06 🚀 Support llama.cpp inference for the VLM component in PaddleOCR-VL-1.5. Click here for details.2026.01.29 🚀 We release PaddleOCR-VL-1.5, —a Multi-Task 0.9B VLM for Robust In-the-Wild Document Parsing.Install PaddlePaddle and PaddleOCR:
# The following command installs the PaddlePaddle version for CUDA 12.6. For other CUDA versions and the CPU version, please refer to https://www.paddlepaddle.org.cn/en/install/quick?docurl=/documentation/docs/en/develop/install/pip/linux-pip_en.html
python -m pip install paddlepaddle-gpu==3.2.1 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/
python -m pip install -U "paddleocr[doc-parser]>=3.4.0"
CLI usage:
paddleocr doc_parser -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/paddleocr_vl_demo.png --pipeline_version v1.5
Python API usage:
from paddleocr import PaddleOCRVL
pipeline = PaddleOCRVL(pipeline_version="v1.5")
output = pipeline.predict("https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/paddleocr_vl_demo.png")
for res in output:
res.print()
res.save_to_json(save_path="output")
res.save_to_markdown(save_path="output")
Start the VLM inference server:
You can start the vLLM inference service using one of two methods:
Method 1: PaddleOCR method
docker run \
--rm \
--gpus all \
--network host \
ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleocr-genai-vllm-server:latest-nvidia-gpu \
paddleocr genai_server --model_name PaddleOCR-VL-1.5-0.9B --host 0.0.0.0 --port 8080 --backend vllm
Method 2: vLLM method
Call the PaddleOCR CLI or Python API:
paddleocr doc_parser \
-i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/paddleocr_vl_demo.png \
--pipeline_version v1.5 \
--vl_rec_backend vllm-server \
--vl_rec_server_url http://127.0.0.1:8080/v1
from paddleocr import PaddleOCRVL
pipeline = PaddleOCRVL(pipeline_version="v1.5", vl_rec_backend="vllm-server", vl_rec_server_url="http://127.0.0.1:8080/v1")
output = pipeline.predict("https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/paddleocr_vl_demo.png")
for res in output:
res.print()
res.save_to_json(save_path="output")
res.save_to_markdown(save_path="output")
For more usage details and parameter explanations, see the documentation.
Currently, the PaddleOCR-VL-1.5-0.9B model facilitates seamless inference via the transformers library, supporting comprehensive text spotting and the recogniti
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.