PaddleOCR-VL-1.6

multimodal

PaddleOCR-VL-1.6 is a compact document processing model developed by the PaddlePaddle team (Baidu). Its architecture is fully inherited from PaddleOCR-VL-1.5 and consists of four key components. The visual encoder is implemented in the NaViT style (Native Resolution Visual Encoder)—a transformer with dynamic resolution that processes image patches at their original scale without forced resizing, which is critical for preserving fine details in documents. The connector is an Adaptive MLP Connector that projects visual features into the language model's embedding space. The text model is the compact ERNIE-4.5-0.3B from Baidu, ensuring the generation of structured text output. The full document processing pipeline additionally utilizes a fourth element, PP-DocLayoutV3, a layout analysis model that performs multi-point region localization, supporting perspective distortion, curved pages, and non-standard layouts.

The key idea behind version 1.6 is not an increase in parameters or a change in architecture, but rather targeted work on "Under-Optimized Regions"—data areas where the previous model demonstrated unstable predictions. To address this, a specialized Data Engine was developed to identify three types of problematic zones: boundary-fragile (unstable predictions with minimal visual changes), coverage-sparse (rare scenarios with insufficient representation in the training data), and unreliable-supervision (erroneous annotations in the training set). Subsequently, a progressive post-training recipe (CPT → SFT → RL/GRPO) is applied, where each stage works with a specific data subset depending on its reliability and training value.

Unlike universal multimodal LLMs (Gemini, GPT, Qwen-VL), PaddleOCR-VL-1.6 is narrowly specialized in OCR and document processing tasks. As a result, with only 0.9B parameters, it outperforms models that are 80–260 times larger, achieving the best result on OmniDocBench v1.6 (a comprehensive evaluation of PDF document parsing: text, formulas, tables, reading order) at 96.33%, surpassing MinerU2.5-Pro (95.75%), GLM-OCR (95.22%), Gemini 3 Pro (92.91%), Qwen3-VL-235B (89.78%), and GPT-5.2 (86.59%). It also secures 1st place on Real5-OmniDocBench (parsing under real-world conditions: scanning, deformation, screen captures, lighting variations, tilt) with a score of 93.19%.

PaddleOCR-VL-1.6 is designed for a wide range of document-related tasks and is most effective where high accuracy is required under limited computational resources. The basic scenario involves converting PDFs, scans, and photos into Markdown/JSON while preserving structure, reading order, tables, and formulas. It further excels in processing complex tables and financial documents—recognizing tables with merged cells, nested structures, or no borders, including financial reports, invoices, registration forms, and statistical tables, with support for table stitching across page breaks and restoration of header hierarchies. Additionally, it handles specialized elements such as recognizing mathematical formulas (outputting in LaTeX), parsing charts and diagrams into tabular data, and reading round, oval, or rectangular stamps and seals even with text overlap and low contrast. Furthermore, it supports end-to-end text spotting—simultaneous localization and recognition of text on IDs, ancient manuscripts, advertising posters, dialogue screenshots, signs, and multilingual images. All of this is available under the open-source Apache 2.0 license.

To achieve the most effective results, it is recommended to use the model in conjunction with PP-DocLayout. For more details on this, as well as specifics on how to properly format and direct queries to the model, please refer to the following link: https://docs.vllm.ai/projects/recipes/en/latest/PaddlePaddle/PaddleOCR-VL.html


Announce Date: 27.05.2026
Parameters: 959M
Context: 132K
Layers: 18
Attention Type: Full Attention
Developer: Baidu, Inc.
Transformers Version: 4.55.0
vLLM Version: >=0.11.1
License: Apache 2.0

Public endpoint

Use our pre-built public endpoints for free to test inference and explore PaddleOCR-VL-1.6 capabilities. You can obtain an API access token on the token management page after registration and verification.
Model Name Context Type GPU TPS Tooling Status Link
PaddlePaddle/PaddleOCR-VL-1.6 131K Public A2 10.8 AVAILABLE chat

API access to PaddleOCR-VL-1.6 endpoints

