Linux 软件免费装
Banner图

TransparAI: AI Image Detection & EU AI Act Labeling

开发者 contexlabs
更新时间 2026年9月9日 05:57
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

eu ai act ai detection c2pa content credentials ai label

下载

1.0.0 1.0.1 1.0.2

详情介绍:

TransparAI finds AI-generated images in your WordPress media library, labels them with a visible AI badge and writes a machine-readable AI disclosure (the IPTC digital source type) into the image files themselves. That covers both duties of Article 50 of the EU AI Act for AI-generated media: a visible disclosure and a machine-readable marking. The tedious part, finding the AI content in the first place, is automated. Automatic AI image detection Most AI generators leave traces in the files they produce, and TransparAI reads all of the common ones: Detection parses the actual file containers (JPEG segments, PNG chunks, RIFF, MP4 boxes, ID3 frames) and matches only inside real metadata blocks. It never runs a blind text search over raw file bytes, so a Spanish caption containing the word "imagenes" will not trigger anything. One catch many tools get wrong: cameras from Leica, Sony and Nikon also embed Content Credentials into real photos, so a C2PA manifest alone never auto-labels anything here. Review queue instead of blind trust Findings come with a confidence level. Files that explicitly declare their AI origin can be labeled automatically. Strong but informal signals land in a review queue where you confirm or dismiss them, one by one or in bulk, directly in the media library. New uploads are checked as they come in; for everything older there is a batched scan of the whole library with a progress bar, pausable at any time. Media generated by AI plugins on your own site (AI Engine, AI Power, Elementor AI, WordPress AI) is labeled at the source, no file inspection needed. The visible AI badge A configurable badge marks labeled media in the front end. Overlay or a caption line, four positions, three sizes, dark, light, outline or icon-only, optional generator name, optional alt text note for screen readers. An optional start date limits the badge to media uploaded on or after that day, so you can introduce the labeling on an existing site without retroactively badging older content; earlier media stay labeled in the admin only. The badge is rendered server-side, so it survives page caching, and it works with the block editor (images, galleries, covers, featured images, inline images, video and audio), the classic editor, template images, text widgets, WooCommerce product and shop pages including the gallery lightbox, Elementor free and Pro including Theme Builder, and WPBakery Page Builder, each image module tested one by one. Themes love to stack their own layers over images (hover effects, gradient scrims, zoom icons). TransparAI checks the real paint order: a badge that is actually covered is raised, moved to a free corner or, as the last resort, turned into a caption line below the image, automatically. Every single image can also get its own badge position, a caption line or no visible badge at all, straight from its attachment details, and documented CSS utility classes give theme builders the same control per container. An optional extra labels images printed without an attachment ID (ACF fields returning a URL, sliders) and CSS background images through a small script, late-loading galleries and AJAX grids included. Two optional disclosure layers round it off: a short site-wide note at the end of every page that contains labeled media, and a per-post checkbox that puts a configurable "created with the help of AI" line ahead of AI-written content. When a label changes, TransparAI tells the common page-cache plugins (WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache and others) to refresh, so cached pages never keep an outdated badge state. Machine-readable AI labeling in the files For labeled files TransparAI writes the IPTC digital source type (trainedAlgorithmicMedia, or compositeWithTrainedAlgorithmicMedia for AI-edited media) as XMP metadata into JPEG, PNG, WebP and AVIF, including every size variant WordPress generated. Google reads this field and can show an AI notice in image search. Each page additionally carries Schema.org JSON-LD (ImageObject and VideoObject with digitalSourceType) for its labeled media, so search engines get the AI declaration without opening a single file. Your existing metadata is safe: an existing XMP packet is merged, not replaced, and unlabeling removes exactly what this plugin wrote. Writes are atomic and validated first, so a failed write cannot corrupt an image. And because image optimizers and thumbnail regeneration tend to strip metadata, TransparAI fingerprints every labeled file and restores missing AI declarations in an hourly integrity sweep. For larger setups Every label, review decision and repair is recorded per file with its time and the editor who made it, and the whole library can be exported as a CSV audit list straight from the plugin page, so the question "who declared this image AI-generated, and when" has an answer months later. WP-CLI commands for scanning, labeling and auditing: wp transparai scan, wp transparai status --format=csv for the same export on the command line, wp transparai verify-meta --repair to check and fix the in-file metadata. Other plugins can label media through do_action( 'transparai_mark_ai', $attachment_id, 'My Generator' ), the detection rules are extensible via filters, translation setups are covered by a bundled WPML configuration, and uninstalling cleans up across every site of a multisite network when you ask it to. The plugin runs entirely on your server. No accounts, no telemetry, and no request to anyone else: the only HTTP request it can make is the optional delivery check, which asks your own site for one image to see whether your CDN strips the declaration on the way out. Please also read the Disclaimer section below. The interface is available in English, German, French, Spanish, Italian and Dutch. Contact: TransparAI@cms-admins.de

