Can Landing AI recover text from a clean scan?
Landing AI passed the clean-scan OCR scenario. The image-only page had no text layer, and the returned Markdown preserves the letterhead, reference, report date, results rows with values and methods, and the footer in order; the handwritten signature stays a placeholder instead of a guessed name.
1 of 1 test case passed
Every test case in this scenario has a result.
The test case
Each test case is judged on its own: Pass, Fail, Not gradable, or Untested. The scenario result above is based on this test case.
Clean scan — text recoveredPassEvidence
**Kirkhollow Analytical Laboratories Ltd** Braithe Road, Vardenne BR7 2HD 01632 960118 · reception@kirkhollow-labs.example Ms R. Sandiman Braithe Estuary Partnership Estuary House, Vardenne Quay Braithe BR3 4LN Our reference: KAL-11938/26 Date of report: 4 February 2026 # Certificate of analysis Dear Ms Sandiman Thank you for the four water samples delivered to this laboratory on 28 January 2026. They were booked in as batch KAL-11938 and analysed by the methods shown. The results below relate only to the samples as received. <table> <tr><td>Sampling point</td><td>Vardenne Channel, station VQ1</td></tr> <tr><td>Date and time of sampling</td><td>27 January 2026, 09:40</td></tr> <tr><td>Total suspended solids</td><td>41.6 mg/l (method KAL-M04)</td></tr> <tr><td>Chloride</td><td>18,200 mg/l (method KAL-M11)</td></tr> <tr><td>Ammoniacal nitrogen</td><td>0.42 mg/l (method KAL-M12)</td></tr> <tr><td>Dissolved organic carbon</td><td>5.9 mg/l (method KAL-M22)</td></tr> </table> The suspended solids figure is higher than those reported for this station in December and January, which were both below 30 mg/l. The samples were taken on the ebb, two days after the last placement at Kellow Sands, and the result is consistent with that. The remaining samples will be held until 4 March 2026 and destroyed after that date unless you ask us to keep them. [SIGNED] Yours sincerely [SIGNATURE] Dr A. J. Prosser Laboratory Manager Registered in England 2214887 · Results relate only to the samples as received <!-- doc_id=parse-01m22n5v1vdp5m776rtn0e3rpq -->
Returned Markdown file: full text extraction, including table and signature markers
Copied from Output file (Markdown), lines 1–50
Open the Markdown file ↗- metadata
- { "job_id": "parse-01m22n5v1vdp5m776rtn0e3rpq", "model_version": "dpt-3-pro-20260710", "page_count": 1, "output_markdown_chars": 1574, "range_units": "unicode_codepoints", "openapi_spec": "https://api.ade.landing.ai/openapi.json", "failed_pages": [], "duration_ms": 10438, "billing": { "service_tier": "priority", "total_credits": 1.8 } }
- metadata › billing
- { "service_tier": "priority", "total_credits": 1.8 }
- markdown
- **Kirkhollow Analytical Laboratories Ltd** Braithe Road, Vardenne BR7 2HD 01632 960118 · reception@kirkhollow-labs.example Ms R. Sandiman Braithe Estuary Partnership Estuary House, Vardenne Quay Braithe BR3 4LN Our reference: KAL-11938/26 Date of report: 4 February 2026 # Certificate of analysis Dear Ms Sandiman Thank you for the four water samples delivered to this laboratory on 28 January 2026. They were booked in as batch KAL-11938 and analysed by the methods shown. The results below relate only to the samples as received. <table> <tr><td>Sampling point</td><td>Vardenne Channel, station VQ1</td></tr> <tr><td>Date and time of sampling</td><td>27 January 2026, 09:40</td></tr> <tr><td>Total suspended solids</td><td>41.6 mg/l (method KAL-M04)</td></tr> <tr><td>Chloride</td><td>18,200 mg/l (method KAL-M11)</td></tr> <tr><td>Ammoniacal nitrogen</td><td>0.42 mg/l (method KAL-M12)</td></tr> <tr><td>Dissolved organic carbon</td><td>5.9 mg/l (method KAL-M22)</td></tr> </table> The suspended solids figure is higher than those reported for this station in December and January, which were both below 30 mg/l. The samples were taken on the ebb, two days after the last placement at Kellow Sands, and the result is consistent with that. The remaining samples will be held until 4 March 2026 and destroyed after that date unless you ask us to keep them. [SIGNED] Yours sincerely [SIGNATURE] Dr A. J. Prosser Laboratory Manager Registered in England 2214887 · Results relate only to the samples as received <!-- doc_id=parse-01m22n5v1vdp5m776rtn0e3rpq -->
Show the whole file (22 KB)
{ "markdown": "**Kirkhollow Analytical Laboratories Ltd**\nBraithe Road, Vardenne BR7 2HD\n01632 960118 \u00b7 reception@kirkhollow-labs.example\n\n\nMs R. Sandiman\nBraithe Estuary Partnership\nEstuary House, Vardenne Quay\nBraithe BR3 4LN\n\n\nOur reference: KAL-11938/26\nDate of report: 4 February 2026\n\n# Certificate of analysis\n\nDear Ms Sandiman\nThank you for the four water samples delivered to this laboratory on 28 January 2026. They were booked\nin as batch KAL-11938 and analysed by the methods shown. The results below relate only to the samples\nas received.\n\n\n<table>\n<tr><td>Sampling point</td><td>Vardenne Channel, station VQ1</td></tr>\n<tr><td>Date and time of sampling</td><td>27 January 2026, 09:40</td></tr>\n<tr><td>Total suspended solids</td><td>41.6 mg/l (method KAL-M04)</td></tr>\n<tr><td>Chloride</td><td>18,200 mg/l (method KAL-M11)</td></tr>\n<tr><td>Ammoniacal nitrogen</td><td>0.42 mg/l (method KAL-M12)</td></tr>\n<tr><td>Dissolved organic carbon</td><td>5.9 mg/l (method KAL-M22)</td></tr>\n</table>\n\nThe suspended solids figure is higher than those reported for this station in December and January, which\nwere both below 30 mg/l. The samples were taken on the ebb, two days after the last placement at Kellow\nSands, and the result is consistent with that.\n\n\nThe remaining samples will be held until 4 March 2026 and destroyed after that date unless you ask us to\nkeep them.\n\n\n[SIGNED]\nYours sincerely\n[SIGNATURE]\nDr A. J. Prosser\nLaboratory Manager\n\n\nRegistered in England 2214887 \u00b7 Results relate only to the samples as received\n\n<!-- doc_id=parse-01m22n5v1vdp5m776rtn0e3rpq -->", "metadata": { "job_id": "parse-01m22n5v1vdp5m776rtn0e3rpq", "model_version": "dpt-3-pro-20260710", "page_count": 1, "output_markdown_chars": 1574, "range_units": "unicode_codepoints", "openapi_spec": "https://api.ade.landing.ai/openapi.json", "failed_pages": [], "duration_ms": 10438, "billing": { "service_tier": "priority", "total_credits": 1.8 } }, "structure": { "type": "document", "children": [ { "type": "page", "grounding": { "page": 1, "range": { "start": 0, "end": 1527 }, "box": { "xmin": 0.0, "ymin": 0.0, "xmax": 1.0, "ymax": 1.0 } }, "status": "ok", "children": [ { "type": "text", "id": "text-0", "grounding": { "page": 1, "range": { "start": 0, "end": 123 }, "box": { "xmin": 0.10504, "ymin": 0.06243, "xmax": 0.55184, "ymax": 0.11941 } }, "atomic_grounding": [ { "page": 1, "range": { "start": 0, "end": 43 }, "box": { "xmin": 0.10886, "ymin": 0.06601, "xmax": 0.54661, "ymax": 0.0866 } }, { "page": 1, "range": { "start": 43, "end": 74 }, "box": { "xmin": 0.1098, "ymin": 0.08961, "xmax": 0.33129, "ymax": 0.10236 } }, { "page": 1, "range": { "start": 74, "end": 123 }, "box": { "xmin": 0.10988, "ymin": 0.10339, "xmax": 0.45032, "ymax": 0.11688 } } ] }, { "type": "text", "id": "text-1", "grounding": { "page": 1, "range": { "start": 125, "end": 213 }, "box": { "xmin": 0.10595, "ymin": 0.13355, "xmax": 0.34242, "ymax": 0.20218 } }, "atomic_grounding": [ { "page": 1, "range": { "start": 125, "end": 140 }, "box": { "xmin": 0.11034, "ymin": 0.13724, "xmax": 0.23215, "ymax": 0.15021 } }, { "page": 1, "range": { "start": 140, "end": 168 }, "box": { "xmin": 0.11068, "ymin": 0.15337, "xmax": 0.30813, "ymax": 0.16739 } }, { "page": 1, "range": { "start": 168, "end": 197 }, "box": { "xmin": 0.11093, "ymin": 0.1693, "xmax": 0.33623, "ymax": 0.18307 } }, { "page": 1, "range": { "start": 197, "end": 213 }, "box": { "xmin": 0.11086, "ymin": 0.18504, "xmax": 0.23998, "ymax": 0.19757 } } ] }, { "type": "text", "id": "text-2", "grounding": { "page": 1, "range": { "start": 215, "end": 274 }, "box": { "xmin": 0.66268, "ymin": 0.13241, "xmax": 0.89142, "ymax": 0.17003 } }, "atomic_grounding": [ { "page": 1, "range": { "start": 215, "end": 242 }, "box": { "xmin": 0.6764, "ymin": 0.13611, "xmax": 0.8861, "ymax": 0.14825 } }, { "page": 1, "range": { "start": 242, "end": 274 }, "box": { "xmin": 0.66771, "ymin": 0.1517, "xmax": 0.8863, "ymax": 0.16637 } } ] }, { "type": "text", "id": "text-3", "grounding": { "page": 1, "range": { "start": 276, "end": 538 }, "box": { "xmin": 0.10485, "ymin": 0.21851, "xmax": 0.88656, "ymax": 0.32855 } }, "atomic_grounding": [ { "page": 1, "range": { "start": 276, "end": 303 }, "box": { "xmin": 0.10847, "ymin": 0.2211, "xmax": 0.31071, "ymax": 0.24042 } }, { "page": 1, "range": { "start": 303, "end": 320 }, "box": { "xmin": 0.10879, "ymin": 0.25146, "xmax": 0.257, "ymax": 0.26782 } }, { "page": 1, "range": { "start": 320, "end": 423 }, "box": { "xmin": 0.10931, "ymin": 0.2746, "xmax": 0.88262, "ymax": 0.29138 } }, { "page": 1, "range": { "start": 423, "end": 525 }, "box": { "xmin": 0.10939, "ymin": 0.29176, "xmax": 0.88243, "ymax": 0.30876 } }, { "page": 1, "range": { "start": 525, "end": 538 }, "box": { "xmin": 0.10903, "ymin": 0.30931, "xmax": 0.20191, "ymax": 0.32596 } } ] }, { "type": "table", "id": "table-0", "grounding": { "page": 1, "range": { "start": 540, "end": 992 }, "box": { "xmin": 0.11321, "ymin": 0.33917, "xmax": 0.71158, "ymax": 0.45452 } }, "children": [ { "type": "table_cell", "id": "table_cell-0", "grounding": { "page": 1, "range": { "start": 556, "end": 570 }, "box": { "xmin": 0.11861, "ymin": 0.34273, "xmax": 0.31317, "ymax": 0.36133 } }, "atomic_grounding": [], "row": 0, "col": 0, "colspan": 1, "rowspan": 1 }, { "type": "table_cell", "id": "table_cell-1", "grounding": { "page": 1, "range": { "start": 579, "end": 608 }, "box": { "xmin": 0.31317, "ymin": 0.34273, "xmax": 0.70706, "ymax": 0.36133 } }, "atomic_grounding": [], "row": 0, "col": 1, "colspan": 1, "rowspan": 1 }, { "type": "table_cell", "id": "table_cell-2", "grounding": { "page": 1, "range": { "start": 627, "end": 652 }, "box": { "xmin": 0.11861, "ymin": 0.36133, "xmax": 0.31317, "ymax": 0.37892 } }, "atomic_grounding": [], "row": 1, "col": 0, "colspan": 1, "rowspan": 1 }, { "type": "table_cell", "id": "table_cell-3", "grounding": { "page": 1, "range": { "start": 661, "end": 683 }, "box": { "xmin": 0.31317, "ymin": 0.36131, "xmax": 0.70716, "ymax": 0.37893 } }, "atomic_grounding": [], "row": 1, "col": 1, "colspan": 1, "rowspan": 1 }, { "type": "table_cell", "id": "table_cell-4", "grounding": { "page": 1, "range": { "start": 702, "end": 724 }, "box": { "xmin": 0.1186, "ymin": 0.37891, "xmax": 0.31317, "ymax": 0.39724 } }, "atomic_grounding": [], "row": 2, "col": 0, "colspan": 1, "rowspan": 1 }, { "type": "table_cell", "id": "table_cell-5", "grounding": { "page": 1, "range": { "start": 733, "end": 759 }, "box": { "xmin": 0.31317, "ymin": 0.37892, "xmax": 0.70727, "ymax": 0.39723 } }, "atomic_grounding": [], "row": 2, "col": 1, "colspan": 1, "rowspan": 1 }, { "type": "table_cell", "id": "table_cell-6", "grounding": { "page": 1, "range": { "start": 778, "end": 786 }, "box": { "xmin": 0.1186, "ymin": 0.39723, "xmax": 0.31317, "ymax": 0.41543 } }, "atomic_grounding": [], "row": 3, "col": 0, "colspan": 1, "rowspan": 1 }, { "type": "table_cell", "id": "table_cell-7", "grounding": { "page": 1, "range": { "start": 795, "end": 823 }, "box": { "xmin": 0.31316, "ymin": 0.39722, "xmax": 0.70738, "ymax": 0.41542 } }, "atomic_grounding": [], "row": 3, "col": 1, "colspan": 1, "rowspan": 1 }, { "type": "table_cell", "id": "table_cell-8", "grounding": { "page": 1, "range": { "start": 842, "end": 861 }, "box": { "xmin": 0.1186, "ymin": 0.41542, "xmax": 0.31316, "ymax": 0.43376 } }, "atomic_grounding": [], "row": 4, "col": 0, "colspan": 1, "rowspan": 1 }, { "type": "table_cell", "id": "table_cell-9", "grounding": { "page": 1, "range": { "start": 870, "end": 896 }, "box": { "xmin": 0.31316, "ymin": 0.4154, "xmax": 0.70749, "ymax": 0.43376 } }, "atomic_grounding": [], "row": 4, "col": 1, "colspan": 1, "rowspan": 1 }, { "type": "table_cell", "id": "table_cell-10", "grounding": { "page": 1, "range": { "start": 915, "end": 939 }, "box": { "xmin": 0.11859, "ymin": 0.43376, "xmax": 0.31316, "ymax": 0.45452 } }, "atomic_grounding": [], "row": 5, "col": 0, "colspan": 1, "rowspan": 1 }, { "type": "table_cell", "id": "table_cell-11", "grounding": { "page": 1, "range": { "start": 948, "end": 973 }, "box": { "xmin": 0.31316, "ymin": 0.43376, "xmax": 0.70761, "ymax": 0.45452 } }, "atomic_grounding": [], "row": 5, "col": 1, "colspan": 1, "rowspan": 1 } ] }, { "type": "text", "id": "text-4", "grounding": { "page": 1, "range": { "start": 994, "end": 1251 }, "box": { "xmin": 0.10667, "ymin": 0.45795, "xmax": 0.89176, "ymax": 0.51415 } }, "atomic_grounding": [ { "page": 1, "range": { "start": 994, "end": 1100 }, "box": { "xmin": 0.11065, "ymin": 0.46008, "xmax": 0.88471, "ymax": 0.47688 } }, { "page": 1, "range": { "start": 1100, "end": 1204 }, "box": { "xmin": 0.11097, "ymin": 0.47758, "xmax": 0.88646, "ymax": 0.49408 } }, { "page": 1, "range": { "start": 1204, "end": 1251 }, "box": { "xmin": 0.11073, "ymin": 0.49555, "xmax": 0.43513, "ymax": 0.51146 } } ] }, { "type": "text", "id": "text-5", "grounding": { "page": 1, "range": { "start": 1253, "end": 1369 }, "box": { "xmin": 0.10672, "ymin": 0.52311, "xmax": 0.88746, "ymax": 0.56447 } }, "atomic_grounding": [ { "page": 1, "range": { "start": 1253, "end": 1358 }, "box": { "xmin": 0.11157, "ymin": 0.52651, "xmax": 0.8827, "ymax": 0.54315 } }, { "page": 1, "range": { "start": 1358, "end": 1369 }, "box": { "xmin": 0.11076, "ymin": 0.54541, "xmax": 0.1969, "ymax": 0.56124 } } ] }, { "type": "attestation", "id": "attestation-0", "grounding": { "page": 1, "range": { "start": 1371, "end": 1444 }, "box": { "xmin": 0.10519, "ymin": 0.58423, "xmax": 0.32809, "ymax": 0.69374 } }, "atomic_grounding": [ { "page": 1, "range": { "start": 1371, "end": 1396 }, "box": { "xmin": 0.11229, "ymin": 0.58884, "xmax": 0.23286, "ymax": 0.60456 } }, { "page": 1, "range": { "start": 1396, "end": 1408 }, "box": { "xmin": 0.1149, "ymin": 0.61892, "xmax": 0.32277, "ymax": 0.65742 } }, { "page": 1, "range": { "start": 1408, "end": 1425 }, "box": { "xmin": 0.11268, "ymin": 0.6588, "xmax": 0.23117, "ymax": 0.67106 } }, { "page": 1, "range": { "start": 1425, "end": 1444 }, "box": { "xmin": 0.11288, "ymin": 0.67435, "xmax": 0.26336, "ymax": 0.68885 } } ] }, { "type": "marginalia", "id": "marginalia-0", "grounding": { "page": 1, "range": { "start": 1446, "end": 1525 }, "box": { "xmin": 0.1103, "ymin": 0.92391, "xmax": 0.5451, "ymax": 0.94343 } }, "atomic_grounding": [ { "page": 1, "range": { "start": 1446, "end": 1525 }, "box": { "xmin": 0.1146, "ymin": 0.92766, "xmax": 0.54003, "ymax": 0.94001 } } ] } ] } ] } }
| ✓ | Expected: Recover the visible text from the scanned page accurately.Found: The image has no text layer, and the returned Markdown keeps the letterhead, reference, date, results rows, footer, and signature placeholder in page order. |
It had to recover all visible text from an image-only page. The returned Markdown matches the page in order and content, and the handwritten signature is left as a placeholder instead of being guessed.
Table rendering. The results block is output as an HTML table instead of Markdown.
Configuration and setup
How this tool was set up for the run and what the test needed in place. Each row is a fact from the run's records; a fact the records do not hold is left out, not guessed.
How this scenario is graded
How we decide Pass, Fail and Not gradable. The same rules apply to every tool tested on this scenario.
Each test case gets one result per tool: Pass, Fail or Not gradable. A test case we haven't run yet shows Untested. There are no partial results.
- Pass: the tool did everything the test expected, and nothing it said contradicts the correct answer.
- Fail: at least one expected behaviour clearly didn't happen; the test case's result says which one and quotes the tool.
- Not gradable: our evidence couldn't settle the outcome (for example a record we needed is missing). It is never counted as a fail, and the test case's result says what's missing.
Where this sits in the benchmark
This page is one cell of a larger study: one tool, one scenario. Only this benchmark's frame appears here.
| Level | Name | Scope |
|---|---|---|
| Benchmark | Converting a complex PDF into clean Markdown with a hosted API → | 12 scenarios · 13 tools |
| Capability | Scanned Document OCR → | |
| Scenario | A cleanly scanned document → | |
| Tool | Landing AI → |
Global scenario definition → · Global capability definition → · Landing AI product page →
History of this result
What has happened to this result since it was first published. Runs and grades are never overwritten: a retest or a re-grade publishes a new result and keeps the earlier one readable.
Act on this result
Nothing filed here edits the run or the grade. A challenge opens a review, and a review can produce a new run or a re-grade — which becomes the current result and leaves this one in the history.
You run the same kind of test against your own setup and get the same behaviour.
Agree →Yours behaves differently. Tell us what you got, with a screenshot if you have one.
Disagree →Something here is wrong — a reference value, a transcription, a grade.
Report an issue →Tell us what changed and we schedule a rerun of the failing test case. The old result stays as history.
Vendor notice →The same record is available as structured data through the AI Demos MCP server, with the counts, the coverage and every per-test-case reason carried as fields.
Verify the proof files
These files support this result. Open a file to inspect the original evidence.
File fingerprints (SHA-256)
A fingerprint identifies the exact file used for this result.