model reading, excerptIch Constantinus von Kruszynski, Freyherr
in der Culmischen und Marienb. Stattfen —
…
Konstantius von Kruszynski
Vorstehenden Eyd hat der [dopisek: Herr Constantius
v Kruszinski] bey der allgemeinen Erb=
Huldigung … würklich abgeschwo=
ren; … Ma=
rienburg den 28 Sept. 1772.
Nicolovius
pra Reg. Commissar.
1. Description of the fonds
The Archiwum Sczanieckich z Nawry (Sczaniecki family archive from Nawra) is a family and estate fonds from the Chełmno Land (ziemia chełmińska), comprising 607 units and 60,197 scans dated 1459–1981, in four languages. A compact portion was selected from it for analysis: thirteen units of series 7.2, which document the public activity of a single person, Konstanty Kruszyński of Nawra.
Kruszyński's career spans three political orders. In 1772 he swears the oath of homage to the King of Prussia; in 1777 he takes part in the diet (sejm) in Königsberg (Królewiec); in 1807, already in the Księstwo Warszawskie (Duchy of Warsaw), he becomes president of the Deputacja Administracyjna (Administrative Deputation) in Toruń; subsequently he serves as councillor of the Bydgoszcz department, marshal of the sejmik (local dietine), and member of the tax commission and of the school supervisory board. The records are consequently written in Polish, German, Latin and French. They include chancery manuscripts, texts in Kurrent, official printed matter, contribution tables and envelopes with seals.
For the same reasons, this material is suitable for testing the method. A single creator and a single region form a network of persons that becomes denser rather than breaking up into separate clusters. The variety of scripts and document types makes it possible to assess the model in all tasks at once. The archivist's descriptions in the inventory provide a point of reference for dating and summaries.
| Ref. | Contents according to the inventory | Scans | Reading disagreement* |
|---|---|---|---|
| 459 | public activity 1776–1812, excise and customs (importation of vodka) | 95 | 9.8% |
| 460 | Erb-Huldigungs-Eyd 1772 | 12 | 4.8% |
| 461 | letter of thanks from the Franciscans 1814 | 6 | — |
| 462 | diet in Königsberg 1777 | 64 | 10.3% |
| 463 | Acta Commissionis, chamber (Kammer) in Kwidzyn (Marienwerder) 1806 | 102 | 11.3% |
| 464 | president of the Toruń Administrative Deputation 1807–1808 | 296 | 10.5% |
| 465 | marshal of the Toruń dietine 1808 | 24 | 1.9% |
| 466 | councillor of the Bydgoszcz department 1808–1810 | 64 | 9.1% |
| 467 | councillor of the land credit society 1808–1811 | 56 | 7.1% |
| 468 | tax comparison commission, Bydgoszcz Dept. 1808–1811 | 128 | 10.6% |
| 469 | debts of the Toruń kamlaria (municipal treasury) 1811 | 38 | 14.1% |
| 470 | school supervision 1813 | 46 | 10.9% |
| 471 | peasant commission 1814 | 42 | 2.3% |
| total | 973 | 10.0% |
* Median word disagreement between two independent readings; pages containing at least 50 words (530 pages). This value is not an error rate (see Section 5).
2. Method
The processing pipeline comprises ten stages. The image is passed to the model in only one of them, the reading stage. The remaining stages operate on text or are carried out by deterministic code. As a result, every output is reproducible and the cost depends almost entirely on a single stage.
- 01Download of scansThe archival portal is protected against automated retrieval. Downloading is possible only through a headless browser, 0.3–0.5 s per file. Resolution of the full version: approx. 2200 × 3500 px.code
- 02Exclusion of blank pagesMeasurement of “ink density” on thumbnails. 301 of 973 scans (31%) are versos, blank leaves and folder covers; they are not passed to the model.code
- 03Removal of the watermarkThe strip bearing the text “Archiwum Państwowe w Toruniu” occupies approx. 8% of the scan height. If left in place, it would be transcribed by the model.code
- 04Two independent readingsThe same prompt and the same page in two calls. Output in JSON: regions with bounding boxes, diplomatic transcription, normalised transcription, translation into Polish, summary, uncertain readings with alternatives, page type, language, script, foliation.model, image
- 05Comparison of readingsCER and word disagreement r1↔r2 per page and per region. In the absence of a reference transcription (gold standard), the output is an uncertainty map.code
- 06Knowledge graphExtraction from text, without the image: persons, places, offices, institutions, sums, events; relations with a quotation, date, region and one of four confidence levels.model, text
- 07Entity resolutionMerging of 6,760 mentions into 3,108 entities. The model receives batches of name variants with context and decides which of them refer to the same person.model, text
- 08Location of placesWithout the model: PRNG (GUGiK) and Wikidata; agreement of both sources within a radius of 3 km constitutes a certain identification.code
- 09VocabulariesOne call per vocabulary: 98 document types → 14 categories; 445 office names → canonical forms and groups.model, once
- 10Derived dataWithout the model: document boundaries, approximate dating from neighbouring documents, place of issue and addressee, conversion of sums into złoty.code
2.1. Methodological assumptions
- Two readings without an adjudication stage. The absence of manually corrected pages currently makes it impossible to calculate the true error. Two independent readings make it possible to identify the places where the model's output is uncertain. An additional stage in which the model adjudicates between the readings would cost approx. $10; its implementation has been postponed.
- Highest image resolution. In Gemini models an image costs a fixed number of tokens regardless of its dimensions. A page in
ultra_highmode amounts to approx. 2,210 image tokens and 650 instruction tokens. For manuscripts, the gain in quality justifies twice the input cost, and the output cost dominates the total cost in any case. - Segmentation into regions, not lines. The model returns rectangular region boxes (heading, main text, table, signature, seal, address, note, foliation) on a 0–1000 scale. This is sufficient for references to a specific part of the scan and for the uncertainty map. Line-by-line synchronisation of text and scan would require separate segmentation.
- Four layers of text. The diplomatic transcription preserves spelling, line breaks and abbreviations (“Oyczyzna”, “Woyny”, “X” for ksiądz, priest). The normalised transcription serves for searching. The translation into modern Polish is intelligible without a knowledge of German or Latin. The summary describes the document.
- Graph extraction separated from reading. Entity extraction operates on text, not on the image. It is less expensive and does not trigger the safety filter that blocked some readings (see Section 3.2). Every relation includes a quotation from the source, the page number and the region.
- Four-level confidence scale. “From text” (stated explicitly), “certain”, “probable”, “from context” (inferred). The highest level applies to 3,621 of 3,841 relations. Contextual identifications are marked separately.
- Provenance of every reading. The following are recorded: model, prompt version, reasoning level, resolution, SHA-256 hash of the image, call mode (batch, interactive, fallback) and token count. The output can be reproduced and compared with a subsequent run.
- Deterministic computation performed in code. All operations that can be implemented in code are implemented in code: identification of localities, approximate dating, currency conversion and determination of document boundaries. The model does not estimate coordinates.
3. Examples of readings
3.1. Register of patriotic contributions, parish of Radoszki, 1807
A table from 1807 lists the inhabitants of the village of Radoszki and of two mills, their status (farmer, landless lodger, shepherd, smith, village head, maidservant) and their donation to the “Ofiara dobrowolna Patryotyczna” (voluntary patriotic offering) in thalers and grosze. Unit 464 contains more than twenty such registers; most of the 372 edges of type “pays” in the graph derive from them.
| Reading 1 | Reading 2 | Comment |
|---|---|---|
| Ks Gorzyczewski | X Gorzyczewski | “X” is an old abbreviation of ksiądz (priest); the second reading is more faithful. |
| Maciey Marunkowski | Maciey Marcinkowski | surname requiring verification |
| Jgnacy Kuszętkowski | Ignacy Kurzętkowski | uncertainty: “sz” or “rz” |
| Marcin Justy komornik | Marcin Szulc komornik | different persons; the second reading repeats the surname from the row above |
| Mnichał Gorzewski | Michał Gorzewski | the first reading records an ink blot next to the forename |
| - | 30 | - | | . | 30. | . . | empty cells: dash or dots; several dozen such differences on the page |
3.2. Excise records in German Kurrent, 1776
Unit 459 contains the record of an interrogation concerning vodka transported by Castellan Kruszyński to his inn at Nawra without declaration at the excise office. The text is written in German Kurrent, with Latin insertions (Quaest., Resp.) and annotations.

reading 1Nach geschehener schriftliche Citation
erscheinet der Herr Castellan
d' Krussinski Bevollmächtigte u
dambstätische Cammerfiscalis Ja-
cob Jablonski und giebet nach
gethanen Frageln Folgendes
zu Antwort:
$\underline{\text{Quaest:}}$ Ob dem Herrn Castellan …
reading 2 (fallback mode, 7 attempts)Nach geschehener schriftlicher Citation
erscheinet der Herr Castellan
und vorscheinende Bevollmächtigter u.
demtselbigen Cämmerer Justitiarius Ja-
cob Jablonskij und gibet nach
gethanen Fragen folgendes
zur Antwort:
It was on this page that the Gemini safety filter was first observed. The HTTP 200 response contained no content, only the field blockReason: OTHER. Tests showed that the block is triggered by a request for the transcription text in structured form (a JSON schema with a text field). Metadata and region boxes without text are not blocked, and a plain text response passes almost always. The mention of vodka in the unit title had no effect on the blocks. Their frequency was, however, increased by the word “przebijający (tekst)” (bleeding-through text) in the instruction; it was replaced by the phrase “prześwitujący z odwrocia” (showing through from the verso).
The pipeline therefore uses a cascade: three attempts with the schema, two with the JSON format described in the instruction, and finally a split mode in which the text and the metadata with boxes are retrieved in separate calls. Across the collection the filter blocked 91 of 1,344 readings (6.8%), including on Polish pages. After the cascade, 19 pages (2.8%) were read in fallback mode. One page has only one reading.
3.3. Signatures of deputies, 1808–1811
The memorial of the deputies of the Bydgoszcz department concerning a three-year moratorium is signed by more than a dozen district delegates. In the first reading one of the signatures reads “Kruszyński Deputat Powiatu Chełmińskiego”, in the second “Gruszczyński”.

3.4. Appeal for contributions to the Fatherland, 1807
The document concerns the same collection of contributions as the Radoszki register, but from the perspective of its organiser. It is a draft of an appeal to the landowners of the Michałów Land (ziemia michałowska), with a chancery annotation and the abbreviated signature “Krusz”.
diplomatic transcriptionWybrany od JW Organizatora Kasztelana Hrabiego Zboińskiego
do odbierania dobrowolnych dla Oyczyzny Offiar, od-
zywam się do Serc Waszych Przezacni Obywatele.
Oyczyzna uboga potrzebuje Waszego Wsparcia. Przeko-
nany ja jestem o Waszey Gorliwosci y Patryotyzmie
ze gdyby niezniszczenie Wasze z przyczyny Woyny na
Was zapadłe, wspieralibyscie hoynie Potrzeby Wa-
szego Kraju …
4 razy Kopią Kancellarya wygotuje
Krusz
Model summary (translated from Polish): an appeal (presumably by Konstanty Kruszyński) to the citizens and holders of landed estates in the Michałów Land, calling for voluntary contributions to the impoverished Fatherland in money, silver or jewels. Owing to the pressure of his duties, the author authorises the president of the court of the peace, Bąkowski…
4. Composition of the collection: quantitative data
Documents by year
186 documents with a date stated in the text (solid bars) and 113 dated approximately on the basis of neighbouring documents in the unit (outline). 34 documents remain undated.
The peak in 1807 corresponds to the activity of the Toruń Administrative Deputation: 52 dated documents and 30 dated approximately. Kruszyński holds office in it during the first months of the Duchy of Warsaw. The second peak, in 1777, corresponds to the diet in Königsberg. Few documents survive from 1781–1805. The series documents public activity, which falls into two short periods.
Languages
number of pages on which a given language occurs (a page may contain several languages)
Page types
model classification, 672 pages
Types of script
number of pages on which a given type of script occurs. “Pencil” is the most frequent because it covers archival foliation and archivists' annotations present on almost every leaf.
Document types
98 type names returned by the model, grouped into 14 vocabulary categories (333 documents)
5. Reliability of the readings
A precise assessment of reliability is not yet possible. The true reading error (CER against a manual transcription) can be determined only on pages corrected by a palaeographer; 18 pages have been selected and await correction. Until then, two indirect indicators are available: the agreement between two independent readings and a manual review of 20 sample pages.
Reading disagreement by type of script
median word disagreement r1↔r2, pages ≥ 50 words
Distribution of disagreement
530 pages, bins of 5 percentage points
- Print: reading almost error-free. Disagreement is 1.5% for roman type (antiqua) and 4.8% for Fraktur. The differences concern mainly end-of-line hyphenation and the long “ſ”.
- Manuscripts: disagreement of approx. 10–12%, with no substantial differences between Polish chancery hand, Latin humanist hand and Kurrent. The manual review of the sample showed that Polish chancery hand from 1807–1813 was read almost without error. In Kurrent from 1777–1778 there are isolated words invented by the model.
- Disagreement is not a measure of error. It is inflated by tables (dots and dashes in empty cells), by differences in the expansion of abbreviations and by the order of regions. It is deflated by places where both readings contain the same error. Disagreement nevertheless reliably indicates where attention is needed: a verification queue weighted by disagreement and text length begins with pages that genuinely require correction.
- The model rarely signals uncertainty. Across 672 pages it flagged only 125 uncertain readings and 19 illegible passages, whereas differences between readings are considerably more frequent. The model's self-assessment does not replace a second reading.
- Blank pages do not cause hallucinations. 24 blank pages passed the ink-density filter; the model correctly classified them as blank.
6. Knowledge graph: persons, offices, sums, places
From the text of 672 pages the model extracted 6,760 mentions. Entity resolution merged them into 3,108 entities, linked by 3,841 relations accompanied by a quotation and a confidence level. The graph is exported to CSV (Neo4j), RDF (60,405 triples in the RiC-O, schema.org and PROV vocabularies) and PAGE XML.
Entities by type
after merging of variants
Most frequent relations
12 of 30 types
Places
number of pages with a mention
Institutions
number of pages with a mention
6.1. Kruszyński's official career
Konstanty Kruszyński appears on 205 pages in ten spellings of his surname, from “Castellan d' Krussinski” to “Cammer Herrn v Kruszinsky”. Across the collection the model recognised 446 offices and functions. The vocabulary grouped them into bands: offices of the Rzeczpospolita (Polish–Lithuanian Commonwealth), Prussian administration, administration of the Duchy of Warsaw, treasury and taxation, education.

6.2. Sums and payments
The model recognised 783 sums in seven currencies and 360 payments with an identified payer. Sums retain the wording of the source (“2708 rthl. 13 gl. 3 3/4 h.”) and are assigned an approximate value in złoty (1 thaler = 6 zł), which makes it possible to add and visualise them. 26 aggregate sums (budgets, totals of state treasuries) are marked separately so that they do not overshadow donations of 3 grosze.
Currencies
783 sums

6.3. Identification of localities
467 place names were linked to two registers without the involvement of the model. The first is the Polish national register of geographical names (PRNG, approx. 124,000 localities including variant names, among them German ones); the second is Wikidata. If the best candidates from the two sources lie no more than 3 km apart, the identification is considered certain.
Bar: 467 localities. A medium identification means a match in only one source or a decision based on co-occurring mentions; the 54 ambiguous and 123 unmatched localities await manual review supported by spelling suggestions.
The matching rules were extended on the basis of an error analysis. Wikidata proposed, among others, Berlin in the USA, villages in India and Algeria, and “France” as a hamlet. The following proved effective: distance from Nawra, the region named in the description (Chełmno Land, Sambia, Podolia) and a bonus for towns where the document refers to a town. All 20 Wikidata identifiers supplied by the model itself passed this verification.
7. Costs and processing time
Model: Gemini 3.8 Flash, prices as of September 2026. Readings and graph extraction were run through the Batch API at half price. Pages blocked in batch mode and entity resolution were processed in interactive mode.
| Stage | Requests | Cost | Time |
|---|---|---|---|
| HTR reading, 2 × 672 pages | 1,344 | $6.88 | batch mode, under 24 h; retries of blocked requests approx. 2 h |
| Knowledge graph from text | 629 | $2.81 | batch mode, under 24 h |
| Entity resolution | batches | $2.24 | interactive mode, 1–2 h (overload, error 503) |
| total | $11.92 | approx. $0.018 per page with content |
| Single page (reading) | Tokens |
|---|---|
image in ultra_high mode | ≈ 2,210 |
| instruction | ≈ 650 |
| response (JSON with regions, 4 text layers, metadata) | ≈ 2,600–2,800 |
- Output tokens cost five times as much as input tokens, and the response is longer than the image representation. Cost is therefore governed by response length and reasoning level, not by resolution.
- Excluding blank pages reduced the number of calls by 31%. Downloading the thumbnails for the measurement takes a few minutes.
- The entire fonds comprises approx. 42,000 pages with content. With the same configuration, the cost would be approx. $600–750 in batch mode and roughly twice as much without it. From 2027 the price list is expected to double.
- A trial on 20 pages, preceding the full run, cost $0.93 and made it possible to improve the prompt, the response schema and the handling of blocks. Without it, costs and errors would have become apparent only across 1,344 requests.
8. Results and limitations
8.1. Results
- Polish chancery hand of the late eighteenth and early nineteenth centuries and printed matter: readings close to error-free, with a translation and summary intelligible without palaeographic training.
- Document boundaries within the sequence of scans: 333 documents with title, type and date.
- Dating: 186 dates from the text and 113 approximate dates, computed in code from neighbouring documents.
- Place of issue for 196 documents and addressee for 139, with the source of the information indicated (heading, address on the envelope, seat of the author).
- Tables of sums converted into data: 783 sums, 360 payments with payer, conversion into złoty.
- An uncertainty map derived from two readings without a manual transcription, and a verification queue that correctly targets surnames.
- Cost: less than 2 US cents per page with two readings and the graph.
8.2. Limitations and open questions
- No true error measure; 18 pages await palaeographic correction.
- Surnames are read least reliably; the model assimilates them to the names of known figures (“Kruszyński” instead of “Gruszczyński”).
- Entity resolution is at times overly permissive: “Castellan von Kruszynski” from the 1770s was merged with Konstanty; the bare word “Krola” (king) was included in the “Fryderyk August” (Frederick Augustus) group; “Kruszyńskiego Marszałka” was merged with a Marshal of France.
- The vocabulary of offices achieves almost no reduction: 445 names yield 436 forms, because these are genuinely different offices. Only grouping into bands proved effective.
- The family is almost absent from the material: his wife Ludwika appears on 2 pages, his mother Rozalia on one. The series concerns official activity, not family matters.
- Safety filter: 6.8% of readings were blocked without a stated reason; the workaround is effective but prolongs processing time.
- Lines of text: the model returns only regions, so there is no line-by-line synchronisation.
- Persons have no external identifiers. Wikidata throttles anonymous queries, and full linking of persons requires a separate tool.
9. Specific observations
- 10 spellingsof Kruszyński's surname in the sources, including “Herr Cassa-Stellan Kruszinski auf Nawra”: the model wrongly divided the title “Castellan” into the elements “Cassa” (treasury) and “Stellan”.
- 13 variantsfor Frederick Augustus, King of Saxony and Duke of Warsaw, from “Fred: Aug:” to “Król Jegomość Saski y Xiąże Warsza: wski”. The “King of Prussia” has the same number of variants.
- 52 documentsdate from a single year, 1807; they account for one in six documents in the collection.
- 512 pagescontain pencil entries, i.e. archival foliation. In the model's classification this is the most frequent type of “script” in the collection.
- 3,000 thalers(Reichsthaler): the largest sum in the collection, approx. 18,000 zł. The smallest sums are the donations of 3 grosze made by landless lodgers in Radoszki.
- Xstands for ksiądz (priest). The second reading retained the old abbreviation, the first expanded it to “Ks”. Which version counts as “diplomatic” is determined by the editorial guidelines, not by the model.
- LaTeXin the transcription of an eighteenth-century record:
$\underline{\text{Quaest:}}$. The model rendered the underlining in the notation used in scientific publications. - “prześwitujący”(showing through) instead of “przebijający” (bleeding through): changing a single word in the instruction reduced the number of filter blocks.
10. Further work
10.1. Measurement of reading quality
- A reference set from the collection itself. Correction of 18 selected pages (various scripts, languages and types) will make it possible to calculate CER and WER against a reference transcription, separately for each type of script.
- External benchmark (in progress). 263 pages with existing, approved transcriptions: Polish manuscripts from 1689–1828 from TranskriBUW (the Zamość chronicle, divorce records, the Komisja Rządowa WRiOP, i.e. Government Commission for Religious Denominations and Public Enlightenment), authenticated texts from Wikisource (Wikiźródła) and German Kurrent from the Dresden Hofdiarium; 29 documents, approx. 22 hands. Several models and two resolutions are compared; hallucinations (insertions) and omissions (deletions) are counted separately. Estimated cost: approx. $10.
- Cost-effectiveness of the second reading. If the r1↔r2 disagreement correlates with the true error, a second reading need only be made for manuscripts and tables; one reading suffices for printed matter and folder covers.
10.2. Improvements to the method
- Checking totals in tables and comparing figures between readings as an automatic test.
- Normalisation of punctuation and abbreviations before computing disagreement, so that the verification queue points to surnames rather than dots.
- Adjudication of readings (approx. $10 for this collection) where disagreement exceeds a threshold.
- Linking of persons and institutions with a separate, deterministic tool, analogously to localities.
- Line segmentation for pages intended for a scholarly edition.
10.3. Further batches from the same fonds
The order was determined by the ratio of value to cost. Batches 2–4 extend the network around Kruszyński rather than starting a new one.
| Batch | Units (69/833/0/…) | Scans | Batch API | Purpose |
|---|---|---|---|---|
| 2. Kruszyński: private affairs | 7.2/455–458 | 1,009 | ~$12 | family, correspondence 1777–1818, court cases; the same script as in the present collection |
| 3. Nawra: estate and finances | 2.2/63–73 except 66, 8/540 | 898 | ~$11 | accounts, mortgages, wills, fire insurance fund; first test of the older layer of the inventory |
| 4. Summaries (sumariusze) | 1/1, 1/2 | 539 | ~$7 | registers of estate deeds, i.e. an index to the entire fonds and a source of dates for undated units |
| 5. The next generation | 7.2/472–474, 2.2/78 | 1,277 | ~$16 | his son Józef, councillor of the same prefecture; after evaluation of batch 2 |
| 2–4 total | 2,446 | ~$30 | approx. 2.5 times the present collection |
The largest gap in the description of the fonds consists of 190 units (19,756 scans) to which the inventory assigns the placeholder date “1459–1981”, i.e. the outer dates of the entire fonds. Dating and summarising such units with the model represents measurable value for the archive, even without full transcription.
11. Proposed collections for further application
The method yields the best results for collections with three characteristics: full-resolution scans (approx. 2,000 px on the shorter side), an inventory with dates and titles allowing comparison, and a coherent circle of persons and places in which the graph becomes denser. Candidates, in order of proximity:
| Type of collection | Rationale | Difficulties |
|---|---|---|
| Petitions for equal rights for Poles in West Prussia, 1861 (same fonds, 10.2/583 and 5.1/307) | Numbered lists of signatures by village, with crosses made by illiterate signatories. The output is an easily verifiable table of high genealogical value. 489 scans, approx. $5. | Hundreds of hands; surnames in Polish and German spelling |
| Records of the administration of the Duchy of Warsaw: prefectures, sub-prefectures, departmental councils | The same institutions and persons as in the Kruszyński graph; chancery hand, which the model reads best | Large units, numerous copies of the same documents |
| Records of the Prussian war and domains chambers (Kriegs- und Domänenkammern) and excise offices (after 1772) | The other side of the same affairs (Kwidzyn, excise); a large-scale test of Kurrent reading | Kurrent and forms; greater reading disagreement |
| Other family and estate archives of the Pomeranian and Kuyavian landed gentry | The same type of material: summaries, estate inventories, accounts, correspondence; overlapping family networks | Variable quality of inventories and scans |
| Civil registration records 1808–1815 | Forms with a fixed layout; the output can be compared with existing genealogical indexes (persons, dates) rather than by CER | The terms of use of the indexes restrict large-scale comparison |
| Castle-court and land-court registers (księgi grodzkie i ziemskie), 17th–18th centuries | The greatest research value and the greatest need for reading | Latin, abbreviations, dense script; a benchmark and adjudication of readings are required first |
It is also advisable to prepare from the same fonds a small control set of outlying material: letters of Anna Vasa (Anna Wazówna) in Swedish from the turn of the sixteenth and seventeenth centuries (7.4/497), Polish–Latin summaries, German archivist's notes from 1919, and an eighteenth-century print. The aim is not to process them but to establish the limits of the method's applicability.