安装:

  1. Install the plugin from the WordPress plugin directory (Plugins, Add New, search for "TransparAI") or upload the ZIP, then activate it.
  2. Open Media, TransparAI. New uploads are checked automatically from now on.
  3. Click Scan new/unscanned media to go through your existing library in small batches, pausable at any time.
  4. Clear declarations are labeled right away; strong signals land in the review queue. Follow the Open review queue link and confirm or dismiss each item, single or in bulk. A camera photo with Content Credentials shows up here on purpose; dismiss it once and it stays dismissed. Media you have already decided on yourself is reported as skipped in the scan summary and is never overruled.
  5. Adjust the badge under Visible badge, and if your theme prints images without an attachment ID (ACF URL fields, sliders) or uses CSS backgrounds, enable the extra option under Extras.
  6. Single image sitting awkwardly? Open its attachment details and pick a Badge position there: another corner, a caption line below the image, or no visible badge for that one image.
Everything else runs on its own: labeled files get the IPTC digital source type written into the file (verify with exiftool -XMP-iptcExt:DigitalSourceType image.jpg), and the hourly sweep restores metadata that optimizers strip.

屏幕截图:

  • Attachment details: label checkbox, detection evidence, review actions and the file inspection with its raw XMP packet
  • Settings page with library statistics, the batched scan and the audit export
  • Front-end badge on a labeled image

升级注意事项:

1.0.2 Fixes a library scan that stopped after its first batch, detection of large PNG files whose metadata sits after the image data, and the labeling of images from Bing Image Creator, Microsoft Designer and Copilot. 1.0.1 Fixes a silent failure of the auto-repair on multisite networks, adds a per-file history with CSV audit export, file inspection in the attachment details, an optional delivery check and five translations. 1.0.0 Initial release.

常见问题:

Can the plugin detect every AI image?

No, and no plugin can. Detection relies on metadata that generators embed. Images whose metadata was stripped (social media re-uploads, screenshots, clipboard pastes) carry no signals. Invisible pixel watermarks such as Google SynthID can only be verified by the vendor's own service; TransparAI does not pretend otherwise. Detected metadata is an indication, not cryptographic proof. That is exactly why the review queue exists.

Which AI image generators are recognized?

Anything that leaves a standard marking in the file. In practice that covers ChatGPT and DALL-E, GPT-Image, Google Gemini including Nano Banana output, Adobe Firefly and Photoshop Generative Fill, Bing Image Creator, Midjourney, Stable Diffusion (AUTOMATIC1111, ComfyUI, InvokeAI, SwarmUI, Fooocus), NovelAI, Flux by Black Forest Labs, Leonardo.Ai, Ideogram, Recraft and Seedream, plus every tool that writes a C2PA manifest or the IPTC digital source type, which is the direction the whole industry is moving in. New signatures can be added with a filter, no code fork needed. TransparAI is an independent plugin and is not affiliated with any of these vendors.

Does the plugin make my site compliant with the EU AI Act?

It gives you the technical building blocks Article 50 asks for: a visible disclosure and a machine-readable marking. Whether and how the EU AI Act or any other law applies to your site, and whether your specific setup satisfies it, is a legal question only you (or your lawyer) can answer. See the Disclaimer section.

Is this legal advice?

