10 OCR models, one ocr_model field

OCR router: switch providers with one API

Set ocr_model on /parse and keep the same request shape, jobs API, and OpenParser document graph. Route to PaddleOCR-VL, GLM-OCR, Mistral, Azure, Google, or AWS Textract without changing client code.

ocr_model switchStable OpenParser outputlive GET /models/ocr
MUTUAL NON-DISCLOSURE AGREEMENT
This Agreement is made on 2 September 2026 between Nimbus Cloud GmbH, 42 Speicherstrasse, Berlin ("Nimbus") and Acme Operations GmbH, 8 Marktgasse, Vienna ("Acme").
4. Term and termination
This Agreement remains in force for three (3) years from the date above. Either party may end it with thirty (30) days' written notice.
5. Governing law
This Agreement is governed by Austrian law. The courts of Vienna have exclusive jurisdiction.
Jonas Weber
Jonas Weber
CEO · Nimbus Cloud GmbH
Date: 02.09.2026
M. Fernández
Marta Fernández
COO · Acme Operations GmbH
Date: 02.09.2026
Nimbus × Acme · ConfidentialPage 2 of 2
fx=SUM(E4:E8)
ABCD
1
Payroll · September 2026
2 
3456789
EmployeeHoursGrossNet
J. Carter1688,333.336,212.40
L. García1607,100.005,402.75
A. Okafor1726,880.005,236.10
M. Fernández1505,400.004,180.20
S. Tanaka1647,950.005,970.35
Total81435,663.3327,001.80
Approved by Finance · 30 Sep 2026. Net pay is after income tax and social security. Transfers scheduled for 1 Oct 2026.
SeptemberAugustSummary
NNimbus Cloud GmbHCloud infrastructure
INVOICE
From
Nimbus Cloud GmbH
42 Speicherstrasse · 10115 Berlin
Bill to
Acme Operations GmbH
8 Marktgasse · 1010 Vienna
Invoice no.INV-2026-0718
Issued30 July 2026
Due13 August 2026
DescriptionQtyAmount
Cloud hosting subscriptionJuly 2026 · Production1€1.200,00
Subtotal€1.200,00
VAT 20%€240,00
Total due€1.440,00
Payment details
Bank transfer · IBAN DE89 3704 0044 0532 0130 00
Reference INV-2026-0718
Nimbus Cloud GmbH · Fictional demonstration invoicePage 1 of 1
CALIFORNIA COMMERCIAL LEASE AGREEMENT
This Lease Agreement made the 2025-05-20, by and between Hope Mante [name of lessor], of 925 The Mews [street address], hereinafter referred to as "Lessor", and Reilly Group [name of lessee], hereinafter referred to as "Lessee".
1. DESCRIPTION OF LEASED PREMISES
The Lessor agrees to lease to the Lessee 2448 square feet of Industrial Space located at 80369 Efren Burg, State of California.
2. TERM OF LEASE
The term of this Lease shall be 4 year(s) 5 month(s), commencing on the 20 May 2025 and expiring at midnight on 20 October 2029.
3. BASE RENT
The net monthly payment shall be 8646 dollars per month. A security deposit of 1395 dollars is required.
☑ Lessee may not renew the Lease.
☐ Lessee may renew with written notice 60 days prior.
Page 5 of 8
REPUBLIC OF ALDORIAIDENTITY CARD
Surname
MANTE
Given names
HOPE ELISE
Date of birth
14.03.1988
Sex
F
Document no.
AX4821937
Date of expiry
22.09.2031
H. Mante
Address
925 THE MEWS, ALDOR CITY
Issuing authority
CITY OF ALDOR · 22.09.2021
Height · Eyes
168 CM · BROWN
IDALDAX48219376<<<<<<<<<<<<
8803145F3109225ALD<<<<<<<<4
MANTE<<HOPE<ELISE<<<<<<<<
{
"invoice_no": "INV-2026-0718","due_date": "2026-08-13","total_due": 1440.00}

Compare 10 OCR models

Choose an ocr_model for POST /parse. Prices below are per 1,000 pages.

Open weightsServed on OpenParser GPUs
  • PaddleOCR-VL 1.6paddleocr-vl-1.6
    Baidu / Paddle
    $1
    Markdown + boxes. General documents at the lowest page price.
  • GLM-OCRglm-ocr
    Z.ai
    $1
    Markdown + boxes. Tables and formulas at the lowest page price.
