BGRemover API
1 · Live Playground

Don't trust the docs. Trust the response.

Fire a real request against POST /v1.0/removebg right here — no signup. The anonymous demo key is pre-filled. Inspect the exact PNG bytes and the exact response headers your SDK will see.

Anonymous demo key — rate limited. Get a free key (100 credits) for your own testing.

Drop an image here, click to upload,
or pick a sample below

no image selected
curl -H "X-Api-Key: live_demo_key" \
  -F "[email protected]" \
  -f https://backgroundremoverapi.com/v1.0/removebg \
  -o cutout.png
Response idle

Result PNG appears here.
Checkerboard = transparent background.

Images are processed in volatile memory and never stored.
2 · Parameter Compatibility Matrix

Every remove.bg parameter, honestly mapped

Fetched from the remove.bg API reference and tested against this endpoint. We mark what we don't support — finding out after you migrated is worse than reading it here.

Parameter / Behavior Status Notes
image_fileFULL SUPPORTmultipart/form-data file upload — identical
image_file_b64FULL SUPPORTbase64 string; data-URI prefix tolerated
image_urlFULL SUPPORThttp/https only, public hosts only (SSRF-guarded), ≤30 MB
sizeACCEPTED · NO-OPaccepted without error; output is full-resolution regardless
typeACCEPTED · NO-OPgeneric model handles all subjects; no per-type tuning
formatACCEPTED · NO-OPalways 32-bit RGBA PNG output
bg_color / bg_image_file / bg_image_b64 / bg_image_urlNOT SUPPORTEDsilently ignored (no error); composite backgrounds client-side
crop / crop_margin / scale / roi / positionNOT SUPPORTEDsilently ignored; full uncropped foreground returned
X-Api-Key headerFULL SUPPORTsame auth header, same semantics
Binary PNG bodyFULL SUPPORTraw image/png bytes streamed — zero-rewrite response handling
X-Width / X-Height / X-Credits-Charged / X-Processing-Time-MsFULL SUPPORTsame header names, same meaning; verify live in the playground above
GET /v1.0/accountFULL SUPPORTsame credits JSON structure
Error body {"errors":[{title,detail,code}]}SAME SHAPEsemantic error codes — mapping table below

Transparent trade-off: we run CPU inference on our own hardware — no GPU queue, no per-size tiering. That's how a $79 pack covers 20,000 images.

3 · Error Code Mapping

Errors your SDK will actually catch

Same HTTP statuses, same errors[] JSON shape as remove.bg — existing error handling keeps working.

HTTP Our code Meaning remove.bg equivalent
400invalid_requestMissing/invalid image payload, bad image_url400 · missing/invalid parameters
402insufficient_creditsCredit balance exhausted402 · credits exhausted
403invalid_api_keyUnknown or revoked API key403 · invalid API key
429rate_limit_exceeded10 req/min (demo) · 60 req/min (registered key)429 · rate limit exceeded
5xxerrorProcessing failure — retry with backoff5xx · internal error

Try an error yourself

Send X-Api-Key: bgr_live_invalid and you'll receive exactly this body:

HTTP/1.1 403 Forbidden
{"errors":[{"title":"Invalid or revoked API key.","detail":"Invalid or revoked API key.","code":"invalid_api_key"}]}