No. TransparAI is a technical tool, not legal advice, and using it creates no guarantee of compliance with any regulation. See the Disclaimer section.

Does the plugin change my image files?

Only when a file is labeled and the metadata option is enabled. The plugin then writes a small XMP block into the JPEG, PNG, WebP or AVIF file and its size variants. The image pixels are untouched. Files are replaced atomically and validated first. Unlabeling removes exactly the metadata this plugin wrote; foreign metadata is never touched.

Where can I see what was written into a file?

Open the attachment details and click "Show file metadata". It lists every file of that attachment with its state (declaration present, missing, or a format that cannot carry one), the digital source type currently declared, the detection evidence in full, the recorded history and the raw XMP packet of the main file. Nothing is written while you look; it is a read of the files as they are on disk right now.

Does the marking survive my CDN?

Not always, and that is worth checking. Image optimizers at the edge, Cloudflare Polish and Jetpack Photon among them, re-encode images while delivering them and drop every metadata block in the process. The file on your server stays perfect while visitors and search engines receive a bare image, and nothing in WordPress shows it. Enable the delivery check in the settings, then press "Check delivery" on a labeled image: the plugin fetches that image from your own public URL and tells you whether the declaration arrived. If it did not, the fix is in your CDN configuration (keep metadata, or exclude labeled images from re-encoding), not in this plugin.

Can I also label AI-written text?

Yes. Every post and page has a "This content is AI-generated" checkbox in the editor sidebar; marked content gets a short configurable note ahead of it. There is also an optional site-wide note at the end of pages that contain labeled media.

Why was a real camera photo put into the review queue?

Modern cameras embed C2PA Content Credentials into real photos. A C2PA manifest alone therefore never auto-labels. It lands in the review queue unless the manifest declares an AI source. Dismiss it with one click; dismissed files are not queued again.

Which page builders and editors are supported?

The visible badge covers the block editor (every image-bearing block incl. cover, media-text, galleries, inline images in text, video and audio), the classic editor, template images, text widgets, Elementor free and Pro (image, galleries, carousels, slides, image box, hotspot, flip box, call to action, posts, Theme Builder) and WPBakery Page Builder (single images, galleries, carousels, row and column backgrounds, parallax, grids). Inside the builders' own editing screens badges are deliberately not injected. For images a theme prints without an attachment ID (ACF URL or array fields) enable the option under Extras: a small script matches those images and CSS backgrounds against your labeled files. The machine-readable XMP labeling is independent of any builder and always works.

My theme puts overlays on images; does the badge disappear under them?

Usually not, and never silently. Badges sit above typical theme layers (hover effects, zoom icons, sale badges), and a small script additionally checks the real paint order: a badge that is still covered is raised, moved to a free corner or, as the last resort, shown as a caption line below the image (this guard can be turned off under Visible badge, Extras). For manual control, give any container one of the utility classes trai-badge-top-left, trai-badge-top-right, trai-badge-bottom-left, trai-badge-bottom-right, trai-badge-below or trai-badge-hidden, or pick a position for a single image in its attachment details ("Badge position"). Both ways switch the guard off for those badges, and trai-badge-manual does the same without changing the position, for the rare case where the guard misjudges your layout. Hiding the visible badge of one image never touches the machine-readable file metadata or the structured data in the page; that part of the disclosure stays intact.

Does the plugin phone home?

No. There are no external requests of any kind. All detection happens by reading file bytes locally on your server.

What happens when I uninstall the plugin?

By default your labels stay in the database (reinstalling restores them) and metadata already written stays in the files. If you prefer a full cleanup, enable "Delete all plugin data" in the settings before uninstalling. Unlabel files first if you also want the in-file metadata removed.

Can I label media programmatically?

Yes. The meta key _transparai_ai is registered for the REST API, WP-CLI commands cover bulk work, and other plugins can call do_action( 'transparai_mark_ai', $attachment_id, 'Generator name' ).

Where do I get help?

Post in the support forum here on wordpress.org, or write to TransparAI@cms-admins.de. The plugin is built and maintained by Patrick Schlesinger (cms-admins.de).

更新日志:

1.0.2 1.0.1 1.0.0