PaddleOCR-VL-1.6 · REST API
Hosted PaddleOCR-VL API — PDF to Markdown, no deployment
Managed model inference for developers who want structured Markdown without operating the GPU stack.
What this is
pdfToMarkdown runs PaddleOCR-VL-1.6 on managed GPUs behind one REST endpoint. Send a PDF by public URL or base64 and receive finished Markdown plus page and request metadata. This keyless demo request works as-is; the public tier processes page 1 and is limited to 3 requests per minute per IP.
curl -X POST https://pdftomarkdown.dev/v1/convert \
-H "Authorization: Bearer demo_public_key" \
-H "Content-Type: application/json" \
-d '{"input":{"pdf_url":"https://pdftomarkdown.dev/samples/invoice.pdf"}}'The model
PaddleOCR-VL-1.6 was released on May 28, 2026. Its model card describes a compact 0.9B vision-language model built on ERNIE-4.5-0.3B, with an Apache-2.0 license and an architecture compatible with PaddleOCR-VL-1.5. In thetechnical report, the model authors report 96.33% overall on OmniDocBench v1.6; that is an author-reported model result, not an end-to-end benchmark of this API.
Why use a hosted version
PaddleOCR-VL is open source, and official hosted alternatives exist. The practical difference is the account, infrastructure, billing, and output contract around the model. Access details below are current as of July 2026.
| Option | Access and billing | What you manage |
|---|---|---|
| Self-host | Apache-2.0 model weights | GPU capacity, CUDA and FlashAttention runtime, deployment, monitoring, and version churn |
| Paddle AI Studio | Login and API token; 3,000 pages per model per day; 100 pages per file | AI Studio account, token, and service-specific limits |
| Baidu Intelligent Cloud | Real-name verification; RMB billing at ¥0.09 per page | Baidu Cloud account, credentials, and RMB billing |
| pdfToMarkdown | Keyless demo → free key with GitHub login; global billing when paid tiers apply | One stable JSON/Markdown contract with documented error semantics |
Output contract
- Successful responses explicitly include
complete: true. - Simple rectangular tables use escaped GFM pipe-table syntax where the structure is representable.
- Tables with spans or nested content remain sanitized CommonMark-compatible HTML instead of losing cells.
- Complete output is never silently truncated; over-budget responses fail with
response_too_large. - Errors use a documented JSON shape with a machine-readable code, recommended fix, docs URL, and request ID.
- See the API docs and OpenAPI 3.1 specification for the canonical schema.
Measured proof on Japanese and Chinese scans
In our reproducible CJK OCR benchmark, the API measured 0.10% character error rate on Japanese prose and 0.00% on Simplified Chinese prose, while preserving a 28-cell Japanese forecast table. Those API runs used PaddleOCR-VL-1.5; version 1.6 is architecture-compatible, but the benchmark remains labeled with the version actually tested. Read the inputs, methodology, raw excerpts, and limitations.
Frequently asked questions
Which model version do you run?
Production runs PaddleOCR-VL-1.6. The API keeps the model behind a stable response contract so clients do not need to manage model weights or inference dependencies.
Can I self-host instead?
Yes. PaddleOCR-VL-1.6 is available under Apache-2.0 from the official model card. Self-hosting gives you full infrastructure control; this service handles GPU capacity, the CUDA and FlashAttention runtime, model upgrades, PDF page processing, and the API contract.
Do you support PaddleOCR-VL-1.6?
Yes. PaddleOCR-VL-1.6 is the model currently running in production, not a preview or optional request parameter.
What are the limits?
Hacker: public demo key, page 1 only, 3 requests per minute per IP. Developer: free GitHub-login key, 100 pages per month, full multi-page support. See the current tier table in the docs.