.github | ||
assets | ||
docker | ||
iopaint | ||
scripts | ||
web_app | ||
.gitignore | ||
build_docker.sh | ||
LICENSE | ||
main.py | ||
publish.sh | ||
README.md | ||
requirements-dev.txt | ||
requirements.txt | ||
setup.py |
IOPaint
A free and open-source inpainting & outpainting tool powered by SOTA AI model.
Erase(LaMa) | Replace Object(PowerPaint) |
---|---|
Draw Text(AnyText) | Out-painting(PowerPaint) |
---|---|
Features
- Completely free and open-source, fully self-hosted, support CPU & GPU & Apple Silicon
- Windows 1-Click Installer
- Supports various AI models to perform erase, inpainting or outpainting task.
- Erase models: These models can be used to remove unwanted object, defect, watermarks, people from image. I have also developed a macOS native app called OptiClean that provides this feature.
- Diffusion models: These models can be used to replace objects or perform outpainting. Some popular used models include:
- Plugins:
- Segment Anything: Accurate and fast Interactive Object Segmentation
- RemoveBG: Remove image background or generate masks for foreground objects
- Anime Segmentation: Similar to RemoveBG, the model is specifically trained for anime images.
- RealESRGAN: Super Resolution
- GFPGAN: Face Restoration
- RestoreFormer: Face Restoration
- FileManager: Browse your pictures conveniently and save them directly to the output directory.
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. You can see more models supported by --model
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
.
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 \
--input=/path/to/image_folder \
--mask=/path/to/mask_folder \
--output=output_dir
--input
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.