The problem: modern OCR fails silently. A vision-language model reading blurry handwriting will not return an error - it returns fluent, confident text that is simply wrong, sometimes in the wrong language entirely. A human spots this instantly. An agent pipeline ingests it and acts on it.
We measured this on real documents: on one handwritten Japanese note, a frontier OCR model output fluent Devanagari (Hindi) - zero overlap with the document - while a traditional OCR engine read it correctly. On a printed tax receipt, the same model subtly rewrote a legal notice into different (wrong) wording. Neither failure raises an exception. Both poison downstream automation.
Every OCR result - POST /v1/ocr (single image, flat $0.005) and
POST /v1/parse (PDF) - carries machine-actionable quality signals:
{"ok": true, "route": "mistral",
"ocr_quality": {"confidence": 0.9, "hallucination_suspected": false,
"flags": [], "chars": 1483},
"consensus": {"verdict": "agree", "confidence": 0.86, "agreement": 0.91,
"flags": [], "best_engine": "mistral"},
"markdown": "..."}
agree or disagree_review_recommended.
When engines disagree we say so and show the agreement score. We do not sell
overconfidence - an agent that gets burned once never comes back.| Signal | Action |
|---|---|
| confidence ≥ 0.7, no flags | Use the text. |
| hallucination_suspected | Discard; use consensus best_engine text (already applied) or re-scan. |
| disagree_review_recommended | Queue for human review; don't act on extracted numbers. |
Free sandbox (identical API, Base Sepolia): mart402.dev.
Production, via x402: single images at a flat
$0.005/image (POST /v1/ocr); PDFs via free quote first
(/v1/parse/quote) - text-embedded flat $0.005/document, scanned OCR
$0.012/page. Measured latency & success rate:
/stats, independently probed by Market402.
Agent docs: /agents.md · /llms.txt · /catalog