{"id":341373,"date":"2026-07-16T14:40:47","date_gmt":"2026-07-16T14:40:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pewit-ai-image-optimizer\/"},"modified":"2026-07-16T14:40:12","modified_gmt":"2026-07-16T14:40:12","slug":"pewit-ai-image-optimizer","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/pewit-ai-image-optimizer\/","author":11391715,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.2","stable_tag":"1.1.2","tested":"7.0.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Pewit AI Image Optimizer","header_author":"PEWIT Labs","header_description":"Translate existing alt text and captions across WPML and Polylang languages in bulk, with review.","assets_banners_color":"","last_updated":"2026-07-16 14:40:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/pewitlabs.com\/product-ai-image-optimizer.html","header_author_uri":"https:\/\/pewitlabs.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":27,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.1":{"tag":"1.1.1","author":"michalczajka","date":"2026-07-15 12:10:17"},"1.1.2":{"tag":"1.1.2","author":"michalczajka","date":"2026-07-16 14:40:12"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3608832,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.1","1.1.2"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[194661,17209,163,247,15376],"plugin_category":[50,54],"plugin_contributors":[268312],"plugin_business_model":[],"class_list":["post-341373","plugin","type-plugin","status-publish","hentry","plugin_tags-avif","plugin_tags-compression","plugin_tags-images","plugin_tags-performance","plugin_tags-webp","plugin_category-media","plugin_category-security-and-spam-protection","plugin_contributors-michalczajka","plugin_committers-michalczajka"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/pewit-ai-image-optimizer\/assets\/icon.svg?rev=3608832","icon":"https:\/\/ps.w.org\/pewit-ai-image-optimizer\/assets\/icon.svg?rev=3608832","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Plugin homepage, documentation and paid plans: https:\/\/pewitlabs.com\/product-ai-image-optimizer.html<\/p>\n\n<p>Pewit AI Image Optimizer compresses JPEG and PNG images using the WordPress image editor (no external binaries), optionally writes WebP and AVIF sidecars next to the original, and can create AV1 WebM sidecars for video via ffmpeg. It scans your library for heavy and LCP-critical images, previews savings per file, and processes bulk jobs in the background with automatic backups and one-click rollback.<\/p>\n\n<h4>Fully functional and free<\/h4>\n\n<p>Every feature in this plugin is free and fully functional: scan your library, preview and apply compression one image at a time, find LCP-critical images over a size budget, create WebP\/AVIF sidecars, create AV1 WebM video sidecars (ffmpeg), run bulk background optimization jobs, auto-optimize on upload, back up originals before changes and roll back with one click. Nothing is locked behind a license.<\/p>\n\n<p>Optionally, you can subscribe to priority support at https:\/\/pewitlabs.com\/product-ai-image-optimizer.html \u2014 this is a paid external service, not a requirement to use the plugin.<\/p>\n\n<h4>Compression<\/h4>\n\n<ul>\n<li>JPEG quality and PNG compression level controls.<\/li>\n<li>WebP sidecar with compression priority presets.<\/li>\n<li>AVIF sidecar with configurable quality.<\/li>\n<li>AV1 WebM video sidecar via ffmpeg (libsvtav1 \/ libaom-av1).<\/li>\n<li>Before\/after size preview \u2014 you approve each save.<\/li>\n<\/ul>\n\n<h4>Scanning<\/h4>\n\n<ul>\n<li>Library scan with a configurable size threshold.<\/li>\n<li>PageSpeed Budget: find LCP-critical images (featured + first in content) over a KB budget.<\/li>\n<li>Used-images-only filter and filename exclude patterns.<\/li>\n<li>EtchWP-aware scanning when EtchWP is active.<\/li>\n<\/ul>\n\n<h4>Background jobs &amp; safety<\/h4>\n\n<ul>\n<li>Bulk background optimization via WP-Cron, one image at a time.<\/li>\n<li>Auto-optimize JPEG\/PNG and video on upload.<\/li>\n<li>Backup-first snapshots of originals with one-click rollback.<\/li>\n<li>Optional email report when a bulk job completes.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin compresses and converts media locally on your own server using the WordPress image editor and (optionally) a locally installed ffmpeg binary. It does not send your images or media to any third-party AI provider, and no API key is required.<\/p>\n\n<p>The only third-party service the plugin can connect to is Freemius, used for licensing and updates:<\/p>\n\n<p>Freemius (licensing &amp; updates \u2014 https:\/\/freemius.com):\n* What and when: used for license activation, plugin updates and, for any optional paid plan, checkout as Merchant of Record. Opt-in diagnostic data sharing is optional and only sent if you agree during activation.\n* Data sent: when opted in, basic site\/environment and plugin usage data for license validation and update delivery.\n* Terms: https:\/\/freemius.com\/terms\/ \u2014 Privacy: https:\/\/freemius.com\/privacy\/<\/p>\n\n<h3>Source code<\/h3>\n\n<p>All JavaScript and CSS shipped in this plugin (in assets\/js and assets\/css) is the original, hand-written, human-readable source. Nothing is minified, compiled, transpiled or generated by a build tool, so no separate source files are required \u2014 what you read in the plugin is the source. The only bundled third-party library is the Freemius SDK (vendor\/freemius), whose source is available at https:\/\/github.com\/Freemius\/wordpress-sdk<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP through Plugins -&gt; Add New -&gt; Upload Plugin, or extract it to wp-content\/plugins\/pewit-ai-image-optimizer\/.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open Pewit AI Image Optimizer -&gt; Settings, set JPEG quality and PNG compression.<\/li>\n<li>Run a library scan, preview savings and apply.<\/li>\n<\/ol>\n\n<p>The plugin folder must always be pewit-ai-image-optimizer\/ and the main file pewit-ai-image-optimizer.php.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20everything%20really%20free%3F\"><h3>Is everything really free?<\/h3><\/dt>\n<dd><p>Yes. Every feature \u2014 including bulk jobs, WebP\/AVIF sidecars, AV1 video sidecars, auto-on-upload, backups and rollback \u2014 works without a paid license.<\/p><\/dd>\n<dt id=\"do%20i%20need%20openai%20or%20another%20ai%20api%3F\"><h3>Do I need OpenAI or another AI API?<\/h3><\/dt>\n<dd><p>No. This plugin compresses images locally with the WordPress image editor \u2014 no API key and no AI provider calls.<\/p><\/dd>\n<dt id=\"do%20i%20need%20ffmpeg%3F\"><h3>Do I need ffmpeg?<\/h3><\/dt>\n<dd><p>Only for AV1 WebM video sidecars. Image compression and WebP\/AVIF work without it (subject to your server's GD\/Imagick support).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Fixed: Plugin Check escaping and AJAX nonce\/sanitization hygiene for wordpress.org directory publish.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Changed: the wordpress.org build now physically ships with zero license\/plan feature gating \u2014 every feature is unconditionally available in the source. Plan checks live only in the separate Freemius premium build.<\/li>\n<li>Fixed: prefixed remaining globals (AIIO_DeactivatePrompt, aiio_backup_root\/aiio_backup_base_dir) to avoid collisions.<\/li>\n<li>Added: \"Source code\" section documenting that all JS\/CSS is hand-written, unminified source.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Changed: renamed to \"Pewit AI Image Optimizer\" (new slug pewit-ai-image-optimizer) for a distinctive directory name.<\/li>\n<li>Changed: every feature is now free and fully functional \u2014 no license gating of built-in features. Optional paid support remains available as an external service.<\/li>\n<li>Added: External services documentation (Freemius) with terms\/privacy links.<\/li>\n<li>Fixed: removed Google Fonts (no external font requests); admin uses a system font stack.<\/li>\n<li>Fixed: all admin styles\/scripts are enqueued with the plugin version constant.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed: Plugin Check advisory warnings \u2014 annotated direct DB cleanup queries and the shared suite backup helper\/hook.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed: WordPress Plugin Check \u2014 i18n translators comments, filesystem helpers (wp_delete_file, annotated CSV\/backup writes), removed manual textdomain loading.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First stable public release: compression, WebP + AVIF sidecars, video AV1 WebM sidecar (ffmpeg), LCP scan, bulk jobs, backups, rollback, auto-on-upload.<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Optimize LCP over budget \u2014 one-click bulk job for LCP-critical images above KB budget.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Beta: scan, single optimize, WebP sidecars, backups, bulk cron jobs, rollback.<\/li>\n<\/ul>","raw_excerpt":"Smart JPEG\/PNG compression with WebP\/AVIF sidecars, AV1 WebM video sidecars (ffmpeg) and backup-first bulk jobs. Every feature is free.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/341373","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=341373"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/michalczajka"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=341373"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=341373"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=341373"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=341373"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=341373"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=341373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}