{"id":14958130,"url":"https://github.com/sanster/iopaint","last_synced_at":"2025-05-12T16:29:05.654Z","repository":{"id":38006877,"uuid":"428292281","full_name":"Sanster/IOPaint","owner":"Sanster","description":"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.","archived":false,"fork":false,"pushed_at":"2025-04-29T02:13:17.000Z","size":24077,"stargazers_count":21078,"open_issues_count":55,"forks_count":2141,"subscribers_count":145,"default_branch":"main","last_synced_at":"2025-05-05T11:48:45.145Z","etag":null,"topics":["inpainting","lama","latent-diffusion","mat","pytorch","stable-diffusion","zits"],"latest_commit_sha":null,"homepage":"https://www.iopaint.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sanster.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"ko_fi":"Z8Z1CZJGY"}},"created_at":"2021-11-15T14:16:40.000Z","updated_at":"2025-05-05T07:32:49.000Z","dependencies_parsed_at":"2022-07-14T03:50:32.729Z","dependency_job_id":"cc26aae4-fdaa-4dec-957f-ce1d38d30803","html_url":"https://github.com/Sanster/IOPaint","commit_stats":{"total_commits":830,"total_committers":22,"mean_commits":37.72727272727273,"dds":0.0590361445783133,"last_synced_commit":"3b5e1ce2216a4a292d56ed218f9983d5bd33562a"},"previous_names":["sanster/lama-cleaner"],"tags_count":58,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanster%2FIOPaint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanster%2FIOPaint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanster%2FIOPaint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanster%2FIOPaint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sanster","download_url":"https://codeload.github.com/Sanster/IOPaint/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252504169,"owners_count":21758654,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["inpainting","lama","latent-diffusion","mat","pytorch","stable-diffusion","zits"],"created_at":"2024-09-24T13:16:17.943Z","updated_at":"2025-05-05T12:58:00.525Z","avatar_url":"https://github.com/Sanster.png","language":"Python","readme":"\u003ch1 align=\"center\"\u003eIOPaint\u003c/h1\u003e\n\u003cp align=\"center\"\u003eA free and open-source inpainting \u0026 outpainting tool powered by SOTA AI model.\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Sanster/IOPaint\"\u003e\n    \u003cimg alt=\"total download\" src=\"https://pepy.tech/badge/iopaint\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/iopaint\"\u003e\n    \u003cimg alt=\"version\" src=\"https://img.shields.io/pypi/v/iopaint\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"\"\u003e\n    \u003cimg alt=\"python version\" src=\"https://img.shields.io/pypi/pyversions/iopaint\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://huggingface.co/spaces/Sanster/iopaint-lama\"\u003e\n    \u003cimg alt=\"HuggingFace Spaces\" src=\"https://img.shields.io/badge/%F0%9F%A4%97%20HuggingFace-Spaces-blue\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://colab.research.google.com/drive/1TKVlDZiE3MIZnAUMpv2t_S4hLr6TUY1d?usp=sharing\"\u003e\n    \u003cimg alt=\"Open in Colab\" src=\"https://colab.research.google.com/assets/colab-badge.svg\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n|Erase([LaMa](https://www.iopaint.com/models/erase/lama))|Replace Object([PowerPaint](https://www.iopaint.com/models/diffusion/powerpaint))|\n|-----|----|\n|\u003cvideo src=\"https://github.com/Sanster/IOPaint/assets/3998421/264bc27c-0abd-4d8b-bb1e-0078ab264c4a\"\u003e  | \u003cvideo src=\"https://github.com/Sanster/IOPaint/assets/3998421/1de5c288-e0e1-4f32-926d-796df0655846\"\u003e|\n\n|Draw Text([AnyText](https://www.iopaint.com/models/diffusion/anytext))|Out-painting([PowerPaint](https://www.iopaint.com/models/diffusion/powerpaint))|\n|---------|-----------|\n|\u003cvideo src=\"https://github.com/Sanster/IOPaint/assets/3998421/ffd4eda4-f7d4-4693-93d8-d2cd5aa7c6d6\"\u003e|\u003cvideo src=\"https://github.com/Sanster/IOPaint/assets/3998421/c4af8aef-8c29-49e0-96eb-0aae2f768da2\"\u003e|\n\n\n## Features\n\n- Completely free and open-source, fully self-hosted, support CPU \u0026 GPU \u0026 Apple Silicon\n- [Windows 1-Click Installer](https://www.iopaint.com/install/windows_1click_installer)\n- [OptiClean](https://apps.apple.com/ca/app/opticlean/id6452387177): macOS \u0026 iOS App for object erase\n- Supports various AI [models](https://www.iopaint.com/models) to perform erase, inpainting or outpainting task.\n  - [Erase models](https://www.iopaint.com/models#erase-models): These models can be used to remove unwanted object, defect, watermarks, people from image.\n  - Diffusion models: These models can be used to replace objects or perform outpainting. Some popular used models include:\n    - [runwayml/stable-diffusion-inpainting](https://huggingface.co/runwayml/stable-diffusion-inpainting)\n    - [diffusers/stable-diffusion-xl-1.0-inpainting-0.1](https://huggingface.co/diffusers/stable-diffusion-xl-1.0-inpainting-0.1)\n    - [andregn/Realistic_Vision_V3.0-inpainting](https://huggingface.co/andregn/Realistic_Vision_V3.0-inpainting)\n    - [Lykon/dreamshaper-8-inpainting](https://huggingface.co/Lykon/dreamshaper-8-inpainting)\n    - [Sanster/anything-4.0-inpainting](https://huggingface.co/Sanster/anything-4.0-inpainting)\n    - [BrushNet](https://www.iopaint.com/models/diffusion/brushnet)\n    - [PowerPaintV2](https://www.iopaint.com/models/diffusion/powerpaint_v2)\n    - [Sanster/AnyText](https://huggingface.co/Sanster/AnyText)\n    - [Fantasy-Studio/Paint-by-Example](https://huggingface.co/Fantasy-Studio/Paint-by-Example)\n\n- [Plugins](https://www.iopaint.com/plugins):\n  - [Segment Anything](https://iopaint.com/plugins/interactive_seg): Accurate and fast Interactive Object Segmentation\n  - [RemoveBG](https://iopaint.com/plugins/rembg): Remove image background or generate masks for foreground objects\n  - [Anime Segmentation](https://iopaint.com/plugins/anime_seg): Similar to RemoveBG, the model is specifically trained for anime images.\n  - [RealESRGAN](https://iopaint.com/plugins/RealESRGAN): Super Resolution\n  - [GFPGAN](https://iopaint.com/plugins/GFPGAN): Face Restoration\n  - [RestoreFormer](https://iopaint.com/plugins/RestoreFormer): Face Restoration\n- [FileManager](https://iopaint.com/file_manager): Browse your pictures conveniently and save them directly to the output directory.\n\n\n## Quick Start\n\n### Start webui\n\nIOPaint provides a convenient webui for using the latest AI models to edit your images.\nYou can install and start IOPaint easily by running following command:\n\n```bash\n# In order to use GPU, install cuda version of pytorch first.\n# pip3 install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu118\n# AMD GPU users, please utilize the following command, only works on linux, as pytorch is not yet supported on Windows with ROCm.\n# pip3 install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/rocm5.6\n\npip3 install iopaint\niopaint start --model=lama --device=cpu --port=8080\n```\n\nThat's it, you can start using IOPaint by visiting http://localhost:8080 in your web browser.\n\nAll 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](https://www.iopaint.com/install/download_model)\n\nYou can see other supported models at [here](https://www.iopaint.com/models) and how to use local sd ckpt/safetensors file at [here](https://www.iopaint.com/models#load-ckptsafetensors).\n\n### Plugins\n\nYou can specify which plugins to use when starting the service, and you can view the commands to enable plugins by using `iopaint start --help`. \n\nMore demonstrations of the Plugin can be seen [here](https://www.iopaint.com/plugins)\n\n```bash\niopaint start --enable-interactive-seg --interactive-seg-device=cuda\n```\n\n### Batch processing\n\nYou can also use IOPaint in the command line to batch process images:\n\n```bash\niopaint run --model=lama --device=cpu \\\n--image=/path/to/image_folder \\\n--mask=/path/to/mask_folder \\\n--output=output_dir\n```\n\n`--image` is the folder containing input images, `--mask` is the folder containing corresponding mask images.\nWhen `--mask` is a path to a mask file, all images will be processed using this mask.\n\nYou can see more information about the available models and plugins supported by IOPaint below.\n\n## Development\n\nInstall [nodejs](https://nodejs.org/en), then install the frontend dependencies.\n\n```bash\ngit clone https://github.com/Sanster/IOPaint.git\ncd IOPaint/web_app\nnpm install\nnpm run build\ncp -r dist/ ../iopaint/web_app\n```\n\nCreate a `.env.local` file in `web_app` and fill in the backend IP and port.\n```\nVITE_BACKEND=http://127.0.0.1:8080\n```\n\nStart front-end development environment\n```bash\nnpm run dev\n```\n\nInstall back-end requirements and start backend service\n```bash\npip install -r requirements.txt\npython3 main.py start --model lama --port 8080\n```\n\nThen you can visit `http://localhost:5173/` for development.\nThe frontend code will automatically update after being modified,\nbut the backend needs to restart the service after modifying the python code.\n","funding_links":["https://ko-fi.com/Z8Z1CZJGY"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanster%2Fiopaint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsanster%2Fiopaint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanster%2Fiopaint/lists"}