Image Background Remover
Playground
Try it on WavespeedAI!Powerful AI background remover that outputs high-quality transparent PNGs for e-commerce, graphics, and design. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Image Background Remover
Remove backgrounds from any image instantly with WaveSpeed AI’s Background Remover. This fast, precise tool automatically detects subjects and cleanly separates them from their backgrounds — perfect for e-commerce, portraits, product photography, and creative projects.
Why It Works Well
- Automatic detection: Intelligently identifies subjects without manual selection or masking.
- Clean edges: Produces smooth, professional cutouts even with complex details like hair.
- One-click simplicity: Just upload an image — no parameters to configure.
- Fast processing: Get results in seconds for rapid workflow integration.
- Ultra-affordable: Professional background removal at just $0.01 per image.
Parameters
| Parameter | Required | Description |
|---|---|---|
| image | Yes | Image to remove background from (upload or public URL). |
How to Use
- Upload your image — drag and drop or paste a public URL.
- Run — click the button to process.
- Download — save your image with transparent background.
Pricing
Flat rate per image.
| Output | Cost |
|---|---|
| Per image | $0.01 |
Best Use Cases
- E-commerce & Product Photos — Create clean product images on white or transparent backgrounds.
- Portrait Photography — Isolate subjects for compositing or new background placement.
- Marketing & Advertising — Prepare assets for designs, banners, and promotional materials.
- Social Media Content — Create cutouts for collages, stickers, and creative posts.
- Batch Processing — Process large volumes of images affordably for catalogs and listings.
Pro Tips for Best Results
- Use images with clear distinction between subject and background for cleanest results.
- Good lighting and contrast help the AI detect edges more accurately.
- Works well with people, products, animals, and objects.
- For complex subjects like hair or fur, ensure the original image has good resolution.
- Output includes transparency — save as PNG to preserve the transparent background.
Notes
- If using a URL, ensure it is publicly accessible. A preview thumbnail confirms successful loading.
- Output is returned with transparent background (alpha channel).
- Processing is optimized for speed — suitable for real-time workflows.
- Works with various image formats and sizes.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/image-background-remover" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"enable_base64_output": false,
"enable_sync_mode": false
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| image | string | Yes | - | The URL of the image to generate an image from. | |
| enable_base64_output | boolean | No | false | - | If enabled, the output will be encoded into a BASE64 string instead of a URL. This property is only available through the API. |
| enable_sync_mode | boolean | No | false | - | If set to true, the function will wait for the result to be generated and uploaded before returning the response. It allows you to get the result directly in the response. This property is only available through the API. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content (empty when status is not completed). |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |