When AI Could Help Read a Difficult Script

Experiment
To create an AI agent to work with Gemini and Claude to bulk process 300 images of archival documents and enable full-text search of medieval handwriting.
What I learned
  • how to design a multi-model agentic pipeline
  • the difference between usable and citable transcription quality
  • trade-offs between cost, time, and accuracy at scale
Demonstrates
built an agentic pipeline for bulk document processing · combined multiple LLMs to improve transcription accuracy · enabled full-text search of handwritten archival sources
You'll need
Gemini, Claude, Open Claw
Format
downloaded document images; two hours to set up; automated run of ~12hr/register

I wanted to know if LLMs could read a notoriously difficult medieval script, late fourteenth-century Gothic secretarial hand. The government of Spain hosts a website called PARES, which contains over a million digitized images of archival documents, including much of the material in the Archive of the Crown of Aragon. These documents have been digitized but never transcribed at scale.

The Workflow

An example of a folio from an ACA register, ACA CR R2053 f4r. The script has been notoriously difficult and abbreviations are frequent.

An example of a folio from an ACA register, ACA CR R2053 f4r. The script has been notoriously difficult and abbreviations are frequent.

In early February 2026, uploading a PARES image to Gemini produced a transcription of better quality than what I had gotten from the specialized HTR platform Transkribus, even after training a model there with 60 documents of ground-truth transcriptions. Soon after, I started combining results from Gemini and Claude to increase transcription quality further.

By March, I was using agentic AI — specifically Open Claw — to obtain usable HTR and translations for entire registers. The pipeline runs as follows: Open Claw downloads images from PARES, passes each one to Gemini and Claude for parallel transcription, merges the outputs, and writes the result to a text file. A final instruction to Open Claw combines all image-level text files into a single CSV.

Register 1819 was the first complete register I processed. Register 2053 — the third — produced notably higher quality output, suggesting that prompt refinement and model improvements between February and March made a measurable difference.

Results

This pipeline worked, and using two different models to improve transcription accuracy and create an audit trail gave me much more confidence in the results. It also made the recurring errors easier to see.

With this workflow, I was able to analyze image archives at scale. The same pipeline could be applied to other collections of historical images.

It takes about 12 hours to generate transcriptions from a 300-page register, and API costs run approximately $75 per register.

The resulting text enables discovery through full-text search but is not reliable enough for citation-level accuracy — dates in particular remain inconsistent even after pipeline refinements.

What I Learned

It is possible to use agentic AI to generate big data from handwritten documents previously unavailable for automated text recognition.

This opens the possibility of full-text keyword search for names and toponyms across entire registers. It is useful to have multiple LLMs check and correct each other’s work. Even though the transcriptions and translations were far from perfect, I was surprised at how well the LLMs transcribed the script and expanded abbreviations.