openBGremover

Image in. Background out.

Remove backgrounds with one authenticated request. Get base64 image data back, ready to save in your app.

Process an image

Create an API key in your dashboard. Use it with the Node.js or Python client below. For installation, see the SDK guide. The clients are currently installed from source.

Example responseJSON
{
  "success": true,
  "result_image": "BASE64_PNG",
  "processing_time_ms": 1234,
  "metadata": {
    "format": "png"
  }
}

Output options

Decode result_image from base64 to save the output. Add return_mask: true to receive a PNG mask for a static image.

Supported formats are PNG, WebP, GIF, and JPEG. JPEG composites against white. Animated inputs produce GIFs. PNG and WebP preserve soft transparency.

Add resize_options with max_width and max_height to constrain the output, or width and height to choose a target size. keep_aspect defaults to true.

Input limits

Uploads are limited to 10 MB and 25 megapixels. Animations allow up to 60 frames and 60 million total frame pixels.

A successful request uses one free or prepaid credit. Failed processing attempts are refunded.

Usage

Use your API key with GET /api/v1/stats or GET /api/v1/activity. Key management and account deletion require a signed-in Supabase session.

Errors and retries

Errors return a message and error_code. Requests are synchronous and have no idempotency key. Check activity before retrying after a network interruption.

400
Invalid input
401
Invalid authentication
402
Credits exhausted
429
Public demo rate limit
502
Processing failure

Run your own instance

The repository includes the Next.js web app, TypeScript and Effect API, shared schemas, and Python inference worker. Supabase provides Postgres and login. The repository README covers setup and the migration guide documents configuration and accounting limits.