Title: Subreality AI-Media-Label
Author: Subreality
Published: <strong>August 31, 2026</strong>
Last modified: August 31, 2026

---

Search plugins

![](https://ps.w.org/subreality-ai-media-label/assets/banner-772x250.png?rev=3674841)

![](https://ps.w.org/subreality-ai-media-label/assets/icon-256x256.png?rev=3674841)

# Subreality AI-Media-Label

 By [Subreality](https://profiles.wordpress.org/rtpde/)

[Download](https://downloads.wordpress.org/plugin/subreality-ai-media-label.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/subreality-ai-media-label/#description)
 * [Reviews](https://wordpress.org/plugins/subreality-ai-media-label/#reviews)
 *  [Installation](https://wordpress.org/plugins/subreality-ai-media-label/#installation)
 * [Development](https://wordpress.org/plugins/subreality-ai-media-label/#developers)

 [Support](https://wordpress.org/support/plugin/subreality-ai-media-label/)

## Description

Subreality AI-Media-Label helps you meet the transparency obligations of the EU 
AI Act for image material with as little effort as possible.

An editor decides once, in the media library, whether an image

 * needs no label,
 * was fully AI-generated, or
 * was edited with AI.

From that moment on, the label appears automatically everywhere the image is used
on the site – as a featured image, in Gutenberg blocks, in galleries, in the Classic
Editor and on WooCommerce product images. Editors never have to think about it again
when inserting the image.

**Important:** The plugin never modifies the image file itself. No image manipulation
takes place (no GD, no Imagick, no watermark burned into the file). The label is
rendered purely through an HTML wrapper plus CSS. It therefore works losslessly 
with JPEG, WebP, AVIF and any other format, and the design can be changed at any
time without reprocessing existing images.

The plugin is fully translatable, with translations delivered through translate.
wordpress.org. The badge texts can be changed freely on the settings page, so the
visible frontend label can be in any language you like.

#### How it works

 * Three additional fields in the media edit dialog: label status, badge visibility,
   badge position.
 * **Automatic detection on upload:** If an image file contains the IPTC/XMP standard
   value digitalSourceType (set by DALL-E and Adobe Firefly, among others), the 
   label status is applied automatically. This can be switched off, and an existing
   label is never overwritten.
 * Automatic coverage of attachment images through wp_get_attachment_image() (featured
   images, WooCommerce) as well as through rendered content (Gutenberg, Classic 
   Editor, galleries).
 * An additional safety net for images in block templates (full site editing), plus
   an optional JavaScript fallback for themes that only output images by their URL.
 * Global settings page (Settings > Subreality AI-Media-Label) with a live preview:
   site-wide on/off switch, badge texts, badge position and visibility (optionally
   enforced for all images), a freely selectable background colour with an opacity
   slider – the badge text colour is chosen automatically for sufficient contrast.
 * **Media library tools:** a dedicated “AI label” column in the list view, a status
   filter (including “not labelled”) and bulk actions to label many images at once.
 * **Machine-readable label:** labelled images additionally receive a data-ai-status
   attribute in the HTML, which can be evaluated by search engines and tools even
   when the visible badge is hidden. This can be switched off.
 * Live preview of the label directly in the block editor.
 * No label is applied in RSS/Atom feeds and WooCommerce emails, because no plugin
   CSS is loaded there.
 * Extensive filters and actions for developers, among other things to replace the
   badge design entirely and to add custom detection markers.

#### Privacy

This plugin does not collect, store or transmit any personal data about site visitors.
It only stores editorial metadata (the label status) on the individual media attachment.
The automatic detection reads the locally uploaded file only; no external services
are contacted.

#### Bundled image files

The sample image used in the live preview (assets/img/beispielbild.webp) and the
plugin logo (assets/img/ki-transparenz-logo.svg) were created by the plugin author
with an AI image generator. No third-party rights apply to them; they are licensed
under GPLv2 or later, just like the plugin.

## Screenshots

[⌊Settings page: basic options (labelling, automatic detection, machine-readable
output)⌉⌊Settings page: basic options (labelling, automatic detection, machine-readable
output)⌉[

Settings page: basic options (labelling, automatic detection, machine-readable output)

[⌊Settings page: badge position, visibility and appearance⌉⌊Settings page: badge
position, visibility and appearance⌉[

Settings page: badge position, visibility and appearance

[⌊Settings page: live preview of the badge⌉⌊Settings page: live preview of the badge⌉[

Settings page: live preview of the badge

[⌊AI label fields in the media edit dialog⌉⌊AI label fields in the media edit dialog⌉[

AI label fields in the media edit dialog

[⌊Media library list view with the status column⌉⌊Media library list view with the
status column⌉[

Media library list view with the status column

[⌊A labelled image in the frontend⌉⌊A labelled image in the frontend⌉[

A labelled image in the frontend

## Installation

 1. Upload the plugin folder to `/wp-content/plugins/`, or upload the ZIP file via “
    Plugins > Add New”.
 2. Activate the plugin.
 3. Edit an image in the media library and choose the appropriate status under “AI 
    label” – or simply upload an AI image that carries the corresponding metadata, 
    in which case it happens automatically.

## FAQ

### Is the image file modified?

No. The label is rendered purely through HTML and CSS while the page is being output.
The original file is never touched.

### Does the plugin work with any theme?

Yes. The labelling hooks into WordPress core (wp_get_attachment_image, the_content,
render_block) and is therefore independent of the theme in use. For themes that 
only output images by their URL (for example via get_the_post_thumbnail_url), an
optional JavaScript fallback detection is available, as well as helper functions
for theme developers.

### Does the plugin detect AI images automatically?

Yes, on upload. Many generators (for example DALL-E and Adobe Firefly) embed the
IPTC standard value digitalSourceType into the file. If the plugin finds this marker,
the status is applied automatically. Images without metadata (for example screenshots
taken from AI tools) still have to be labelled manually.

### Can I customise the appearance of the badge?

Yes. Badge texts, position, background colour and opacity are configurable on the
settings page, with a live preview. The text colour is chosen automatically for 
sufficient contrast. For anything beyond that, developer filters are available, 
among them subreal_ai_badge_renderer for a completely custom badge design.

### What happens if I disable “show badge”?

The label status stays stored, but no visible label is rendered in the frontend.
The machine-readable label (the data-ai-status attribute) is still applied, provided
that option is enabled.

### In which languages is the plugin available?

The admin interface is in English. Translations are delivered through translate.
wordpress.org and are installed automatically, and every string is translatable,
so contributions are welcome. The badge texts shown in the frontend can be edited
freely on the settings page as well, so the visible label can be in any language
regardless of the interface language.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Subreality AI-Media-Label” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Subreality ](https://profiles.wordpress.org/rtpde/)

“Subreality AI-Media-Label” has been translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/subreality-ai-media-label/contributors)
for their contributions.

[Translate “Subreality AI-Media-Label” into your language.](https://translate.wordpress.org/projects/wp-plugins/subreality-ai-media-label)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/subreality-ai-media-label/),
check out the [SVN repository](https://plugins.svn.wordpress.org/subreality-ai-media-label/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/subreality-ai-media-label/)
by [RSS](https://plugins.trac.wordpress.org/log/subreality-ai-media-label/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * First release.
 * Labels AI-generated and AI-edited images purely through an HTML wrapper and CSS–
   the original file is never modified.
 * Three fields per image in the media library: label status (none / AI-generated/
   AI-modified), badge visibility and badge position.
 * Automatic coverage of featured images, WooCommerce images and images in post 
   content; optional JavaScript fallback for images that themes only output by their
   URL.
 * Settings page with live preview: badge texts, position, visibility, background
   colour and opacity; global defaults can be enforced for all images.
 * Badge text colour is chosen automatically for sufficient contrast (light text
   on dark backgrounds and vice versa).
 * Machine-readable `data-ai-status` attribute on every labelled image, even when
   the badge is hidden.
 * Automatic detection on upload based on the XMP/IPTC marker `digitalSourceType`;
   existing labels are never overwritten.
 * Media library list view: “AI label” column, status filter and bulk actions for
   labelling and removing.
 * No labelling inside WooCommerce emails; contexts and markup are extensible through
   filters.
 * Fully translatable interface in English; translations are delivered through translate.
   wordpress.org.
 * Optionally removes all plugin data on uninstall.

## Meta

 *  Version **1.0.0**
 *  Last updated **4 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/subreality-ai-media-label/) and 
   [German](https://de.wordpress.org/plugins/subreality-ai-media-label/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/subreality-ai-media-label)
 * Tags
 * [AI](https://wordpress.org/plugins/tags/ai/)[eu ai act](https://wordpress.org/plugins/tags/eu-ai-act/)
   [gutenberg](https://wordpress.org/plugins/tags/gutenberg/)[media](https://wordpress.org/plugins/tags/media/)
   [transparency](https://wordpress.org/plugins/tags/transparency/)
 *  [Advanced View](https://wordpress.org/plugins/subreality-ai-media-label/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/subreality-ai-media-label/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/subreality-ai-media-label/reviews/)

## Contributors

 *   [ Subreality ](https://profiles.wordpress.org/rtpde/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/subreality-ai-media-label/)