Skip to content

About

Automatically generate beautiful 1024x675px featured images for your posts using AI. Bring your own API key model.

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

Β 

History

29 Commits

Folders and files

Repository files navigation

Featured Image Creator AI

🎨 Featured Image Creator AI

Give every post a featured image, generated by AI, in your brand's colour, without leaving WordPress.

Bring your own OpenAI, Google Gemini, or Stability AI key and let the plugin do the rest: single posts, whole archives in bulk, style presets, text and logo overlays, social sizes, alt text, and a brand colour that ties the whole blog together.


Version Downloads Rating

WordPress Tested up to PHP License

Get it on WordPress.org Β· Report a bug Β· Support the project


Table of contents


✨ What's new in 1.2.0

The 1.2.x line is all about colour and confidence: make your images match your brand, and know your setup works before you run a batch.

πŸ†• Feature What it does
🎨 Colour Theme Pick a brand colour and new images are built around it. The colour is woven into the prompt so every provider leans on it, with an optional Exact Colour pass that recolours the finished image locally (Imagick or GD) toward your exact hue. No extra API cost.
πŸ–ΌοΈ Recolour Existing A new tab on the Bulk Generate screen shifts the colours of featured images you already have toward your brand colour. The image stays the same, only the colours change, and it runs on your server with no API calls.
πŸ”Œ Test API Key A button on the settings screen checks your saved key against the provider without generating an image, and tells you success or the exact error. Catch a bad key before you run a batch, not after.
πŸš€ Auto-generate on any publish A post published with no featured image now gets one even when it's published directly (REST API, quick publish), not only from a draft or a scheduled post.

Earlier in the 1.1.x line the featured image started refreshing instantly in the block editor, the Bulk Generate button got its visibility back, panels went full width, and the default image size moved to a clean 16:9 1200Γ—675.


πŸ’‘ Why you'll like it

  • No prompt-writing required. Pick a style and a colour, hit generate. The post title does the rest.
  • Your key, your costs, your data. Bring your own API key. It's encrypted before it's stored, and nothing is routed through a middle service.
  • Local where it counts. Overlays, social crops, and recolouring all happen on your server, so they don't cost API credits and your image data stays put.
  • Scales from one post to a whole archive. Generate a single featured image from the editor, or run the whole site in the background from one screen.
  • Plays nicely with SEO plugins. Open Graph images set themselves for Yoast and Rank Math, with a clean fallback when neither is active.

🧩 Features at a glance

πŸ€– Generation

  • Three providers, many models β€” OpenAI (DALL-E 3 and the GPT Image family), Google Gemini (Imagen), and Stability AI (Stable Diffusion 3, SeeDream).
  • Bring your own API key, encrypted at rest.
  • Single or bulk β€” one post from the editor, or every post in the background.
  • Quality and format control β€” Standard / HD / Low on OpenAI, and PNG / JPG / WEBP output.
  • Custom prompt template with a {title} placeholder.
  • Auto-generate on publish when a post goes live without a featured image.

🎨 Look & feel

  • Style presets β€” Photographic, Flat Illustration, Digital Art, 3D Render, Watercolour, Minimal, Isometric, Cyberpunk, Paper-cut, Corporate, Retro. Site default or per-post.
  • Colour Theme β€” a brand colour steered into the prompt, with an optional exact-colour recolour pass.
  • Text & logo overlay β€” burn an auto-wrapped headline and a logo or watermark onto the image, rendered locally with a bundled Poppins font.

πŸ› οΈ Workflow

  • Image variations β€” generate several options at once and pick the one you like; the rest are cleaned up.
  • Recolour existing images in bulk toward your brand colour.
  • Test API Key button so you know your setup works.
  • Auto alt text from the provider's vision model, for SEO and accessibility.
  • Social & Open Graph sizes cropped locally from one image.

🧠 Supported providers & models

Provider Models Quality options Output formats
🟒 OpenAI DALL-E 3, GPT Image 1, GPT Image 1 (Mini), GPT Image 1.5, GPT Image Latest Standard, HD, Low PNG, JPG, WEBP (auto-converted)
🟣 Stability AI Stable Diffusion 3, SeeDream 4.5 β€” PNG, JPG, WEBP (native)
πŸ”΅ Google Gemini Imagen β€” PNG

πŸ’¬ Auto Alt Text uses a vision model where one exists β€” OpenAI (gpt-4o-mini) and Gemini describe the image, while Stability AI falls back to the post title.


πŸ“¦ Installation

From your WordPress dashboard (recommended)

  1. Go to Plugins β†’ Add New.
  2. Search for Featured Image Creator AI.
  3. Click Install Now, then Activate.