Cloud OCR APIsMistral, Azure, Google, and AWS through the same request
  • Mistral OCR 4.1mistral-ocr-4-1
    Mistral
    $4.60
    Markdown + boxes. Complex, visually rich docs when quality matters more than price.
  • Mistral OCR 3mistral-ocr-3
    Mistral
    $2.30
    Markdown. Clean markdown without bounding-box regions.
  • Azure DI Layoutazure-di-layout
    Microsoft Azure
    $11.50
    Markdown + boxes. Microsoft-centric deployments and layout-heavy enterprise PDFs.
  • Azure DI Readazure-di-read
    Microsoft Azure
    $1.73
    Plain text + boxes. Search and indexing in Microsoft environments.
  • Google Enterprise Document OCRgoogle-docai-ocr
    Google Cloud
    $1.73
    Markdown + boxes. Google Cloud deployments needing structured OCR.
  • AWS Textract Detectaws-textract-detect
    AWS
    $1.73
    Plain text + boxes. Low-cost text detection for AWS-native pipelines.
  • AWS Textract Layoutaws-textract-layout
    AWS
    $4.60
    Markdown + boxes. Headings, sections, and layout-aware reading order on AWS.
  • AWS Textract Tables + Layoutaws-textract-tables-layout
    AWS
    $17.25
    Markdown + tables + boxes. Forms and financial docs with important tables in AWS.

Switch engines with ocr_model

Every model uses POST /parse, /parse/async, and /parse/batch. Change ocr_model. Auth, jobs, and response shape stay the same.

Install
$ npm i @openparser/sdk
$ pip install openparser-sdk
POST/parserequest
curl https://api.openparser.dev/parse \
  -H "Authorization: Bearer $OPENPARSER_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -F 'request={"ocr_model": "paddleocr-vl-1.6"};type=application/json' \
  -F "file=@invoice.pdf"
200 · resultresponse
{
  "document_id": "doc_3f9a2c",
  "elements": [
    {
      "id": "elem-total",
      "kind": "text",
      "text": "Total due: €1.440,00",
      "locations": [{
        "page_number": 1,
        "bbox": { "left": 468, "top": 712, "right": 1118, "bottom": 760 }
      }],
      "confidence": { "score": 0.98 }
    }
  ],
  "markdown": "# INVOICE\n…"
}

Control plane for OCR routing

You authenticate once, poll the same jobs API, and read one OpenParser output. Each model lists its own page price.

One request shape

Multipart file plus JSON request body. Sync, async, and batch variants stay identical when you change engines.

Per-model page pricing

Each ocr_model lists its own page rate. Open-weight hosted models start at $1 per 1,000 pages. Mistral, Azure, Google, and AWS list higher rates.

Stable document graph

Document metadata, ordered elements, text, and markdown share one contract. Downstream code reads the graph, not vendor JSON.

Discover models at runtime

GET /models/ocr returns ids, guidance, capabilities, option controls, and current retail page prices.

Jobs API unchanged

Poll /jobs the same way for every engine. Batch up to 100 documents without a provider-specific queue.

Extraction stays separate

Parse meters pages. Extract meters LLM tokens. Cite element IDs from whichever OCR model produced the graph.

Page rates follow the ocr_model you pick

New accounts get $10 in credits at signup, about 10,000 pages on open-weight hosted models at $1/1,000 pages. Mistral, Azure, Google, and AWS publish their own page rates on GET /models/ocr.

free credits
$10

At signup. About 10,000 pages on open-weight models.

pay per page
$1/ 1,000 pages

On open-weight models. Cloud OCR bills at its own page rate.

extraction
Per token

Billed on the tokens of the llm_model you pick.

  • Open-weight hosted from $1 / 1,000 pages
  • $10 credits at signup
  • Other models: published rates on /models/ocr
  • Option surcharges listed per model
  • Extraction billed per LLM token
Create an API key

OCR router FAQ

ocr_model values, page pricing, OpenParser output, and when to pick open-weight hosted vs cloud engines.

What is an OCR router?

You pick an OCR model id per request, keep the same endpoints, and receive the same OpenParser document graph.

Is OpenParser an OpenRouter for OCR?

That is the closest comparison. OpenRouter puts many language models behind one API; OpenParser does the same for OCR models. One key, one bill, and one output format, with open-weight models like PaddleOCR-VL and GLM-OCR hosted on our own GPUs next to Mistral, Azure, Google, and AWS.

How do I switch OCR providers?

Change the ocr_model field on parse or file-backed extract requests. Example ids: paddleocr-vl-1.6, glm-ocr, mistral-ocr-4-1, azure-di-layout, google-docai-ocr, aws-textract-layout.

Does every model cost the same?

No. OpenParser-hosted open-weight models start at $1 per 1,000 pages. Mistral, Azure, Google, and AWS publish higher page rates. Check GET /models/ocr for live numbers. New accounts get $10 in free credits.

Does the output format change by model?

The response shape stays the same. Capability details differ: some models omit markdown or regions. The catalog marks those capabilities per id.

How do I list available OCR models?

Call GET /models/ocr, or openparser models ocr --json from the CLI, or client.models.ocr() in the TypeScript SDK.

When should I use open-weight hosted vs a cloud engine?

Start with open-weight hosted models like paddleocr-vl-1.6 or glm-ocr for general documents and cost. Move to Mistral for richer visual docs, or Azure/Google/AWS when you need that vendor’s OCR behavior inside the same OpenParser integration.

Compare ocr_model outputs

Upload a PDF and switch ocr_model in Studio

Change ocr_model on the same file, inspect element kinds and markdown, and compare OpenParser output before you ship.