IOPaint README

The project's README from github.com/Sanster/IOPaint. As one markdown file: README.md.

IOPaint

A free and open-source inpainting & outpainting tool powered by SOTA AI model.

total download version python version HuggingFace Spaces Open in Colab

Erase(LaMa) Replace Object(PowerPaint)
Draw Text(AnyText) Out-painting(PowerPaint)

Features

Quick Start

Start webui

IOPaint provides a convenient webui for using the latest AI models to edit your images. You can install and start IOPaint easily by running following command:

# In order to use GPU, install cuda version of pytorch first.
# pip3 install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118
# AMD GPU users, please utilize the following command, only works on linux, as pytorch is not yet supported on Windows with ROCm.
# pip3 install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/rocm5.6

pip3 install iopaint
iopaint start --model=lama --device=cpu --port=8080

That's it, you can start using IOPaint by visiting http://localhost:8080 in your web browser.

All models will be downloaded automatically at startup. If you want to change the download directory, you can add --model-dir. More documentation can be found here

You can see other supported models at here and how to use local sd ckpt/safetensors file at here.

Plugins

You can specify which plugins to use when starting the service, and you can view the commands to enable plugins by using iopaint start --help.

More demonstrations of the Plugin can be seen here

iopaint start --enable-interactive-seg --interactive-seg-device=cuda

Batch processing

You can also use IOPaint in the command line to batch process images:

iopaint run --model=lama --device=cpu \
--image=/path/to/image_folder \
--mask=/path/to/mask_folder \
--output=output_dir

--image is the folder containing input images, --mask is the folder containing corresponding mask images. When --mask is a path to a mask file, all images will be processed using this mask.

You can see more information about the available models and plugins supported by IOPaint below.

Development

Install nodejs, then install the frontend dependencies.

git clone https://github.com/Sanster/IOPaint.git
cd IOPaint/web_app
npm install
npm run build
cp -r dist/ ../iopaint/web_app

Create a .env.local file in web_app and fill in the backend IP and port.

VITE_BACKEND=http://127.0.0.1:8080

Start front-end development environment

npm run dev

Install back-end requirements and start backend service

pip install -r requirements.txt
python3 main.py start --model lama --port 8080

Then you can visit http://localhost:5173/ for development. The frontend code will automatically update after being modified, but the backend needs to restart the service after modifying the python code.

IOPaint (Sanster/IOPaint)

image-manipulation
Searching Database…

23.3K ·GitHub
archived
What is this?A free, open-source AI photo tool: it erases unwanted objects, defects, watermarks or people from pictures, and can replace or generate content with Stable Diffusion.
Is this a website I visit, or a program I install?Neither a cloud site nor a classic desktop app: you run it as a local web service and edit images through its browser-based UI.
How do I get it running?Install the iopaint package with pip, run iopaint start, and open it in your browser — models download automatically at startup (use --model-dir to change where they're stored).
Do I need Python installed before I can use it?It's a Python app installed via pip, so Python is the only prerequisite — Windows users can skip that with the 1-Click Installer.
Is the project still actively maintained?No — the GitHub repository has been archived and is read-only, so development has stopped, though the released tool keeps working.
Does it exist anywhere besides the browser?Besides the web UI there's OptiClean, a separate macOS and iOS app for object erasing; the web UI itself runs on Windows, macOS and Linux.
Do my photos get uploaded anywhere when I edit them?No — IOPaint is fully self-hosted, so your images and the AI models stay on your own hardware.
Can I use it for commercial work, or is there a paid tier?It's open source under Apache-2.0 — free for personal and commercial use, with no paid tier.
Will it run on my machine without a powerful GPU?Yes — plain CPU works, and it will use a GPU or Apple Silicon for acceleration if one is available.
What's the difference between the erase models and the diffusion models?Erase models like LaMa remove unwanted objects, defects, watermarks or people. Diffusion models like Stable Diffusion inpainting, BrushNet and PowerPaintV2 replace objects with new content or extend the picture via outpainting.
What plugins does it ship with?Segment Anything for fast interactive object selection, RemoveBG and Anime Segmentation for backgrounds, RealESRGAN for super resolution, GFPGAN and RestoreFormer for face restoration, plus a FileManager for browsing images.
Can I automate it instead of clicking in the browser?Yes — a command-line batch mode: point --image at a folder of input images and --mask at a folder of matching masks; a single mask file can be applied to every image.
Can I use my own Stable Diffusion checkpoint?Yes — besides the models it downloads automatically, IOPaint can use a local sd ckpt or safetensors file.
Creator
Sanster
Size
23.5 MB
Stars
23.3K
Age
4y
Commits · 90 Days