What Local Generative Fill Actually Costs You
A ComfyUI-backed fill tool now lives inside GIMP and PhotoCraft for free, with object removal, expand and text-to-image on your own GPU. The useful lesson is the trade it makes: model tier per job, a 1024px ceiling, and licence terms that decide whether you can sell the result.
AI-assisted draft. Reviewed and edited by the Phosphene team before publication.
On this page

Generative fill is the feature that kept a lot of designers paying for an image editor they did not otherwise want. Select an area, type what should be there, and the hole fills with something plausible. It arrived as a subscription feature and stayed one, which is why the interesting part of OpenFill is not that it exists but where it puts the boundary.
OpenFill is an Apache-2.0 plug-in for GIMP 3, and a panel for PhotoCraft, that runs generative fill, object removal, canvas expand and text-to-image through a local ComfyUI backend. A Japanese AI news roundup flagged it this week as a local replacement for the fill tools people rent. The claims are worth checking against the repository, because the repository is unusually honest about what does not work yet.
The interface is the mask
The design decision that makes it feel like a real editing tool: your selection is the mask, results land on a new layer, and the whole operation is one undo step. Existing layers are never painted over.
That sounds like a detail. It is the difference between a tool you can use in a client job and a toy. Every fill is reversible, every fill is a layer you can paint into or delete, and nothing silently replaces the pixels you already approved. The backend starts hidden, stays warm while you work, and shuts down when the editor closes, so there is no second app to babysit and no browser tab in the loop.
If you already have a masking habit from other tools, the workflow transfers. The targeted editing guide covers the part that does not transfer automatically: deciding what kind of edit you are actually making before you make it.
One job, three model tiers
OpenFill ships no model. A model manager recommends files that fit your graphics memory and disk, and it will also find SD 1.5 inpainting, SDXL and FLUX.1 Fill weights you already have in ComfyUI's folders. The repository publishes timings from an RTX 4070 laptop, and they are the clearest argument for matching model to task:
- Remove object, LaMa, 2 GB VRAM, about 5 seconds
- Fast fill, DreamShaper 8 Inpainting, 4 GB VRAM, about 9 seconds
- Quality fill, RealVisXL V5 with the Fooocus inpaint patch, 8 GB VRAM, 20 to 45 seconds
Three tiers for three different jobs. Removing a light stand from the corner of a product shot is not a generative problem, it is an inpainting problem, and a 2 GB model solves it in five seconds. Rebuilding a torn edge of a jacket is a prompt problem, and that is where the 45-second model earns its cost.
The failure mode the repository admits is the one worth memorising: SD 1.5 often ignores the prompt on flat areas and small selections. That is not a prompt-writing failure, it is a tier failure. If the seam is invisible but the object is wrong, you chose a model that does not read instructions well enough, and rewriting the sentence will not fix it.
The 1024px ceiling is a planning decision
FLUX and Qwen fills, along with canvas expand and image creation, work at roughly 1024 pixels and are scaled up from there. On a large image they come back softer. Object removal is not affected, because that path is not doing diffusion at that resolution.
This is a compositing constraint, not a bug, and it changes the order you work in. Decide your final canvas size before you start filling. If the fill has to survive a 100% crop on a 4000-pixel file, plan the work as staged crops and small plates that you composite afterwards, rather than one giant expand at the end. The compositing piece is about the visual side of that problem: what makes an inserted element read as part of the frame.
Expand is the tool most likely to bite here, because expanding the canvas at 1024 pixels and then upscaling the whole frame is exactly the operation that produces a soft border nobody can name but everybody notices.
Check the licence before you sell the output
The repository states it plainly: each model carries its own licence, and MAT and the FLUX.1 Fill models are non-commercial. If you are doing paid client work, that is the first thing to read, not the last.
This is the part of the local-AI pitch that gets skipped. Running the model on your own hardware removes the subscription. It does not remove the terms attached to the weights. A free tool with a non-commercial default model is free for hobby work and a liability for commercial work, unless you deliberately load a model you are allowed to use.
What local actually costs
The honest trade, from the repository's own hardware notes: it is built and tested on an 8 GB NVIDIA laptop GPU with Windows and Linux, an AMD report covers an RX 7800 XT, and the GIMP plug-in also runs on macOS. The first request starts the backend in about a minute. After that it is seconds. On 8 GB, FLUX is slow, and the README says so.
So you pay in GPU time, disk, model management and the occasional afternoon of setup, instead of a monthly fee. For a studio doing a hundred small removals a week, that trade is obvious. For someone editing four images a month, it probably is not, and the honest answer is that the subscription is cheaper than the learning curve.
The privacy side is real though, and it is the reason some teams will care regardless of cost. Generation listens on 127.0.0.1 only. The network appears when you search for a model or download one, and every downloaded file is checked against its size and SHA-256. OpenFill itself has no accounts and sends no telemetry. Model downloads are a separate matter: the FLUX.1 files, including the VAE that every FLUX Fill entry uses, sit behind a Hugging Face licence acceptance and a read token, which the model manager walks you through. If client images cannot leave the building, that property is worth more than the subscription it replaces, which is the same argument as the split-stack approach to confidential work.
A test that tells you which tier you need
Do this once on a real file, not on a demo image:
- Remove the hardest thing in the frame at full resolution, ideally something with hair or a transparent edge, and inspect the result at 100% rather than fitted to the window.
- Run a prompted fill at the same spot with the fast tier and with the quality tier, same mask, same words.
- Compare the seam, not the object. The object is what you asked for; the seam is what the model failed to match.
- Write down which tier won, for that kind of edit. That note is worth more than any model leaderboard, because it is about your images.
OpenFill is in beta, at PhotoCraft 0.2.4 and GIMP plug-in 2.0.0-beta.6, and the repository keeps a status section listing gaps rather than hiding them. That is a reasonable thing to trust a tool for. The practical reason to try it is that it makes the model choice visible, and that choice is where most of the quality in a fill actually comes from. It happens to be free.