🎨 withoutbg/app - AI-Powered Background Removal
Remove backgrounds from images instantly - A self-hosted web application powered by the withoutBG Focus v1.0.0 open-source model with optional Pro API access for best-in-class quality.
🚀 Quick Start
Get up and running in 30 seconds :
docker run -p 80:80 withoutbg/app:latest
Copy
Then open http://localhost in your browser. That's it! 🎉
✨ Why Choose withoutbg?
🏠 Self-Hosted - Complete control over your data and processing
🚀 Production Ready - Built with React 18, FastAPI, and Vite
🎯 Dual Processing Options - Local Focus model OR withoutBG Pro API
🖼️ High Quality - Professional-grade results with Focus v1.0.0
💻 Modern UI - Beautiful, responsive interface with drag-and-drop
🔒 Privacy First - Local processing keeps your images on your server
📦 Easy Deploy - Single Docker command to get started
🆓 Open Source - Apache 2.0 licensed, transparent, and extensible
🎯 Perfect For
📸 Photographers - Process portraits with fine hair detail preservation
🛒 E-commerce - Clean product images at scale
🎨 Designers - Quick background removal in your workflow
👥 Marketing Teams - Professional images for campaigns
🏢 Agencies - Self-hosted solution for client work
💼 Small Businesses - No subscription fees, run on your own hardware
🎬 What's Inside
This Docker image includes:
Frontend : React 18 + Vite + TailwindCSS
Backend : FastAPI (Python 3.12) with ONNX Runtime
AI Model : withoutBG Focus v1.0.0 (pre-loaded, ~320MB)
ISNet segmentation model (177 MB)
Depth Anything V2 vits (99 MB)
Focus Matting model (27 MB)
Focus Refiner model (15 MB)
Server : Uvicorn serving both API and static files
All Dependencies : Zero configuration needed
🖼️ Model Quality & Results
withoutBG Focus (Included - Local Processing)
The Focus v1.0.0 model included in this Docker image delivers professional results:
✅ Significantly better edge detail - Crisp, clean edges
✅ Superior hair/fur handling - Natural-looking fine details
✅ Better generalization - Works on diverse image types
✅ Depth-aware processing - Smart subject detection
See Focus Model Results & Examples →
withoutBG Pro API (Optional - Best Quality)
For the absolute best quality, you can use the withoutBG Pro API:
🏆 Best-in-class quality - Superior to Focus model
⚡ Faster processing - Optimized cloud infrastructure
🔧 No local resources - Offload processing to the cloud
📈 Scalable - Handle high-volume workloads
See Pro API Results & Comparison →
Compare Focus vs Pro →
📖 Usage Examples
Basic Usage
# Run on default port 80
docker run -p 80:80 withoutbg/app:latest
# Run on custom port
docker run -p 8080:80 withoutbg/app:latest
# Run in background
docker run -d -p 80:80 --name withoutbg withoutbg/app:latest
Copy
Production Deployment
# With restart policy
docker run -d \
--name withoutbg \
--restart unless-stopped \
-p 80:80 \
withoutbg/app:latest
Copy
With Docker Compose
version: '3.8'
services:
withoutbg:
image: withoutbg/app:latest
ports:
- "80:80"
restart: unless-stopped
Copy
Using withoutBG Pro API (Optional)
Want even better quality? Simply enter your API key in the web interface!
Get your API key from: withoutbg.com
Open the web interface at http://localhost
Enter your API key in the settings
Switch between local Focus model and Pro API as needed
🌐 Access Your Application
After starting the container, open your browser:
→ http://localhost
That's it! You'll see a beautiful drag-and-drop interface where you can:
📤 Upload images (drag & drop or click to browse)
🎨 Process images with the Focus model
🔄 Compare before/after with an interactive slider
💾 Download processed images instantly
💡 How to Use the Web Interface
Start the container (see Quick Start above)
Open http://localhost in your browser
Drag and drop your image or click to browse
Wait a few seconds for processing (~2-5 seconds)
Compare results with the before/after slider
Download your image with transparent background
Optional: Use Pro API for Best Quality
Want even better results? You can easily switch to the Pro API:
Get your API key from withoutbg.com
Enter it in the web interface settings
Switch between models as needed:
Local Focus Model (free, fast, good quality)
Pro API (best quality, requires API key)
📊 Version Tags
Tag Description When to Use latestLatest stable release Production deployments 1.x.xSpecific version Pin to exact version 1.xMinor version line Get patch updates automatically 1Major version line Get all v1.x updates
Example:
# Always get latest
docker pull withoutbg/app:latest
# Pin to specific version
docker pull withoutbg/app:1.0.0
# Get patch updates for 1.0
docker pull withoutbg/app:1.0
Copy
🔧 Configuration & Environment
Default Settings
Port : 80 (internal container port)
Model : withoutBG Focus v1.0.0 (pre-loaded)
Supported Formats : PNG, JPEG, WebP
Max Upload Size : 10MB (configurable)
Custom Port Mapping
# Run on a different port (e.g., 8080)
docker run -d \
-p 8080:80 \
withoutbg/app:latest
# Then access at http://localhost:8080
Copy
📈 Performance
Local Processing (Focus Model)
First Run : ~5-10 seconds per image (model initialization)
Subsequent Runs : ~2-5 seconds per image (CPU)
Memory Usage : ~2GB RAM
Disk Space : ~320MB (models are pre-loaded in the image)
Cost : Free forever
Pro API Processing (Optional)
Processing Time : ~1-3 seconds per image
Memory Usage : Minimal (processing happens in the cloud)
Cost : Pay per use
Quality : Best-in-class results
🔒 Privacy & Security
Local-First : All processing with Focus model happens on your server
No External Calls : Your images never leave your server (unless using Pro API)
Open Source : Audit the code yourself
Apache 2.0 License : Commercial-friendly license
🆘 Troubleshooting
Container won't start?
# Check logs
docker logs withoutbg
# Check if port 80 is available
docker ps
lsof -i :80 # macOS/Linux
Copy
Out of memory?
# Increase Docker memory limit
# Docker Desktop → Settings → Resources → Memory
# Recommended: 4GB+ for smooth operation
Copy
Port already in use?
# Use a different port
docker run -p 8080:80 withoutbg/app:latest
# Then access at http://localhost:8080
Copy
API returns errors?
# Check API health
curl http://localhost/api/health
# View detailed logs
docker logs -f withoutbg
Copy
🤝 Contributing
This is an open-source project! We welcome contributions:
Repository : github.com/withoutbg/withoutbg
📜 License
Apache License 2.0 - see LICENSE
Third-Party Components
Depth Anything V2 : Apache 2.0 License (vits model only)
ISNet : Apache 2.0 License
See THIRD_PARTY_LICENSES.md for complete attribution.
🌟 Star Us on GitHub!
If you find this useful, please ⭐ the repository:
github.com/withoutbg/withoutbg
📚 Additional Resources
Built with ❤️ by the withoutbg team
Remove backgrounds like a pro. No subscription required. 🚀