// the find
Sanster/IOPaint
Image inpainting tool powered by SOTA AI Model. Remove any unwanted object, defect, people from your pictures or erase and replace(powered by stable diffusion) any thing on your pictures.
IOPaint is a self-hosted image editor that runs LaMa, MAT, ZITS and several Stable Diffusion-based inpainting models from a browser UI, with a CLI for batch-processing a folder of images against a folder of masks. It is for people who want to remove objects, text or watermarks from photos locally, and for developers who want one front end over many open inpainting models.
The model layer is a real abstraction. Every backend under iopaint/model/ (LaMa, MAT, ZITS, SD/SDXL, BrushNet, PowerPaint, AnyText) is selected with a single --model flag, so comparing results across models does not mean changing code. Heavy extras such as Segment Anything, RemoveBG, RealESRGAN and GFPGAN are plugins that are opt-in at startup rather than always on. The iopaint run batch mode, which pairs an image folder with a mask folder, is the part that matters if you want to script this instead of clicking through it. The iopaint/tests folder includes a model MD5 check, so downloaded weights are checked against known hashes.
The last push was 29 April 2025, so at the time of writing the repo has been effectively quiet for about seventeen months, and the install instructions still pin torch 2.1.2 and torchvision 0.16.2. Expect to fight those pins on current Python and CUDA, and assume the diffusion backends are the most likely part to have drifted from upstream diffusers. The web UI is a separate React app in web_app/ that has to be built and copied into iopaint/web_app before the package serves it, so a source install means two toolchains and a real chance of running a stale frontend. Several third-party trees (basicsr, facexlib, segment_anything, anytext) are vendored into the package, which means upstream fixes do not arrive through a dependency bump.