curl https://chat.immers.cloud/v1/endpoints/paddleocr-vl-1.6/generate/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer USER_API_KEY" \
--data-binary @- <<"EOF"
{"model": "paddleocr-vl-1.6", "temperature": 0.0, "skip_special_tokens": false, "messages": [
{"role": "user", "content": [
{ "type": "text", "text": "OCR:" },
{ "type": "image_url", "image_url": { "url": "https://raw.githubusercontent.com/open-mmlab/mmocr/refs/heads/main/demo/demo_text_det.jpg" }}
]}
]}
EOF
$response = Invoke-WebRequest https://chat.immers.cloud/v1/endpoints/paddleocr-vl-1.6/generate/chat/completions `
-Method POST `
-Headers @{
"Authorization" = "Bearer USER_API_KEY"
"Content-Type" = "application/json; charset=utf-8"
} `
-Body ([System.Text.Encoding]::UTF8.GetBytes((@{
model = "paddleocr-vl-1.6"
skip_special_tokens = $false
temperature = 0.0
messages = @(
@{ role = "user"; content = @(
@{ type = "text"; text = "OCR:" },
@{ type = "image_url"; image_url = @{ url = "https://raw.githubusercontent.com/open-mmlab/mmocr/refs/heads/main/demo/demo_text_det.jpg" } })
})
} | ConvertTo-Json -Depth 10)))
([System.Text.Encoding]::UTF8.GetString($response.RawContentStream.ToArray()) | ConvertFrom-Json).choices[0].message.content
#!pip install OpenAI --upgrade

from openai import OpenAI

client = OpenAI(
api_key="USER_API_KEY",
base_url="https://chat.immers.cloud/v1/endpoints/paddleocr-vl-1.6/generate/",
)

chat_response = client.chat.completions.create(
model="paddleocr-vl-1.6",
temperature=0.0,
extra_body={
"skip_special_tokens": False
},
messages=[
{"role": "user", "content": [
{"type": "text", "text": "OCR:"},
{"type": "image_url", "image_url": {"url": "https://raw.githubusercontent.com/open-mmlab/mmocr/refs/heads/main/demo/demo_text_det.jpg"}}
]},
]
)
print(chat_response.choices[0].message.content)

Private server

Rent your own physically dedicated instance with hourly or long-term monthly billing.

We recommend deploying private instances in the following scenarios:

  • maximize endpoint performance,
  • enable full context for long sequences,
  • ensure top-tier security for data processing in an isolated, dedicated environment,
  • use custom weights, such as fine-tuned models or LoRA adapters.

Recommended server configurations for hosting PaddleOCR-VL-1.6

Prices:
Name GPU Price, hour TPS Max Concurrency
teslaa2-1.16.32.160
131,072.0
1 $0.38 136.27 5.005 Launch
teslaa10-1.16.32.160
131,072.0
1 $0.53 86.14 7.822 Launch
rtx3080-1.16.32.160
131,072.0
1 $0.57 204.54 2.676 Launch
rtx3090-1.16.24.160
131,072.0
1 $0.83 107.01 8.256 Launch
rtx4090-1.16.32.160
131,072.0
1 $1.02 255.50 8.217 Launch
rtx3090-2.16.64.160.nvlink
131,072.0
tensor
2 $1.56 17.569 Launch
rtx5090-1.16.64.160
131,072.0
1 $1.59 11.565 Launch
teslaa100-1.16.64.160
131,072.0
1 $2.37 193.00 31.004 Launch
h100-1.16.64.160
131,072.0
1 $3.83 234.17 30.900 Launch
h100nvl-1.16.96.160
131,072.0
1 $4.11 240.93 36.575 Launch
teslaa100-2.24.96.160.nvlink
131,072.0
tensor
2 $4.61 63.111 Launch
h200-1.16.128.160
131,072.0
1 $4.74 55.909 Launch
h200-2.24.256.160.nvlink
131,072.0
tensor
2 $9.40 112.628 Launch

Need help?

Contact our dedicated neural networks support team at support@immers.cloud or send your request to the sales department at sale@immers.cloud.

We use cookies and web analytics services to ensure the proper functioning of the website, analyze web-site traffic, and improve the quality of our services.
By continuing to use the website, you consent to the Privacy Policy and consent to the processing of cookie files and technical data.