Self-hosted withoutBG v4 background removal API (CPU, ONNX, FastAPI).
525
Self-hosted withoutBG open weights background removal API. Runs the v4 ONNX model on CPU with a FastAPI service — no GPU required.
New in v4: Smart brush. Paint what to keep and what to remove; a small stroke-edit network fixes the cutout. Send keep_mask / remove_mask (and the previous matte) to /v1/remove-background.
docker run --rm -p 8000:8000 withoutbg/withoutbg-openweights-v4-service-cpu:latest
Health check: http://localhost:8000/health
Published for linux/amd64 and linux/arm64. Docker pulls the matching architecture automatically (Intel/AMD, Apple Silicon, AWS Graviton, etc.).
| Endpoint | Method | Description |
|---|---|---|
/health | GET | Liveness probe |
/ready | GET | Readiness probe (model loaded) |
/v1/remove-background | POST | Remove image background (raw image or multipart) |
/v1/licenses | GET | Model and dependency licenses |
/docs | GET | OpenAPI / Swagger UI |
Same input/output schema as the withoutBG Mac Local API: send a raw JPEG/PNG body (or multipart field image); response is image/png with headers X-Latency-Ms, X-Route-Category and X-Route-Pipeline (matting or birefnet). Use ?output=matte for a grayscale alpha matte instead of the default cutout.
curl -X POST \
--data-binary @photo.jpg \
-H "Content-Type: image/jpeg" \
http://127.0.0.1:8000/v1/remove-background \
-o result.png
curl -X POST "http://127.0.0.1:8000/v1/remove-background?output=matte" \
-H "Content-Type: image/png" \
--data-binary @photo.png \
-o matte.png
Set -e WITHOUTBG_API_KEY=sk_your_key -e WITHOUTBG_PRO_PASSWORD=<long random password> and POST /v1/remove-background?engine=pro uses withoutBG Pro. Pro uploads the image to api.withoutbg.com (1 credit each). The open weights stay the default and never send images anywhere. Pro calls are charged to your key, so each one must send the password (X-Pro-Password; the web UI asks once). Keep a Pro-enabled server private, e.g. -p 127.0.0.1:8080:8080. Keys: withoutBG Pro.
The withoutBG Open Weights 10.8.0 bundle (~1.5 GB, baked into the image): a trained router sends fine strands, soft detail and transparency to the withoutBG matting model, and hard opaque objects, flat scenes and vehicles to BiRefNet. Only the selected branch runs.
| Image | Use case |
|---|---|
withoutbg/withoutbg-openweights-v4-service-gpu | Same API, GPU acceleration |
withoutbg/withoutbg-openweights-v4-app-cpu | Web UI + API (CPU) |
withoutbg/withoutbg-openweights-v4-app-gpu | Web UI + API (GPU) |
/v1/licenses in the running containerContent type
Image
Digest
sha256:62527fdca…
Size
1.1 GB
Last updated
7 days ago
docker pull withoutbg/withoutbg-openweights-v4-service-cpu