Background Remover API — Batch, Transparent PNG, Pay per Image avatar

Background Remover API — Batch, Transparent PNG, Pay per Image

Pricing

from $5.00 / 1,000 background removeds

Go to Apify Store
Background Remover API — Batch, Transparent PNG, Pay per Image

Background Remover API — Batch, Transparent PNG, Pay per Image

Remove the background from one or many image URLs and get, for each image, a dataset item with the transparent PNG or WebP cutout URL, width and height. AI background removal in batch, optional mask, no API key, pay per image.

Pricing

from $5.00 / 1,000 background removeds

Rating

0.0

(0)

Developer

Sherwood

Sherwood

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

Give it one image URL or a thousand, or the dataset of another Actor, and get every image with its background removed as a transparent PNG (or WebP), one dataset item per image: the cutout URL, its width and height, optionally the mask, or a clear error. Uses the BiRefNet v2 segmentation model with foreground refinement. No API key, no GPU, no subscription. $0.005 per image delivered, failures are free.

Built for automation and AI agents: send a list in imageUrls, or a single URL (or a comma-separated string) in imageUrl; every alias (imageUrls, imageUrl, urls, images, startUrls) is merged, nothing is required, and the default input runs on its own so you can see the output shape before sending your own files.

Pairs with Image Upscaler API for a complete product-photo pipeline: cut out, then enlarge. The upscaler reads this Actor's dataset directly (datasetId) and keeps the transparency in PNG and WebP.

What you get

One item per image, in your dataset:

{
"index": 0,
"inputUrl": "https://example.com/product.jpg",
"outputUrl": "https://api.apify.com/v2/key-value-stores/abc123/records/cutout-0000.png",
"maskUrl": null,
"width": 1024,
"height": 1024,
"mode": "general",
"format": "png",
"model": "fal-ai/birefnet/v2",
"durationMs": 3800,
"status": "ok",
"error": null
}

A failed image (unreachable URL, not an image, over 25 MB) comes back with "status": "error" and the reason in error. It is never charged.

Use cases

  • Cut out product photos for marketplaces, catalogs and ads, in bulk.
  • Prepare portraits and avatars with clean hair edges (mode: "portrait").
  • Produce masks for compositing or further editing (includeMask: true).
  • Clean up images pulled from a scraper before they reach a design pipeline.
  • Give an AI agent or an n8n / Make / Zapier flow a single call that handles a whole list.

Input

FieldTypeDefaultNotes
imageUrlsarraytwo sample imagesPublic JPG, PNG or WebP URLs. For a single URL or a comma-separated string, use imageUrl.
imageUrl, urls, images, startUrlsaliases—Merged with imageUrls, duplicates removed. startUrls accepts {"url": "..."} objects.
datasetIdstring—Read the image URLs from an Apify dataset instead (see below).
urlFieldstringautoField holding the image URL in each dataset item: images[].url, photo.thumbnails[0].url...
maxImagesPerIteminteger1Image URLs taken from each dataset item.
keepFieldsarray—Fields copied from each dataset item into its result, under source (SKU, ASIN, listing URL).
modegeneral, portrait, matting, heavygeneralportrait for people, matting for hair/fur/glass edges, heavy for complex scenes (slower).
outputFormatpng, webppngBoth keep transparency.
includeMaskbooleanfalseAdds maskUrl (black-and-white PNG) to each item.
highResolutionbooleanfalseProcess at 2048×2048 instead of 1024×1024; finer edges on large images, about twice as slow.
maxImagesinteger100Stop after this many images.

Minimal call:

{ "imageUrls": ["https://example.com/a.jpg", "https://example.com/b.png"] }

Chain it after another Actor

Give datasetId (a dataset ID or name) and the Actor reads the image URLs from its items: the output of a product scraper or of AI Image Generator. The image field is detected automatically (outputUrl, highResolutionImages, imageUrls, images, displayUrl, thumbnailImage...), or set it with urlField.

{
"datasetId": "YOUR_DATASET_ID",
"urlField": "images[].url",
"keepFields": ["sku", "url"]
}

To run it automatically after another Actor, add it on that Actor's Integrations tab with the input { "datasetId": "{{resource.defaultDatasetId}}" }; the platform fills in the dataset of each finished run. Each result carries sourceItemIndex, the position of the item it came from, and the fields listed in keepFields.

Pricing

  • Background removed — $0.005 per image delivered, mask included when requested.
  • Failed, unreachable or non-image URLs: free.

Set a maximum cost per run in Apify and the Actor stops cleanly when it is reached; remaining images are reported, not processed.

Via API, n8n, Make or MCP

Call it like any Apify Actor: POST https://api.apify.com/v2/actors/sherwood~background-remover-batch/run-sync-get-dataset-items with the JSON input above, or add it as a tool through the Apify MCP server. Results are plain dataset items, so get-dataset-items returns the URLs directly.

Limits

  • Input images up to 25 MB each, served over public http(s) URLs.
  • Output files live in the run's key-value store and follow your account's data retention.
  • Processing time is typically 2 to 6 seconds per image; 4 images are processed in parallel.