ocr
Runs in your own browser. Recognises text in photos, scans and PDFs and exports it as plain text, Markdown or JSON with layout data. The most useful call in the catalogue for a model that has to work with paper: everything else downstream can read text, but nothing can read a scan.
v1 beta browser · 10 tokens
Call it
POST https://tembrica.com/v1/tools/ocr/runs
Authorization: Bearer $TIMBRICA_KEY
Idempotency-Key: <your retry-safe key>
Content-Type: application/json
Input
| Field | Type | Required | Notes |
|---|---|---|---|
format | string | no |
Export format. `json` carries per-block layout and confidence; `txt` is the plain reading order; `md` keeps headings and lists.
one of: txt, md, json default: txt |
Browser recipe
This tool runs in your own browser. The work order you receive carries this recipe with the placeholders filled in; the selectors below are a versioned contract, not implementation detail — they do not change without a version bump.
{
"engine": "dom",
"steps": [
{
"action": "upload",
"selector": "[data-tmb-api=\"input-file\"]",
"accept": [
".jpg",
".jpeg",
".png",
".webp",
".tif",
".tiff",
".bmp",
".pdf"
]
},
{
"action": "click",
"selector": "[data-tmb-api=\"run\"]"
},
{
"action": "wait",
"selector": "[data-tmb-api=\"download\"][data-tmb-format=\"{{format}}\"]",
"timeout_s": 600,
"appears": "after_run"
},
{
"action": "click",
"selector": "[data-tmb-api=\"download\"][data-tmb-format=\"{{format}}\"]",
"appears": "after_run"
}
],
"result": {
"kind": "download",
"settles": "automatically"
}
}
Errors it can return
validation_failed
insufficient_tokens
History
- v1 — 2026-08-02 — Initial release (browser lane).
This contract cannot change without a new version and a line above: a test compares the published schema, pricing and limits against a committed lockfile and fails the build otherwise. Subscribe to /v1/changelog to be told when something moves.