---
title: "Introducing Drex for Document Processing: document processing your agents can trust"
description: "Drex now checks every page our document engine reads. It has the best Parse Index on our leaderboard, 0.834, ahead of all 12 parsers we tested, at $7 per 1,000 pages."
canonical: "https://www.nace.ai/blog/introducing-drex-for-document-processing"
updated: 2026-11-11
---

# Introducing Drex for Document Processing: document processing your agents can trust

> Drex now checks every page our document engine reads. It has the best Parse Index on our leaderboard, 0.834, ahead of all 12 parsers we tested, at $7 per 1,000 pages.

Blog · Nov 11, 2026 · Nace.AI

**Drex for Document Processing.** The best Parse Index on our leaderboard, 0.834, ahead of all 12 parsers we tested.

- [Explore](https://www.nace.ai/perception)
- [Get started](https://console.nace.ai/?utm_campaign=drex-documents-launch&utm_content=announcement&utm_medium=website&utm_source=nace.ai)

![Parse Index against cost per 1,000 pages. NDI + Drex scores 0.834 at $7, the top of the chart, up from 0.820 for NDI alone at the same cost. LlamaParse Agentic scores 0.820 at $13.80](https://www.nace.ai/images/blog/introducing-drex-for-document-processing/parse-index-cost.png)

Every document workflow starts the same way. Before an agent can approve an invoice, check a contract or reconcile a statement, something has to read the file. Most of the time that's OCR that loses the tables, or a frontier model that reads every page at frontier prices. Either way, what comes out is text nobody has checked.

Today we're introducing **Drex for Document Processing**. Drex is our decision model, and it now makes the judgment calls everywhere inside our document processing engine: whether a line of text matches the page, whether a table kept its shape, whether a ticked box survived the scan. It reads any of 30 file types and returns layout-aware Markdown, where tables stay tables and every block keeps its place on the page.

Drex for Document Processing:

- **has the best Parse Index on our leaderboard**, 0.834, ahead of all 12 parsers we tested,
- **improves on the engine alone on 3 of the 6 benchmarks**, OmniDocBench, MDPBench and ExtractBench, and is within noise of it on 2 more, ParseBench and RealDocBench,
- **reads phone photos of documents**, scoring 91.9 on MDPBench, 8.3 points ahead of the next best parser,
- **scores 95.7 on OmniDocBench**, 5.4 points ahead of the next best parser,
- **and corrects pages 28 to 38 percent faster** than rewriting every page, with the slowest pages more than twice as fast.

It works through the Console, a REST API, a CLI, and Python and TypeScript SDKs, all on the same API key as the rest of Drex.

## Why document pipelines break

Documents don't arrive clean. They arrive as scanned forms, phone photos, 200-page filings, and spreadsheets with merged headers.

Standard OCR recovers the words and loses the rest: the table becomes a run of numbers, the ticked box disappears, a smudged figure turns into a different figure. Sending every page to a frontier model fixes some of that, but it's slow and expensive at volume. So teams add rules, then exceptions to the rules, then people to check the exceptions.

## How Drex for Document Processing works

Most of the work in reading a document is judgment: is this text right, did this table keep its rows, is that box ticked or not. Drex for Document Processing makes those calls on every page.

**Read.** The engine turns the file into layout-aware Markdown. Tables stay tables, and every block keeps its place on the page.

**Check.** Drex checks what was read against the page image.

**Correct.** Where the reading and the page disagree, our agentic correction pipeline fixes the text. If a correction comes back empty or much shorter than the original, the original reading is kept, so a failed correction never blanks a page.

Take a scanned expense form with three ticked boxes. Standard OCR returns "Receipts attached: Yes No" for each, with the ticks gone. Drex for Document Processing returns "Receipts attached: [x] Yes □ No", ticks restored on all three, and every line still carries its place on the page.

### Where Drex fits

Drex answers narrow questions, such as "does this OCR line match the image?", with a calibrated probability, in about 50 milliseconds, for about \$2 per million answers. That's what lets the engine check every page and spend its heavy reading only where something is in doubt.

## Beyond OCR

Every generation of document software read a little more of the page. OCR read the characters. Layout models read the structure. Vision-language parsers read the page as an image. Frontier models read everything, at frontier prices.

Drex for Document Processing reads like a careful analyst: fast where the page is clear, careful where it isn't, and it checks its own work before it hands the page back.

## Results

### Parsing leaderboard

On our parsing leaderboard, we compared our engine against leading document parsers and frontier models, and measured what each one costs to run. With Drex, it now tops it.

| Rank | Parser                    | Parse Index | Cost per 1,000 pages |
| ---- | ------------------------- | ----------- | -------------------- |
| 1    | **NDI + Drex**            | **0.834**   | \$7.00               |
| 2    | **NDI**                   | 0.820       | \$7.00               |
| 2    | LlamaParse Agentic        | 0.820       | \$13.80              |
| 4    | GPT-6 Astra (low)         | 0.813       | \$70.57              |
| 5    | LlamaParse Cost Effective | 0.799       | **\$3.80**           |
| 6    | Mistral OCR 4             | 0.796       | \$4.00               |
| 7    | Anthropic Opus 4.7        | 0.787       | \$71.40              |
| 8    | Databricks Parse (high)   | 0.784       | \$6.12               |
| 9    | Chandra-2 (Datalab)       | 0.773       | \$10.00              |
| 10   | Extend AI v1              | 0.766       | \$6.00               |
| 10   | GPT-5.6 Terra             | 0.766       | \$15.51              |
| 12   | Azure DI                  | 0.762       | \$10.00              |
| 13   | Reducto Parse             | 0.744       | \$30.00              |

Parse Index is the aggregate score of our parsing leaderboard. Higher is better. Costs are USD per 1,000 pages at each provider's list price. Every parser's score on every benchmark is on our [Perception page](https://www.nace.ai/perception).

### Benchmark by benchmark

Here is how NDI + Drex does on each benchmark in the leaderboard, against NDI alone and the other 11 parsers.

| Benchmark | NDI + Drex | NDI | LlamaParse Agentic | GPT-6 Astra (low) | LlamaParse Cost Effective | Mistral OCR 4 | Anthropic Opus 4.7 | Databricks Parse (high) | Chandra-2 (Datalab) | Extend AI v1 | GPT-5.6 Terra | Azure DI | Reducto Parse |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| Parse Index | 0.834 | 0.820 | 0.820 | 0.813 | 0.799 | 0.796 | 0.787 | 0.784 | 0.773 | 0.766 | 0.766 | 0.762 | 0.744 |
| OmniDocBench | 95.7 | 92.6 | 89.4 | 89.6 | 87.4 | 89.2 | 88.2 | 90.3 | 88.6 | 85.9 | 89.1 | 86.3 | 83.1 |
| MDPBench | 91.9 | 85.9 | 83.6 | 80.6 | 79.8 | 78.7 | 74.6 | 77.3 | 83.2 | 79.7 | 73.1 | 80.0 | 71.0 |
| ParseBench | 90.85 | 91.16 | 91.78 | 90.67 | 89.87 | 89.55 | 90.26 | 88.25 | 83.70 | 84.59 | 82.56 | 84.93 | 86.37 |
| RealDocBench | 0.857 | 0.868 | 0.846 | 0.917 | 0.803 | 0.824 | 0.841 | 0.833 | 0.781 | 0.836 | 0.825 | 0.796 | 0.785 |
| ExtractBench | 0.586 | 0.562 | 0.582 | 0.5725 | 0.569 | 0.557 | 0.571 | 0.546 | 0.544 | 0.522 | 0.541 | 0.524 | 0.544 |
| Internal financial | 95.5 | 97.5 | 97.0 | 96.2 | 95.9 | 97.5 | 94.6 | 92.6 | 91.9 | 90.5 | 95.3 | 90.8 | 89.7 |
| Cost per 1,000 pages | $7.00 | $7.00 | $13.80 | $70.57 | $3.80 | $4.00 | $71.40 | $6.12 | $10.00 | $6.00 | $15.51 | $10.00 | $30.00 |

*Higher is better, except cost. Bold outside the highlighted column marks the best score in that row. Parse Index averages 7 scores on a 0 to 1 scale, including a financial statements set not shown here. ParseBench is its Content Faithfulness score. Internal financial is our own non-public set.*

NDI + Drex improves on NDI on OmniDocBench, MDPBench and ExtractBench. On ParseBench and RealDocBench the two are within noise of each other.

### Speed

Drex decides which parts of a page need a second look, so the correction step rewrites only what is in doubt instead of the whole page. To measure the difference, we gave both approaches the same first reading of every page, so the only thing that changes is the correction.

| Benchmark | NDI | NDI + Drex | Faster at the median | Faster on the slowest 10% of pages |
| --- | --- | --- | --- | --- |
| ParseBench | 15.6 s | **9.8 s** | 37% | 55% |
| RealDocBench | 20.2 s | **12.5 s** | 38% | 57% |
| MDPBench (English) | 26.7 s | **19.1 s** | 28% | 53% |

Times are the median correction time per page, in seconds, averaged over two runs. Lower is better. The slowest pages gain the most, because a dense page no longer means a long rewrite.

## Get started

Upload a file and parse it on high effort:

```python
from nace_sdk import NaceClient

with NaceClient() as client:  # reads NACE_API_KEY
    uploaded = client.documents.upload("statement.pdf")
    job = client.documents.parse(
        uploaded.as_source(), parse_mode="high", wait_seconds=60
    )
    if job.status != "succeeded":
        job = client.jobs.wait(job.job_id)

print(job.result["document"]["markdown"])
```

Drex for Document Processing reads PDFs and scans, Word, PowerPoint and Visio, Excel and CSV, email and HTML, and images. Spreadsheets are read cell by cell, so merged headers and multi-row tables keep their shape.

It runs where your files are allowed to be: our managed cloud, a dedicated cluster, your own AWS or Azure account, or your own data center with no outbound connection. The models and the API are the same at every tier.

**Drex for Document Processing is available today in the Nace Console.** [Try it for free](https://console.nace.ai/dashboard/perception?utm_campaign=drex-documents-launch&utm_content=post&utm_medium=website&utm_source=nace.ai), or read the [parse docs](https://console.nace.ai/docs/perception/parse?utm_campaign=drex-documents-launch&utm_content=post&utm_medium=website&utm_source=nace.ai).

## About the product

**Drex for Document Processing is generally available.** Any of 30 file types in, layout-aware Markdown out, with Drex checking every page against the image. Every parser's score on every benchmark is on the product page, and the same API key as Drex runs it.

- [Get started](https://console.nace.ai/?utm_campaign=drex-documents-launch&utm_content=announcement&utm_medium=website&utm_source=nace.ai)
- [Explore](https://www.nace.ai/perception)
- [Talk to sales](https://www.nace.ai/contact?product=perception&source=blog)

## For agents

- [Drex API guide](https://www.nace.ai/drex.md): the decision model: request shape, question types, benchmarks and deployment, as markdown
- [Decision endpoint](https://console.nace.ai/v1/systemone): POST with model "drex-latest", a state string and typed questions (choice, noul, score); https://console.nace.ai/v1/models lists checkpoints
- [Document endpoints](https://console.nace.ai/v1/documents/{parse|split|classify|extract|ground}): POST a source (a public URL, an uploaded workspace file or a finished parse job) and poll GET https://console.nace.ai/v1/documents/jobs/{id}; the same key and credit as decisions
- [Console](https://console.nace.ai): API keys, the playground, usage and billing; send `Authorization: Bearer $NACE_API_KEY` on every request
- [Console docs](https://console.nace.ai/docs): quickstart, question types, the document routes, errors, limits and pricing
- [Nace Document Processing](https://www.nace.ai/perception.md): the Perception series: parse, split, classify, extract and ground any file type with a location on every value
- [Drex for Search](https://www.nace.ai/drex/search.md): Drex for Search: decision-powered retrieval for agents, Drex finds the page, cited search through the CLI, SDKs, MCP and REST, and the public benchmark ranks
- [Industries](https://www.nace.ai/industries.md): Nace by industry: the files Document Processing reads and the decisions Drex makes for accounting, banking, mortgage, insurance, legal, healthcare, government, construction, logistics and professional services
- [Developers](https://www.nace.ai/developers.md): The execution layer for agents: Perception, Decision and Search behind one key, the Drex Max frontier, install steps, a scripted agent session and the four deployment boundaries
- [Site index](https://www.nace.ai/llms.txt): every page on nace.ai; append `.md` to any page URL or send `Accept: text/markdown` for the markdown version
