Background Remover - Image Converter, Compressor & Resizer avatar

Background Remover - Image Converter, Compressor & Resizer

Pricing

Pay per event

Go to Apify Store
Background Remover - Image Converter, Compressor & Resizer

Background Remover - Image Converter, Compressor & Resizer

Remove image backgrounds in bulk with AI (hair and fur kept): transparent PNG/WebP or any color, crop to subject. Plus resize, convert to WebP/AVIF/JPEG and compress.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Yukai Lin

Yukai Lin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

What does AI Image Toolkit do?

Paste image URLs, get back a download link for every result: background removed (transparent PNG/WebP or any color), resized, converted to WebP/AVIF/JPEG, or compressed. Background removal costs $0.005 per image, resize/convert/compress $0.002 per image (Free plan, no start fee). Failed images are free.

Give it a list of images and pick one operation:

  • ✂️ Remove background (AI): cut out people, products, animals and logos, hair and fur included. Get a transparent PNG or WebP, or the subject on any background color (white for marketplaces), optionally cropped to the subject with a margin.
  • 📐 Resize: fit inside a box, fill and smart-crop (cover with automatic focus), pad to a square with a color, or stretch.
  • 🔄 Convert: JPEG, PNG, WebP or AVIF; transparent areas become white (or your color) in JPEG.
  • 🗜️ Compress: smaller files in the same format or as WebP/AVIF/JPEG. It never returns a larger file: if re-encoding does not help, you get the original back.

Images come from URLs (Google Drive, Dropbox and OneDrive share links work), from another Actor's dataset (for example a product scraper's image field), from a key-value store (files you uploaded) or as base64. Every result is saved as a file in the run's key-value store, and the dataset gets one row per image with a download link (outputUrl), the size, format and whether it was charged.

Background removal uses an AI segmentation model (BiRefNet, run on Cloudflare Images by our backend). Metadata such as EXIF and GPS is removed from every result.

Who is it for?

  • E-commerce sellers and agencies: white or transparent product photos for Amazon, Shopify, eBay and Etsy, in bulk, straight from your scraper's dataset.
  • Marketplaces and catalogs: consistent square thumbnails (resize + fit: pad).
  • Design and print: stickers, logos and cut-outs as transparent PNG/WebP.
  • Web performance: convert image libraries to WebP or AVIF and compress them.
  • AI agents and automations: one tool for "remove the background", "make it 1200×630", "convert to WebP".

How much does it cost?

EventPrice (Free plan)
Background removed$5.00 / 1,000 images ($0.005 per image)
Image resized, converted or compressed$2.00 / 1,000 images ($0.002 per image)

Bigger Apify plans pay less: SILVER $0.0045 / $0.0018, GOLD and above $0.004 / $0.0016 per image. No start fee. Failed downloads, unsupported files, invalid lines and duplicates are free. The Actor runs on 512 MB and spends most of its time waiting for the image service, so platform usage is small (our test: 2 cut-outs in 5.2 s for $0.0005 of compute).

Example: 1,000 product photos with the background removed cost 1,000 × $0.005 = $5.00 on the Free plan.

Price comparison (checked October 2026)

ActorBackground removal price per image
This Actor$0.005 (and $0.002 for resize/convert/compress)
danitn11/birefnet-background-remover (same BiRefNet model family)$0.01 → $0.007
apivault_labs, seemuapps background removers$0.01
akash9078/ai-bg-remover$0.025
stefanie-rink/image-background-remover$0.05
dev00 background removers$0.005

Image converters and compressors on the Store cost $0.0009–$0.015 per image (maximedupre/bulk-image-compressor $0.0009, marielise.dev/image-converter $0.002–$0.06 by size, eunit/sqoosh-image-compressor $0.015). Outside Apify, Photoroom's API charges $0.02 per background removal.

Control your cost

  • What is charged: one event per image whose result was stored (the background-removal event or the cheaper utility event, depending on the operation).
  • What is free: images that could not be downloaded or read, unsupported files (web pages, PDFs, SVG), invalid lines and duplicate URLs.
  • At the start the Actor logs the worst-case cost ("Plan: 25 images × $0.005 = at most $0.125").
  • Max images (default 1,000) caps a run. With a maximum charge per run set in the run options, the Actor stops starting new images when the limit would be passed; the images it did not process are listed in SUMMARY.notProcessed and the status message says so.

How to use it

  1. Choose What to do (Remove background, Resize, Convert format or Compress).
  2. Paste image URLs, or pick a dataset or key-value store under More input sources.
  3. Set the options for that operation (background color, crop, size, format, quality) and click Start.
  4. Open the Images (overview) view and click the result links, or download all files from the key-value store.

Input example

{
"operation": "removeBackground",
"imageUrls": [
"https://upload.wikimedia.org/wikipedia/commons/thumb/2/28/Canon_EOS_5D_Mark_II_with_50mm_1.4_edit1.jpg/960px-Canon_EOS_5D_Mark_II_with_50mm_1.4_edit1.jpg",
"https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Cat03.jpg/960px-Cat03.jpg"
],
"backgroundColor": "#ffffff",
"cropToSubject": true,
"cropMargin": 40,
"maxSize": 2000
}

Leave out backgroundColor for a transparent PNG; set "outputFormat": "webp" for transparent files 3–5× smaller than PNG.

Output example (real run, 1 October 2026)

{
"index": 1,
"input": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Cat03.jpg/960px-Cat03.jpg",
"operation": "removeBackground",
"success": true,
"outputUrl": "https://api.apify.com/v2/key-value-stores/RHb9MvsFd3ZZkxU7c/records/0002-960px-Cat03-nobg.png?signature=…",
"outputKey": "0002-960px-Cat03-nobg.png",
"format": "png",
"width": 960,
"height": 959,
"bytes": 983802,
"transparent": true,
"savedPercent": -554.6,
"inputFormat": "jpeg",
"inputWidth": 960,
"inputHeight": 959,
"inputBytes": 150302,
"warnings": [],
"via": "backend",
"charged": true,
"durationMs": 2834
}

