← All articles

Blog · Migration

What the remove.bg shutdown means for your API integration

If your product, script or plugin calls api.remove.bg, that call stops working on 1 December 2026. Here is what closes and when, with a source for each point, what the official path asks you to change, and how to move with only a new base URL and a new key.

What stops, and when

Everything in this section comes from the remove.bg FAQ, read on 27 September 2026. The closure was first reported in early September 2026 (Bitvoxy, 3 September 2026).

  • The self-service API stops accepting requests from 1 December 2026.
  • The website and accounts are no longer available from 1 December 2026 at 09:00 CET.
  • The Photoshop plugin and the other plugins and integrations are discontinued on the same date.
  • Enterprise API contracts are not affected and continue as normal.
  • Unused pay-as-you-go credits expire on 1 December 2026. Invoices and usage reports have to be exported from the Account page before that date.

The FAQ sends self-service API customers to Leonardo.Ai, which, like remove.bg, belongs to Canva. The full summary, with subscriptions and refunds, is on our remove.bg shutdown page.

First, list everything that calls the API

The API key is often used in more places than the main codebase. Before you choose where to move, search for api.remove.bg and for the key's environment variable in:

  • your own services, background jobs and serverless functions;
  • third-party client libraries (npm, PyPI, Composer, RubyGems packages that wrap the remove.bg API);
  • the remove.bg command-line tool in shell scripts and CI jobs;
  • design and CMS plugins (Photoshop, Figma, GIMP, WordPress);
  • automations in Zapier, Make or n8n.

Plugins and automations are covered by the platforms page. The rest of this article is about code.

The official path: Leonardo.Ai, with a rewrite

Leonardo's own guide, “Migrate from the remove.bg API” (read on 27 September 2026), lists what changes for existing code:

  • a different endpoint, POST https://cloud.leonardo.ai/api/rest/v2/generationssync;
  • Authorization: Bearer instead of the X-Api-Key header;
  • JSON requests only, with no multipart upload, and the image moves under guidances;
  • responses are always JSON (a URL or base64), never raw image bytes;
  • no format=zip, no format=auto and no bg_image_file;
  • the cost is in a cost object in the body instead of the X-Credits-Charged header;
  • results are kept in your Leonardo library unless you set "ephemeral": true.

The same guide gives a price of $0.1047 per image for background removal. None of this is a problem if you were planning a rewrite anyway; if not, it is a change to the request, the authentication and the response handling of every call.

The other path: change the URL and the key

LassoCut is compatible with the remove.bg API: the same /v1.0/removebg path, the same form fields and JSON bodies, the same X-Api-Key header and the same response formats, including raw image bytes, ZIP output and X-Credits-Charged. For a curl call, two things change:

- curl -H "X-Api-Key: $REMOVE_BG_API_KEY" -F "image_file=@photo.jpg" -o no-bg.png https://api.remove.bg/v1.0/removebg
+ curl -H "X-Api-Key: $LASSOCUT_API_KEY" -F "image_file=@photo.jpg" -o no-bg.png https://api.lassocut.com/v1.0/removebg

The same request in Python, with requests, taken from the Python guide:

import os, requests

r = requests.post(
    "https://api.lassocut.com/v1.0/removebg",
    headers={"X-Api-Key": os.environ["LASSOCUT_API_KEY"]},
    files={"image_file": open("photo.jpg", "rb")},
    data={"size": "preview"},
)
r.raise_for_status()
open("no-bg.png", "wb").write(r.content)
print("credits charged:", r.headers["X-Credits-Charged"])

This exact request was run against the production API on 27 September 2026 and returned a valid PNG. size=preview uses the free previews; switch to size=full or size=auto once you are happy with the results.

If you use the third-party removebg package from PyPI, you don't even touch the calls: override its endpoint constant before creating the client (checked in the package's source on GitHub on 27 September 2026, see the Python guide):

import os
import removebg.removebg
removebg.removebg.API_ENDPOINT = "https://api.lassocut.com/v1.0/removebg"

from removebg import RemoveBg
RemoveBg(os.environ["LASSOCUT_API_KEY"], "errors.log").remove_background_from_img_file("photo.jpg")

Guides for the other languages: curl, Node.js and PHP.

The migration, step by step

  1. Create a LassoCut key. Sign in with GitHub or Google on the account page and create an API key.
  2. Replace the base URL. https://api.remove.bg/v1.0/ becomes https://api.lassocut.com/v1.0/. Keep it in configuration, not in code, so the next change is a setting.
  3. Replace the key. It still goes in the X-Api-Key header. Store it in a new environment variable so both keys can live side by side during the test.
  4. Test on your own images. Send a sample that looks like your real traffic with size=preview: every account gets 50 free previews a month (up to 10 a day).
  5. Check the details your code reads. Status codes, the JSON error format and headers such as X-Credits-Charged, X-Width and X-Height are the same; a 429 comes with Retry-After.
  6. Switch production before 1 December, and keep the remove.bg key only until you have exported your invoices.

What is not the same

  • remove.bg credits cannot be used on LassoCut. LassoCut sells its own credit packs: no subscription, and purchased credits do not expire.
  • The car and 3D shadow types are accepted but not drawn yet; the drop shadow is.
  • LassoCut adds a few things of its own, such as a free GET /v1.0/account, rate-limit headers and the Idempotency-Key header, so a retried job is not charged twice.

The migration guide compares the remove.bg API, LassoCut and Leonardo.Ai parameter by parameter. If you are building something new rather than moving old code, the developers page covers costs, limits and retries.

Try it before you switch

Drop an image on the home page to see the result without a key, then create an account for 50 free previews a month (up to 10 a day) and point one request at api.lassocut.com.