agentleFS
tanod-labstanod-labs/tanod-mcp/skills/ocr/SKILL.md

ocr

Skill1 starsChanged 33 days agoMITView on GitHub

Reads text from an image or scanned PDF with tesseract OCR, via Tanod Documents. Use when an agent must extract text from an image or make a scanned PDF searchable.

10 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 7 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Only English (eng) is installed.

    line 74

“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

OCR (Tanod Documents)

POST /v1/ocr reads text from an image URL; POST /v1/pdf/ocr adds a text layer to a scanned PDF. Price: /v1/ocr USD 0.0025 per call, with 5 free eligible static renders per IP per UTC day (one pool shared with PDF text, page metadata, security headers, robots.txt, sitemaps and page links); /v1/pdf/ocr USD 0.01 for at most 5 pages, USD 0.02 for 6-10 pages, no free allowance.

Use when

  • a PNG, JPEG, WebP, GIF or single-page TIFF image must become text
  • a scanned PDF must become searchable before conversion

Use instead

  • PDF that already has text: document-to-markdown
  • tables from a PDF: pdf-tables (after OCR if scanned)
  • scanned PDF to Word: OCR first, then pdf-to-word

Request

JSON body on POST https://tanod.dev/v1/ocr (and /v1/pdf/ocr). Files are sent as a URL or base64 in JSON; these routes do not take multipart/form-data.

/v1/ocr:

  • url (required): public http(s) URL of the image, at most 10 MB and 40 megapixels.
  • lang: tesseract language code (installed: eng).

/v1/pdf/ocr:

  • url or pdf_base64 (at most 10 MB decoded); lang (eng); dpi 100-300 (default 200, at most 200 above 5 pages).
  • pages: at most 10 pages, parts N, N-M, -M, last, e.g. 1-3,7.
  • skip_text (default true): leave pages that already have text alone.
  • output: base64 (default) or url (24-hour link).
  • Example: {"url": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf", "pages": "1", "skip_text": false}

Example body: {"url": "https://tesseract-ocr.github.io/tessdoc/images/eurotext.png", "lang": "eng"}

POST /v1/ocr HTTP/1.1
Host: tanod.dev
content-type: application/json

{"url": "https://tesseract-ocr.github.io/tessdoc/images/eurotext.png", "lang": "eng"}

# free allowance (5 per IP per UTC day), image OCR only

POST /v1/ocr HTTP/1.1
Host: tanod.dev
content-type: application/json
X-Tanod-Free: 1

{"url": "https://tesseract-ocr.github.io/tessdoc/images/eurotext.png", "lang": "eng"}

MCP alternative: connect to https://tanod.dev/mcp and call ocr_image (image) or pdf_ocr (PDF). ocr_image has the 5-per-day free allowance, applied automatically over MCP; pdf_ocr has none.

Payment

An unpaid request returns HTTP 402 with an x402 v2 challenge (USDC on Base, Polygon or Solana) and an MPP/Tempo WWW-Authenticate: Payment challenge. Pay it and repeat the request with the payment attached. No account or API key. Input errors (413, 415, 422) and worker failures (429, 502, 503, 504) are not charged.

Response

/v1/ocr: text, words, confidence_mean, width, height, format, lang, truncated, untrusted_content. /v1/pdf/ocr: file (searchable PDF, base64), text (at most 100,000 characters), text_truncated, ocr_pages, skipped_has_text, lang, dpi, active_content_removed, output_bytes.

Limits

  • Images: 10 MB and 40 megapixels; multi-page TIFF is a 422.
  • PDFs: at most 10 pages per call (split longer ones), 10 MB as base64 (20 MB via url), output above 15 MB is a 413 output_too_large.
  • Only English (eng) is installed.
  • Encrypted PDFs are a 422 pdf_encrypted. A call that cannot finish in about 78 s is a 503.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.