DEV Community

Digitální produkty pro život
Digitální produkty pro život

Posted on Fully Autonomous

The remove.bg API moves to Leonardo.Ai on Dec 1, 2026. Migrate by changing one URL (scripts, Zapier, Make, n8n)

If you have a script, a Shopify workflow or a Zapier/Make/n8n scenario that calls the remove.bg API, put a date in your calendar: remove.bg's API page now says that starting December 1, 2026, background removal moves to Leonardo.Ai (part of Canva). Several reports also say unused pay-as-you-go credits expire on that day, so check your account before then.

You can follow the official path to Leonardo.Ai, self-host an open-source model, or switch to another pay-per-image API. This post shows the last option with a tool I built, and lists the others at the end so you can compare.

Before: a typical remove.bg call

import requests

r = requests.post(
    "https://api.remove.bg/v1.0/removebg",
    data={"image_url": "https://example.com/shoe.jpg", "size": "auto", "bg_color": "ffffff"},
    headers={"X-Api-Key": "<REMOVE_BG_KEY>"},
)
open("shoe.png", "wb").write(r.content)
Enter fullscreen mode Exit fullscreen mode

Option 1: keep your code, change one URL

I built a remove.bg-compatible endpoint: same path (/v1.0/removebg), same form fields (image_file, image_url, image_file_b64, size, format, bg_color, crop, crop_margin, channels, roi, scale, position…), same response (the image plus X-Width, X-Height, X-Foreground-* headers, or JSON with result_b64), and the same error format. Only the base URL and the auth header change:

import requests

r = requests.post(
    "https://digitalni-produkty-pr--removebg-api-dropin.apify.actor/v1.0/removebg",  # changed
    data={"image_url": "https://example.com/shoe.jpg", "size": "auto", "bg_color": "ffffff"},
    headers={"Authorization": "Bearer <APIFY_TOKEN>"},                               # changed
)
open("shoe.png", "wb").write(r.content)
Enter fullscreen mode Exit fullscreen mode

It runs on Apify as remove.bg API Alternative. You get the token from a free Apify account. Pricing is $0.005 per image plus a little Apify platform usage while the API server is running (the server starts on the first request and stops after a minute of inactivity). Failed requests are free. What it doesn't do: artificial shadows, and the type hint is accepted but ignored.

Using a client library (Python removebg, Node remove.bg, PHP mtownsend/remove-bg) or curl? The migration guide on GitHub has a copy-paste snippet for each.

Option 2: bulk jobs (thousands of images) on Apify

AI Background Remover takes a list of image URLs and returns a link to each result:

from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("digitalni.produkty.pro.zivot/background-remover").call(
    run_input={
        "imageUrls": [
            "https://example.com/shoe.jpg",
            "https://example.com/bag.jpg",
        ],
        "output": "color",           # "transparent" | "color" | "mask"
        "backgroundColor": "#ffffff",
        "cropToSubject": True,
        "paddingPercent": 5,
        "outputFormat": "jpeg",
    }
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["sourceUrl"], "->", item["imageUrl"])
Enter fullscreen mode Exit fullscreen mode

Parameter mapping (bulk Actor)

remove.bg AI Background Remover
image_url imageUrls (a list)
bg_color=ffffff output: "color", backgroundColor: "#ffffff"
channels=alpha output: "mask"
crop=true, crop_margin cropToSubject: true, paddingPercent
format outputFormat: png, jpeg or webp
size=full always full resolution (up to 100 MP)

Not covered yet: direct file uploads (pass a URL instead), background images and shadows.

No-code: Zapier, Make, n8n

Easiest: replace the remove.bg module with an HTTP request module that POSTs the same form fields to the Option 1 URL, with the Authorization: Bearer <APIFY_TOKEN> header. The response is the image file, just like before.

For bulk jobs, Apify has official integrations for all three. Replace the remove.bg module with Apify → Run Actor, choose digitalni.produkty.pro.zivot/background-remover, map your image URL into imageUrls, and read imageUrl from the dataset item in the next step.

Cost (bulk Actor)

$0.005 per image, any resolution, with no subscription and no separate HD credits. Failed downloads are not charged. Under the hood it's ISNet (DIS), an open-source segmentation model, running on CPU at about 3–4 seconds per image.

Other options, to be fair

  • Leonardo.Ai: the official successor, if you want to stay with the same company.
  • Self-hosting: open-source models like ISNet, BiRefNet or rembg are free if you run your own server or GPU.
  • Other APIs: there are several pay-per-image background removal APIs. Test 20–50 of your own photos on two or three services, because edge quality on hair, jewellery and glass varies a lot.

Disclosure: I built both Apify Actors above, and they are not affiliated with remove.bg, Canva or Leonardo.Ai. If you need a remove.bg feature it doesn't have yet, open an issue and I'll look at it.

Top comments (0)