# Background Remover: Transparent PNG & White Background (Bulk) (`plotpointtech/background-remover`) Actor

Remove image backgrounds in bulk with open-source AI models that run inside your run: transparent PNG/WebP or white or any colour background, crop to subject, refined edges. For product photos and portraits. $4 per 1,000 images.

- **URL**: https://apify.com/plotpointtech/background-remover.md
- **Developed by:** [Plot Point Technologies](https://apify.com/plotpointtech) (community)
- **Categories:** E-commerce, Developer tools, AI
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.48 / 1,000 image processeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Background Remover: Transparent PNG & White Background (Bulk)

**Remove the background from images in bulk for $4 per 1,000 images.** Give it links to your photos or upload one, and get back a cut-out of the subject as a **transparent PNG or WebP**, or on **white or any colour** for marketplace listings. It runs open-source AI segmentation models (IS-Net and U2-Net) inside your own run, so your images are never sent to a third-party API, and it handles about one image per second.

### What can this background remover do?

- **Transparent cut-outs** as PNG, or WebP for smaller files.
- **White or coloured backgrounds** (any hex colour) as JPG, PNG or WebP: ready for Amazon, eBay, Etsy or Shopify product photos.
- **Three models:** General (IS-Net, best for products, objects and people), Classic (U2-Net) and People (tuned for portraits and full-body shots).
- **Crop to subject** with a margin you choose, so every product sits tight in the frame.
- **Refine edges** (alpha matting) for hair, fur and soft edges.
- **Any common format in:** JPG, PNG, WebP, HEIC (iPhone), GIF, BMP and TIFF, with phone rotation fixed automatically.
- **Bulk:** hundreds or thousands of images in one run, each with a download link.

### What data do you get?

One record per image:

| Field | Description |
|---|---|
| `imageUrl`, `fileName`, `format` | Download link and name of the cut-out |
| `source` | The original image |
| `background` | `transparent` or the colour used |
| `width`, `height`, `originalWidth`, `originalHeight` | Size after and before |
| `bytes` | File size of the result |
| `subjectCoverage` | Share of the image covered by the subject (0-1) |
| `model`, `croppedToSubject`, `seconds` | How it was processed |
| `notes` | A warning when no clear subject was found |

### Who uses it?

- **E-commerce sellers and agencies** putting product photos on white for marketplaces.
- **Designers and marketers** making cut-outs for ads, thumbnails and social graphics.
- **Developers** adding "remove background" to an upload flow or catalogue pipeline through the API.
- **Real-estate, automotive and print teams** cleaning up large batches of photos.

### How to use it

1. Click **Try for free** (or **Start**).
2. Add **Image URLs** or **upload an image**.
3. Choose the **Output format** and **Background** (transparent or a colour), and turn on **Crop to subject** if you want.
4. Run it and open the **Output** tab to preview and download each cut-out.

### Input example

```json
{
  "imageUrls": [
    { "url": "https://example.com/products/sneaker-01.jpg" },
    { "url": "https://example.com/products/sneaker-02.jpg" }
  ],
  "model": "general",
  "outputFormat": "jpg",
  "background": "color",
  "backgroundColor": "#FFFFFF",
  "cropToSubject": true,
  "cropMarginPx": 40
}
```

### Output example

From a real run with the default input (a public-domain NASA photo of Buzz Aldrin on the Moon):

```json
{
  "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Aldrin_Apollo_11_original.jpg/1280px-Aldrin_Apollo_11_original.jpg",
  "imageUrl": "https://api.apify.com/v2/key-value-stores/Ve3HaSmfON82lWDrz/records/1280px-Aldrin_Apollo_11_original-nobg.png?signature=...",
  "format": "png",
  "background": "transparent",
  "width": 1280,
  "height": 1288,
  "bytes": 411109,
  "subjectCoverage": 0.108,
  "model": "isnet-general-use",
  "seconds": 1.4,
  "status": "ok"
}
```

### How much does it cost?

**$4 per 1,000 images** ($0.004 each), plus a small start fee per run (charged per GB of memory; about $0.0001 at the default 2 GB). Images that cannot be downloaded or read are skipped and not charged.

| You process | You pay |
|---|---|
| 1 image (default run) | $0.004 |
| 500 product photos | $2.00 |
| 10,000 catalogue images | $40.00 |

**Volume discounts on higher Apify plans.** The prices above are for the Apify Free plan. On paid plans the price drops automatically: about 15% lower on Bronze, 25% lower on Silver and 38% lower on Gold and above.

### Use it via API, Make, Zapier, n8n or an AI agent

**Apify API.** Send an image and get the cut-out link back in one HTTP request (replace `YOUR_API_TOKEN` with the token from Apify Console > Settings > Integrations):

```bash
curl -X POST "https://api.apify.com/v2/acts/plotpointtech~background-remover/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"imageUrls": [{"url": "https://example.com/products/mug.jpg"}], "background": "color", "backgroundColor": "#FFFFFF", "outputFormat": "jpg"}'
```

Official `apify-client` libraries exist for Python and JavaScript; the **API** tab on this page has ready-made code.

**No-code automation.** Connect the tool to **Make, Zapier, n8n, Google Drive, Dropbox, Shopify** or any webhook with Apify integrations.

**AI agents (MCP).** Give Claude, ChatGPT, Cursor or any MCP-compatible agent direct access through the hosted Apify MCP server:

```
https://mcp.apify.com?tools=plotpointtech/background-remover
```

### FAQ

**How good are the cut-outs?**
Very good on products, people and objects against ordinary backgrounds; fine hair, glass, smoke and objects that blend into the background are harder. Try **Refine edges** for hair and fur, or the **People** model for portraits. `subjectCoverage` near 0 means no clear subject was found.

**Are my images private?**
Yes. The models run inside your own Apify run; images are not sent to any outside service and are stored only in your Apify storage. The download links contain a signature, so anyone you share a link with can open that image.

**How large can images be?**
Up to 25 MB per file by default. Images larger than 3,000 px on the longest side are scaled down first (adjustable up to 6,000 px).

**Can I use the results commercially?**
The models are open source (Apache 2.0 / MIT). You need the rights to the photos you process.

### Related tools from Plot Point Technologies

- [Bulk Image Converter & Compressor: WebP, AVIF, JPG, PNG, Resize](https://apify.com/plotpointtech/bulk-image-converter-compressor): resize and convert the cut-outs.
- [Image OCR - Image to Text in Bulk](https://apify.com/plotpointtech/image-to-text-ocr-bulk): read text in images.
- [Bulk Image Downloader - All Images from Any Website + ZIP](https://apify.com/plotpointtech/bulk-image-downloader-extractor): collect images from web pages first.

Plot Point Technologies is not affiliated with the rembg, U2-Net or IS-Net projects or NASA (source of the public-domain sample photo). Questions: support@plotpoint.tech.

***

If this tool saved you time, we would be grateful for a short review on this page; it helps other people find it. If something did not work as expected, please open an issue on the **Issues** tab and we will look into it quickly.

# Actor input Schema

## `imageUrls` (type: `array`):

Direct links to JPG, PNG, WebP, HEIC, GIF (first frame), BMP or TIFF images.

## `uploadedImage` (type: `string`):

Upload an image from your computer.

## `model` (type: `string`):

Which cut-out model to use.

## `outputFormat` (type: `string`):

PNG and WebP keep transparency; JPG is placed on the background colour.

## `background` (type: `string`):

Keep the background transparent or fill it with a colour (for example white for marketplace listings).

## `backgroundColor` (type: `string`):

Hex colour used when Background is Solid colour or the format is JPG.

## `cropToSubject` (type: `boolean`):

Trim empty space around the cut-out subject.

## `cropMarginPx` (type: `integer`):

Space to keep around the subject when cropping.

## `alphaMatting` (type: `boolean`):

Softer, more accurate edges for hair and fur. Slower.

## `maxSidePx` (type: `integer`):

Larger images are scaled down to this longest side before processing.

## `maxFileSizeMb` (type: `integer`):

Larger files are skipped and not charged.

## Actor input object example

```json
{
  "imageUrls": [
    {
      "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Aldrin_Apollo_11_original.jpg/1280px-Aldrin_Apollo_11_original.jpg"
    }
  ],
  "model": "general",
  "outputFormat": "png",
  "background": "transparent",
  "backgroundColor": "#FFFFFF",
  "cropToSubject": false,
  "cropMarginPx": 20,
  "alphaMatting": false,
  "maxSidePx": 3000,
  "maxFileSizeMb": 25
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `files` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "imageUrls": [
        {
            "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Aldrin_Apollo_11_original.jpg/1280px-Aldrin_Apollo_11_original.jpg"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("plotpointtech/background-remover").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "imageUrls": [{ "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Aldrin_Apollo_11_original.jpg/1280px-Aldrin_Apollo_11_original.jpg" }] }

# Run the Actor and wait for it to finish
run = client.actor("plotpointtech/background-remover").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "imageUrls": [
    {
      "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Aldrin_Apollo_11_original.jpg/1280px-Aldrin_Apollo_11_original.jpg"
    }
  ]
}' |
apify call plotpointtech/background-remover --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,plotpointtech/background-remover"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/5SPxoGAa42kdY54N2/builds/2UbnEFrL9cdlzJBAh/openapi.json
