Blog
Finally – an (AI) Image Editor!
For as long as I can remember (not really, I think it started around the time Craft 3 was released, eight years ago), I've been toying with the idea of building an image editor for Craft.
The idea was to go beyond the native image editor's cropping and rotation tools and expose adjustments like brightness, contrast, saturation, color balance, and more. Essentially, it would provide a UI for all the image transformations that Imager X already supports for transforms.
Over the years, I've started and abandoned several versions of this. A few got surprisingly close to being "done." But every time, I came to the same conclusion: it would be a nightmare to release it to the world.
The biggest challenge is the interface. It becomes unwieldy almost immediately. Every adjustment needs its own controls (some of which are quite complex), available features depend on the image driver used on the server, and the complexity just keeps growing. At some point, it stops feeling like a tool for the average Craft editor and starts feeling like an image-processing application. My suspicion is that, despite all the effort, it simply wouldn't get used enough to justify its complexity.
Fast forward to this summer. After spending an exorbitant amount of time building my own native desktop app (to manage my... life) in AI, and painting a house, a question popped into my head: what does AI image editing actually look like these days?
I'd experimented with Midjourney back in the early days and occasionally use ChatGPT to create funny images for my colleagues. But is it good enough to do real, production-quality image editing (without putting extra fingers and eyes where they shouldn't be)?
It turns out the answer is yes.
This would not have been a good result. Unless intended.
Image resolution
A few years ago, I built an (unreleased) DALL·E adapter for Imager X. It let you pass a prompt directly to Imager X and get back a generated image. There were no safeguards, no editorial controls – just pure YOLO.
The biggest limitation, though, was the output resolution. It topped out at 1024×1024 pixels, which simply wasn't large enough to be genuinely useful on the web.
That objection is gone. The current generation of models output 4K natively, which is a bigger master image than most of the photos actually sitting in your clients' asset libraries. And it's plenty for Imager X to take it from there and do what it does best: resize it down through a full srcset, convert it to AVIF and WebP, crop it to whatever ratios the design needs.
The interface problem, solved
Remember the reason I abandoned the image editor five times? Forty controls, half of them driver-dependent, all of them requiring the editor to know what "gamma" means.
The interface for AI image editing is a conversation.
"Remove the parked car on the left." "Make the sky less blown out." "Now warm it up a bit." Nobody needs to know which of those is a levels adjustment and which is inpainting, and nobody needs to know what the server's image driver supports, because it isn't involved. A form makes you get it right first time. A conversation lets you be wrong, which is how people actually edit pictures.
The thing I spent eight years failing to design my way around turned out not to need designing. It needed a different input method.
What it can do
Removal and replacement is the obvious one, and it's excellent. Take a distracting object out of a shot, swap a background to studio grey, clean up a product photo. The model handles the relighting and shadows itself, which used to be the hard part and the reason this stuff always looked pasted on.
Extending images is the one that turns out to matter most for a CMS. Every Craft developer knows the pain of an editor uploading a lovely portrait photo into a field that wants a 21:9 hero crop. Instead of cropping into oblivion or asking the client to reshoot, you just extend it, and the model invents plausible scenery either side.
Then there's everything my abandoned editor was originally for. "Make it golden hour." "Add a soft rim light." "Warm this up a bit." All the adjustments I was going to build forty sliders for, available by asking.
Which model you point at the problem does make a difference. Of the four supported, Gemini is the most capable and the most feature-rich, and it's the one I reach for by default.
"Crop closer on the cat, and improve the lighting, sharpness and color balance", I said.
Staying on-model
The one real problem to solve is drift. Ask a model to change one thing and it re-renders the whole image, so everything you didn't mention comes back subtly different. Do that four times in a row, which is exactly what a conversational editor invites you to do, and you've got a different photograph. You asked to remove a bin and got a new picture.
So there's a precise-edits mode, and it's on by default. It keeps the model from wandering, holds the aspect ratio, and chains multi-turn edits so each step builds on the last rather than drifting away from it. The edit you asked for, and nothing else. Turn it off when you want the model to take more liberties.
The rest follows from the same instinct. You iterate cheaply at draft resolution and spend one high-res pass when you accept a result, with a before/after check first. Every edit is a step you can rewind. And you decide whether the result replaces the file in place or saves as a new asset.
What I built
AI Image Editor is out now, on the Craft Plugin Store, for Craft 5.0 and up.
Edits land back on the same asset (or a new one), so there's no export, edit, re-upload and relink dance. Relations hold, and focal points re-detect automatically. If there's no source image at all, hit Generate anywhere you'd normally upload, describe the shot, and it saves as a proper Craft asset.
Four production drivers ship with it, behind one interface: Google Gemini, OpenAI GPT Image, Black Forest Labs FLUX and xAI Grok. It's bring-your-own-key, so you pay the provider directly for what you use.
For the projects that need it, there's per-group permissions, lifecycle events you can hook into for logging or veto, and an AI-disclosure flag on assets that have been through it.
$39 one-time, plus an optional $19 a year for updates and support. All four drivers, unlimited edits and generations, 10+ languages, Craft Cloud compatible.
It works alongside Imager X, not inside it. AI Image Editor does the creative edit, Imager X does the transforms, optimization and delivery. Two plugins, one pipeline, no duct tape.
Eight years and many abandoned attempts, and it turned out the thing I was missing wasn't a better slider. Go and try it.