=== Cyphex Image Hunter === Contributors: cyphexagency, hamaza7867 Tags: ai image generator, image optimizer, webp converter, stock photos, ai images Requires at least: 5.8 Tested up to: 7.1 Requires PHP: 7.4 Stable tag: 3.2.2 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Search, generate, optimize, and insert images with Pexels, Pixabay, Openverse, Unsplash, Gemini, OpenAI, Puter, and bulk media tools. == Short Description == Multi-provider AI image studio and WordPress media optimizer with stock search, WebP conversion, SEO metadata, bulk tools, and connector support. == Description == Stop wasting hours hunting for the perfect stock photo, resizing it in Photoshop, and manually typing Alt text. **Cyphex Image Hunter** is the all-in-one AI image generator and WordPress media library optimizer designed to automate your entire visual workflow. **Cyphex Image Hunter is fully free and open source.** There are no paid tiers, license keys, remote activation checks, or feature gates. Some integrations require API credentials from their respective third-party providers, and any provider usage costs are governed by that provider. === ๐Ÿš€ The Ultimate AI Image Generator for WordPress === Whether you are a blogger, developer, or agency, this plugin eliminates manual media management. In one single click, you can find royalty-free stock photos, generate custom AI images, optimize file sizes for lightning-fast speed, and write perfect SEO alt textโ€”without ever leaving your WordPress dashboard. === ๐Ÿง  Smart Image Sourcing & AI Sideloading === Don't settle for generic results. Our "Smart Search" uses Groq AI (Llama 3.3) to understand your content intent and rewrite simple prompts into highly effective search terms. * **Universal Stock Photos:** Search Pexels, Pixabay, Openverse, and optional Unsplash directly inside the WordPress Media Library. * **Multi-Provider Image Lab:** Generate visuals using free Puter models or configured Gemini and OpenAI image models. * **AI Image Refinement:** Need a change? Tell the AI to "make it night time" or "remove the car" to tweak your generated images on the fly. === โšก Automated WebP Converter & Image Optimizer === Speed matters for Google rankings. Cyphex Image Hunter ensures every image you upload is perfectly sized and formatted for peak Core Web Vitals performance. * **Exact Batch Resizing:** Specify your target dimensions; the plugin auto-scales and crops featured images to fit your theme perfectly. * **Instant WebP Converter:** Boost your site speed by automatically converting legacy JPEG and PNG uploads into ultra-fast WebP format. * **Smart Target KB Compression:** Set your maximum file size (e.g., "Under 100KB") and let our iterative AI image optimizer compress files without sacrificing visual clarity. === ๐Ÿท๏ธ AI-Powered SEO Alt Text & Metadata === Search engines love well-documented media. Our AI-SEO engine reads the visual context of your image to automatically generate: * **Contextual Image Titles:** Descriptive, keyword-rich attachment titles. * **Optimized SEO Alt Text:** Perfect for accessibility compliance and dominating Google Image Search. * **Smart Captions & Descriptions:** Engaging captions that reduce bounce rates and keep visitors reading. * **Auto-Credit Attribution:** Automatically attribute photographers from Pexels and Pixabay with clean, clickable links. == Key Features == === ๐ŸŒŸ Smart Sourcing & AI Creation === * **Universal Media Tab:** A seamless "Image Search" tab directly inside your WordPress "Add Media" modal. * **Groq AI Prompt Optimization:** High-speed prompt engineering for superior AI image generator results. * **Multi-Model AI Support:** Choose between DALL-E 3, Flux 1.1 Pro, or Stable Diffusion 3. === โš™๏ธ Professional WordPress Media Workflow === * **One-Click Media Sideloading:** Automatically downloads external stock photos to your local server. * **Batch Image Resizing:** Ensures all your featured images match your theme's exact dimensions. * **Settings Link:** Quick access directly from the WordPress Plugins dashboard. == Free and Open Source == Every included feature is available without a Cyphex license or subscription, including bulk library tools, Auto-Hunt, Logo Lab, model selection, API-key rotation, background removal, and monitoring. Development will continue as a fully free GPL-licensed project. == External services == This plugin relies on the following third-party services to fetch images and process AI metadata. Each service provides functionality of substance that cannot be performed locally: 1. Groq AI (api.groq.com): Used to optimize search prompts and generate SEO metadata. - Data sent: User-provided search queries and image context. - Privacy Policy: https://groq.com/privacy-policy/ 2. Cyphex Image Search Proxy (cyphex-worker-image.zimswatchinternational.workers.dev): Securely forwards stock-image searches without exposing provider API keys. - Data sent: Selected provider, search keywords, page, result count, and orientation. 3. Pexels (api.pexels.com): Used by the Cyphex proxy to fetch high-quality stock images. - Data sent by the proxy: Search keywords and filters. - Privacy Policy: https://www.pexels.com/privacy-policy/ 4. Pixabay (pixabay.com): Used by the Cyphex proxy to fetch royalty-free stock images. - Data sent by the proxy: Search keywords and filters. - Privacy Policy: https://pixabay.com/service/privacy/ 5. Puter.js (js.puter.com): Used to generate images via models like DALL-E 3 and Flux. - Data sent: Image generation prompts. - Terms of Service: https://puter.com/terms - Privacy Policy: https://puter.com/privacy 6. Openverse (api.openverse.org): Used to search openly licensed stock images, only when this optional connector is used. - Data sent: Search queries. 7. Unsplash (api.unsplash.com): Used to search stock photography and record download attribution, only when you configure your own Unsplash connector key. - Data sent: Search queries and a download-tracking ping required by Unsplash's API terms. - Privacy Policy: https://unsplash.com/privacy 8. Replicate (api.replicate.com): Used for optional AI background removal, inpainting, and image upscaling, only when you configure your own Replicate API key. - Data sent: The image being processed and your editing prompt. - Privacy Policy: https://replicate.com/privacy 9. OpenAI (api.openai.com): Used for optional AI image generation in the Image Lab, only when you configure your own OpenAI API key. - Data sent: Your image generation prompt. - Privacy Policy: https://openai.com/privacy/ 10. Google Gemini (generativelanguage.googleapis.com): Used for optional AI image generation in the Image Lab, only when you configure your own Gemini API key. - Data sent: Your image generation prompt. - Privacy Policy: https://policies.google.com/privacy 11. Cyphex Agency (cyphex.agency): Used only as a fallback delivery path for the Support form and newsletter sign-up, if your site's own email sending is unavailable. - Data sent: The name, email address, and message you submit in the Support form (or name/email for newsletter sign-up), plus your site URL and WordPress/PHP version for troubleshooting. - Privacy Policy: https://cyphex.agency/privacy == Installation == 1. Download the **cyphex-image-hunter.zip** file. 2. Log in to your WordPress Dashboard and navigate to **Plugins > Add New**. 3. Click **Upload Plugin**, choose the zip file, and click **Install Now**. 4. **Activate** the plugin. === Configuration === 1. Go to **Settings > Cyphex Image Hunter**. 2. Enter API keys only for optional AI features such as Groq and Replicate. Pexels and Pixabay work without configuration through the secure image proxy. 3. Click **Save API Keys**. Open the built-in **User Handbook** for a searchable, text-based guide covering every tool and connector. == Support Cyphex Agency == Thank you for using Cyphex Image Hunter and supporting Cyphex Agency. Need help with a custom project? We provide complete WordPress plugin development, custom theme development, full security and quality audits, bug fixing, performance optimization, API integrations, maintenance, and other tailored development services. Visit our WordPress profile: https://profiles.wordpress.org/cyphexagency/ Project inquiries: contact@cyphex.agency Plugin support: support@cyphex.agency == What's New in v3.2.0 == A security, reliability, and consistency release following a full code audit. No new paid tiers or gated features โ€” every change below is a fix or a small opt-in addition. * Fixed: the WebP step inside Quick Fix could leave an attachment with no restore backup under specific conditions; a backup is now always created before any in-place change. * Fixed: Quick Fix's WebP step previously deleted the original file; it now creates a non-destructive WebP sibling, matching the standalone WebP tool. * Fixed: a crafted AI-generated alt-text value could break out of its HTML attribute during Auto-Hunt image insertion; output is now properly escaped. * Fixed: Auto-Hunt image insertion could place images in the wrong order when a short post caused two placements to target the same paragraph. * Added: an opt-in "Allow resizing" option for Target Compression, Direct Sideload, and Auto-Hunt's Max KB setting. Compression now only changes pixel dimensions when you explicitly allow it; by default your image size is never touched. * Fixed: Target Compression, Direct Sideload, and Auto-Hunt's Max KB setting each used a separate, inconsistent compression implementation; all three now share one engine with identical, predictable behavior. * Fixed: the weekly local media snapshot never actually ran, because WordPress has no built-in "weekly" schedule; a proper one is now registered. * Fixed: the Replicate rate-limit retry countdown in the Bulk Toolkit never triggered, because the underlying error code was discarded before reaching the browser; Groq key rotation now also retries a different key on a rate limit instead of giving up immediately. * Fixed: several buttons (Set Favicon, Logo Lab background removal, Accessibility Audit fixes, usage/impact reset, the onboarding wizard, and Media Intelligence's rename tools) could get stuck permanently on a network error with no feedback; all now recover and notify you. * Fixed: other active plugins' admin notices could visually break Cyphex's own full-width screens; they're now hidden only on Cyphex's own pages. * Fixed: Health Scan, Accessibility Audit, and the Bulk Toolkit scanner paginated across the entire media library even for Authors who can only act on their own uploads; scans are now scoped accordingly. * Fixed: the "Local ComfyUI" connector was named and described as local but could only ever reach a public HTTPS address; renamed and re-described to match reality. * Fixed: Auto-Hunt now detects Elementor, Divi, Beaver Builder, Oxygen, and Bricks, and shows a clear notice instead of silently failing to insert images into a page those builders don't render from standard post content. * Fixed: removed a leftover duplicate, destructive WebP conversion code path that was never active but was a latent risk; removed a redundant double-initialization of media assets on every Cyphex admin page. * Fixed: the Direct Sideload page was missing a Max KB field despite the backend supporting it; added. * Added: confirmation before running a bulk tool across multiple selected images in the Bulk Toolkit, consistent with other destructive actions. * Fixed: Media Intelligence's rename and undo-rename actions used plain browser popups instead of the plugin's own styled dialogs; now consistent with the rest of the plugin. * Updated the External Services disclosure to list every third-party service the plugin actually contacts (Openverse, Unsplash, Replicate, OpenAI, Gemini, and a Cyphex Agency support-form fallback), and added uninstall cleanup for two options that were previously left behind. == What's New in v3.1.0 == * Added a consolidated, responsive Media Intelligence workspace. * Added private Reuse Before Generate search across local titles, alt text, captions, descriptions, and filenames. * Added resumable SEO, file-health, rights-risk, and exact-duplicate reporting. * Added bounded broken local image URL detection across published content. * Added preview-first, reversible Safe Rename with operation-ledger records. * Added editable creator, source URL, and licence metadata to attachments. * Added a live standards-based image sitemap and permissioned media REST report. * Added a weekly local audit snapshot and `wp cyphex media-audit` command. * Added capability-filtered WooCommerce product context without requiring WooCommerce. * Preserved the 3.0.1 exact-resize, deterministic target-compression, and Auto-Hunt layout fixes. == What's New in v3.0.1 == * Restored exact-dimension resizing when both width and height are supplied. * Made target-size compression deterministic by testing each quality from an untouched source snapshot. * Corrected Auto-Hunt editor-sidebar spacing, wrapping, controls, and narrow-screen alignment. == What's New in v3.0.0 == Cyphex now creates non-destructive WebP and AVIF siblings for full images and registered sub-sizes, serves them through picture markup with original fallback, and adds backup-first EXIF/GPS privacy controls for new uploads and bulk processing. The **v2.6 release series** expands Cyphex into a multi-provider creative media suite. * **Image Lab:** Generate with Puter, Gemini Nano Banana, and OpenAI GPT Image models from a responsive bento workspace. * **Connector Hub:** Configure optional providers, prefer wp-config.php constants, and test connection health and latency. * **Expanded Stock Search:** Use Pexels, Pixabay, Openverse, and optional Unsplash with creator and license metadata. * **Complete Text Handbook:** Search a designed in-plugin manual instead of loading obsolete screenshot galleries. * **Official Profile Navigation:** Agency links now use the Cyphex Agency WordPress.org profile for Playground compatibility. == Frequently Asked Questions == = How does the Target Size Compressor work? = Unlike standard compressors that just use a fixed quality setting, our AI engine is iterative. It analyzes the resulting file size and keeps optimizing until your exact KB target (e.g. 100kb) is met without destroying image clarity. = Can I undo an optimization? = Yes. The **Restoration Engine** creates a hidden `.cyphex-backup` of every image before it is compressed or resized. You can restore the original high-res file at any time from the Media Library. = Is the Background Remover free? = Yes. The plugin does not charge for access to background removal. You must provide any API credentials required by the selected processing provider, and that provider may apply its own usage charges. = What models are available in the Logo Lab? = The Logo Lab supports the latest high-fidelity models including **Flux 1.1 (Fast)**, **SDXL**, and **DALL-E 3**. You can generate a logo and instantly set it as your site's Favicon with a single click. = Does this work on mobile? = Absolutely. The entire Cyphex dashboard is built on a responsive mobile-first grid. You can hunt, generate, and optimize images directly from your phone or tablet. = Error: Puter.js not loaded = Ensure you have an active internet connection. Puter.js is loaded from a CDN. Check if an ad-blocker is blocking `js.puter.com`. = Generation Failed = DALL-E 3 requires credits on the Puter platform. If you run out, switch the Source to **Flux 1.1** or **Stable Diffusion 3**, which are often free or use fewer credits. = Images look like cartoons = Ensure **AI Optimize** is CHECKED. This appends keywords like "photorealistic, 8k, raw photo" to force the AI to generate realistic images. = Upload failed = Check your server's `upload_max_filesize` in php.ini or ensure your WordPress user has permission to upload files. == Screenshots == 1. **Command Dashboard** โ€” Responsive bento cards for every Cyphex workspace. 2. **Image Lab** โ€” Multi-provider generation, presets, canvas controls, and Media Library saving. 3. **Connector Hub** โ€” Optional provider configuration and connection testing. 4. **Bulk Toolkit** โ€” Categorized optimization, AI enhancement, publishing, and recovery tools. 5. **User Handbook** โ€” Searchable text documentation for every workflow. == Changelog == = 3.2.2 = * Fix: The 3.2.1 fix for the Handbook intro heading used a browser-width breakpoint that didn't account for WordPress's own admin sidebar plus this plugin's internal navigation rail squeezing the actual content area; the heading could still wrap one word per line at common screen widths. It now stacks to a single column by default and only switches to two columns on very wide windows. = 3.2.1 = * Fix: Settings page AI model dropdowns truncated their selected value mid-word on medium-width screens; they now truncate cleanly with an ellipsis and the Engine field has more room. * Fix: Connector Hub's wp-config.php constant name (e.g. CYPHEX_UNSPLASH_ACCESS_KEY) could get clipped by its card edge instead of wrapping; it now always wraps fully into view. * Fix: The Handbook page's intro heading wrapped one word per line on medium-width screens; it now stacks to a single column earlier so the heading reads normally. = 3.2.0 = * Security: Escaped AI-generated alt text before embedding it in Auto-Hunt image markup, closing a stored-XSS vector. * Fix: Quick Fix no longer deletes the original file during its WebP step; it now creates a non-destructive sibling like the standalone WebP tool. * Fix: Guaranteed a restore backup is created before any in-place image change in Quick Fix, closing a case where no backup existed. * Fix: Corrected Auto-Hunt image insertion order when two placements resolved to the same paragraph. * Enhancement: Added an opt-in "Allow resizing" option to Target Compression, Direct Sideload, and Auto-Hunt's Max KB setting; pixel dimensions are preserved by default. * Enhancement: Unified Target Compression, Direct Sideload, and Auto-Hunt's Max KB logic into one shared, consistent compression engine. * Fix: Registered a real "weekly" WP-Cron schedule; the weekly media snapshot was never actually running. * Fix: Restored the Replicate rate-limit retry countdown by preserving the provider's error code through to the browser. * Enhancement: Groq multi-key rotation now retries a different key on a rate limit instead of failing immediately. * Fix: Added missing failure handling to Set Favicon, Logo Lab background removal, Accessibility Audit fixes, dashboard reset actions, the setup wizard, and Media Intelligence's rename tools, so a network error no longer leaves a button stuck. * Fix: Hid other plugins' admin notices on Cyphex's own screens to prevent layout breakage. * Fix: Scoped Health Scan, Accessibility Audit, and Bulk Toolkit scans to the current user's own attachments when they cannot edit others' media. * Fix: Renamed the "Local ComfyUI" connector to reflect that it requires a public HTTPS address. * Enhancement: Added page-builder detection (Elementor, Divi, Beaver Builder, Oxygen, Bricks) to the Auto-Hunt panel with a clear notice instead of a silent failure. * Cleanup: Removed a dead, destructive legacy WebP code path and a redundant duplicate asset-enqueue call. * Enhancement: Added the missing Max KB field to the Direct Sideload page. * Enhancement: Added a confirmation step before running a bulk tool across multiple selected images. * Fix: Replaced native browser popups in Media Intelligence's rename tools with the plugin's own styled dialogs. * Docs: Updated the External Services disclosure to list Openverse, Unsplash, Replicate, OpenAI, Gemini, and the Cyphex Agency support-form fallback; added uninstall cleanup for two previously-orphaned options. For older releases, see the full changelog: https://plugins.svn.wordpress.org/cyphex-image-hunter/trunk/CHANGELOG.md == Upgrade Notice == = 3.2.2 = Fixes a Handbook page heading-wrap issue that the 3.2.1 fix didn't fully resolve. No functional changes. = 3.2.1 = UI fix release: corrects text truncation/wrapping on the Settings, Connector Hub, and Handbook pages at medium screen widths. No functional changes. = 3.2.0 = Security and reliability release: fixes a stored-XSS vector in Auto-Hunt, closes a case where an image could be modified without a restore backup, and fixes several buttons that could get stuck after a network error. Upgrading is recommended for all users. = 1.0.3 = This version includes critical security improvements and full compliance with WordPress repository guidelines. Upgrading is highly recommended.