Image To Text
Pricing
from $40.00 / 1,000 results
Image To Text
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
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 days ago
Last modified
Categories
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
- Overview
- Usage examples
- Features
- Configuration
- Usage
- Output
- For bloggers & tutorial writers
- Grow your user base
- Integration
- Technical details
- Actor health
- Testing
- FAQ
- Resources
Try it now
| Action | Link |
|---|---|
| Run in Apify Console | Open 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
| Category | Examples |
|---|---|
| Documents | Receipts, forms, screenshots |
| Automation | Pipelines that need text from images |
| Development | Mock data, demos, testing |
| Content | Captions, 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.
| Scenario | Input |
|---|---|
| Default test image | Leave Image URL as prefilled (Wikipedia PNG) |
| Your image | https://example.com/your-image.jpg |
| With file | Use 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 ofimage_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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
image_url | string | No* | Prefilled test image URL | Public URL of the image to process |
file | string | No* | — | 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
- Open the Actor in Apify Console.
- Use the prefilled Image URL (or replace with your image URL) or upload a File.
- 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).
| Field | Description |
|---|---|
status | API response status (1 = success) |
image_url | URL of the processed image on the CDN |
extracted_text | Text 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:
- Input: Use the Example input or Usage examples table.
- Output: Use the Example output above to show what users get.
- API: Use the API (run-sync) curl example; remind readers to replace
YOUR_USERNAMEandYOUR_API_TOKEN.
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_urlor file. - Custom apps — Call the Apify API (
/runor/run-sync) with the same input JSON.
Technical details
- Runtime: Node.js (see Dockerfile).
- Input: Validated via input schema; either
image_urlorfile(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()infinallyso 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 noimage_url/file, the Actor uses a built-in default image URL so the run still completes with output. - Prefill in input schema:
prefillanddefaultforimage_urlso 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:
- Console: Start the Actor with the prefilled Image URL (or leave default) and confirm the Output tab has dataset items.
- API:
POST .../run-syncwith{"image_url": "https://..."}or{}and check the response for dataset items. - CLI:
apify runwithINPUT.jsoncontaining{"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
- Apify Console — Run the Actor and view datasets
- Apify API — Run actors programmatically
- Actor output schema — Define how output is displayed
- Apify SDK for JavaScript
- Join the Apify community on Discord

