Menu
Flagship / Document AI
DocTorture
A controlled synthetic stress environment for OCR and document AI. Exact annotations, deterministic recipes and a holdout that stays put.
One source. Every stress condition.
01 / SOURCE

02 / CONTROLLED VARIATION

03 / EVIDENCE
Stress severityA controlled difference. A traceable recipe.
Sealed dataset / v1.0
10,000 samples.
One traceable release.
The current 10K corpus contains 2,500 source groups, each with clean, subtle, moderate, and severe variants. Source groups stay together across training, validation, and test splits.
Five document templates and 8 intentionally bounded condition families define a controlled scope. Every sample includes exact annotations, generation manifests, and immutable checksums.
The model scores published on this site were measured on the separate DocTorture-1K v0.1 benchmark. They do not measure this 10,000-sample v1.0 release.
Read the methodology- Unique samples
- 10,000
- Source groups
- 2,500
- Train / validation / test
- 8,000 / 1,000 / 1,000
- Per severity cohort
- 2,500 samples
- Condition families
- 8 bounded families
- Release status
- Versioned & verified
Controlled acquisition stress
Inspect the conditions.
- 01Blur
- 02Motion blur
- 03JPEG compression
- 04Perspective
- 05Rotation / skew
- 06Page cropping
- 07Contrast loss
- 08Color cast
The explorer shows v1.0 specimens from six condition families.

Motion blur / moderate · severity 0.6
Select a cell to inspect the retained specimen.
10,000 samplesfrozen labelsrecipes + seedsper evaluated runSHA256Qualified scope.
Verifiable delivery.
Dataset provenance and reproducibilityRelease integrity / SHA256
Identify the exact artifact.
- DocTorture-10K v1.0 archive
- 69dab6e6946e2ad030b7f5df55c3d33050eabaa22561f18a583b64eac4b0942c
- 10K checksum-index digest
- f6c321c25adef72b6f4c2a6e025b3a10ae2d598d2dc8c688af8ebbc8c2852c75
Dataset archives are private and delivered under an agreed license.
Build with evidence
See what breaks
before production does.
Run StressBench against your document model and get a condition-level robustness readout.
