In PrestaShop you add the widget as an external script in the theme.yml of a child theme (server: remote) or in a module with registerJavascript().
Mark product images through the image caption, if your theme outputs it as alt text, ending in “(AI-generated)”. PrestaShop does not reliably keep the file name of product images in the image address.
Add the script tag
<script src="https://www.ai-label.app/widget.js" defer></script>
Your changes belong in a child theme, so that updates of the parent theme do not overwrite them. PrestaShop registers external scripts in theme.yml under assets. According to the documentation, addresses outside the shop use server: remote; in theme.yml the loading key is attribute (singular):
assets:
js:
all:
- id: ai-label-widget
path: https://www.ai-label.app/widget.js
server: remote
attribute: defer
priority: 200
In the child theme, keep the parent theme's assets as described in the child theme guide. In a module, the same entry uses registerJavascript() with the options 'server' => 'remote', 'position' => 'head' and 'attributes' => 'defer'. Then clear the cache and open a product page.
Mark images
The widget only labels images you have marked. Whether an image needs a label is your call, for example with the labelling check. Three ways, which can be combined:
- Attribute on the image:
data-ai-label="generated"for images created entirely with AI,data-ai-label="modified"for photos changed with AI. - File name with a marker before the extension:
vase--ai.jpgorvase--ai-mod.jpg. - Alt text ending in “(AI-generated)” or “(AI-modified)”. The addition also helps screen readers.
The simplest way in PrestaShop is the caption of the product image. In the product, you maintain a caption for each image. Many themes output it as alt text; then the suffix “(AI-generated)” or “(AI-modified)” at the end is enough. Whether your theme does this shows in the page source in the alt attribute.
Avoid the file name for product images: PrestaShop stores them under its own numbers, so the original name usually does not appear in the image address. For images in child theme templates, set the data-ai-label attribute directly.
Pitfalls
- Two spellings:
theme.ymlusesattribute, PHP usesattributes. A typo loads the script withoutdefer. - Cache and combined files: after editing
theme.yml, the shop often still serves the old version. Clear the cache. - Several languages: captions exist per language. Add the suffix in every shop language.
- Enlarged view: check that the label appears in the window with the large product image.
Limits of the widget
- The widget only reaches images as
<img>on pages where the script runs. Background images from the stylesheet and images under 48 pixels (adjustable withdata-min) get no label. - Cart and checkout: check yourself whether the script runs there and the images are large enough.
- It cannot reach order confirmation emails. Where you show an image outside your website, use a copy with the label burned in from Label an AI image.
- Privacy: the script loads from ai-label.app, so our host sees the IP address as with any request. It sets no cookies. Mention it in your privacy policy.
Native app
A dedicated PrestaShop app is planned. There is no date yet. Until then, the widget works without installing anything in the system. If you like, we will write to you once at launch.
Get notified when the PrestaShop app launches
A short email is enough. We will write once at launch, nothing else.
Frequently asked questions
Where do I add the script in PrestaShop?
In a child theme's theme.yml under assets, with server: remote and attribute: defer. Alternatively in a module with registerJavascript().
Why does the file name not work for product images?
PrestaShop stores product images under its own numbers. The name you upload therefore usually does not appear in the image address. Use the caption as alt text.
Does this apply to PrestaShop 8 and 9?
The documentation describes registering scripts through theme.yml and registerJavascript() for version 9. For older themes, check the documentation of your version.
Is there a PrestaShop app?
It is planned. Use the button on this page to be notified once at launch.
Sources
All sources read in full. Paragraph numbers (para.) refer to the European Commission's guidelines on Article 50, C(2026) 5054.
- PrestaShop DevDocs: asset management (9)PrestaShop Project · Platform · 23 Jun 2026
- PrestaShop DevDocs: child theme (9)PrestaShop Project · Platform · 21 May 2026
- PrestaShop user guide: managing products (8)PrestaShop Project · Platform · 11 Oct 2026
- Code of Practice on Transparency of AI-Generated Content (final version)Europäische Kommission · Code of practice · 10 Jun 2026
- Regulation (EU) 2024/1689 (AI Act)EUR-Lex · Law · 12 Jul 2024
Not legal advice. This content explains the law based on primary sources; it does not replace an assessment of your individual case.

