{"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-26T18:21:04","modified_gmt":"2026-07-26T18:21:04","slug":"enfants-img-performer","status":"publish","type":"plugin","link":"https:\/\/ru.wordpress.org\/plugins\/enfants-img-performer\/","author":23293963,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.3.1","stable_tag":"0.3.1","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-26 18:21:04","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":310,"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"}},"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"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3618304,"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":3618304,"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":3618304,"resolution":"3","location":"assets","locale":"","width":1802,"height":1197},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3618304,"resolution":"4","location":"assets","locale":"","width":1802,"height":1197},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3618304,"resolution":"5","location":"assets","locale":"","width":1802,"height":1197},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3618304,"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=3618304","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=3618304","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=3618304","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=3618304","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=3618304","caption":"Searchable, paginated history of classified uploads under Settings - AI Labeling."},{"src":"https:\/\/ps.w.org\/enfants-img-performer\/assets\/screenshot-6.png?rev=3618304","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.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:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/296341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=296341"}],"author":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/maller"}],"wp:attachment":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=296341"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=296341"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=296341"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=296341"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=296341"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=296341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}