Manual upload

  1. Download the latest ZIP from the releases page or WordPress.org.
  2. In WordPress, go to Plugins β†’ Add New β†’ Upload Plugin and choose the ZIP.
  3. Activate it.

From source

git clone https://github.com/gunjanjaswal/Featured-Image-Creator-AI.git
cp -r Featured-Image-Creator-AI /path/to/wordpress/wp-content/plugins/featured-image-creator-ai

πŸš€ Quick start

  1. Open Featured Image Creator AI β†’ Settings from the admin menu.
  2. Pick your API Provider and paste your API key:
  3. Save, then click Test API Key to confirm the key works. βœ…
  4. (Optional) Set a Brand Colour, a Style, and your image size.
  5. Edit any post and click Generate Featured Image, or run a batch from Bulk Generate.

πŸ“– Using the plugin

πŸ–ŠοΈ Generate for a single post

Open any post in the editor and find the AI Featured Image box in the sidebar. Click Generate Featured Image and it's created and set as the thumbnail. Prefer options? Click Generate Options to get a grid, then click your favourite β€” the others are deleted for you.

πŸ“š Bulk generation

Go to Featured Image Creator AI β†’ Bulk Generate. Three tabs:

  • Generate Missing β€” covers every published post that has no featured image.
  • Regenerate All β€” rebuilds featured images for all posts (overwrites existing ones).
  • Recolour Existing β€” shifts the colours of images you already have toward your brand colour, without regenerating them.

Each run shows live progress and a summary of successes and errors. You can also select posts on Posts β†’ All Posts and use the Generate Featured Images bulk action.

🎨 Colour Theme

Under Settings β†’ Colour Theme, turn the theme on and pick a Brand Colour. New images are built around that colour through the prompt. Switch on Exact Colour to also run a local recolour pass that pushes the finished image toward your precise hue, with an adjustable strength. To update images you already published, use the Recolour Existing tab on the Bulk Generate screen β€” it keeps the composition and only changes the colours, with no API calls.

πŸ–ŒοΈ Styles, overlays & variations
  • Styles β€” set a default look under settings, or override it from the Style dropdown in the editor.
  • Text & Logo Overlay β€” enable it, use {title} for the headline, and configure font weight, size, colour, position, a readability scrim, and a logo corner. Rendered locally with Imagick or GD.
  • Variations β€” set how many options to produce (2–8). Each option uses one API credit.
β™Ώ Alt text & πŸ“£ social images
  • Auto Alt Text β€” describe each generated image with the provider's vision model and save it as the attachment's alt text. Stability AI falls back to the post title.
  • Social & Open Graph β€” tick the sizes you want (Open Graph 1200Γ—630, Twitter, square 1080Γ—1080, Pinterest 1000Γ—1500). Each is cropped locally from the generated image. With Open Graph Image on, the share image is set for Yoast SEO or Rank Math, or output as og:image / twitter:image tags when no SEO plugin is active.

βœ… Requirements

WordPress 5.8 or higher
PHP 7.4 or higher
API key OpenAI, Google Gemini, or Stability AI
openssl Required β€” encrypts your API key
imagick or gd Needed for overlays and the colour recolour pass

πŸ§‘β€πŸ’» Hooks & filters for developers

Everything below is a real hook shipped by the plugin.

Filters

// Add or change style presets ( key => ['label' => ..., 'suffix' => ...] ).
add_filter( 'aifig_style_presets', function ( $presets ) {
    $presets['my_brand'] = array(
        'label'  => 'My Brand Look',
        'suffix' => 'Bold brand colours, clean layout, on-brand illustration style.',
    );
    return $presets;
} );

// Add or change social / Open Graph sizes ( key => ['label', 'width', 'height'] ).
add_filter( 'aifig_social_variants', function ( $specs ) {
    $specs['story'] = array( 'label' => 'Story (1080Γ—1920)', 'width' => 1080, 'height' => 1920 );
    return $specs;
} );

// Pick the vision models used for Auto Alt Text.
add_filter( 'aifig_openai_vision_model', fn() => 'gpt-4o-mini' );
add_filter( 'aifig_gemini_vision_model', fn() => 'gemini-2.0-flash' );

// Opt in to routing through WordPress 7.0's core AI Client (off by default).
add_filter( 'aifig_use_wp_ai_client', '__return_true' );

Actions

// Fires after an auto-generation attempt on publish.
// $result is an attachment ID on success or a WP_Error on failure.
add_action( 'aifig_auto_generate_result', function ( $result, $post_id ) {
    if ( is_wp_error( $result ) ) {
        error_log( "AIFIG failed for post {$post_id}: " . $result->get_error_message() );
    }
}, 10, 2 );

