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
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
AI Alt Text Generator — Bulk Image Alt Text for SEO & Accessibility
Generate accessibility- and SEO-ready alt text for images at scale using AI vision. Feed it a list of image URLs, or point it at a website and it will find every image that's missing alt text and write it for you — then hand back a clean report you can 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, CMS migrations, and accessibility audits.
What it does
- Mode A — Image URLs: give it a list of image URLs → get alt text for each.
- Mode B — Website audit: give it a page (or several) → it scans the HTML, finds
<img>tags, and generates alt text for the images that are missing or have empty alt (onlyMissingAlt). Ideal for auditing a site's accessibility gaps. - 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 (website mode) |
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
Website audit (only images missing alt):
{"startUrls": [{ "url": "https://example.com" }],"onlyMissingAlt": true,"language": "English","style": "concise","maxLength": 125,"maxImages": 200}
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"}
Key options
| Option | Default | Notes |
|---|---|---|
imageUrls | [] | Mode A — direct image URLs |
startUrls | [] | Mode B — website pages to scan |
onlyMissingAlt | true | Website mode: skip images that already have alt text |
language | English | Any language |
style | concise | concise (WCAG-friendly) or descriptive |
maxLength | 125 | Hard character cap |
keywordHint | — | 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 |
renderJs | false | Use a browser for JS-heavy sites (slower) |
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 in website mode).
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.