{"id":296341,"date":"2026-04-30T08:38:08","date_gmt":"2026-04-30T08:38:08","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/img-performer\/"},"modified":"2026-07-31T10:57:12","modified_gmt":"2026-07-31T10:57:12","slug":"enfants-img-performer","status":"publish","type":"plugin","link":"https:\/\/hu.wordpress.org\/plugins\/enfants-img-performer\/","author":23293963,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.3.3","stable_tag":"0.3.3","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Enfants Img Performer","header_author":"Enfants Terribles digital GmbH","header_description":"Converts uploaded images to WebP automatically \u2013 on your server, no API, 100% GDPR compliant.","assets_banners_color":"beb6c6","last_updated":"2026-07-31 10:57:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/img-performer.enfants.de","header_author_uri":"https:\/\/www.enfants.de","rating":0,"author_block_rating":0,"active_installs":10,"downloads":418,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.2":{"tag":"0.2.2","author":"maller","date":"2026-07-15 10:51:19"},"0.3.0":{"tag":"0.3.0","author":"maller","date":"2026-07-22 09:43:37"},"0.3.1":{"tag":"0.3.1","author":"maller","date":"2026-07-26 18:21:04"},"0.3.2":{"tag":"0.3.2","author":"maller","date":"2026-07-29 09:02:27"},"0.3.3":{"tag":"0.3.3","author":"maller","date":"2026-07-31 10:57:12"}},"upgrade_notice":{"0.3.0":"<p>New: AI image labeling for EU AI Act Art. 50 (applies to new uploads only).<\/p>","0.2.0":"<p>PRO users get Bulk Converter and AI Alt Text Generator.<\/p>","0.1.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3519324,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3519324,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500-de_DE.png":{"filename":"banner-1544x500-de_DE.png","revision":3618304,"resolution":"1544x500","location":"assets","locale":"de_DE","width":1544,"height":500},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3618304,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250-de_DE.png":{"filename":"banner-772x250-de_DE.png","revision":3618304,"resolution":"772x250","location":"assets","locale":"de_DE","width":772,"height":250},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3618304,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.2","0.3.0","0.3.1","0.3.2","0.3.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3626951,"resolution":"1","location":"assets","locale":"","width":1802,"height":1197},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3618304,"resolution":"10","location":"assets","locale":"","width":1802,"height":1197},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3618304,"resolution":"11","location":"assets","locale":"","width":1802,"height":1197},"screenshot-12.png":{"filename":"screenshot-12.png","revision":3618304,"resolution":"12","location":"assets","locale":"","width":1802,"height":1197},"screenshot-13.png":{"filename":"screenshot-13.png","revision":3618304,"resolution":"13","location":"assets","locale":"","width":1802,"height":1198},"screenshot-14.png":{"filename":"screenshot-14.png","revision":3618304,"resolution":"14","location":"assets","locale":"","width":1802,"height":1198},"screenshot-15.png":{"filename":"screenshot-15.png","revision":3618304,"resolution":"15","location":"assets","locale":"","width":1802,"height":1198},"screenshot-16.png":{"filename":"screenshot-16.png","revision":3618304,"resolution":"16","location":"assets","locale":"","width":1802,"height":1198},"screenshot-17.png":{"filename":"screenshot-17.png","revision":3618304,"resolution":"17","location":"assets","locale":"","width":1802,"height":1198},"screenshot-18.png":{"filename":"screenshot-18.png","revision":3618304,"resolution":"18","location":"assets","locale":"","width":1802,"height":1198},"screenshot-19.png":{"filename":"screenshot-19.png","revision":3618304,"resolution":"19","location":"assets","locale":"","width":1802,"height":1198},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3626951,"resolution":"2","location":"assets","locale":"","width":1802,"height":1197},"screenshot-20.png":{"filename":"screenshot-20.png","revision":3618304,"resolution":"20","location":"assets","locale":"","width":1802,"height":1198},"screenshot-21.png":{"filename":"screenshot-21.png","revision":3618304,"resolution":"21","location":"assets","locale":"","width":1802,"height":1198},"screenshot-22.png":{"filename":"screenshot-22.png","revision":3618304,"resolution":"22","location":"assets","locale":"","width":1802,"height":1198},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3626951,"resolution":"3","location":"assets","locale":"","width":1802,"height":1197},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3626951,"resolution":"4","location":"assets","locale":"","width":1802,"height":1197},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3626951,"resolution":"5","location":"assets","locale":"","width":1802,"height":1197},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3626951,"resolution":"6","location":"assets","locale":"","width":1802,"height":1197},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3618304,"resolution":"7","location":"assets","locale":"","width":1802,"height":1197},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3618304,"resolution":"8","location":"assets","locale":"","width":1802,"height":1197},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3618304,"resolution":"9","location":"assets","locale":"","width":1802,"height":1197}},"screenshots":{"1":"Plugin overview in the WordPress plugin list \u2013 shows Img Performer installed and active.","2":"Settings page \u2013 configure WebP quality, opt into anonymous global statistics, and see your live CO\u2082 savings counter.","3":"Activity log \u2013 every converted image with timestamp, format and file name at a glance.","4":"AI Labeling settings tab \u2013 enable the visible badge; automatic detection explained, including its limits.","5":"Searchable, paginated history of classified uploads under Settings - AI Labeling.","6":"Media Library list view \u2013 \"Needs review\" filter and AI Labeling \/ Alt-Text status columns.","7":"Manual classification control in the Media Library attachment details \u2013 correct the automatic result in one click.","8":"Visible \"AI-generated\" badge shown on AI-generated images in the frontend.","9":"Real-world comparison: TheVenturer website \u2013 original PNG 2.1 MB, WordPress-resized PNG 1.7 MB, WebP 87 KB, AVIF 110 KB (PRO).","10":"Real-world comparison: ZEIT Magazin hero image \u2013 JPEG 329 KB, WebP 119 KB, AVIF 142 KB (PRO).","11":"Real-world comparison: EU Business News award page \u2013 original PNG 1 MB, WordPress-resized PNG 514 KB, WebP 61 KB, AVIF 53 KB (PRO).","12":"Real-world comparison: Global CEO Excellence Awards graphic \u2013 original PNG 1.1 MB, WordPress-resized PNG 698 KB, WebP 54 KB, AVIF 48 KB (PRO).","13":"PRO features tab \u2013 AVIF conversion, bulk optimisation and AI alt text generator with license key activation.","14":"PRO &amp; AI settings \u2013 active licence status, AI provider selection (Mistral, Claude, OpenAI) and BYOK API key input.","15":"PRO: AI Alt Text settings and bulk optimization of the existing media library.","16":"PRO: Activity log showing automatic WebP and AVIF conversion.","17":"PRO: AI Alt Text Generator example \u2013 automatically generated alt text, caption and description for a magazine cover photo.","18":"PRO: AI Alt Text Generator example \u2013 automatically generated alt text, caption and description for a startup website screenshot.","19":"PRO: AI Alt Text Generator example \u2013 automatically generated alt text, caption and description for an award announcement graphic.","20":"PRO: AI Alt Text Generator example \u2013 automatically generated alt text, caption and description for a real-world product photo.","21":"PRO: AI Alt Text Generator example \u2013 automatically generated alt text, caption and description for a LinkedIn announcement graphic.","22":"PRO: AI Alt Text Generator example \u2013 automatically generated alt text, caption and description for a promotional graphic."}},"plugin_section":[],"plugin_tags":[271023,194661,56174,29161,15376],"plugin_category":[],"plugin_contributors":[261518,252540],"plugin_business_model":[],"class_list":["post-296341","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-act","plugin_tags-avif","plugin_tags-compress-images","plugin_tags-image-optimization","plugin_tags-webp","plugin_contributors-maller","plugin_contributors-steffenmueller","plugin_committers-maller"],"banners":{"banner":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/banner-772x250.png?rev=3618304","banner_2x":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/banner-1544x500.png?rev=3618304","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/icon-128x128.png?rev=3519324","icon_2x":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/icon-256x256.png?rev=3519324","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-1.png?rev=3626951","caption":"Plugin overview in the WordPress plugin list \u2013 shows Img Performer installed and active."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-2.png?rev=3626951","caption":"Settings page \u2013 configure WebP quality, opt into anonymous global statistics, and see your live CO\u2082 savings counter."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-3.png?rev=3626951","caption":"Activity log \u2013 every converted image with timestamp, format and file name at a glance."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-4.png?rev=3626951","caption":"AI Labeling settings tab \u2013 enable the visible badge; automatic detection explained, including its limits."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-5.png?rev=3626951","caption":"Searchable, paginated history of classified uploads under Settings - AI Labeling."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-6.png?rev=3626951","caption":"Media Library list view \u2013 \"Needs review\" filter and AI Labeling \/ Alt-Text status columns."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-7.png?rev=3618304","caption":"Manual classification control in the Media Library attachment details \u2013 correct the automatic result in one click."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-8.png?rev=3618304","caption":"Visible \"AI-generated\" badge shown on AI-generated images in the frontend."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-9.png?rev=3618304","caption":"Real-world comparison: TheVenturer website \u2013 original PNG 2.1 MB, WordPress-resized PNG 1.7 MB, WebP 87 KB, AVIF 110 KB (PRO)."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-10.png?rev=3618304","caption":"Real-world comparison: ZEIT Magazin hero image \u2013 JPEG 329 KB, WebP 119 KB, AVIF 142 KB (PRO)."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-11.png?rev=3618304","caption":"Real-world comparison: EU Business News award page \u2013 original PNG 1 MB, WordPress-resized PNG 514 KB, WebP 61 KB, AVIF 53 KB (PRO)."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-12.png?rev=3618304","caption":"Real-world comparison: Global CEO Excellence Awards graphic \u2013 original PNG 1.1 MB, WordPress-resized PNG 698 KB, WebP 54 KB, AVIF 48 KB (PRO)."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-13.png?rev=3618304","caption":"PRO features tab \u2013 AVIF conversion, bulk optimisation and AI alt text generator with license key activation."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-14.png?rev=3618304","caption":"PRO &amp; AI settings \u2013 active licence status, AI provider selection (Mistral, Claude, OpenAI) and BYOK API key input."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-15.png?rev=3618304","caption":"PRO: AI Alt Text settings and bulk optimization of the existing media library."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-16.png?rev=3618304","caption":"PRO: Activity log showing automatic WebP and AVIF conversion."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-17.png?rev=3618304","caption":"PRO: AI Alt Text Generator example \u2013 automatically generated alt text, caption and description for a magazine cover photo."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-18.png?rev=3618304","caption":"PRO: AI Alt Text Generator example \u2013 automatically generated alt text, caption and description for a startup website screenshot."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-19.png?rev=3618304","caption":"PRO: AI Alt Text Generator example \u2013 automatically generated alt text, caption and description for an award announcement graphic."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-20.png?rev=3618304","caption":"PRO: AI Alt Text Generator example \u2013 automatically generated alt text, caption and description for a real-world product photo."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-21.png?rev=3618304","caption":"PRO: AI Alt Text Generator example \u2013 automatically generated alt text, caption and description for a LinkedIn announcement graphic."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-22.png?rev=3618304","caption":"PRO: AI Alt Text Generator example \u2013 automatically generated alt text, caption and description for a promotional graphic."}],"raw_content":"<!--section=description-->\n<p><strong>Enfants Img Performer<\/strong> converts your WordPress images to WebP automatically on upload and detects AI-generated images for EU AI Act Art. 50 compliance \u2013 without sending a single byte to an external service. Everything runs on your own server, without limits.<\/p>\n\n<p>The separately available <strong>Enfants Img Performer PRO<\/strong> plugin unlocks AVIF conversion, bulk optimization and AI-powered alt text generation.<\/p>\n\n<h4>Why Img Performer?<\/h4>\n\n<p>Most image optimization plugins send your images to a third-party cloud service for processing \u2013 often with monthly quotas and accounts required. Img Performer is different: it uses PHP's built-in GD library (with Imagick as fallback) to convert images locally. Your images never leave your server. No account needed. No monthly limit.<\/p>\n\n<h4>What it does<\/h4>\n\n<ul>\n<li>Converts JPEG and PNG uploads to WebP automatically \u2013 unlimited, free<\/li>\n<li>Converts all registered image sizes (thumbnail, medium, large, custom)<\/li>\n<li>Rewrites <code>src<\/code>, <code>srcset<\/code>, <code>href<\/code> (lightbox) and lazy-load attributes in the frontend<\/li>\n<li>Deletes WebP files when the original image is deleted<\/li>\n<li>Logs all conversions for transparency<\/li>\n<li>Configurable quality setting (1\u2013100, default 85)<\/li>\n<li>CO\u2082 savings tracker with optional anonymous global statistics<\/li>\n<li>Detects AI-generated images on upload and labels them for EU AI Act Art. 50 compliance \u2013 see below<\/li>\n<\/ul>\n\n<p>The separately available <strong>Enfants Img Performer PRO<\/strong> plugin (installed alongside this plugin) adds:<\/p>\n\n<ul>\n<li>AVIF conversion \u2013 up to 50% smaller than WebP<\/li>\n<li>Bulk Converter \u2013 convert your entire media library in one click<\/li>\n<li>AI Alt Text Generator \u2013 WCAG-compliant alt texts via Mistral, Claude or OpenAI<\/li>\n<li>AI labeling in Alt-Text \u2013 optionally append a disclosure note to the alt text of AI-classified images<\/li>\n<\/ul>\n\n<h4>EU AI Act Art. 50: AI image labeling<\/h4>\n\n<p>From August 2, 2026, AI-generated images published on a website must carry machine-readable labeling under Article 50 of the EU AI Act. WordPress itself strips this information the moment it generates thumbnails on upload (<a href=\"https:\/\/github.com\/WordPress\/ai\/issues\/421\">WordPress\/ai issue #421<\/a>, unresolved) \u2013 Img Performer works around that:<\/p>\n\n<ul>\n<li>Detects AI provenance in newly uploaded images (based on embedded metadata such as C2PA manifests, where present)<\/li>\n<li>Writes its own hosting-independent labeling into the original and every generated image size \u2013 no Imagick required<\/li>\n<li>Shows a visible \"AI-generated\" badge on the frontend, toggleable<\/li>\n<li>Lets you manually correct the automatic classification directly in the Media Library<\/li>\n<li>Shows an \"AI Labeling\" status column and Alt-Text presence indicator in the Media Library list view, with a \"Needs review\" filter for unclassified images<\/li>\n<li>Only applies to new uploads \u2013 your existing media library is not scanned or changed retroactively<\/li>\n<\/ul>\n\n<p>The separately available PRO plugin additionally lets you append a disclosure note to the image's alt text itself when it's classified as AI-generated (optional, per image).<\/p>\n\n<p>This labeling is based on the IPTC \"Digital Source Type\" standard field and meets the technology-neutral requirements from the EU AI Act Code of Practice. It is not a cryptographically signed C2PA manifest \u2013 producing one would require certification through the official C2PA Conformance Programme, a separate process this plugin does not perform.<\/p>\n\n<h4>GDPR \/ DSGVO<\/h4>\n\n<p>Enfants Img Performer processes all images exclusively on your own server. No image data, IP addresses or personal information is transferred to external services. No API keys required.<\/p>\n\n<p>The only optional external connection is the anonymous CO\u2082 statistics feature (opt-in, disabled by default). When enabled, it sends only total bytes saved to our EU-based server \u2013 no IP address, no domain, no personal data.<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.0 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li>GD extension with WebP support (<code>imagewebp<\/code>)<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin can optionally send anonymous usage data to an external service operated by Enfants Terribles digital GmbH.<\/p>\n\n<p><strong>CO\u2082 Statistics (opt-in, disabled by default)<\/strong><\/p>\n\n<p>When you enable \"Global sustainability stats\" in the plugin settings, the plugin sends the following data once per day to our EU-based server:<\/p>\n\n<ul>\n<li>An anonymous random site ID (UUID v4, generated locally, no personal data)<\/li>\n<li>Total bytes saved through WebP conversion<\/li>\n<\/ul>\n\n<p>No images, no IP addresses, no domain names and no personal data are transmitted. The anonymous site ID cannot be traced back to you or your website.<\/p>\n\n<p>This data is used solely to display a global CO\u2082 savings counter on the plugin website.<\/p>\n\n<ul>\n<li>Service: Enfants Terribles digital GmbH (EU-based server, Netcup, Germany)<\/li>\n<li>Endpoint: https:\/\/tools.enfants.de\/imp-stats\/<\/li>\n<li>Privacy Policy: https:\/\/img-performer.enfants.de\/datenschutz\/<\/li>\n<li>Terms of Use: https:\/\/img-performer.enfants.de\/nutzungsbedingungen\/<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/img-performer\/<\/code> or install via the WordPress plugin directory.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to <strong>Settings \u2192 Img Performer<\/strong> to configure the quality.<\/li>\n<li>Upload an image \u2013 WebP is created automatically.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20send%20images%20to%20an%20external%20server%3F\"><h3>Does this plugin send images to an external server?<\/h3><\/dt>\n<dd><p>No. All conversions happen locally using PHP's GD library (with Imagick as fallback). Your images never leave your server.<\/p><\/dd>\n<dt id=\"is%20there%20a%20monthly%20limit%3F\"><h3>Is there a monthly limit?<\/h3><\/dt>\n<dd><p>No. Img Performer converts unlimited images for free. There are no quotas, no credits and no subscription required for the basics.<\/p><\/dd>\n<dt id=\"which%20image%20formats%20are%20supported%3F\"><h3>Which image formats are supported?<\/h3><\/dt>\n<dd><p>JPEG and PNG are converted to WebP. Other formats (GIF, SVG, WebP) are skipped. AVIF conversion is available via the separately installable Enfants Img Performer PRO plugin.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20my%20server%20doesn%27t%20support%20webp%3F\"><h3>What happens if my server doesn't support WebP?<\/h3><\/dt>\n<dd><p>The plugin checks for WebP support automatically. If not available, conversion is silently skipped and the original image is served. No errors, no broken images.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20builders%20like%20elementor%20or%20divi%3F\"><h3>Does it work with page builders like Elementor or Divi?<\/h3><\/dt>\n<dd><p>It works well with Gutenberg and the classic editor. Page builders like Elementor or Divi sometimes use their own image rendering pipelines \u2013 a quick test on your setup is recommended.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20lazy-load%20plugins%3F\"><h3>Does it work with lazy-load plugins?<\/h3><\/dt>\n<dd><p>Yes. Img Performer replaces URLs in <code>data-src<\/code>, <code>data-full<\/code>, <code>data-large<\/code> and <code>data-lazy-src<\/code> attributes used by popular lazy-load plugins like WP Rocket and Jetpack.<\/p><\/dd>\n<dt id=\"does%20it%20replace%20images%20in%20lightboxes%3F\"><h3>Does it replace images in lightboxes?<\/h3><\/dt>\n<dd><p>Yes. When you enable \"Expand on click\" in Gutenberg, the lightbox link (<code>href<\/code>) is also rewritten to serve WebP or AVIF.<\/p><\/dd>\n<dt id=\"does%20the%20ai%20image%20labeling%20send%20any%20data%20externally%3F\"><h3>Does the AI image labeling send any data externally?<\/h3><\/dt>\n<dd><p>No. Detection and labeling both run entirely locally on your own server, the same as WebP conversion. No image data, API keys or cloud connection involved.<\/p><\/dd>\n<dt id=\"will%20the%20ai%20labeling%20detect%20every%20ai-generated%20image%3F\"><h3>Will the AI labeling detect every AI-generated image?<\/h3><\/dt>\n<dd><p>Only if the image itself carries embedded provenance data (such as a C2PA manifest) from the tool that generated it. Not every AI tool embeds this yet, and re-saving, editing or screenshotting an image removes it. Images without a usable signal are marked \"Unknown\" so you can review and correct them manually.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.3.3<\/h4>\n\n<ul>\n<li>Fix: AI label wasn't detected on themes that render images manually without WordPress's own wp-image-{ID} class (e.g. custom Blade\/Tailwind templates) \u2013 detection now also matches by image URL, with fallbacks for resized filenames, for files renamed by the plugin's own WebP conversion, for WebP size variants generated independently by WordPress core, and for WordPress's own \"-scaled\" suffix on auto-downscaled originals<\/li>\n<li>Fix: Badge appeared below the image instead of on top of it on themes that set a vertical margin on images (e.g. Tailwind Typography)<\/li>\n<li>Fix: Labeled images rendered narrower than unlabeled ones when image width was set via a CSS class (e.g. Tailwind's w-full) instead of inline style<\/li>\n<\/ul>\n\n<h4>0.3.2<\/h4>\n\n<ul>\n<li>Fix: AI-labeling badge broke the Gutenberg Gallery block's \"Crop images to fit\" option and images with a fixed height (e.g. Featured Images using object-fit: cover) \u2013 images fell back to their natural aspect ratio instead of cropping<\/li>\n<li>Fix: Small gap below labeled images caused by a missing vertical-align on the badge wrapper<\/li>\n<li>Fix: Dashboard \"Review markings\" button now links directly to the filtered Media Library view instead of the settings tab<\/li>\n<li>Fix: \"WebP quality\" label corrected to \"Quality\", since the setting also applies to AVIF (PRO)<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<ul>\n<li>Fix: Long filenames no longer break the History table layout (AI Labeling and File Optimization tabs) \u2013 truncated with an ellipsis, full name shown on hover<\/li>\n<li>Fix: AI-labeling badge position was incorrect on images rendered without the theme's own display:block reset (e.g. ACF image fields) \u2013 now positioned consistently everywhere<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>New: AI image labeling for EU AI Act Art. 50 compliance \u2013 detects AI-generated images on upload and writes hosting-independent labeling into every generated image size<\/li>\n<li>New: Visible \"AI-generated\" frontend badge, toggleable<\/li>\n<li>New: Manual correction control in the Media Library attachment details<\/li>\n<li>New: \"Needs review\" filter and status columns (AI Labeling, Alt-Text) in the Media Library list view<\/li>\n<li>New: Searchable, paginated history in Settings \u2192 AI Labeling<\/li>\n<li>Applies to new uploads only \u2013 existing media library images are not scanned or changed retroactively<\/li>\n<\/ul>\n\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Renamed internal prefix from IMP to EIMP (4+ characters) to comply with WordPress.org plugin review guidelines<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>PRO: Bulk Converter \u2013 converts entire media library to WebP\/AVIF including all thumbnail sizes<\/li>\n<li>PRO: Background Queue via WP-Cron for batch processing without PHP timeout risk<\/li>\n<li>PRO: AI Alt Text Generator \u2013 generates alt text, caption and description on upload (Mistral, Claude, OpenAI)<\/li>\n<li>PRO: Bulk AI queue fills missing alt texts, captions and descriptions for all existing images<\/li>\n<li>Fixed: Bulk conversion now correctly creates WebP and AVIF for all registered image sizes<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>WebP conversion on upload via GD (Imagick fallback)<\/li>\n<li>AVIF conversion (PRO) with automatic best-format selection by file size<\/li>\n<li>Replacement of src, srcset, href and data-* attributes in frontend<\/li>\n<li>Configurable quality setting<\/li>\n<li>CO\u2082 savings tracker with animated tree visualization<\/li>\n<li>Optional anonymous global statistics (opt-in)<\/li>\n<li>Activity log in admin<\/li>\n<\/ul>","raw_excerpt":"Converts uploaded images to WebP and labels AI-generated images for EU AI Act Art. 50 \u2013 on your server. No API, no cloud, no limit.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/296341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=296341"}],"author":[{"embeddable":true,"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/maller"}],"wp:attachment":[{"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=296341"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=296341"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=296341"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=296341"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=296341"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/hu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=296341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}