Skip to main content
A (DPT) is the model that powers the Parse v2 API. 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:
  • delivers the highest parsing quality. This is the default model.
  • 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 and Parse Jobs requests. Requests that omit model use the latest snapshot.

DPT-3 Pro vs. DPT-3 Fast

and both run on the same endpoints, accept the same file types, and return the same response shape. They differ in what they read and what they return: handles more document styles and content types, while returns results faster, consumes fewer credits, and adds per-word confidence scores.

DPT-3 Pro

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

is optimized for digitally created text documents, such as generated PDFs and Office files, and has lower latency than . 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. 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. consumes fewer credits than . For rates, see Credit Consumption.

Model Versions and Snapshots

The following table lists the available model values for Parse and Parse Jobs:
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.

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. To set the model in the Python and TypeScript libraries, see Python Library and TypeScript Library. To select the model in the Playground, use the model drop-down menu. For example, this request parses a document with the latest snapshot: