POST /v1/ocr
OCR a document (unit-billed, pages)
Task #19 specialty route (route_type: ocr). multipart/form-data forwarded byte-identical to the card (no re-multipart, no model swap; the boundary is preserved). Accepted form fields — file (at least one part; each image part is one page, a single-shot PDF is one part), model (required), mode (print | archival — must match the alias's lane), diplomatic (t | f, the archival fidelity flag), language; unknown fields are 400 unknown_param. Upload cap 25 MiB (413) — the ONE cap shared with the transcriptions family; over-cap payloads are the client's to chunk into page-range jobs. Response: the card's JSON verbatim. Metering: unit_type='pages' = the card-reported pages count, else the file-part count (media records the basis); priced per 1000 pages. Idempotency-Key: accepted, no replay semantics (§8 route-scope, the multipart family law).
Request
The body is multipart/form-data — one part per field below; the sample sends it
with curl -F legs (curl owns the boundary — no Content-Type header).
Request body fields for ocrDocument | Field | Type | Required | Description |
| file | array of string (binary) | yes | The page images (or one single-shot PDF), ≤ 25 MiB total. |
| model | string | yes | An IronStratum alias whose route_type is ocr. |
| mode | string enum | no | Must match the model's lane — a consistency check, not a router. |
| diplomatic | string enum | no | — |
| language | string | no | — |
Responses
400 400
400 response fields for ocrDocument | Field | Type | Required | Description |
| error | object | yes | — |
401 401
401 response fields for ocrDocument | Field | Type | Required | Description |
| error | object | yes | — |
402 402
402 response fields for ocrDocument | Field | Type | Required | Description |
| error | object | yes | — |
403 403
403 response fields for ocrDocument | Field | Type | Required | Description |
| error | object | yes | — |
404 404
404 response fields for ocrDocument | Field | Type | Required | Description |
| error | object | yes | — |
413 413
413 response fields for ocrDocument | Field | Type | Required | Description |
| error | object | yes | — |
500 500
500 response fields for ocrDocument | Field | Type | Required | Description |
| error | object | yes | — |
502 502
502 response fields for ocrDocument | Field | Type | Required | Description |
| error | object | yes | — |
503 503
503 response fields for ocrDocument | Field | Type | Required | Description |
| error | object | yes | — |
Status codes
- 200 — The card's OCR response verbatim (text, per-page results, pages).