← all repositories
Sanster/IOPaint

Photoshop's "Content-Aware Fill" but you actually own it

A self-hosted web UI that swaps, erases, and out-paints image regions using whatever SOTA model you point it at.

IOPaint
Velocity · 7d
+14
★ / day
Trend
steady
star history

What it does IOPaint is a browser-based image editor that masks out bits of photos and fills the gaps using AI. It handles three jobs: erase (remove objects/defects), replace (swap in something new via diffusion), and out-paint (extend the canvas). You run it locally with iopaint start, point your browser at localhost:8080, and start scribbling masks.

The interesting bit The project doesn’t lock you into one model. It hot-swaps between specialized erasers like LaMa and a dozen-odd Stable Diffusion inpainting variants (SDXL, BrushNet, PowerPaintV2, etc.), plus plugs in Segment Anything for auto-masking, RealESRGAN for upscaling, and GFPGAN for face repair. It’s basically a modular pipeline where the UI stays constant and the backends are interchangeable.

Key highlights

  • Fully self-hosted, runs on CPU, GPU, or Apple Silicon; one-click Windows installer available
  • Batch processing via CLI: feed it folders of images and masks, get folders of results back
  • Plugin ecosystem includes interactive segmentation, background removal, anime-specific segmentation, super-resolution, and two face-restoration models
  • Supports loading local .ckpt/.safetensors files alongside HuggingFace downloads
  • Companion macOS/iOS app (OptiClean) for quick object erasure on Apple devices

Caveats

  • AMD GPU support on Linux only; Windows ROCm explicitly not supported by PyTorch yet
  • Backend requires a manual restart after Python code changes during development
  • Model downloads happen at first startup, which can mean a long initial wait

Verdict Worth a look if you want a local, non-subscription alternative to cloud inpainting tools and don’t mind managing PyTorch installs. Skip it if you need a polished consumer app—this is a tinkerer’s workbench with a web UI.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.