To generate AI images inside WordPress, you use a plugin that turns a text prompt into an image and saves it to your media library. AI Workflow Automation, a free WordPress plugin, generates images from prompts using leading models with your own API key, so you can create original visuals for posts and products without leaving WordPress or paying for stock.
I develop the plugin, so the steps below reference its actual node names. If you would rather search real photography than generate art, there is a separate node for that and I cover it later.
What does generating AI images inside WordPress mean?
It means your WordPress site sends a text prompt to an image model’s API, receives an image back, and stores it as a normal attachment in Media > Library. From that point the image behaves like any file you uploaded: it has an attachment ID, generated thumbnail sizes, an alt text field, and it can be set as a featured image.
AI Workflow Automation is a free WordPress plugin with a visual drag-and-drop builder that runs AI workflows, agents, and chatbots inside your own site, using your own API keys, with no external subscription required.
The practical difference from generating images in a separate tool is that the image never becomes a manual step. A workflow can write a post, generate a matching image, save it, attach it as the featured image, and leave the whole thing as a draft for you to approve, all from one trigger.
Which AI image models and providers can you use?
AI Workflow Automation routes image generation through Fal.ai, which hosts a large catalogue of open and commercial image models. You add a Fal.ai key once under Settings > AI Services, and the model list is fetched live from the Fal catalogue rather than hard-coded into the plugin, so new models appear without a plugin update.
The Media Generator node has a refresh control labelled Refresh the model list from Fal.ai for exactly this reason. A common starting point is fal-ai/flux/schnell, which is fast and cheap.
You have three broadly different options, and they are not interchangeable.
| Option | Node | Best for | What it needs |
|---|---|---|---|
| Generated images | Media Generator | Original art, concept illustrations, product mockups | A Fal.ai API key |
| Stock photography | Unsplash Image | Real photos of real places, people and objects | An Unsplash API key |
| Existing media | Create Post/Product featured image field | Reusing an image already in your library | Nothing extra |
The Unsplash Image node takes a search term, an image size (raw, full, regular or small), an orientation (landscape, portrait, squarish or all), and an optional random toggle, and returns one photo per execution. Use it when the subject is something a generative model still gets visibly wrong, which in 2026 mostly means recognisable real-world locations, legible signage, and photographs of specific named products.
How do you generate your first AI image, step by step?
Six steps, roughly five minutes once your Fal.ai key is saved.
- In the WordPress admin sidebar, open AI Workflows and create a new workflow.
- Drag a Trigger node on and set its type to Manual, so you can run it on demand while you experiment.
- Drag a Media Generator node on and connect the trigger to it.
- Pick a model from the list. Until you do, the node shows Select a model to configure its inputs, because the fields it renders depend on the model you chose.
- Fill in the model-specific fields. For a FLUX model that means a
promptfield and usually animage_sizefield, wherelandscape_16_9is a sensible default for blog headers. - Add an Output node set to Display, connect it, save, and run. The live execution panel slides in from the right and shows the returned media URL.
The node returns a single media asset URL, referenced downstream as [Input from mediaGenerator-1]. At this point the image exists on the provider’s CDN, not in your media library. Getting it into WordPress is the next section, and it is the step people forget.
The Media Generator node documentation lists the field behaviour per model type, including video and audio, which use the same node.
How do you write prompts that actually work?
Image prompts fail differently from text prompts. Text models forgive vagueness; image models fill the gap with whatever is statistically average, which is why so many AI blog headers look identical.
- Name the subject, then the setting, then the style, in that order. “A ceramic coffee cup on a linen tablecloth, morning window light, shallow depth of field, editorial photography” beats “a nice coffee photo” every time.
- Specify the medium explicitly. Photograph, flat vector illustration, isometric 3D render, watercolour. Without it you get a plasticky hybrid that reads as AI at a glance.
- Describe lighting. Soft diffused light, golden hour, hard studio key light. Lighting does more for perceived quality than any other single word you can add.
- Say what to leave out. “No text, no watermark, no logo” prevents the garbled lettering that is still the clearest AI tell in 2026.
- Set the aspect ratio in the field, not the prompt. Models honour the
image_sizeparameter reliably and honour “make it wide” unreliably. - Keep a house style string. Save one sentence describing your brand’s visual language and append it to every prompt, so your images look like a set instead of a collection.
You can also build the prompt from workflow data. Insert an AI Model node before the Media Generator, have it write an image prompt from the post title, and pass the result in with a variable tag. That is how you get a distinct, relevant image per post rather than the same prompt with the title swapped in.
How do you save the image to the media library and add alt text?
The Media Generator returns a URL. The Create Post/Product node is what pulls that URL into WordPress.
- Add a Create Post/Product node after the Media Generator and connect them.
- Choose your post type and leave Post Status on draft, which is the default and the right default.
- Open the Featured image section and paste the variable tag into the field labelled Image URL from previous node, for example
[Input from mediaGenerator-1]. - Save and run. The plugin downloads the file, creates an attachment, generates the standard WordPress thumbnail sizes, and sets it as the post thumbnail.
Alt text deserves a deliberate step rather than an afterthought. Google’s image SEO documentation asks for descriptive, contextual alt text and warns that stuffing the attribute with keywords “results in a negative user experience and may cause your site to be seen as spam”. Its own example, “Dalmatian puppy playing fetch”, is the standard to aim for.
The reliable way to get that automatically: have the AI Model node produce a structured output with two fields, image_prompt and alt_text. Send the first to the Media Generator and write the second into the post’s image alt field. One AI call, and both the picture and its description are consistent with the article.
Google also recommends descriptive filenames over “IMG00023.JPG”, so if your workflow controls the filename, use the topic rather than a timestamp.
How do you automate images for every new post?
Once the manual version works, swapping the trigger turns it into a standing process.
- Change the trigger. Replace the Manual trigger with a WordPress event trigger for post publication, an RSS trigger, or a schedule, depending on where your content originates.
- Generate the prompt from the post. Feed the post title and excerpt into an AI Model node with structured output, returning
image_promptandalt_text. - Generate and attach. Media Generator, then Create Post/Product to update the post with the featured image.
- Keep a human gate. Add a Human Input node before publication if the images go on a client site. Image models still produce the occasional unusable frame, and an approval step costs seconds.
One operational caveat worth planning for: image generation is slower than text generation, often ten to thirty seconds. On shared hosting, a workflow that generates several images in one run can hit the PHP execution limit. Either split the work across separate workflow runs or switch that workflow to Cloud execution, which removes the PHP timeout constraint.
What do AI images cost, and who owns them?
Cost is per image, and it is low. As a published reference point, OpenAI’s image generation documentation lists gpt-image-2 at $0.006 for a low-quality 1024×1024 image, $0.053 at medium and $0.211 at high quality. Fast open models such as FLUX schnell sit at the cheap end of that range. Twenty blog headers a month is single-digit dollars.
Ownership is more nuanced and depends on two separate things.
- The model licence. FLUX.1 [schnell] is released under Apache 2.0, which permits personal, scientific and commercial use. FLUX models carrying the [dev] designation require a commercial licence for business use. Check the specific model, not the family.
- The provider’s terms. Major API providers assign output rights to the customer, but the terms of the platform you route through govern, so read the ones that apply to your account.
A third point that is not legal but is practical: copyright protection for purely AI-generated images is limited in several jurisdictions, including the United States, where human authorship is required. If an image is a core brand asset, treat the AI output as a starting point rather than a finished, defensible mark.
Frequently asked questions
Can I generate AI images in WordPress for free?
The plugin is free and the workflow costs nothing to build, but image models charge per generation, so you need an API key with credit on it. Running in Local mode means you pay the provider directly with no markup, typically well under a cent for a fast open model like FLUX schnell. There is no free image generation that does not involve someone’s compute bill.
Do AI-generated images hurt SEO?
Not by origin. Google’s guidance rewards helpful content however it is produced, and image ranking depends on the same signals as always: descriptive alt text, a sensible filename, relevant surrounding page content, and reasonable file size. A generic AI image with empty alt text will underperform, but so will a generic stock photo with empty alt text.
Where are AI-generated images stored in WordPress?
Wherever you send them. The Media Generator node returns a URL pointing at the provider’s storage. Passing that URL into the Create Post/Product node’s featured image field downloads the file into wp-content/uploads and registers it as a normal media library attachment with generated thumbnail sizes. Without that step the image stays on the provider’s CDN and is not yours to keep.
Can I generate images for WooCommerce products?
Yes. The Create Post/Product node handles WooCommerce products alongside posts, pages and custom post types, and it maps workflow data to custom fields and ACF fields as well. A common pattern is a workflow that reads product attributes, writes a description with an AI node, generates a matching lifestyle image, and saves the product as a draft for review.
Start generating
Install AI Workflow Automation from the WordPress plugin directory, add a Fal.ai key under Settings, and build the three-node manual workflow above before automating anything. The content creation guides and the AI for WordPress overview cover the writing side that pairs with it.