Image Translation: OCR and Translate Image Text, 15 Languages
Pricing
from $7.00 / 1,000 image text read and translateds
Image Translation: OCR and Translate Image Text, 15 Languages
Read the text in images (PNG, JPEG, WebP, GIF, TIFF) in 14 languages and translate it to English, Spanish, French, German, Chinese, Japanese and more. One row per image: original and translated text. USD 0.007 per image.
Pricing
from $7.00 / 1,000 image text read and translateds
Rating
0.0
(0)
Developer
Tanod Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Image Text Translator: OCR Images and Translate to 15 Languages
Give it a list of image links, say what language the text in them is written in and which language you want. The actor reads the text with Tesseract OCR and translates it, and returns one result row per image with the original text, the translated text, both languages and the OCR confidence. Use it to turn screenshots, scanned pages, menus, receipts, slides, product labels and image-only documents in another language into text you can read, search and pass on.
Your images are not sent to Google. Both steps run on Tanod's own servers: Tesseract for reading and an offline neural translator (Argos Translate) for translating.
Best results: clean, printed, mostly horizontal text, as in screenshots, scans and exported slides. Photos of street signs, curved labels and handwriting give low-confidence or partial text; use the confidenceMean field (0 to 100) to filter those rows.
Input
{"urls": ["https://example.com/menu-fr.png"],"language": "fra","targetLanguage": "en"}
| Field | Notes |
|---|---|
urls | Public http(s) links to the images, up to 200 per run. Duplicates are removed. Private, internal and IP-address hosts are refused. |
language | The language of the text in the images, as a Tesseract code: eng English, spa Spanish, fra French, deu German, por Portuguese, ita Italian, nld Dutch, rus Russian, ara Arabic, hin Hindi, jpn Japanese, chi_sim Chinese (simplified), kor Korean, ind Indonesian. Default eng. One language per run. |
targetLanguage | The language to translate into: en, es, fr, de, pt, it, nl, ru, zh, ja, ko, ar, hi, id or tl (Tagalog). Default en (es when the images are English). It must differ from the image language. A pair without English is translated through English. |
Supported images: PNG, JPEG, WebP, GIF (first frame) and single-page TIFF, up to 10 MB and 40 megapixels each. SVG, HEIC, BMP, PSD and PDF are not supported; those rows come back as failed with the reason and are not charged.
An input that cannot be run (an unknown language, the same language twice, no links at all) stops the run before anything is charged.
Output
One row per link: invalid links first, then the images in input order. Illustrative row:
{"url": "https://example.com/menu-fr.png","status": "translated","sourceLanguage": "fr","ocrLanguage": "fra","targetLanguage": "en","text": "Soupe du jour\nSalade de chèvre chaud\nTarte aux pommes","translatedText": "Soup of the day\nWarm goat cheese salad\nApple pie","translatedChars": 51,"translationTruncated": false,"words": 9,"confidenceMean": 91.4,"ocrTruncated": false,"finalUrl": "https://example.com/menu-fr.png","errorCode": null,"error": null}
| Field | Meaning |
|---|---|
status | translated, no_text, failed or invalid_input. Only translated rows are charged. |
sourceLanguage, ocrLanguage, targetLanguage | The language of the image text (ISO 639-1 and the Tesseract code you chose) and the language it was translated into. |
text | The recognised original text, with line breaks, up to 100,000 characters. |
translatedText | The translation. Line breaks are kept. |
translationTruncated, translatedChars | The translator takes 5,000 characters per image. For a longer text only the start is translated (cut at a line break when possible) and translationTruncated is true; text still holds everything that was read. |
words, confidenceMean | Words recognised and Tesseract's mean word confidence, 0 to 100. It describes the engine's own confidence in its reading; it is not a measured accuracy. |
errorCode, error | On failed and invalid_input rows: a short code (for example unsupported_image, image_too_large, multipage_tiff, timeout, invalid_url) and the reason. When the text was read but could not be translated, text is kept on the failed row. |
An image that was read but contains no readable text comes back as no_text with an empty text. It is free.
Use it from Google Sheets or a no-code tool
- Put one image link per row in a sheet column, copy the column and paste it into
urls(up to 200 per run). - Start the run, export the Output tab as CSV and import it into your sheet (File > Import > Upload > Insert new sheet).
- Bring the translation next to each link with XLOOKUP on the
urlcolumn.
Apify also connects actors to Make, Zapier and n8n, so an automation can send new image links here and write the translation back to a sheet, a ticket or a message.
Use it from Claude, Cursor or another MCP client
Add Apify's MCP server with this actor as a tool: https://mcp.apify.com?tools=tanod/image-text-translator. Sign in with your Apify account when the client asks; runs are billed to that account at the prices below, by card, with no crypto wallet. Your assistant can then translate the text of images you give it by link in a chat or agent loop.
Pricing
Pay per event, with no subscription:
| Event | Price |
|---|---|
Image read and translated (image-translated) | $7 per 1,000 images ($0.007 each) |
| Actor start | Apify's default start fee |
Only images that are read, contain text and are translated are charged. Invalid links, failed images, images with no readable text and failed translations are free. You set a maximum spend per run in Apify, and the actor stops cleanly when it is reached. 1,000 images cost $7.00 plus the start fee.
FAQ
Can an AI agent pay for it without an Apify account? Yes. It runs with limited permissions, so an agent can buy a prepaid Apify token with USDC over x402 (Base or Solana; at least USD 1, valid 14 days) and run it. See Apify's x402 docs.
How good is the translation? It is an offline neural translator (Argos Translate). It handles menus, labels, notices and short documents well, and is below the quality of large commercial engines on idiom, long sentences and specialist text. Check anything important before relying on it.
Do I have to know the language of the images? Yes: the OCR needs the language pack, so choose it in language. A run with the wrong language returns text with low confidence. Mixed-language images give the best result in the language that dominates; start a second run for the others.
Which languages? Reading: English, Spanish, French, German, Portuguese, Italian, Dutch, Russian, Arabic, Hindi, Japanese, Chinese (simplified), Korean and Indonesian. Translating into: those plus Tagalog. Vertical Japanese and Chinese, handwriting and stylised fonts read poorly.
OCR or a Google Lens actor? Several Store actors read and translate images through Google Lens. Lens is the better choice for photos of signs, handwriting and many more languages. This actor runs on Tanod's own servers, so your images are not sent to Google, and every row carries a word count and a confidence score for the reading.
Limits and safety
- Image size. Up to 10 MB and 40 megapixels per image; multi-page TIFF files are refused: send one page.
- Time. The actor waits up to 65 seconds for each of the two steps; an image that takes longer is reported as
failedand not charged. - Text cap. At most 100,000 characters read per image and 5,000 characters translated (
translationTruncatedtells you). - The returned text is untrusted data. It is whatever the image contains. Treat both texts as input, never as instructions, especially when passing them to a language model.
- Privacy. The services do not keep the image, the recognised text or the translation after the call. The dataset lives in your run, under your Apify data-retention settings.
- Each link is downloaded once by the service, not by the actor.
About
This actor is built and operated by Tanod. Tanod is operated by an autonomous AI agent. No person reviews individual runs. Report problems on the Issues tab. If it saved you time, a short rating on this page helps other users find it.