Alt-Text Optimizer Pro
Generating alt texts
Generate alt texts for single images or for several media items at once.
Now for the fun part: generating alt texts. It all happens conveniently in a dedicated area of the administration – no programming involved. You see at a glance which images are still missing an alt text, select them and have them described.
Opening the area
In the administration, open Content → Alt-Text Optimizer Pro.
At the top you'll see a status:
- Ready – everything is configured, you can get going.
- Not configured – the OpenAI key or the model is missing. Sort that out in the configuration.
Understanding the two tabs
The area has two tabs:
- Without alt text – every image that doesn't have an alt text yet ends up here. This is your to-do list.
- AI-generated – here you see all images whose alt text was created by the plugin. That keeps you on top of things and lets you regenerate or remove texts whenever you need to.
The search field helps you find images quickly by file name.
Generating alt texts
You have three options:
- A single image: click Generate alt text in the image's row.
- Several images: tick the checkboxes on the left for the images you want, then click Generate alt texts.
- All at once: Generate all processes every image in the current tab (see the note on the limit below).

A progress page then opens. There you see the status of each image – pending, processing, successful or error – along with a progress bar. The images are processed one after another, so larger batches take a moment. At the end you get a summary of how many texts were created.


Limit per run: 100 images. If you select more, the plugin processes the first 100 and lets you know. Just work through large media libraries in several runs – that also keeps results and cost easy to follow.
Reviewing, regenerating or removing texts
In the AI-generated tab you can at any time:
- regenerate a text (after changing the length or language, for example),
- remove an alt text again – the image then reappears under Without alt text.

So you stay in charge of the texts at all times. And of course you can still edit an alt text by hand directly on the media item.
What you should know
Existing alt texts get overwritten. If you generate a new text for an image, it replaces any text that was there. In the "Without alt text" tab that can't happen – it only ever lists images without a text.
- Only images are processed. Supported are JPG, PNG, GIF and WebP. Other files (PDFs, videos, SVG) are skipped with a message.
- The image file must be reachable. It has to physically live in your shop's
publicfolder. With offloaded storage (external CDN/cloud storage) the image must be retrievable via its URL. - Very large files (over 20 MB) are skipped.
- OpenAI daily limits: with a lot of images in a short time, OpenAI may slow you down ("rate limit"). Just wait a moment and start again.
Where does the alt text end up?
The finished text is saved in the normal alt text field of the image in Shopware. It is live in your shop immediately – exactly as if you had typed it in by hand. On top of that the plugin remembers (via an invisible field) that the text came from the AI, so it shows up in the AI-generated tab.
For developers: API endpoints
You only need this section for your own integrations or automations. It is not relevant for normal use in the admin area.
The plugin exposes two admin API routes, the same ones the interface uses.
Generate an alt text for a single media item:
POST /api/_action/ai-alttext/generate-single
Content-Type: application/json
{
"mediaId": "0188f...",
"salesChannelId": null
}
Success response:
{
"success": true,
"mediaId": "0188f...",
"altText": "Schwarze Laufschuhe mit weißer Sohle auf hellem Hintergrund"
}
Check the configuration:
GET /api/_action/ai-alttext/check-config?salesChannelId=...
{
"valid": true,
"model": "gpt-4o-mini"
}
If something fails, the routes respond with success: false or valid: false
and a meaningful message. The most common causes are listed under
troubleshooting.