FMCG and Consumer Goods

EU AI Act Article 50 labelling: 11 AI images labelled with the EU icon and zero gaps in the compliance audit for a Polish FMCG brand

A Polish FMCG brand with nationwide distribution and a bilingual product website.

11 of 11AI images labelled
0gaps in the compliance audit
419image uses checked in code
A bright beverage brand studio: two water bottles with blank labels next to a printed banner proof, a loupe and a colour swatch fan, ready for a product accuracy check.
What we delivered
Image inventory and provenance verificationVisible labelling with the EU iconMachine-readable IPTC marking in the file
Industry
FMCGBeveragesBrand communication

Overview

The ClientThe client is a Polish FMCG brand selling nationwide, with a WordPress product website in Polish and English (22 pages, 149 images in the media library).

The brand used AI-generated images in the most visible parts of its website: main banners, product sections and social sharing cards. When Article 50 of the EU AI Act came into application on 2 August 2026, the board decided to label every AI image, including those the regulation did not require to be labelled retroactively. ROI & Shine designed and implemented labelling in two layers: one visible to consumers (the official European Union icon with a caption) and one readable by machines (an AI declaration written into the image file). The audit of 31 August 2026 confirmed complete labelling across all pages, with no loss to the brand's visual quality.

01

The Challenge

In FMCG, a product image is a promise made to the consumer. An AI image that shows the packaging differently from what sits on the shelf is a risk of misleading the customer, not just a brand issue. The client faced four obstacles:

  • One file, many places of use.The same image appeared at once as an image tag, in a set of resolutions for different screens, as a section background, in link previews and in page scripts. A manual file list would miss some of them, and every unlabelled use is a compliance gap.
  • No certainty about what was made with AI.Supplier declarations did not always match the metadata in the files. Without evidence, there is no reliable way to tell a generated image from a modified one or from a regular photograph.
  • The crop changes with the screen.Banners are automatically cropped to fit the screen width. The sports section banner lost about 32% of the image at the bottom, and the product pairing section lost 42% at 1440 px. A label placed in the corner of the file simply disappeared.
  • The regulation sets no dimensions.The EU requires a "clearly visible" label but defines no minimum size. A label that is too small defeats the purpose of the rule; one that is too large draws attention away from the product.
02

The Strategy

We treated labelling not as stamping an icon onto images, but as a compliance process that has to survive every future change to the website.

Our strategy rested on three pillars:

  • Evidence first, decision second.We established the origin of every image from the metadata stored in the file, not from the team's memory. Before any code was written, the client received a decision document with options and costs, and confirmed the choice in writing.
  • Product accuracy before labelling.An icon cannot fix an image that misrepresents the product. We compared every image with the real packaging: label, colour, volume and variant description.
  • Numbers from measurement, not intuition.We set the label's size, contrast and position through legibility tests at three screen widths. Every change to the media is checked by an audit, so the label does not vanish with the next photo swap.
03

The Solution

ROI & Shine implemented two-layer AI content labelling that runs directly on the client's website and in the process of creating new images:

  1. 1

    Inventories every use

    A scanner went through the website code and recorded 419 entries in a register: images, resolution sets, style backgrounds, link previews and URLs in scripts. This let us find every place where an AI image was visible, including those that never show up in the media library.

  2. 2

    Verifies provenance

    Our own C2PA metadata reader, which needs no external tools, detected 31 files carrying a signed AI declaration. Each image was classified as AI-generated, AI-modified or photograph. Along the way we caught an image showing the wrong product variant description on the label. A product range image with blurred label text was locked against zooming, and its file size dropped from 3,012 kB to 199 kB.

  3. 3

    Labels on screen

    A WordPress plugin overlays the official EU "AI GENERATED" icon with the caption "Material generated or significantly modified using AI" (in Polish on the Polish version). The label is anchored to the visible crop rather than to the file, so it stays in place on every screen and in print. On social sharing cards the label is embedded in the image, because no script runs there.

  4. 4

    Marks the file and keeps it compliant

    In our content factory, every generated image receives the IPTC entry DigitalSourceType = trainedAlgorithmicMedia in the file: once right after generation and again just before publishing, without re-encoding the pixels. Google Merchant Center has required this same entry for AI-generated product images since February 2024. An audit at 390, 768 and 1440 px and 12 automated tests catch any shifted or missing label.

