let5sne 3949676ba7 📚 添加完整的 RESTful API 文档
新增文档:
1. RESTFUL_API_DOCUMENTATION.md (1000+ 行)
   - OpenAI 风格的完整 API 文档
   - 详细的认证说明
   - 所有端点的完整说明
   - 多语言示例代码(Python/JS/PHP/Go/cURL)
   - 错误处理和最佳实践
   - 性能优化建议
   - 安全建议和代码示例

2. openapi.yaml (700+ 行)
   - OpenAPI 3.0.3 规范文件
   - 完整的 API 定义
   - 可被 Swagger UI/Redoc 自动渲染
   - 包含所有请求/响应示例
   - 详细的错误代码说明
   - 限流规则定义
   - 多语言代码示例

3. IOPaint_API.postman_collection.json
   - Postman Collection V2.1
   - 包含所有 API 端点
   - 预配置的测试脚本
   - 示例请求和响应
   - 环境变量配置
   - 一键导入即可测试

特点:
 符合 OpenAPI 标准
 专业的文档格式
 丰富的代码示例
 完整的错误处理说明
 最佳实践指导
 可直接用于生产环境

使用方式:
- Markdown 文档:直接阅读
- OpenAPI YAML:导入 Swagger UI 或 Redoc
- Postman Collection:导入 Postman 进行测试

🔧 Generated with Claude Code
2025-11-28 17:53:23 +00:00
2025-11-28 17:10:24 +00:00
2025-11-28 17:10:24 +00:00
2025-11-28 17:46:23 +00:00
2025-11-28 17:10:24 +00:00
2025-11-28 17:46:23 +00:00
2025-11-28 17:10:24 +00:00
2025-11-28 17:10:24 +00:00
2025-11-28 17:10:24 +00:00
2025-11-28 17:10:24 +00:00
2025-11-28 17:10:24 +00:00
2025-11-28 17:53:23 +00:00
2025-11-28 17:10:24 +00:00
2025-11-28 17:10:24 +00:00
2025-11-28 17:10:24 +00:00
2025-11-28 17:10:24 +00:00
2025-11-28 17:10:24 +00:00
2025-11-28 17:10:24 +00:00

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.

Model Recommendations

Choosing the right model depends on your use case and hardware. Here's our recommended model strategy:

🚀 Quick Start - For Daily Use

LaMa (Recommended for beginners)

iopaint start --model lama --device cuda --port 8080
  • Fastest - Near real-time processing
  • 💾 Low VRAM - Uses ~1GB GPU memory
  • 🎯 Best for: Removing watermarks, people, objects from images
  • Most stable and reliable

🎨 Creative Editing - With Prompt Control

Stable Diffusion Inpainting

iopaint start --model runwayml/stable-diffusion-inpainting --device cuda --port 8080
  • 🎨 Smart content generation - Not just removal, but intelligent filling
  • 📝 Text prompts - Control what gets generated
  • 🖼️ Creative flexibility - Replace objects with AI-generated content
  • Official model - Well-maintained and stable

💎 Professional - High Quality Results

SDXL Inpainting (For high-resolution work)

iopaint start --model diffusers/stable-diffusion-xl-1.0-inpainting-0.1 --device cuda --low-mem --port 8080
  • 🖼️ High resolution - Supports up to 1024x1024
  • 🎨 Better details - Superior quality output
  • 💎 Professional use - Best for photography and commercial work
  • ⚠️ Requires more VRAM - Use --low-mem flag for optimization

📊 Model Comparison

Model Speed Quality VRAM Use Case Recommended
LaMa ~1GB Quick erase
SD Inpainting ~4GB Creative edit
SDXL Inpainting ~8GB Professional
PowerPaint V2 ~5GB Multi-task

🔧 GPU Optimization Tips

For NVIDIA GPUs with limited VRAM:

# Enable low memory mode
iopaint start --model <model_name> --device cuda --low-mem --port 8080

# Enable CPU offload for very large models
iopaint start --model <model_name> --device cuda --cpu-offload --port 8080

For CPU-only systems:

# LaMa works well on CPU
iopaint start --model lama --device cpu --port 8080

📦 Installation Note

Updated Dependencies (2025-11-28)

This project now uses the latest stable versions of all dependencies. Install with:

# Recommended: Use mirror for faster installation (China users)
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

# Or use official PyPI
pip3 install -r requirements.txt

See UPGRADE_NOTES.md for detailed information about package updates.

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.

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.
Readme Apache-2.0 24 MiB
Languages
Python 87.7%
TypeScript 11.9%