=== AltMint – AI Alt Text & Image SEO ===
Contributors: yz3142
Tags: alt text, image seo, accessibility, ai, woocommerce
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 0.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Find images without alt text, generate descriptive alt text with an AI vision model, review it, and save it in one click.

== Description ==

Alt text does two jobs: it helps search engines understand your images, and it makes your site usable by people who rely on screen readers. Most WordPress sites still have images with empty alt attributes, because writing descriptions by hand does not scale.

AltMint scans your media library (and WooCommerce product images) for missing alt text, sends each image to a vision-capable AI model you connect, and stores a suggestion. You review and edit every suggestion before saving, so nothing goes live unreviewed.

**Features**

* Finds attachments with no alt text or an empty alt attribute.
* Review existing alt text too: switch the scan to All images to audit and improve descriptions you already have.
* Works with OpenAI, OpenRouter and Google Gemini vision models.
* Supports WooCommerce featured, gallery, and variation images.
* Suggests alt text in 22 languages, with a configurable word limit.
* Review screen with per-image generate/save and bulk save.
* CSV export of the current scan, for audits and client reports.
* Monthly generation counter (no hard cap: you bring your own API key).
* Bring your own API key: requests go from your site to the provider, never through our servers.

**Free and Pro**

The free plugin is unlimited: generate alt text for as many images as you like with your own AI provider key, and use every review tool. No account is needed.

A separate Pro add-on (automatic alt text for new uploads, bulk backfill of existing images, and priority support) is available for sites that want automation. It is distributed outside WordPress.org and is not required — the free plugin keeps working without it.

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/` or install it from Plugins → Add New.
2. Activate the plugin through the Plugins screen.
3. Open AltMint → Settings and choose a provider. Paste an API key for OpenAI, OpenRouter or Google Gemini.
4. Optional: enable Demo mode to try the workflow without an API key.
5. Open AltMint, scan your library, generate suggestions, review them, and save.

== Frequently Asked Questions ==

= Do I need my own API key? =

Yes. AltMint connects to the vision provider you choose, and you pay that provider directly for usage. A typical image costs a fraction of a cent with small vision models.

= Does the plugin send images to your servers? =

No. Requests go directly from your WordPress site to the provider's API.

= Can I edit suggestions before saving? =

Yes. Suggestions are saved separately until you press Save, so your published alt text only changes when you approve it.

= Does it work with WooCommerce? =

Yes. Choose the WooCommerce source to scan featured, gallery, and variation product images. Large catalogs are read in batches (100 products per query by default, up to 3,000 products per scan); developers can change both limits with the `altmint_woocommerce_batch_size` and `altmint_woocommerce_max_products` filters.

= The generation fails with a region error. What should I do? =

Some providers block specific models in some countries. With OpenRouter you can pick a model from another upstream provider: for example `google/gemma-4-26b-a4b-it` works from regions where `openai/gpt-4o-mini` is rejected. Where OpenAI or Google Gemini are directly available, you can also select those providers instead.

= What happens to alt text already present? =

Images that already have non-empty alt text are skipped by default, so a normal scan never touches existing descriptions. If you want to audit and improve them, switch Show to "All images (review existing)" — suggestions are still stored separately and nothing changes until you approve it.

= Do I need an account? =

No. There is no sign-up, no email and no license check in the free plugin. You only need an API key from your chosen AI provider.

= Is there a free generation limit? =

No hard cap. AltMint counts generations so you can see how much you have run, but the free plugin never blocks a generation; your own provider account is the only limit. The optional Pro add-on adds automation, not a quota.

== External services ==

AltMint does not operate its own server. It sends data only to the AI provider you select, and only when you run a scan/generation or click "Test connection". Data sent: the image (or a downscaled copy), the prompt (file name, parent page/product title, your extra instructions) and your API key. The plugin author receives no data.

* OpenAI — https://openai.com/policies/terms-of-use/ and https://openai.com/policies/privacy-policy/
* OpenRouter — https://openrouter.ai/privacy
* Google Gemini — https://ai.google.dev/gemini-api/terms and https://policies.google.com/privacy

== Privacy ==

This plugin stores its settings, a monthly usage counter and review suggestions in your WordPress database. No analytics, tracking or telemetry is included. The API key is stored in the WordPress options table and should be protected like any other site secret. Uninstalling removes plugin settings and suggestions; alt text saved to attachments is kept because it belongs to your content.

== Changelog ==

= 0.1.0 =
* Initial release: media library scan, AI suggestions, review and save, WooCommerce image source, settings, usage counter, CSV export.
