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.
{
"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.