AI Alt Text Generator & Checker: Fix Missing Alt Text
Pricing
from $5.00 / 1,000 image processeds
AI Alt Text Generator & Checker: Fix Missing Alt Text
Generate accessibility- and SEO-ready alt text for a list of image URLs, or scan a whole website and write alt text for every image that's missing it. Powered by AI vision.
Pricing
from $5.00 / 1,000 image processeds
Rating
0.0
(0)
Developer
Raion Al
Maintained by CommunityActor stats
1
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
AI Alt Text Generator: Bulk Alt Text for Image URL Lists
Generate accessibility- and SEO-ready alt text for images at scale using AI vision. Feed it a list of image URLs, like product catalog exports, CMS asset libraries, or migration lists, and get alt text back for each, ready to export to CSV, JSON, or Excel.
Great for: image alt text, bulk alt text generation, AI image captioning, WCAG / accessibility compliance, SEO images, e-commerce product catalogs, and CMS migrations.
Need a whole-site audit instead? If you want to scan an entire website (sitemap crawling, not just a single page) and optionally generate AI descriptions for what it finds, use the companion Image Alt Text Checker. It has the same AI description add-on plus full-site crawling and a no-AI metadata audit mode.
What it does
- Give it a list of image URLs → get alt text for each. This is the primary way to use this actor.
- Or check a single page: point it at one page and it finds
<img>tags missing alt text and writes it for you. (For crawling a whole site, use the Image Alt Text Checker instead.) - Multilingual output, a length cap tuned for WCAG (~125 characters), an optional SEO keyword hint, and decorative-image detection (recommends empty
alt=""for purely ornamental images instead of a bogus description).
Output
One dataset row per image, with a table view built in:
| Field | Description |
|---|---|
imageUrl | The image that was described |
altText | The generated alt text (empty for decorative images) |
flaggedDecorative | true if the image was judged purely decorative |
charCount | Length of the alt text |
pageUrl | The page it was found on (single-page check only) |
existingAlt | The alt text already present, if any |
status | ok, error, or mocked |
A run summary (counts + estimated cost) is stored in the key-value store under SUMMARY.
Example input
A list of image URLs, Spanish, with an SEO hint:
{"imageUrls": ["https://example.com/products/mug-01.jpg","https://example.com/products/mug-02.jpg"],"language": "Spanish","keywordHint": "handmade ceramic mug, product page","style": "descriptive"}
Single-page check (only images missing alt):
{"startUrls": [{ "url": "https://example.com" }],"onlyMissingAlt": true,"language": "English","style": "concise","maxLength": 125,"maxImages": 200}
Key options
| Option | Default | Notes |
|---|---|---|
imageUrls | [] | Primary use: direct image URLs |
startUrls | [] | Single-page check (not a full-site crawl; see Image Alt Text Checker for that) |
onlyMissingAlt | true | Single-page check: skip images that already have alt text |
language | English | Any language |
style | concise | concise (WCAG-friendly) or descriptive |
maxLength | 125 | Hard character cap |
keywordHint | None | Woven in naturally; no keyword stuffing |
detectDecorative | true | Recommends alt="" for ornamental images |
maxImages | 200 | Per-run safety cap (controls cost) |
model | google/gemini-2.5-flash-lite | Any OpenRouter vision model (e.g. openai/gpt-5-nano, amazon/nova-lite-v1) |
apiBaseUrl | OpenRouter | OpenAI-compatible base URL: swap for OpenAI/Groq/Together/local |
maxPagesPerCrawl | 1 | Pages to crawl per start URL (same domain) |
concurrency | 5 | Parallel image requests |
Pricing
Billed per image processed (pay-per-event). Failed images are not charged. On cheap OpenRouter vision models the underlying cost is roughly $0.0001–0.0003 per image. Supported image formats: JPEG, PNG, GIF, WebP (SVG/ICO are skipped).
Please note (fair use & accuracy)
- Only scan websites you own or have permission to analyze. You supply the target; you're responsible for it.
- Alt text is AI-generated: review it before publishing, especially in legally-sensitive or compliance-critical contexts.
- Images are processed transiently and are not stored beyond the run; your results live in your dataset.
Running / self-hosting
The hosted actor provides the AI backend: you just pay per image. To self-host or run locally:
npm install- Set
OPENROUTER_API_KEY(env var) or passopenrouterApiKeyin the input. Get a key at https://openrouter.ai/keys npx apify-cli run(ornpm start). Without a key it runs in mock mode (placeholder alt text) so you can test the pipeline.
To use a different provider, set the apiBaseUrl input to any OpenAI-compatible endpoint (OpenAI, Groq, Together, a local server) and supply that provider's key.
Configure monetization (maintainer)
On the Apify platform, set OPENROUTER_API_KEY as an Actor environment secret, and configure a pay-per-event price for the event image-processed in the Actor's monetization settings. The code calls Actor.charge({ eventName: 'image-processed' }) once per successfully processed image.