FOTOhub AI — Creative Powerhouse
FOTOhub AI WordPress plugin
by FOTOhub · github.com/fotohubapp/wordpress-plugin · website
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/fotohubapp/wordpress-plugin/archive/refs/heads/main.zipReadme
=== FOTOhub AI — Bulk Product Images & Copy for WooCommerce === Contributors: fotohub Tags: ai, woocommerce, product images, background removal, product descriptions Requires at least: 6.0 Tested up to: 6.7 Requires PHP: 8.0 Stable tag: 2.1.0 WC requires at least: 7.0 WC tested up to: 9.4 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html
Generate product photography and selling copy for hundreds of WooCommerce products at once. Every result is a reviewable draft — nothing overwrites your catalogue without approval.
== Description ==
FOTOhub AI connects WordPress and WooCommerce to the FOTOhub platform. It is built around one idea: bulk AI work is only useful if you can trust it, so nothing it produces is written to a product until you approve it.
= Bulk product AI (WooCommerce) =
- Product picker with real filters — missing description, fewer than N images, product category, text search, price range, product type. All filters resolve server-side, results are paginated, and "select all matching" works across the whole result set, not just the visible page.
- Nine operations — generate images, edit existing images, remove background, replace background, upscale, recolour, write descriptions, write alt text, or complete a listing end to end.
- 63 seeded presets — grouped by complete looks, backgrounds, scenes, lighting, composition, sales channels and copy tone. Polish names are shown automatically on Polish stores, and your chosen preset is remembered per store.
- Cost preflight — before anything is submitted you see "N items x M credits = X credits (you have Y)". Submission is blocked when the balance is short, with a direct link to top up.
- Variation-aware — for variable products FOTOhub can generate one image per variation, using that variation's own attributes in the prompt. Approving sets the variation image.
- Progress you can leave — per-item table with status, retry count and the real error text, retry-failed-only, cancel, and a view that survives a page reload.
= Draft-first write-back =
Results land in a dedicated Drafts screen. Images are shown side by side with the current product image; copy is shown as a current-versus-proposed diff. Approve per item or in bulk. Approval is the only action that writes to post_content, the product gallery, a variation image, attachment alt text, or your Yoast / Rank Math meta fields.
= Copywriting =
- Six tones (professional, casual, luxury, playful, technical, minimal) across English, Polish and German.
- Pick exactly which fields to generate: title, short description, long description, meta title, meta description, alt text, FAQ block, JSON-LD product schema.
- Brand rules apply to every item in a batch.
- An AI Writer sidebar in the block editor for one-off posts, pages and products.
= Image editing =
- Thirteen Stability AI tools from the media library or a dedicated screen: creative / fast / conservative upscale, background removal, erase, inpaint, outpaint, search and replace, search and recolour, style transfer, sketch and structure control, image to video.
- Mask painting directly in the browser for erase and inpaint.
= Also included =
- FOTOhub AI Image block for the block editor, rendered server-side.
- Usage analytics — credits and generations by category and model over 7, 30 or 90 days, top products, CSV export, and a dashboard widget.
- Video generation for WooCommerce products, including 360-degree turntables and lifestyle clips.
- Background job processing via Action Scheduler when available, with the plugin's own queue as a fallback. Bulk actions never block an admin request.
- MCP page with ready-to-paste Claude Desktop and Cursor configuration for the FOTOhub tool server.
- English and Polish translations for the whole interface.
= Security =
- API keys are encrypted at rest with AES-256-CBC derived from your WordPress salts, and never sent to the browser.
- Every AJAX handler verifies a nonce and a capability (
manage_woocommerceormanage_options). - The webhook receiver verifies an HMAC-SHA256 signature with
hash_equalsbefore touching any data. - Product-derived strings are escaped on output and inserted as text, never as HTML.
== Installation ==
- Upload the
fotohub-aifolder to/wp-content/plugins/, or install the zip from Plugins > Add New. - Activate the plugin.
- Go to FOTOhub AI > Settings and paste your API key, or open WooCommerce > FOTOhub Bulk AI and connect from there.
- The key is validated against your account balance and the store registers itself with the FOTOhub commerce bridge.
= Get an API key =
- Create an account at fotohub.app.
- Open Settings > API Keys in the FOTOhub dashboard.
- Create a key and paste it into the plugin.
== Frequently Asked Questions ==
= Will this overwrite my product descriptions or images? =
No. Every result is stored as a pending draft. You review the before/after or the text diff, and only your approval writes to the product. There is no silent overwrite path.
= Does it work without WooCommerce? =
Yes, but the bulk product workflow and the drafts screen need WooCommerce. Without it you still get image generation, the Stability tools, the AI writer, the block and analytics.
= How does it handle variable products? =
Optionally one job item per variation. Each variation's own attributes go into the prompt, and approving a variation draft sets that variation's image rather than the parent's.
= What does it cost? =
The plugin is free. Generation consumes FOTOhub credits from your account. Cost is shown before every batch and you cannot submit a batch you cannot afford.
= Which models are available? =
SeedDream 5.0 and 5.0 Pro, GPT Image 2, Nano Banana Pro and Fast, and Imagen 4 in Fast, Standard and Ultra. Per-image credit cost is shown next to each model.
= Will 200 products time out? =
No. Batches are handed to the FOTOhub bridge and processed there; the plugin polls for progress. WooCommerce bulk actions are queued through Action Scheduler, so no admin request waits on generation.
= Is my API key safe? =
It is encrypted before storage and only ever used server-side. It is never printed on a page, never sent to the browser, and never written to the usage log.
= Does it support Yoast or Rank Math? =
Yes. When either is active, approved meta titles and descriptions are written to that plugin's fields. With neither installed the copy is kept in plugin meta so it is not lost.
= Is it multisite-safe on uninstall? =
Yes. Uninstall drops the plugin tables, every fotohub_* option, all plugin post meta and all scheduled hooks, per site across the network.
== Screenshots ==
- Bulk AI wizard, step one: the product picker with server-side filters.
- Preset gallery grouped by category, with complete looks first.
- Cost preflight before submission.
- Batch progress with per-item status and retry-failed-only.
- Draft review with before/after image comparison.
- Draft review with a current-versus-proposed text diff.
- Usage analytics with the period selector.
- MCP configuration for Claude Desktop and Cursor.
== Changelog ==
= 2.1.0 =
- New: bulk product AI for WooCommerce through the FOTOhub commerce bridge — five-step wizard, server-side product filters, select-all-matching, preset gallery, cost preflight, progress polling, retry-failed-only and cancel.
- New: draft-first write-back. Results land as pending drafts with before/after image comparison and text diffs; approval is the only thing that writes to product data.
- New: per-variation image generation for variable products, including setting the variation image on approval.
- New: signed webhook receiver at
fotohub-ai/v1/commerce/callback, verified with HMAC-SHA256 andhash_equals. - New: FOTOhub AI Image block with a server-side render callback.
- New: MCP page with copyable Claude Desktop and Cursor configuration.
- New: credits meter with a low-balance warning under 50 credits, and a connection health check.
- New: Polish translation for the full interface.
- Fix: duplicate AJAX registrations for video generation and the Stability tools meant the active handler depended on load order, and the two Stability handlers read different POST keys. There is now exactly one handler per action, and the browser posts the keys it expects.
- Fix: bulk alt text generation called a method that did not exist.
Fotohub_API::generate_alt_text()is implemented against the image analysis endpoint. - Fix: usage analytics recorded nothing because the action it listened for was never fired. Every API call now reports its endpoint, category, model, credits and outcome.
- Fix: four enqueued asset files did not exist. The Gutenberg sidebar, analytics renderer and analytics stylesheet are shipped; Chart.js is loaded from a CDN instead of a missing local copy.
- Fix: the analytics period selector was decorative. 7, 30 and 90 day windows now drive the SQL date filter.
- Fix: duplicate admin menus — two Stability pages and two Analytics pages were registered. One each, and the asset allowlist matches the surviving hook suffixes so the pages load their JavaScript.
- Fix: the WooCommerce bulk action generated images synchronously inside the admin request, which timed out well before 20 products. Work is queued to Action Scheduler, or to the plugin's own queue.
- Fix: uninstall removed four options and left both custom tables behind. It now drops every table, option, transient, post meta key and scheduled hook, across all sites on multisite.
- Fix: endpoints corrected against the live API — background removal, background replacement, image enhancement and chat model aliases.
- Change: WooCommerce compatibility declared, including HPOS. Version headers reconciled between the plugin and this readme.
= 2.0.0 =
- Stability AI tools, AI copywriter, video generation, usage analytics and the job scheduler.
= 1.0.0 =
- Initial release: image generation, background removal, upscaling, bulk generation from prompts, basic WooCommerce product photos.
== Upgrade Notice ==
= 2.1.0 = Adds the bulk product workflow with draft-first review, and fixes nine confirmed defects including duplicate AJAX handlers, silent analytics, missing assets and the timeout-prone bulk action. Uninstall now cleans up completely — export anything you want to keep before removing the plugin.