Why we built it
We started with a problem nobody was solving well: large collections of Arabic and Persian material — manuscripts, government records, scholarly archives — where every off-the-shelf OCR service came back with output too poor to search, let alone quote. Right-to-left script, calligraphic Nastaliq, and century-old print break the assumptions most engines are built on.
No single engine wins on that material. But the engines fail in different ways, and that turned out to be the opening. Run all of them, then let a model read every version and reconstruct what the page actually says. The same approach that rescues an Ottoman gazette also cleans up a smudged fax from 1994, so the pipeline serves legal, compliance, government, and library work equally well.
How the pipeline thinks
AI chooses, tools execute
Before any deterministic tool runs, a cheap vision model looks at the page and decides how to handle it — which enhancement to apply, which engines suit this script and layout. The judgement is AI; the work is done by proven, deterministic OCR engines.
Synthesis, not voting
Most pipelines run several engines and take the majority answer. We hand every engine’s output to a model and let it compose the final text. A vote can only pick the most common reading; synthesis can assemble the correct one from partial evidence spread across engines that each got something different right.
Never worse than the input
Quality is scored at every stage. If a stage makes a page worse, its output is discarded and the previous version stands. That guarantee is why the pipeline can afford to be aggressive.
Measure before spending
Every document is scored for retrievability first. Roughly three quarters of the PDFs we see already carry a usable text layer — those skip straight to assembly, and you are not billed for compute nobody needed.
Escalate only where it pays
Clean pages finish in one pass. Stubborn blocks get re-rasterized at higher resolution; the small fraction still failing gets a wider ensemble and, last of all, cloud vision. Cost follows difficulty instead of page count.
Your documents are not our training data
Files are deleted on your retention setting — within 24 hours by default — and we never train models on your content. See the Privacy Policy and Security pages for the specifics.
The short version
- Scripts we specialise in
- Arabic, Persian, Urdu Nastaliq, Ottoman Turkish
- Output formats
- PDF/A-3b with an embedded text layer, plus page-anchored Markdown
- Ways in
- REST API, JavaScript SDK, CLI, MCP server, and the web portal
- Where it runs
- Cloudflare Workers at the edge, GPU workers for every OCR pass
The pipeline is still being improved, deliberately and in public — every job writes a full receipt, and those receipts drive what we change next. You can follow the work on thechangelog, read the scoring method on theRetrievability Score page, or justtry it on a document that has been defeating you.
Questions, or something unusual to process? Come talk to us.
✦ ✦ ✦