{"id":259306,"date":"2025-11-05T16:19:21","date_gmt":"2025-11-05T16:19:21","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/altvision-ai-text-generator\/"},"modified":"2025-11-05T16:53:05","modified_gmt":"2025-11-05T16:53:05","slug":"altvision-ai-text-generator","status":"publish","type":"plugin","link":"https:\/\/ky.wordpress.org\/plugins\/altvision-ai-text-generator\/","author":20569188,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"4.3","stable_tag":"4.3.1","tested":"6.8.5","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"AltVision AI Text Generator","header_author":"Eileen","header_description":"Automatically generates SEO-friendly alt text for images using AI with live progress.","assets_banners_color":"217cec","last_updated":"2025-11-05 16:53:05","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/getsocialguide.com\/altvision-ai-text-generator\/","header_plugin_uri":"https:\/\/getsocialguide.com\/auto-alt-text-generator\/","header_author_uri":"https:\/\/getsocialguide.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":526,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"4.3":{"tag":"4.3","author":"eileen2k","date":"2025-11-05 16:53:05"},"4.3.1":{"tag":"4.3.1","author":"eileen2k","date":"2025-11-05 16:52:23"}},"upgrade_notice":{"3.7":"<p>Fixes all remaining errors from the WordPress.org plugin checker tool for security and internationalization.<\/p>","3.6":"<p>Fixes missing translator comments required by WordPress.org.<\/p>","3.4":"<p>Further slows down processing to prevent &quot;429 Quota Exceeded&quot; errors for users on free tiers.<\/p>","3.3":"<p>This update slows down processing to prevent &quot;429 Quota Exceeded&quot; errors for users on free tiers.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3390587,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["4.3","4.3.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3390587,"resolution":"1","location":"assets","locale":""}},"screenshots":{"1":"Settings page showing the API key input field.","2":"Media Tools page showing the total count of images and the \"Start\" button.","3":"The live progress bar and log of generated alt text.","4":"Generated alt text saved in the Media Library."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1953,2353,17214,163,186],"plugin_category":[34,50,55],"plugin_contributors":[250329],"plugin_business_model":[],"class_list":["post-259306","plugin","type-plugin","status-publish","hentry","plugin_tags-accessibility","plugin_tags-ai","plugin_tags-alt-text","plugin_tags-images","plugin_tags-seo","plugin_category-accessibility","plugin_category-media","plugin_category-seo-and-marketing","plugin_contributors-eileen2k","plugin_committers-eileen2k"],"banners":{"banner":"https:\/\/ps.w.org\/altvision-ai-text-generator\/assets\/banner-772x250.png?rev=3390587","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/altvision-ai-text-generator_217cec.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/altvision-ai-text-generator\/assets\/screenshot-1.png?rev=3390587","caption":"Settings page showing the API key input field."}],"raw_content":"<!--section=description-->\n<p>AltVision AI Text Generator helps WordPress users automatically generate alt text for images in their Media Library using AI. This improves accessibility, SEO, and user experience across your website.<\/p>\n\n<h3>\u2728 Features<\/h3>\n\n<ul>\n<li>Generates missing image alt text using AI for clear, concise descriptions.<\/li>\n<li>Processes images one-by-one to ensure stability and prevent server timeouts.<\/li>\n<li>Respects API rate limits, especially for free tiers.<\/li>\n<li>Displays the total number of images missing alt text before you start.<\/li>\n<li>Live progress bar and log show exactly what's being processed.<\/li>\n<li>Simple admin dashboard to securely save your API key.<\/li>\n<li>Stores alt text automatically in the WordPress Media Library.<\/li>\n<li>Does not overwrite existing, manually-written alt text.<\/li>\n<\/ul>\n\n<h3>Credits<\/h3>\n\n<p>Developed by <strong>Eileen<\/strong> \u2014 <a href=\"https:\/\/getsocialguide.com\/\">GetSocialGuide.com<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/altvision-ai-text-generator\/<\/code> directory, or install via the WordPress Plugin screen.<\/li>\n<li>Activate the plugin through the \u201cPlugins\u201d menu.<\/li>\n<li>Go to <strong>Settings \u2192 AltVision AI<\/strong> to enter your API key.<\/li>\n<li>Navigate to <strong>Media \u2192 AltVision AI<\/strong> to see the total count and click \u201cStart Alt Text Generation\u201d to process images.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='where%20do%20i%20get%20the%20api%20key%3F'><h3>Where do I get the API key?<\/h3><\/dt>\n<dd><p>You can create a free key at <a href=\"https:\/\/aistudio.google.com\/app\/apikey\">https:\/\/aistudio.google.com\/app\/apikey<\/a>. You must also enable the API and billing in your Google Cloud project.<\/p><\/dd>\n<dt id='i%27m%20getting%20an%20%22http%20429%3A%20quota%20exceeded%22%20error.%20why%3F'><h3>I'm getting an \"HTTP 429: Quota Exceeded\" error. Why?<\/h3><\/dt>\n<dd><p>This means you have hit your API rate limit (often on free tiers). This plugin includes delays to help prevent this, but if you process a very large number of images or run it frequently, you might still hit a limit. Enabling billing usually provides much higher limits.<\/p><\/dd>\n<dt id='how%20many%20images%20does%20it%20process%20at%20once%3F'><h3>How many images does it process at once?<\/h3><\/dt>\n<dd><p>The plugin processes images one at a time with a short delay between each. This prevents server timeouts and respects API rate limits, ensuring a stable experience even on shared hosting.<\/p><\/dd>\n<dt id='will%20it%20overwrite%20existing%20alt%20text%3F'><h3>Will it overwrite existing alt text?<\/h3><\/dt>\n<dd><p>No. The plugin only generates alt text for images that don\u2019t have one.<\/p><\/dd>\n<dt id='is%20my%20data%20sent%20to%20the%20ai%20service%3F'><h3>Is my data sent to the AI service?<\/h3><\/dt>\n<dd><p>Yes. The image file and a text prompt are sent securely to the AI API to generate the description.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>4.3<\/h4>\n\n<ul>\n<li>Fixed final missing translator comments based on plugin check feedback.<\/li>\n<\/ul>\n\n<h4>4.2<\/h4>\n\n<ul>\n<li>Fixed missing translator comments identified by plugin checker<\/li>\n<\/ul>\n\n<h4>4.1<\/h4>\n\n<ul>\n<li>Added check to skip unsupported image formats (like GIF) that cause API errors.<\/li>\n<li>Updated count logic to only show supported images missing alt text.<\/li>\n<li>Added placeholder meta for skipped\/errored images to prevent repeated attempts.<\/li>\n<li>Updated FAQ with supported formats.<\/li>\n<\/ul>\n\n<h4>4.0<\/h4>\n\n<ul>\n<li>Renamed plugin from \"Gemini AI Alt Text Generator\" to \"AltVision AI Text Generator\".<\/li>\n<li>Updated all PHP class names, function prefixes, text domains, nonces, JS objects, and CSS IDs\/classes to match the new name.<\/li>\n<li>Fixed missing translator comments.<\/li>\n<\/ul>\n\n<h4>3.7<\/h4>\n\n<ul>\n<li>Fixed missing translator comments for <code>_n()<\/code> and <code>sprintf()<\/code>.<\/li>\n<li>Added escaping for output in <code>Exception<\/code> messages and <code>number_format_i18n()<\/code>.<\/li>\n<li>Replaced discouraged <code>strip_tags()<\/code> with <code>wp_strip_all_tags()<\/code>.<\/li>\n<li>Corrected <code>Stable tag<\/code> mismatch in readme.txt.<\/li>\n<\/ul>\n\n<h4>3.6<\/h4>\n\n<ul>\n<li>Added missing translator comments based on plugin check feedback.<\/li>\n<\/ul>\n\n<h4>3.4<\/h4>\n\n<ul>\n<li>Slowed down AJAX delay to 1000ms (1 second) to further prevent 429 errors.<\/li>\n<\/ul>\n\n<h4>3.3<\/h4>\n\n<ul>\n<li>Slowed down AJAX delay to 500ms to better respect API rate limits.<\/li>\n<\/ul>\n\n<h4>3.2<\/h4>\n\n<ul>\n<li>Updated Plugin URI and Author URI to be distinct URLs.<\/li>\n<\/ul>\n\n<h4>3.1<\/h4>\n\n<ul>\n<li>Fixed all plugin check errors for WordPress.org submission.<\/li>\n<\/ul>\n\n<h4>3.0<\/h4>\n\n<ul>\n<li>Switched to WordPress HTTP API (<code>wp_remote_post<\/code>) to meet plugin guidelines.<\/li>\n<li>Added <code>uninstall.php<\/code> for clean uninstallation.<\/li>\n<li>Enqueued JS\/CSS in separate files.<\/li>\n<li>Fully internationalized (translation-ready).<\/li>\n<\/ul>\n\n<h4>2.2<\/h4>\n\n<ul>\n<li>Fix for <code>MAX_TOKENS<\/code> error by increasing token limit to 8192.<\/li>\n<li>Fixed critical PHP syntax errors.<\/li>\n<\/ul>\n\n<h4>2.1<\/h4>\n\n<ul>\n<li>Added total count of missing alt text to the main tool page.<\/li>\n<li>Implemented a percentage-based progress bar.<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>Re-engineered to process images one-by-one to fix server timeouts.<\/li>\n<li>Added robust error checking (e.g., MAX_TOKENS, SAFETY).<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<\/ul>","raw_excerpt":"Automatically generate descriptive image alt text using AI to boost SEO and accessibility.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/259306","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=259306"}],"author":[{"embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/eileen2k"}],"wp:attachment":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=259306"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=259306"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=259306"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=259306"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=259306"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=259306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}