{"id":398096,"date":"2026-11-07T14:16:01","date_gmt":"2026-11-07T14:16:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/easy-ai-image-alt-text-generator\/"},"modified":"2026-11-07T14:15:31","modified_gmt":"2026-11-07T14:15:31","slug":"zhs-ai-alt-text-generator","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/zhs-ai-alt-text-generator\/","author":20457724,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"ZHS AI Alt Text Generator","header_author":"MD. Ziaul Hasan","header_description":"Automatically generate SEO-friendly image alt text using OpenAI, Google Gemini, Anthropic Claude, Qwen, or smart pre-defined categories.","assets_banners_color":"173f8a","last_updated":"2026-11-07 14:15:31","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/mdziaulhasan.com\/","header_plugin_uri":"https:\/\/github.com\/zhsaikot\/image-alt-tag-plugin","header_author_uri":"https:\/\/mdziaulhasan.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":25,"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":"zhsaikot","date":"2026-11-07 14:15:31","revision":3789719}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3789719,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3789719,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3789719,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3789719,"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":3789719,"resolution":"1","location":"assets","locale":"","width":1024,"height":666},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3789719,"resolution":"2","location":"assets","locale":"","width":1024,"height":431},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3789719,"resolution":"3","location":"assets","locale":"","width":1024,"height":384}},"screenshots":{"1":"Admin settings dashboard with multi-provider AI selection (Basic, OpenAI, Gemini, Claude, Qwen).","2":"Non-blocking AJAX bulk alt text generator with real-time progress bar and live completion log.","3":"Native WordPress Media Library integration with quick single-row and bulk generation actions."}},"plugin_section":[],"plugin_tags":[2353,17214,6357,163,186],"plugin_category":[50,55],"plugin_contributors":[284930],"plugin_business_model":[],"class_list":["post-398096","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-alt-text","plugin_tags-image-seo","plugin_tags-images","plugin_tags-seo","plugin_category-media","plugin_category-seo-and-marketing","plugin_contributors-zhsaikot","plugin_committers-zhsaikot"],"banners":{"banner":"https:\/\/ps.w.org\/zhs-ai-alt-text-generator\/assets\/banner-772x250.png?rev=3789719","banner_2x":"https:\/\/ps.w.org\/zhs-ai-alt-text-generator\/assets\/banner-1544x500.png?rev=3789719","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/zhs-ai-alt-text-generator\/assets\/icon-128x128.png?rev=3789719","icon_2x":"https:\/\/ps.w.org\/zhs-ai-alt-text-generator\/assets\/icon-256x256.png?rev=3789719","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/zhs-ai-alt-text-generator\/assets\/screenshot-1.png?rev=3789719","caption":"Admin settings dashboard with multi-provider AI selection (Basic, OpenAI, Gemini, Claude, Qwen)."},{"src":"https:\/\/ps.w.org\/zhs-ai-alt-text-generator\/assets\/screenshot-2.png?rev=3789719","caption":"Non-blocking AJAX bulk alt text generator with real-time progress bar and live completion log."},{"src":"https:\/\/ps.w.org\/zhs-ai-alt-text-generator\/assets\/screenshot-3.png?rev=3789719","caption":"Native WordPress Media Library integration with quick single-row and bulk generation actions."}],"raw_content":"<!--section=description-->\n<p><strong>ZHS AI Alt Text Generator<\/strong> is a fast, lightweight, and privacy-respecting WordPress plugin engineered to automate image accessibility and SEO alt tags.<\/p>\n\n<p>Missing alt tags hurt website accessibility (WCAG) and search engine rankings. This plugin connects with leading AI providers or works completely free with built-in categorized tag libraries to ensure every image in your WordPress media library has descriptive, context-aware alt text.<\/p>\n\n<h3>Key Highlights<\/h3>\n\n<ul>\n<li><strong>Multi-AI Provider Support:<\/strong> Connect your own API keys for <strong>OpenAI (ChatGPT)<\/strong>, <strong>Google Gemini<\/strong>, <strong>Anthropic Claude<\/strong>, or <strong>Qwen (Alibaba)<\/strong>.<\/li>\n<li><strong>100% Free Offline \/ Basic Mode:<\/strong> Generate context-relevant alt tags without any API key across 11 business and creative categories.<\/li>\n<li><strong>Custom Tags Library:<\/strong> Paste your own custom alt tag keywords (one per line) for brand-specific tagging.<\/li>\n<li><strong>Auto-Generate on Upload:<\/strong> Automatically analyzes and tags newly uploaded images without extra clicks.<\/li>\n<li><strong>Non-Blocking Bulk Generator:<\/strong> Process all existing images missing alt text with a smooth AJAX batch processor and real-time progress bar. Never times out your server.<\/li>\n<li><strong>WordPress VIP &amp; PCP Standards:<\/strong> Zero slow database queries, zero mixed line endings, full internationalization (i18n), and strict capability checks.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin can optionally connect to third-party artificial intelligence APIs to analyze images and generate descriptive, context-aware alt text. Connecting to these external services is entirely optional; the plugin includes a 100% free offline \"Basic\" mode that operates locally without external API communication.<\/p>\n\n<p>If you configure an API key for any of the supported AI providers, the plugin connects to the corresponding third-party service:<\/p>\n\n<ol>\n<li><p><strong>OpenAI API (ChatGPT \/ GPT-4o-mini)<\/strong><\/p>\n\n<ul>\n<li><strong>Service URL:<\/strong> https:\/\/api.openai.com\/v1\/chat\/completions<\/li>\n<li><strong>Data Sent:<\/strong> Image URL or base64-encoded image binary data, prompt instructions requesting alt text, and your secret API key in the authorization header.<\/li>\n<li><strong>When Data Is Sent:<\/strong> Only when OpenAI is selected as the active provider and you trigger single alt text generation, initiate the bulk generator, or upload a new image with auto-generation enabled.<\/li>\n<li><strong>Terms of Use:<\/strong> https:\/\/openai.com\/policies\/terms-of-use\/<\/li>\n<li><strong>Privacy Policy:<\/strong> https:\/\/openai.com\/policies\/privacy-policy\/<\/li>\n<\/ul><\/li>\n<li><p><strong>Google Gemini API (Gemini 1.5 Flash)<\/strong><\/p>\n\n<ul>\n<li><strong>Service URL:<\/strong> https:\/\/generativelanguage.googleapis.com\/v1beta\/models\/<\/li>\n<li><strong>Data Sent:<\/strong> Image URL or base64-encoded image binary data, prompt instructions requesting alt text, and your secret API key passed via query parameter.<\/li>\n<li><strong>When Data Is Sent:<\/strong> Only when Google Gemini is selected as the active provider and you trigger single alt text generation, initiate the bulk generator, or upload a new image with auto-generation enabled.<\/li>\n<li><strong>Terms of Service:<\/strong> https:\/\/ai.google.dev\/terms<\/li>\n<li><strong>Privacy Policy:<\/strong> https:\/\/policies.google.com\/privacy<\/li>\n<\/ul><\/li>\n<li><p><strong>Anthropic Claude API (Claude 3.5 Sonnet)<\/strong><\/p>\n\n<ul>\n<li><strong>Service URL:<\/strong> https:\/\/api.anthropic.com\/v1\/messages<\/li>\n<li><strong>Data Sent:<\/strong> Base64-encoded image binary data, prompt instructions requesting alt text, and your secret API key in the authorization header.<\/li>\n<li><strong>When Data Is Sent:<\/strong> Only when Anthropic Claude is selected as the active provider and you trigger single alt text generation, initiate the bulk generator, or upload a new image with auto-generation enabled.<\/li>\n<li><strong>Commercial Terms:<\/strong> https:\/\/www.anthropic.com\/legal\/commercial-terms<\/li>\n<li><strong>Privacy Policy:<\/strong> https:\/\/www.anthropic.com\/legal\/privacy<\/li>\n<\/ul><\/li>\n<li><p><strong>Alibaba DashScope (Qwen VL Max)<\/strong><\/p>\n\n<ul>\n<li><strong>Service URL:<\/strong> https:\/\/dashscope.aliyuncs.com\/compatible-mode\/v1\/chat\/completions<\/li>\n<li><strong>Data Sent:<\/strong> Image URL or base64-encoded image binary data, prompt instructions requesting alt text, and your secret API key in the authorization header.<\/li>\n<li><strong>When Data Is Sent:<\/strong> Only when Qwen is selected as the active provider and you trigger single alt text generation, initiate the bulk generator, or upload a new image with auto-generation enabled.<\/li>\n<li><strong>Terms of Service:<\/strong> https:\/\/help.aliyun.com\/document_detail\/458807.html<\/li>\n<li><strong>Privacy Policy:<\/strong> https:\/\/help.aliyun.com\/document_detail\/458808.html<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>zhs-ai-alt-text-generator<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install directly through the WordPress Plugins dashboard (<strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong>).<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Go to <strong>Settings &gt; AI Alt Text<\/strong> in your WordPress admin menu.<\/li>\n<li>Select your preferred provider (Basic, OpenAI, Gemini, Claude, or Qwen).<\/li>\n<li>Click <strong>Test<\/strong> to verify your API connection, then save your settings.<\/li>\n<li>Use the <strong>Generate Alt Tag for All Images<\/strong> button to instantly tag existing library images missing alt text.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20paid%20api%20keys%3F\"><h3>Does this plugin require paid API keys?<\/h3><\/dt>\n<dd><p>No! You can use the <strong>Basic (No API - Free)<\/strong> mode completely free. If you want visual recognition AI, you can connect your own API keys for OpenAI, Google Gemini, Anthropic Claude, or Qwen.<\/p><\/dd>\n<dt id=\"will%20bulk%20generation%20slow%20down%20my%20website%20or%20hit%20php%20timeouts%3F\"><h3>Will bulk generation slow down my website or hit PHP timeouts?<\/h3><\/dt>\n<dd><p>No. The bulk generator runs sequentially via AJAX in your browser. It processes images one-by-one with live progress reporting, avoiding server memory limits or gateway timeouts.<\/p><\/dd>\n<dt id=\"does%20this%20overwrite%20existing%20image%20alt%20text%3F\"><h3>Does this overwrite existing image alt text?<\/h3><\/dt>\n<dd><p>No. Both the automatic upload handler and the bulk generator only target images that do not currently have an alt tag (<code>_wp_attachment_image_alt<\/code>).<\/p><\/dd>\n<dt id=\"what%20happens%20if%20an%20api%20call%20fails%3F\"><h3>What happens if an API call fails?<\/h3><\/dt>\n<dd><p>The bulk generator logs the specific error for that image and continues processing the rest of your queue uninterrupted.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release on WordPress.org.<\/li>\n<li>Added multi-provider AI support (OpenAI, Gemini, Claude, Qwen).<\/li>\n<li>Added 11 built-in categories for offline Basic generation.<\/li>\n<li>Added custom tag list support.<\/li>\n<li>Added auto-generation on upload hook.<\/li>\n<li>Added AJAX batch bulk generator with live progress tracking and cancel option.<\/li>\n<li>Added Guideline 6 External Services documentation.<\/li>\n<li>100% compliant with WordPress Plugin Check (PCP) guidelines.<\/li>\n<\/ul>","raw_excerpt":"Generate SEO-friendly alt tags automatically using OpenAI, Google Gemini, Anthropic Claude, Qwen, or smart pre-defined categories.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/398096","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=398096"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/zhsaikot"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=398096"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=398096"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=398096"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=398096"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=398096"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=398096"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}