πŸ”’ Security & privacy

  • API keys are encrypted with AES-256-CBC before they're stored.
  • Inputs are sanitised and validated; AJAX requests are nonce-checked; admin actions run capability checks.
  • Post titles are sent to your chosen provider to generate the image. With Auto Alt Text on (off by default), the generated image is also sent to that provider's vision model for a description.
  • Overlays, social crops, and the colour recolour pass are processed locally β€” no image data leaves your server for those steps.

Provider policies: OpenAI Β· Google Β· Stability AI


πŸ’Έ What it costs to run

You pay your provider directly for generation. Rough guide (check current pricing):

Provider Approx. cost Pricing
OpenAI DALL-E 3 ~$0.04 standard / ~$0.08 HD per image openai.com/pricing
Stability AI ~$0.04 per image platform.stability.ai/pricing
Google Gemini Free tier, then usage-based ai.google.dev/pricing

🟒 Overlays, social sizes, and recolouring are done locally and never add to your API bill.


❓ FAQ

If I change the brand colour, does it recolour my existing images?

No β€” changing the setting only affects newly generated images. To recolour images you already have, use the Recolour Existing tab on the Bulk Generate screen. It keeps each image the same and only shifts the colours.

Generation fails with an "Incorrect API key" / HTTP 401 error.

Your saved key is wrong or expired. Open Settings, paste a fresh key, save, and click Test API Key to confirm it before running anything.

Do overlays or social images use extra API credits?

No. They're cropped and rendered on your own server with Imagick or GD.

Which image size does it use?

The default is 1200Γ—675 (16:9). You can change it under Settings β†’ Image Settings.


🀝 Contributing

Pull requests are welcome.

  1. Fork the repo.
  2. Create a branch: git checkout -b feature/your-idea.
  3. Commit your changes.
  4. Push and open a PR.

The code follows the WordPress Coding Standards:

composer global require "squizlabs/php_codesniffer=*"
phpcs --standard=WordPress .
phpcbf --standard=WordPress .   # auto-fix

❀️ Support the project

If this plugin saves you time, a coffee goes a long way toward keeping it maintained.

Support on Ko-fi


πŸ‘€ Author

Gunjan Jaswal

Website Email GitHub


πŸ“„ License

Released under the GPL v2 or later.

Featured Image Creator AI
Copyright (C) 2024–2026  Gunjan Jaswal

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

Bundled Poppins font is used under the SIL Open Font License.


πŸ—’οΈ Changelog

Full history lives in readme.txt. Recent releases:

1.2.0

  • Colour Theme β€” pick a brand colour that new images are built around, with an optional exact-colour recolour pass (Imagick/GD) at an adjustable strength.
  • Recolour Existing β€” a Bulk Generate tab that shifts existing featured images toward your brand colour, locally, with no API calls.
  • Test API Key β€” check your saved key against the provider without generating an image.
  • Auto-generate on publish now also covers posts published directly (REST API, quick publish), not only drafts and scheduled posts.

1.1.3

  • Fixed the "Generate All Images" button rendering invisible on the Bulk Generate screen.
  • Progress and results panels now span the full width and sit centred.
  • Default image size is now 1200Γ—675 (16:9) for new installs.

1.1.2

  • The featured image now appears straight away in the block editor after you generate or pick one, instead of only after a reload.
  • Tidied a nonce annotation that a code scanner read as missing.

1.1.1

  • Fixed an OpenAI HTTP 400: Invalid value: 'standard' error on the GPT Image models. Quality is now mapped per model (DALL-E 3 uses Standard/HD; GPT Image uses Low/Medium/High/Auto).

1.1.0

  • Style presets, text & logo overlay, image variations, auto alt text, and social / Open Graph image sizes. All opt-in and off by default.
Older releases (1.0.x)
  • 1.0.6 β€” WordPress 7.0 groundwork: opt-in AI Client routing and a Connectors API registration, with graceful fallback on WP 6.x.
  • 1.0.5 β€” Auto-generate on draft_to_publish and pending_to_publish; new aifig_auto_generate_result action; Ko-fi support link.
  • 1.0.4 β€” Fixed a fatal in the OpenAI provider by requiring file.php before wp_tempnam().
  • 1.0.3 β€” Output format selection (PNG/JPG/WEBP) for OpenAI; GPT Image 1 (Mini) compatibility.
  • 1.0.2 β€” Added GPT Image models and SeeDream 4.5; quality and format settings; bulk regeneration.
  • 1.0.1 β€” Auto-generate featured images for scheduled posts.
  • 1.0.0 β€” Initial release: OpenAI, Gemini, and Stability AI; single and bulk generation; encrypted key storage.

Made with care by Gunjan Jaswal Β· If it helped, buy me a coffee β˜•

About

Automatically generate beautiful 1024x675px featured images for your posts using AI. Bring your own API key model.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages