Update README.md
This commit is contained in:
@@ -1,8 +1,208 @@
|
||||
# ComfyUI-MiniMax-Remover
|
||||
ComfyUI-MiniMax-Remover is a custom node for ComfyUI that enables fast and efficient object removal using minimax optimization. It works in two stages: first, it trains a remover with a simplified DiT model; then it distills a robust version using CFG guidance and fewer inference steps.
|
||||
# ComfyUI MiniMax-Remover
|
||||
|
||||
|
||||
A ComfyUI custom node for fast and effective video/image object removal using MiniMax optimization. Remove objects from videos and images with high quality results using only 6-12 inference steps.
|
||||
|
||||

|
||||
|
||||

|
||||
## ✨ Features
|
||||
|
||||
https://github.com/user-attachments/assets/745d95da-f66d-4531-a0f8-c0039b3b48c5
|
||||
- **🚀 Fast**: Only 6-12 inference steps required, no CFG needed
|
||||
- **🎯 Effective**: Seamlessly removes objects from videos and images
|
||||
- **💪 Robust**: Prevents regeneration of unwanted objects or artifacts
|
||||
- **🔧 Easy to Use**: Simple ComfyUI nodes with intuitive workflows
|
||||
- **📱 Flexible**: Supports both single images and video processing
|
||||
- **⚡ Optimized**: Automatic model downloading and caching
|
||||
- **💡 Smart Hints**: Automatic backend suggestions for optimal settings
|
||||
|
||||
## 🛠️ Installation
|
||||
|
||||
### Method 1: ComfyUI Manager (Recommended)
|
||||
1. Open ComfyUI Manager
|
||||
2. Search for "MiniMax-Remover"
|
||||
3. Click Install
|
||||
4. Restart ComfyUI
|
||||
|
||||
### Method 2: Manual Installation
|
||||
1. Navigate to your ComfyUI custom_nodes directory:
|
||||
```bash
|
||||
cd ComfyUI/custom_nodes
|
||||
```
|
||||
|
||||
2. Clone this repository:
|
||||
```bash
|
||||
git clone https://github.com/1038lab/ComfyUI-MiniMax-Remover.git
|
||||
```
|
||||
|
||||
3. Install dependencies:
|
||||
```bash
|
||||
cd ComfyUI-MiniMax-Remover
|
||||
```
|
||||
|
||||
**For Portable ComfyUI (Windows):**
|
||||
```bash
|
||||
..\..\..\python_embeded\python.exe -m pip install -r requirements.txt
|
||||
```
|
||||
|
||||
**For Standard Python Installation:**
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
4. Restart ComfyUI
|
||||
|
||||
## 📥 Model Download
|
||||
|
||||
Models will be automatically downloaded from HuggingFace when first used.
|
||||
|
||||
### Manual Model Download (Optional)
|
||||
|
||||
If automatic download fails or you prefer manual installation:
|
||||
|
||||
1. **Download using HuggingFace CLI:**
|
||||
```bash
|
||||
huggingface-cli download zibojia/minimax-remover --include vae transformer scheduler --local-dir ./models/MiniMax-Remover
|
||||
```
|
||||
|
||||
2. **Or download manually from HuggingFace:**
|
||||
- Visit: https://huggingface.co/zibojia/minimax-remover
|
||||
- Download the `vae`, `transformer`, and `scheduler` folders
|
||||
- Place them in: `ComfyUI/models/MiniMax-Remover/`
|
||||
|
||||
3. **Verify installation:**
|
||||
- Check that `ComfyUI/models/MiniMax-Remover/` contains:
|
||||
- `vae/` folder
|
||||
- `transformer/` folder
|
||||
- `scheduler/` folder
|
||||
|
||||
## 📦 Available Nodes
|
||||
|
||||
| Node Name | Display Name | Purpose |
|
||||
|-----------|--------------|---------|
|
||||
| `MinimaxImageRemover` | MiniMax Image Object Remover | Remove objects from single images (requires external model loader) |
|
||||
| `MinimaxVideoRemover` | MiniMax Video Object Remover | Remove objects from videos (requires external model loader) |
|
||||
| `MinimaxModelLoader` | MiniMax Model Loader | Load VAE, Transformer, and Scheduler for separate nodes |
|
||||
| `MinimaxVideoLoader` | MiniMax Video Loader | Load video files for processing |
|
||||
| `ImageSizeAdjuster` | MiniMax Image Size Adjuster | Adjust image dimensions for compatibility |
|
||||
|
||||
|
||||
|
||||
## ⚙️ Recommended Settings
|
||||
|
||||
### MiniMax Model Loader (Advanced)
|
||||
- **scheduler_type**: `FlowMatchEulerDiscreteScheduler` (recommended) or `UniPCMultistepScheduler`
|
||||
- **torch_dtype**: `float16` (GPU recommended) or `float32` (CPU/compatibility)
|
||||
- **device**: `auto` (automatic detection)
|
||||
|
||||
## 🎨 Mask Requirements
|
||||
|
||||
### Supported Formats
|
||||
- ✅ **Grayscale images** (recommended)
|
||||
- ✅ **RGB images** (automatically converted)
|
||||
- ✅ **PNG, JPG, TIFF** and other common formats
|
||||
|
||||
### Mask Guidelines
|
||||
- **Black background, white foreground** (standard mask format)
|
||||
- **High contrast** for better edge detection
|
||||
- **Complete coverage** of objects to remove
|
||||
- **Clean edges** without excessive noise
|
||||
- **Avoid overly complex details** in small areas
|
||||
|
||||
## 🚀 Performance Tips
|
||||
|
||||
### GPU Memory Optimization
|
||||
1. Use `float16` precision (reduces memory by ~50%)
|
||||
2. Keep image resolution reasonable (≤1024x1024 recommended)
|
||||
3. Use fewer inference steps (6-12 usually sufficient)
|
||||
4. Close other GPU applications to free VRAM
|
||||
|
||||
### Processing Speed
|
||||
1. `FlowMatchEulerDiscreteScheduler` is typically faster than `UniPCMultistepScheduler`
|
||||
2. `temporal_frames=3` provides best speed/quality balance
|
||||
3. Use `ImageSizeAdjuster` node to optimize image dimensions for better performance
|
||||
|
||||
## 🔧 Requirements
|
||||
|
||||
### System Requirements
|
||||
- **Python**: 3.8 or higher
|
||||
- **GPU**: NVIDIA GPU with CUDA support (recommended)
|
||||
- **RAM**: 8GB+ system RAM
|
||||
- **VRAM**: 6GB+ GPU memory for optimal performance
|
||||
|
||||
### Dependencies
|
||||
All dependencies are automatically installed via `requirements.txt`:
|
||||
|
||||
```
|
||||
torch>=1.13.0
|
||||
diffusers>=0.21.0
|
||||
decord>=0.6.0
|
||||
einops>=0.6.0
|
||||
scipy>=1.9.0
|
||||
opencv-python>=4.5.0
|
||||
huggingface_hub>=0.16.0
|
||||
accelerate>=0.20.0
|
||||
```
|
||||
|
||||
## ❓ Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
**Model Download Fails**
|
||||
- Try manual download from HuggingFace website
|
||||
- Check internet connection and HuggingFace access
|
||||
- Ensure sufficient disk space in `ComfyUI/models/MiniMax-Remover/`
|
||||
|
||||
**CUDA Out of Memory**
|
||||
- Reduce image resolution
|
||||
- Use `float16` instead of `float32`
|
||||
- Reduce `num_inference_steps`
|
||||
- Close other applications using GPU
|
||||
|
||||
**Tensor Dimension Errors**
|
||||
- Ensure mask and image have compatible dimensions
|
||||
- Enable `fix_dimensions` in the All-in-One node for automatic adjustment
|
||||
- Use `ImageSizeAdjuster` node for manual dimension control
|
||||
- Check that images are RGB (not RGBA)
|
||||
|
||||
**Dimension Warning Messages**
|
||||
- If you see "Image dimensions not divisible by 16" warning, enable `fix_dimensions=True`
|
||||
- The All-in-One node will automatically suggest this when needed
|
||||
|
||||
**Poor Removal Quality**
|
||||
- Increase `num_inference_steps` (try 16-20)
|
||||
- Improve mask quality (higher contrast, cleaner edges)
|
||||
- Adjust `mask_dilation_iterations` based on mask precision
|
||||
- Try different scheduler types
|
||||
|
||||
## 📚 Additional Resources
|
||||
|
||||
- [Original MiniMax-Remover Paper](https://arxiv.org/abs/2505.24873)
|
||||
- [HuggingFace Model Repository](https://huggingface.co/zibojia/minimax-remover)
|
||||
- [ComfyUI Documentation](https://github.com/comfyanonymous/ComfyUI)
|
||||
|
||||
## 📄 License
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details.
|
||||
|
||||
## 🙏 Acknowledgments
|
||||
|
||||
- **MiniMax-Remover Team** for the original research and implementation
|
||||
- **ComfyUI Community** for the excellent framework and ecosystem
|
||||
- **HuggingFace** for model hosting and distribution
|
||||
- **Contributors** who helped improve this custom node
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
|
||||
|
||||
## ⭐ Support
|
||||
|
||||
If you find this project helpful, please consider giving it a star on GitHub! It helps others discover the project and motivates continued development.
|
||||
|
||||
---
|
||||
|
||||
**Made with ❤️ for the ComfyUI community**
|
||||
|
||||
Reference in New Issue
Block a user