PaddleOCR-VL-1.6 · openparser@1

Document parsing API
for typed layout blocks.

Send a PDF or image. Get back normalized blocks, markdown, table structure, bounding boxes, and per-block confidence through one REST endpoint. PaddleOCR-VL-1.6 runs behind the API today.

Blocks and markdownBBox + confidenceSync, async, batch
1
2
3
b1 title
PAYMENT AUTHORIZATION
b2 field
Account
4021-8837
b3 field
Date
May 2025
b4 table
ItemAmount
Consulting$4,636.40
Adjustment-$318.20
Total$4,318.20
b5 checkbox
PaidPending
b6 signature
readingpaddleocr-vl-1.6
analyzing
0/6 blocks
/ api

One API for typed layout blocks.

POST to /parse for sync, async, or batch. Poll /jobs for status. Retrieve file bytes when you need them again.

endpointsapi.openparser.dev
  • Full API reference
POST/parserequest
curl https://api.openparser.dev/parse \
  -H "Authorization: Bearer op_live_…" \
  -H "Idempotency-Key: $(uuidgen)" \
  -F 'request={"ocr_model":"paddleocr-vl-1.6","output_format":"openparser@1"};type=application/json' \
  -F "file=@statement.pdf"
response200 · 1.9s
{
  "output_format": "openparser@1",
  "document_id": "doc_3f9a2c",
  "page_count": 1,
  "markdown": "## Payment Authorization\n| Item | Amount |\n| …",
  "blocks": [
    { "index": 0, "page_number": 1, "kind": "text",
      "text": "## Payment Authorization" },
    { "index": 1, "page_number": 1, "kind": "table",
      "table_html": "<table>…</table>",
      "bbox": { "left": 14, "top": 53, "right": 146, "bottom": 123 },
      "confidence": 0.98 }
  ],
  "regions": [],
  "contents": [],
  "chunks": []
}
/ console

Inspect parsed blocks before you integrate.

Use the playground to upload a PDF, review markdown and block kinds, then create API keys when you are ready to ship.

openparser.dev/playgroundsigned in
playgroundno code
statement.pdf1 page · 48 KB
parsePaddleOCR-VL-1.6open
extractClaudeGPT-4oLlamalocalany LLM
Run{ total: "$4,318.20" } b4
/ output

Every page returns structured layout.

The parse endpoint fills a ParsedDocument: typed blocks[], markdown, and the openparser@1 fields your integration can rely on.

Typed layout blocks

Each page comes back as an ordered list of blocks. Kinds include text, headings, tables, figures, and signatures. Every block has an index you can cite downstream.

b1
0.99
b4
0.98
b6
0.70

OCR confidence

Blocks can include OCR confidence scores. Set a threshold and send low-confidence results to review before they enter your pipeline.

Normalized output

Responses use the openparser@1 contract: document_id, page_count, blocks[], markdown, and stable fields for downstream processing.

schema {
total
}
{
total: "$4,318"
}

Downstream extraction

Parsing stops at layout. Point /extract at a parse job when you need JSON against a schema, with citations tied to block ids.

b4

Bounding boxes

Blocks include bbox coordinates on the source page. Highlight the region behind a citation or overlay parsed content on the original PDF.

b2b4b6
x, y, w, h

Tables and figures

Tables return as structured blocks with HTML. Figures carry their own block type so agents can treat charts and images differently from body copy.

/ pricing

Pay per parsed page.

Parsing is metered by page count. Extraction is a separate step with its own model cost.

start free
1,000
pages free
pay per page
$1/ 1,000 pages
sync, async, or batch
+
extraction
Per token
billed based on model
  • First 1,000 parsed pages free
  • $1 per 1,000 pages after that
  • Sync, async, and batch included
  • Extraction billed per token on the LLM you choose
  • Console and API keys
Create an API key
/ questions

Document parsing API FAQ.

Answers about PaddleOCR-VL-1.6, response fields, processing modes, and pricing.

What parser does the document parsing API run?

PaddleOCR-VL-1.6. Pass ocr_model paddleocr-vl-1.6 in the request JSON. OpenParser hosts the model; you call the REST API.

What does a parse response contain?

A ParsedDocument with output_format openparser@1, document_id, page_count, markdown, and blocks[]. Blocks can include text, headings, tables, figures, bounding boxes, and confidence values.

Can I parse PDFs asynchronously?

Yes. POST to /parse/async, then GET /jobs/{id} for status and the result when the job succeeds. Batch parsing uses /parse/batch with multiple files in one request.

How is parsing different from basic OCR?

Basic OCR returns a text dump. The parse endpoint returns typed layout blocks and markdown, with table structure, block ids, bounding boxes, and per-block confidence.

How much does parsing cost?

The first 1,000 parsed pages are free. After that, parsing costs $1 per 1,000 pages. Structured extraction adds the token cost of whichever language model you select.

What file types can I send?

PDFs and images. Upload the file as multipart form data alongside the request JSON, as shown in the API reference.

/ 1,000 pages free

Upload a PDF and
read the blocks.

The playground runs the same PaddleOCR-VL-1.6 parser as production. Inspect markdown, block kinds, and confidence before you wire the API.