.github | ||
assets | ||
docker | ||
inpaint | ||
scripts | ||
web_app | ||
.gitignore | ||
build_docker.sh | ||
LICENSE | ||
main.py | ||
publish.sh | ||
README.md | ||
requirements-dev.txt | ||
requirements.txt | ||
setup.py |
Image Sorter InPaint
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
-
OptiClean: macOS & iOS App for object erase
-
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.
- Diffusion models: These models can be used to replace objects or perform outpainting. Some popular used models include:
-
- 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
Prerequisites
First you have to install Python3 and pip.
In Linux run this command: apt update && apt upgrade -y && apt install python3 python3-pip -y
For Windows, read this Links: Install Python on Windows Install PIP on Windows
Start webui
Image Sorter InPaint provides a convenient webui for using the latest AI models to edit your images. You can install and start Image Sorter InPaint easily by running following command:
pip install opencv-python-headless
pip install "https://git.kmpr.at/kamp/IOPaint/releases/download/1.3.3/Image_Sorter_InPaint-1.3.3-py3-none-any.whl"
imagesorter-inpaint start --model=lama --device=cpu --host 0.0.0.0 --port=8080
That's it, you can start using Imagesorter InPaint 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.
Development
Install nodejs, then install the frontend dependencies.
git clone https://git.kmpr.at/kamp/IOPaint.git
cd IOPaint/web_app
npm install
npm run build
cp -r dist/ ../inpaint/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 -- --host
Install back-end requirements and start backend service
pip install -r requirements.txt
pip install opencv-python-headless
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.