WP Manifestindependent plugin directory
manifest / ai / moondream-alt-text

Moondream Alt Text Generator self-updates

WordPress plugin: generate alt text for media library images using the Moondream Cloud vision API

by Aidan Ashby · github.com/aidanashby/moondream-alt-text · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/aidanashby/moondream-alt-text/archive/refs/heads/master.zip

Ships its own WordPress updater (built-in updater), so new versions show up under Dashboard → Updates.

Generates descriptive alt text for media library images using the Moondream Cloud vision API.

Description

Moondream Alt Text Generator adds AI-powered alt text generation to the WordPress media library using the Moondream Cloud vision API.

Features

  • Generate button in the media grid attachment details panel
  • Generate button on the attachment edit page
  • Bulk generation with a progress modal and a review/edit phase before saving
  • Skip or overwrite existing alt text in bulk runs (configurable)
  • Optional global context appended to every prompt (e.g. site subject matter)
  • Truncation notice when generated text exceeds 125 characters
  • Internal admin use only — no front-end output

How it works

  1. Enter your Moondream Cloud API key in Settings > Moondream Alt Text.
  2. Open any image in the media library and click Generate alt text.
  3. Review the suggestion and click Accept to apply it, or generate again.

For bulk runs, select multiple images in the media library, choose Generate alt text from the bulk actions menu (list view) or the toolbar button (grid view), and review results before saving.

Installation

  1. Upload the moondream-alt-text folder to /wp-content/plugins/.
  2. Activate the plugin through the Plugins screen in WordPress.
  3. Go to Settings > Moondream Alt Text and enter your API key.

Frequently Asked Questions

Where do I get an API key?

Sign up at moondream.ai to obtain a Moondream Cloud API key.

Which image formats are supported?

JPEG, PNG, GIF, WebP, AVIF, BMP, and TIFF. The server validates the format before sending to the API.

How many images can I process at once in bulk?

Up to 20 images per bulk run. The limit applies after excluding incompatible file formats and images that already have alt text.

Does this plugin add anything to the front end?

No. All output is confined to wp-admin.

Are my images sent to a third party?

Yes — images are sent to the Moondream Cloud API for processing. The plugin first attempts to send the image URL; if the API cannot access it, it falls back to sending a base64-encoded copy of the image. Review Moondream's privacy policy before use.

Screenshots

  1. Generate button in the media grid attachment details panel.
  2. Bulk generation progress modal.
  3. Review phase — edit or discard suggestions before saving.
  4. Settings page.

Changelog

1.1.7

  • Fixed WordPress repeatedly offering an update to the version already installed ("You have version 1.1.6 installed. Update to 1.1.6."). The updater added its entry to the update list but never removed a stale one, so an old "update available" record survived the upgrade.
  • The connection test now falls back to an image bundled with WordPress when the media library has no usable image, so it works on a fresh install. The fallback reads from disk rather than fetching a remote URL, so it cannot break if an external host changes.
  • Test results now indicate when the fallback image was used.

1.1.6

  • Fixed the Test connection button, which always failed with "The API could not process this image via either method." The test used a hardcoded external image URL that stopped resolving, so the test failed even when the API key and connection were working normally.
  • The test now uses the most recent usable image in your own media library, so it exercises the same path as real generation and confirms whether the API can reach your site's media URLs.
  • Test results now name the image that was described.
  • Internal errors no longer surface as a blank message when the API rejects an image.
  • Tested up to WordPress 7.1.

1.1.5

  • Switched bulk generation to base64-first with URL as fallback, fixing failures on hosting where the API cannot reach the site's own media URLs.
  • Incompatible file types (SVG, PDF, etc.) are now excluded from bulk processing, the missing alt text filter, and the bulk action limit — the 20-image cap now applies only to compatible images without existing alt text.
  • Added Cancel button to the bulk generation modal — stops the queue, retains any results already received, and proceeds to the review phase.
  • API test panel now shows response time, method used (base64/URL), and character count below the generated description.
  • Bulk modal now notes which file types were skipped when incompatible files are excluded from a selection.
  • Inline notice shown when all selected files are incompatible formats, or when all selected images already have alt text.
  • Review phase summary now correctly reports generated, skipped, and failed counts separately.
  • Error message for unsupported formats updated to "This file format is not supported" to cover non-image files such as PDFs.

1.1.4

  • Missing alt text filter button added to both grid and list view in the media library.
  • Automatic GitHub release workflow: pushing a version tag now builds and attaches the plugin zip to a GitHub release.

1.1.0

  • Added automatic update checking via GitHub Releases — updates now appear in the standard WordPress Plugins screen.
  • Attachment filename is now passed to the API as a prompt hint (hyphens and underscores converted to spaces).
  • Removed character-count instruction from the prompt; replaced with "single brief sentence" — vision models do not reliably count characters.
  • Raised server-side hard character cap from 125 to 200 to reduce unwanted mid-sentence truncation.

1.0.0

  • Initial release.

Upgrade Notice

1.1.7

Fixes a repeating update prompt for an already-installed version, and makes the connection test work on sites with an empty media library.

1.1.6

Fixes the Test connection button, which reported failure even when the API was working. The test now uses an image from your own media library.

1.1.5

Fixes bulk generation on restricted hosting, improves MIME filtering, adds a Cancel button to the bulk modal, and extends the API test panel with timing and method data.

1.1.4

Adds missing alt text filter button to the media library and automatic GitHub release builds on tag push.

1.1.0

Adds automatic update support via GitHub Releases. Improved prompt and higher character cap reduces truncated descriptions.

1.0.0

Initial release.