savedPercent is negative here because a transparent PNG of a photo is larger than the JPEG it came from. A failed image looks like this (not charged):

{ "index": 1, "input": "https://upload.wikimedia.org/wikipedia/commons/thumb/x/xx/Nope.jpg/960px-Nope.jpg", "operation": "convert", "success": false, "error": "The image does not exist (HTTP 404). (not charged)", "errorType": "not_found", "charged": false }

What we measured (1 October 2026, our backend, public Wikimedia Commons images)

ImageOperationResult
Sneakers 960×638remove background, crop834×542 transparent PNG, clean laces, 5.5 s
Portrait with curly hair 960×1438remove background, WebPcurls kept without a halo, 195 KB, 6.3 s
Cat 960×959remove background, white, crop + marginwhiskers kept, 5.6 s
Photo 3831×5746, 9.8 MBremove background, max 2048 px1365×2048 WebP 244 KB, 8.7 s
Same photocompress (JPEG q75)9.8 MB → 3.0 MB (−70%), 4.7 s
Same photoresize 1200×630, cover, auto focus118 KB, 6.6 s
Transparent PNG logo 960×1138convert to WebP−86%, transparency kept
Website screenshot 1280×800remove backgroundnot suitable: the white page is removed as background

Integrations

  • Product scrapers → white backgrounds: run a scraper, then this Actor with Dataset ID set to its dataset and Dataset field to its image field (for example images, up to 100 URLs per item). Each row keeps datasetItemIndex.
  • Your own files: upload images to a key-value store (Apify Console → Storage) and set Key-value store with images.
  • API: call the Actor with imagesBase64 ({"id": "sku-17", "fileName": "shoe.jpg", "data": "<base64>"}) and read outputUrl from the dataset.

Use with AI agents (MCP)

Connect Apify's MCP server (https://mcp.apify.com?tools=tidytools/ai-image-toolkit) to Claude, Cursor or any MCP client, then ask e.g. "Remove the background of these three product photos and put them on white, cropped with a small margin."

{ "operation": "removeBackground", "imageUrls": ["https://example.com/shoe.jpg"], "backgroundColor": "white", "cropToSubject": true, "cropMargin": 40 }

Failed images are not charged and carry an errorType (not_found, blocked, unsupported, too_large, invalid_input, timeout, network, failed).

Advanced settings

  • Max images (default 1,000): cost cap per run.
  • Parallel images (default 4, up to 10).
  • Proxy: only used when an image host refuses our servers; the Actor then downloads the image itself from Apify's network (via: "actor-download").

Limitations

  • Input: JPEG, PNG, WebP or GIF (first frame only), up to 10 MB, 50 megapixels and 12,000 px per side. AVIF, HEIC, TIFF, BMP, SVG and PDF are not accepted as input (AVIF is a valid output), and a link to a web page instead of the image file is reported as unsupported.
  • Background removal needs a clear subject. Screenshots, documents and scenes without a main subject do not work; top-down shots of shiny objects can keep a faint halo; images under about 300×300 px get the warning low_resolution.
  • AVIF is limited to 1,200 px per side: larger results are written as WebP (warning avif_too_large_used_webp). PNG results are limited to 16 megapixels: set Max size or use WebP.
  • No AI upscaling: resizing up uses normal interpolation.
  • Results stay in the run's key-value store for your Apify plan's data retention period; download what you need.

Responsible use

Only process images you own or have the rights to edit. Cutting a person out of a photo does not change who owns the photo or the person's rights in it: do not use the results to impersonate anyone, to create misleading product listings or to remove watermarks or credits from other people's work. Images are processed only to produce your results; our backend keeps a 24-hour cache of results keyed by a hash of the image, so a repeated request is answered at once, and does not store the images otherwise.

FAQ

Does the Actor collect usage data? The Actor sends one anonymous usage counter per run (input type, item count range, outcome) to improve the tool; no URLs, content or account data.

How good are the edges? Good on hair, fur and whiskers in our tests (portraits, a cat, a dog, sneakers, a camera, a mug whose handle hole is cut out, logos). Weak spots are listed under Limitations.

PNG or WebP? Both keep transparency. PNG is the most compatible but large (a 960 px cut-out is often 0.4–1 MB); WebP is usually 3–5× smaller.

Is there a watermark or a resolution limit? No watermark. Images are processed at full resolution up to 50 megapixels; use Max size for smaller results.

Why is a compressed image unchanged? It was already well compressed: re-encoding would have made it larger, so the original is returned (unchanged: true, warning already_optimized). PNG stays lossless with "Auto": choose WebP for big savings.

What if my input is wrong (no images, a missing width, JPEG without a background color)? The run ends normally (not as failed) with one free error row in the dataset that says what to fix (errorType: "invalid_input"), and nothing is charged. Lines that are not image URLs get their own free error row; the other images are still processed.

Do Google Drive, Dropbox and OneDrive links work? Yes, if the file is shared publicly ("anyone with the link") and is an image file. The Actor turns the share link into a download link itself; a private file or a folder link comes back as a free error row that says the link returned a web page.

Where are my files? Every result is a file in the run's key-value store, named like 0001-shoe-nobg.png (position, original name, operation). The dataset's outputUrl is a download link to it.

Can I run it every day on new images? Yes: schedule it in Apify (Schedules) with your dataset or URL list; duplicates within one run are processed once.

Where do I report a bad cut-out? Open an issue on the Actor's Issues tab with the image URL and your input.