{"id":336504,"date":"2026-07-07T10:27:10","date_gmt":"2026-07-07T10:27:10","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-image-optimizer\/"},"modified":"2026-07-07T10:27:00","modified_gmt":"2026-07-07T10:27:00","slug":"exertpro-image-optimizer","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/exertpro-image-optimizer\/","author":23329314,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"ExertPro Image Optimizer","header_author":"ExertPro","header_description":"Bulk optimize media library images, find and delete unused images, and bulk-generate AI alt text for images using your own AI API key (multi-provider, BYOK).","assets_banners_color":"17557e","last_updated":"2026-07-07 10:27:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/exertpro-image-optimizer\/","header_author_uri":"https:\/\/exertpro.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":26,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"marufhasanexertpro","date":"2026-07-07 10:27:00"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3598861,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3598861,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3598861,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3598861,"resolution":"1","location":"assets","locale":"","width":900,"height":534},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3598861,"resolution":"2","location":"assets","locale":"","width":900,"height":534},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3598861,"resolution":"3","location":"assets","locale":"","width":900,"height":534},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3598861,"resolution":"4","location":"assets","locale":"","width":900,"height":534}},"screenshots":{"1":"Dashboard with usage summary and quick stats.","2":"Bulk optimize images with live progress.","3":"Find and delete unused images.","4":"AI-powered alt text generation with provider selection.","5":"Tabbed settings page for Optimization, AI Providers, and Advanced options."}},"plugin_section":[],"plugin_tags":[2353,17214,29161,233,286],"plugin_category":[45],"plugin_contributors":[267320,267321,173473],"plugin_business_model":[],"class_list":["post-336504","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-alt-text","plugin_tags-image-optimization","plugin_tags-media-library","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-exertpro","plugin_contributors-marufhasanexertpro","plugin_contributors-suvronur","plugin_committers-marufhasanexertpro"],"banners":{"banner":"https:\/\/ps.w.org\/exertpro-image-optimizer\/assets\/banner-772x250.png?rev=3598861","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/exertpro-image-optimizer\/assets\/icon-128x128.png?rev=3598861","icon_2x":"https:\/\/ps.w.org\/exertpro-image-optimizer\/assets\/icon-256x256.png?rev=3598861","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/exertpro-image-optimizer\/assets\/screenshot-1.png?rev=3598861","caption":"Dashboard with usage summary and quick stats."},{"src":"https:\/\/ps.w.org\/exertpro-image-optimizer\/assets\/screenshot-2.png?rev=3598861","caption":"Bulk optimize images with live progress."},{"src":"https:\/\/ps.w.org\/exertpro-image-optimizer\/assets\/screenshot-3.png?rev=3598861","caption":"Find and delete unused images."},{"src":"https:\/\/ps.w.org\/exertpro-image-optimizer\/assets\/screenshot-4.png?rev=3598861","caption":"AI-powered alt text generation with provider selection."}],"raw_content":"<!--section=description-->\n<p>ExertPro Image Optimizer helps you keep your WordPress Media Library lean and accessible:<\/p>\n\n<ul>\n<li><strong>Bulk Image Optimization<\/strong> \u2014 compress JPEG, PNG, and WebP images in your Media Library using GD or Imagick, with configurable quality and a size threshold filter. Original files are backed up automatically so you can restore them anytime.<\/li>\n<li><strong>Find &amp; Delete Unused Images<\/strong> \u2014 scan post content, featured images, WooCommerce product images, theme customizer settings, widgets, Gutenberg blocks, and ACF fields to find images that are no longer used anywhere on your site, then move them to trash or permanently delete them.<\/li>\n<li><strong>AI Alt Text Generator (BYOK)<\/strong> \u2014 automatically generate concise, SEO-friendly alt text for your images using your own AI provider API key. Supports OpenAI, Anthropic Claude, xAI Grok, Moonshot AI Kimi, and Google Gemini.<\/li>\n<\/ul>\n\n<h4>Important: This is a Bring Your Own Key (BYOK) plugin<\/h4>\n\n<p>ExertPro Image Optimizer does <strong>not<\/strong> include or bundle any AI API key. To use the Alt Text Generator feature, you must obtain your own API key from one (or more) of the supported AI providers and enter it in the plugin's Settings page. <strong>You are solely responsible for any usage costs, billing, and rate limits associated with your own API key and provider account.<\/strong><\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin can connect to third-party AI providers to generate alt text for your images, and to let you test that your API key\/model works. It only contacts a provider if you have entered an API key for it in Settings \u2192 AI Providers; no provider is contacted otherwise. When it is used, the plugin sends the image (for alt text generation) or a short test message (for the \"Test Connection\" button) to the provider you selected, using the API key you supplied.<\/p>\n\n<ul>\n<li><strong>OpenAI<\/strong> \u2014 used to generate AI alt text when OpenAI is your active provider, and to verify a stored key via \"Test Connection\". Sends image data \/ a short test prompt using your API key, only when you trigger these actions.\nTerms of use: https:\/\/openai.com\/policies\/service-terms\/ \u2014 Privacy policy: https:\/\/openai.com\/policies\/row-privacy-policy\/<\/li>\n<li><strong>Anthropic (Claude)<\/strong> \u2014 used to generate AI alt text when Claude is your active provider, and to verify a stored key via \"Test Connection\". Sends image data \/ a short test prompt using your API key, only when you trigger these actions.\nTerms of service: https:\/\/www.anthropic.com\/legal\/commercial-terms \u2014 Privacy policy: https:\/\/www.anthropic.com\/legal\/privacy<\/li>\n<li><strong>xAI (Grok)<\/strong> \u2014 used to generate AI alt text when Grok is your active provider, and to verify a stored key via \"Test Connection\". Sends image data \/ a short test prompt using your API key, only when you trigger these actions.\nTerms of service: https:\/\/x.ai\/legal\/terms-of-service \u2014 Privacy policy: https:\/\/x.ai\/legal\/privacy-policy<\/li>\n<li><strong>Moonshot AI (Kimi)<\/strong> \u2014 used to generate AI alt text when Kimi is your active provider, and to verify a stored key via \"Test Connection\". Sends image data \/ a short test prompt using your API key, only when you trigger these actions.\nTerms of service: https:\/\/platform.moonshot.ai\/docs\/agreement\/modeluse \u2014 Privacy policy: https:\/\/platform.moonshot.ai\/docs\/agreement\/userprivacy<\/li>\n<li><strong>Google (Gemini)<\/strong> \u2014 used to generate AI alt text when Gemini is your active provider, and to verify a stored key via \"Test Connection\". Sends image data \/ a short test prompt using your API key, only when you trigger these actions.\nTerms of service: https:\/\/ai.google.dev\/gemini-api\/terms \u2014 Privacy policy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul>\n\n<p>API keys you enter are stored encrypted in your site's database and are only ever sent to the provider they belong to.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>exertpro-image-optimizer<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the plugin zip via Plugins \u2192 Add New \u2192 Upload Plugin.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Go to <strong>ExertPro Image Optimizer \u2192 Settings \u2192 AI Providers<\/strong> and enter your own API key for at least one supported provider if you want to use the Alt Text Generator.<\/li>\n<li>Visit <strong>ExertPro Image Optimizer \u2192 Optimize Images<\/strong> or <strong>Unused Images<\/strong> or <strong>Alt Text Generator<\/strong> to get started.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20ai%20api%20key%3F\"><h3>Do I need an AI API key?<\/h3><\/dt>\n<dd><p>Only if you want to use the AI Alt Text Generator feature. Image optimization and unused image scanning do not require any AI provider key.<\/p><\/dd>\n<dt id=\"which%20ai%20providers%20are%20supported%3F\"><h3>Which AI providers are supported?<\/h3><\/dt>\n<dd><p>OpenAI, Anthropic Claude, xAI Grok, Moonshot AI Kimi, and Google Gemini. You can store keys for multiple providers and switch the \"active\" one at any time.<\/p><\/dd>\n<dt id=\"will%20this%20plugin%20pay%20for%20my%20ai%20api%20usage%3F\"><h3>Will this plugin pay for my AI API usage?<\/h3><\/dt>\n<dd><p>No. You use your own API key and your own billing\/quota with your chosen AI provider. This plugin only sends requests using your key; it never bills you directly for AI usage.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20support%20woocommerce%3F\"><h3>Does this plugin support WooCommerce?<\/h3><\/dt>\n<dd><p>Yes, the Unused Images scanner checks WooCommerce product images and galleries when WooCommerce is active.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: bulk image optimization, unused image scanner, multi-provider AI alt text generator (BYOK).<\/li>\n<\/ul>","raw_excerpt":"Bulk optimize media library images, find and delete unused images, and bulk-generate AI alt text using your own AI API key (multi-provider, BYOK).","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/336504","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=336504"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/marufhasanexertpro"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=336504"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=336504"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=336504"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=336504"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=336504"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=336504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}