> ## Documentation Index
> Fetch the complete documentation index at: https://docs.landing.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Parsing Models

> Choose between DPT-3 Pro and DPT-3 Fast, and pin a model snapshot for consistent parsing results.

export const dpt3fast = 'DPT-3 Fast';

export const dpt3pro = 'DPT-3 Pro';

export const dpt3 = 'DPT-3';

export const dpt = 'Document Pre-Trained Transformer';

A **{dpt}** (DPT) is the model that powers the [Parse v2 API](./parse). The model identifies a document's layout, transcribes the content into Markdown in reading order, and records where every block sits on the page.

The Parse v2 API has two model families:

* **{dpt3pro}** delivers the highest parsing quality. This is the default model.
* **{dpt3fast}** parses digitally created text documents with lower latency and lower credit consumption. This model is in preview.

Set the model with the `model` parameter on [Parse](./parse) and [Parse Jobs](./parse-async) requests. Requests that omit `model` use the latest {dpt3pro} snapshot.

## DPT-3 Pro vs. DPT-3 Fast

{dpt3pro} and {dpt3fast} both run on the same endpoints, accept the same [file types](./file-types), and return the same [response shape](./parse-response).

They differ in what they read and what they return: {dpt3pro} handles more document styles and content types, while {dpt3fast} returns results faster, consumes fewer credits, and adds per-word confidence scores.

| Capability                                               | DPT-3 Fast                                             | DPT-3 Pro |
| -------------------------------------------------------- | ------------------------------------------------------ | --------- |
| Scanned documents and handwriting                        | No                                                     | Yes       |
| Non-Latin scripts and math formulas                      | No                                                     | Yes       |
| Text and marginalia                                      | Yes                                                    | Yes       |
| Tables                                                   | Yes                                                    | Yes       |
| Checkboxes                                               | Yes                                                    | Yes       |
| Key-value pairs and form layouts                         | Less accurate                                          | Yes       |
| Figure descriptions                                      | Basic                                                  | Detailed  |
| Attestation, card, and scan code labels                  | Yes                                                    | Yes       |
| Markdown formatting (headings, bold, underline, italics) | No                                                     | Yes       |
| Atomic grounding granularity                             | Word                                                   | Line      |
| Confidence scores                                        | Word and block level, for text, tables, and marginalia | No        |

### DPT-3 Pro

{dpt3pro} is the default model and the right choice for most workloads. Use it for scanned or handwritten documents, non-Latin scripts, math formulas, and complex forms. It generates detailed descriptions for figures, formats the Markdown output with headings, bold, underline, and italics, and grounds text down to the visual line.

### DPT-3 Fast

{dpt3fast} is optimized for digitally created text documents, such as generated PDFs and Office files, and has lower latency than {dpt3pro}.

In the Markdown output, it often renders the bracketed descriptions of visual content (logos, scan codes, and the visual marks in attestations) as generic markers such as `[VISUAL_TEXT]` rather than descriptive phrases.

{dpt3fast} grounds text, marginalia, and table cells at the word level: the `atomic_grounding` array has one entry per word, and each entry carries a `confidence` value between 0 and 1 that reflects how certain the model is that it transcribed the word correctly. The lowest score also rolls up to each block, table, and page. See [Atomic Grounding](./parse-response#atomic-grounding).

{dpt3fast} consumes fewer credits than {dpt3pro}. For rates, see [Credit Consumption](./credit-consumption#parse).

## Model Versions and Snapshots

The following table lists the available `model` values for [Parse](./parse) and [Parse Jobs](./parse-async):

| Value                         | Behavior                                                        |
| ----------------------------- | --------------------------------------------------------------- |
| `dpt-3-pro-latest`            | The latest snapshot of DPT-3 Pro. This is the default.          |
| `dpt-3-pro`                   | Alias for `dpt-3-pro-latest`.                                   |
| `dpt-3-pro-20260710`          | The snapshot of DPT-3 Pro generated on July 10, 2026.           |
| `dpt-3-fast-latest`           | The latest snapshot of DPT-3 Fast.                              |
| `dpt-3-fast`                  | Alias for `dpt-3-fast-latest`.                                  |
| `dpt-3-fast-20260804-preview` | The preview snapshot of DPT-3 Fast generated on August 4, 2026. |

<Info>
  Some snapshots have been superseded: a newer snapshot replaced them, and they no longer appear in the table above. If you pin a superseded snapshot, your requests still succeed. The API resolves the name to the current snapshot and reports the current version in `metadata.model_version`. Update pinned code to a value from the table.
</Info>

### Why Model Versioning Matters

When integrating the API, you have two options for specifying the model:

1. **Use a general model name** (like `dpt-3-pro` or `dpt-3-pro-latest`) to always get the newest version. This automatically gives you improvements and updates, but parsing results may change when new model versions are released.
2. **Use a specific snapshot** (like `dpt-3-pro-20260710`) to pin to an exact model version. Your results stay consistent for as long as the snapshot is available, but you won't receive improvements.

If you use only a general model name like `dpt-3-pro` in production, your application may produce different results when we release model updates. Consider whether you need consistent results or prefer to receive the latest improvements.

### Understanding Snapshots and -latest

**Snapshots** are frozen versions of a model released on specific dates. A snapshot's parsing behavior never changes while it is available, making your results predictable. When a snapshot is superseded, its name resolves to the current snapshot instead of failing.

The **latest** suffix always points to the most recent snapshot of that model family, and the bare family name is equivalent to `-latest`. Whichever form you send, the response reports the snapshot that actually ran in `metadata.model_version`, so pinned code can detect a change.

## Set the Model

Supply the value in the `model` form field on the request. For the full request reference, see [Parse Input Parameters](./parse-input). To set the model in the Python and TypeScript libraries, see [Python Library](./ade-python) and [TypeScript Library](./ade-typescript). To select the model in the [Playground](./playground), use the model drop-down menu.

For example, this request parses a document with the latest {dpt3pro} snapshot:

```bash theme={null}
curl -X POST 'https://api.ade.landing.ai/v2/parse' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -F 'document=@document.pdf' \
  -F 'model=dpt-3-pro-latest'
```
