Image To Text avatar

Image To Text

Under maintenance

Pricing

from $40.00 / 1,000 results

Go to Apify Store
Image To Text

Image To Text

Under maintenance

Image to Text Actor analyzes images and generates detailed text descriptions of scenes, objects, and visual context. Upload an image and receive a human-readable explanation of what the image contains. Ideal for accessibility, content understanding, and automation workflows.

Pricing

from $40.00 / 1,000 results

Rating

0.0

(0)

Developer

Taher Ali Badnawarwala

Taher Ali Badnawarwala

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 days ago

Last modified

Share


TL;DR

  • Input: Image URL or file (prefill uses a default image URL so runs complete within 5 minutes)
  • Output: Extracted text + image URL in the default dataset
  • Use it for: OCR, document digitization, automation, testing
  • Result time: Usually under 1 minute

Table of contents


Try it now

ActionLink
Run in Apify ConsoleOpen Actor → Start (use default input or paste an image URL)
API (sync)POST https://api.apify.com/v2/acts/YOUR_USERNAME~image-to-text/run-sync

Replace YOUR_USERNAME with your Apify username.


Overview

The Image to Text Actor extracts text from images using the MultipleWords API. You provide an image (via URL, file upload, or base64), and the Actor returns the extracted text and the processed image URL in the default dataset.

This Actor is useful when you need OCR on demand, document digitization, or image-to-text in workflows.

Common use cases

CategoryExamples
DocumentsReceipts, forms, screenshots
AutomationPipelines that need text from images
DevelopmentMock data, demos, testing
ContentCaptions, alt text, accessibility

Note: Usage rights depend on the upstream API and your Apify plan. Review terms before commercial use.


Usage examples

Use these in the Image URL field or API input.

ScenarioInput
Default test imageLeave Image URL as prefilled (Wikipedia PNG)
Your imagehttps://example.com/your-image.jpg
With fileUse File upload instead of URL

Example input (API)

{
"image_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/280px-PNG_transparency_demonstration_1.png"
}

Features

  • Text extraction from images via MultipleWords API
  • Multiple input formats: URL, file upload, file path, base64
  • Run-once-and-exit: Processes one image per run and exits (passes automated testing within 5 minutes)
  • Default input: Prefill and fallback image URL so runs succeed with one click or empty input
  • Retries: Exponential backoff on API failures (5xx, 429, network errors)
  • Output schema: Results shown in organized tables in the Apify Console

Configuration

All settings are provided via the Actor input.

Input schema

The Actor uses an input schema with:

  • image_url — Prefill and default set to a public test image so the Actor runs successfully with one click and passes automated health checks (succeed within 5 minutes, non-empty dataset).
  • file — Optional file upload; you can provide a URL, path, or base64 string instead of image_url.

When input is empty, null, or omits both fields, the Actor uses the default image URL so the run always completes with a non-empty dataset (required for automated health checks).

Input parameters

ParameterTypeRequiredDefaultDescription
image_urlstringNo*Prefilled test image URLPublic URL of the image to process
filestringNo*File upload, path, URL, or base64 image

Either image_url or file must be provided (or use the default/prefill).

Example input (full)

{
"image_url": "https://example.com/document.png"
}

Or with file upload (Console): use the File field and leave Image URL empty if you prefer.


Usage

Apify Console

  1. Open the Actor in Apify Console.
  2. Use the prefilled Image URL (or replace with your image URL) or upload a File.
  3. Click Start and check the Output tab for extracted text and image URL.

API (run-sync)

Replace YOUR_USERNAME with your Apify username and YOUR_API_TOKEN with your Apify API token.

curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~image-to-text/run-sync?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"image_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/280px-PNG_transparency_demonstration_1.png"}'

Response includes run metadata and dataset items with extracted_text and image_url.

For multiple images or automation, call run-sync (or /run) in a loop with different image_url or file inputs.


Output

Each run writes one or more items to the default dataset. The Output tab shows results in an organized table (see Output schema).

FieldDescription
statusAPI response status (1 = success)
image_urlURL of the processed image on the CDN
extracted_textText extracted from the image

Example output (dataset item)

{
"status": 1,
"image_url": "https://multiplewords.nyc3.cdn.digitaloceanspaces.com/image_to_text/...",
"extracted_text": "The image showcases a landscape..."
}

For bloggers & tutorial writers

You can use this Actor in tutorials, blog posts, or videos without running it first:


Grow your user base

Promote your Actor to reach more users:

  • Share in relevant communities, forums, and social media where your target audience is active (e.g. OCR, automation, no-code tools).
  • Content: Consider blog posts, tutorials, or short videos showing use cases (receipts, forms, screenshots).
  • Integrations: Highlight use with Make, Zapier, n8n, or custom APIs.
  • Apify Store: Keep the README and input/output schemas clear so your Actor is easy to discover and run.

Integration

  • Make (Integromat) — Use the Apify module and select this Actor; map your image URL or file to the input.
  • Zapier — Use the Apify Zapier app and choose "Run Actor"; select this Actor and pass image_url or file.
  • Custom apps — Call the Apify API (/run or /run-sync) with the same input JSON.

Technical details

  • Runtime: Node.js (see Dockerfile).
  • Input: Validated via input schema; either image_url or file (default image URL when both missing or input is null).
  • External API: MultipleWords image_to_text; 90s timeout, retries with exponential backoff on 5xx, 429, and network errors.
  • Run mode: Run-once-and-exit (no standby server); always calls Actor.exit() in finally so the run finishes within 5 minutes.

Actor health

The Actor is built to pass Apify automated testing:

  • Run-once-and-exit: No HTTP server; the Actor gets input (or uses default), processes one image, pushes to the dataset, and exits. The test expects Succeeded and a non-empty default dataset within 5 minutes.
  • Null or empty input: When Actor.getInput() is null or input has no image_url/file, the Actor uses a built-in default image URL so the run still completes with output.
  • Prefill in input schema: prefill and default for image_url so one-click and test runs have a valid image.

Testing

The Actor is designed to pass Apify automated testing: the test runs with default (prefill) input and expects Succeeded and a non-empty default dataset within 5 minutes.

How to test locally:

  1. Console: Start the Actor with the prefilled Image URL (or leave default) and confirm the Output tab has dataset items.
  2. API: POST .../run-sync with {"image_url": "https://..."} or {} and check the response for dataset items.
  3. CLI: apify run with INPUT.json containing {"image_url": "..."} or {}.

FAQ

How long does a run take?
Usually under 1 minute for a single image. Batch runs with prefilled input complete within 5 minutes.

Can I run multiple images in one go?
Each run processes one image by default. For multiple images, run the Actor multiple times (e.g. from a workflow or API loop).

Do I need an API key for the image-to-text API?
The Actor uses its own integration; you only need your Apify account and (for API calls) your Apify API token.

Why is there a default image URL in the input?
So automated tests and new users can run the Actor with one click; the run succeeds and produces non-empty output within 5 minutes.


Resources