Tech stack
Website
WordPressmust-use plugin in PHP
Analysis and automation
Pythoncustom C2PA readermedia register scanner
Metadata
IPTC Photo MetadataXMPC2PA
Imagery
gpt-image-2 with mask-based editingofficial EU icon pack (SVG)
Quality control
Automated testsaudit at three screen widths
04

The Impact

The brand entered the new regulatory regime within the first month of its application, with complete documentation it can present to a supervisory authority, and with no compromise on the look of its website.

11 of 11 AI images labelled with the EU icon and caption

Labelling completeness

0 gaps in the audit of 31.08.2026 across all pages with AI images

EU AI Act Article 50 compliance

419 image uses checked in the website code

Full control over media

13.9:1 caption contrast, 10.7:1 label contrast

Label legibility

Minus 93% in file size for the image locked against zooming (3,012 kB to 199 kB)

Website performance
05

How to implement Article 50 labelling: lessons from this project

Start with a register of uses, not a list of files.

The media library shows files, not the places where they are visible. Each entry in our register has columns for file, type of use, page, origin, evidence and labelling status. Sample entries:

file,type_of_use,page,origin,evidence,label
banner-sport.webp,css-background,/sport,AI GENERATED,C2PA,yes
banner-sport.webp,link-preview,/sport,AI GENERATED,C2PA,embedded
range.webp,image+resolutions,/products,AI MODIFIED,IPTC,yes

Without such a register, the first thing to slip through is the social media link preview, which is exactly what customers see most often.

Tell generated images from modified ones.

The EU provides three icons: "AI", "AI GENERATED" and "AI MODIFIED", each in four colour variants. A product photo in which AI changed a single element is "AI MODIFIED", with the metadata value compositeWithTrainedAlgorithmicMedia. A scene generated from scratch is "AI GENERATED" and trainedAlgorithmicMedia. For changes to product photos we use mask-based editing: the model alters only the selected area, and the rest of the frame stays pixel-identical to the original.

Anchor the label to the crop the user actually sees.

If the website crops images to fit the screen, a label in the corner of the file will fall outside the frame. The label has to live in the image container. A simplified rule:

.media { position: relative; container-type: inline-size; }
.media .ai-label {
  position: absolute; right: 2cqw; bottom: 2cqw;
  width: clamp(64px, 9cqw, 80px);
  print-color-adjust: exact;
}

Position: corners only, never the centre of the frame. If the bottom right corner is occupied by the product or a person, the label moves to another corner.

Set the size by measurement.

The word "GENERATED" on the EU icon became illegible at 56 px wide. We therefore set the label at 9% of the visible crop width, with ranges of 64 to 80 px on mobile, 72 to 110 px on tablet and 84 to 148 px on desktop. Exceptions are set manually; for example, a banner with a wide background margin got 18%. Label contrast exceeds 10:1, because this is a legally required disclosure, not a decorative element. We rejected a 3:1 variant as too weak.

Add a text caption.

User testing carried out for the European Commission's Code of Practice (final version of 10 June 2026) showed that an icon with text is noticed more often than the icon alone. We wrote the caption in both website languages.

Write the AI declaration into the file twice.

Image editors and compressors often strip metadata when re-saving. That is why we write it right after the image is generated and again just before publishing. The simplest one-line equivalent:

exiftool -overwrite_original \
  -XMP-iptcExt:DigitalSourceType="http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia" \
  image.webp

A brand cannot rely on the model provider's watermark here. The invisible watermark is the provider's obligation (Article 50(2); for systems on the market before 2 August 2026, the deadline is 2 December 2026). Visible disclosure to the consumer is the brand's responsibility and has applied since 2 August 2026 with no transition period.

Guard against the label silently disappearing.

The biggest risk comes not at launch but a few months later. In this project, renaming a file during image optimisation removed the label from the product page banner. We introduced a rule we call the AI file list gate: the label is tied to the file name on a list, and every new or renamed AI image means adding it to the list and running the audit again at three screen widths.

The product accuracy checklist we use before publishing an AI image

  • label, logo, packaging colour and volume match the real product;
  • variant name and parameters on the label match the product range;
  • no variants that are not on sale, or a clear "visualisation" note;
  • no recognisable people without consent;
  • AI metadata preserved after export and publishing;
  • zoom locked if generation errors show up in close-up.

Ready to see similar results?

Book a free consultation →