filetity

The remove.bg API kept nothing. Its replacement keeps your image

remove.bg is moving into Canva, and its API is moving to Leonardo.Ai. The migration guide is good: a table of what changes, a five minute rewrite, worked scenarios. One row in that table is not an API change at all, and it sits between two rows about header names.

Result storage

  remove.bg API       Nothing kept
  Leonardo Sync API   Kept in your Leonardo library by default:
                      set ephemeral: true -> 30-minute URL,
                      nothing in the library

That is quoted from Leonardo’s own migration guide, read on 13 September 2026. It is not a leak or an inference. They wrote it down, clearly, in the right place. It is just that the rest of the table is about X-Api-Key becoming Authorization: Bearer, and a person skimming for the endpoint will skim past this.

What actually changes for the images

Under remove.bg, you posted an image, got bytes back, and that was the end of it. Under Leonardo, the same call puts the result in your Leonardo library unless you say otherwise. Your library, not a public feed: there is a separate public flag and it defaults to false. So this is a retention change, not a publication change, and the two are worth keeping apart.

It still matters, because of what people put through a background remover. Passport photos. ID card scans for a visa form. A child’s school portrait. Product shots that are under embargo. Whoever wired up the remove.bg call three years ago wrote no retention policy for those, because there was nothing to retain. The same code, pointed at the new endpoint, now has one.

The one line

To get the old behaviour back, add one field:

{
  "model": "remove-bg",
  "ephemeral": true,
  "parameters": { "size": "full", ... }
}

You get a URL good for thirty minutes and nothing in the library. Download inside that window and you are where you were before. Miss the window and the call was wasted, which is a new failure mode for a pipeline that used to hand you bytes in the response.

The rest of the migration, briefly

All of this is from the same guide, same date. The endpoint becomes POST /api/rest/v2/generationssync on cloud.leonardo.ai, authenticated with a bearer token instead of X-Api-Key. The request is JSON only, so a multipart file upload becomes base64 under parameters, and your option values carry over unchanged: size, type, bg_color, crop, roi, semitransparency and the shadow pair all keep their names.

The response is always JSON now, never raw bytes, so curl -o no-bg.png stops working and you read results[0].url, or set base64: true and decode results[0].dataB64. Base64 responses cap at roughly 7.5 MB of pixels or the call fails outright. Cost moves out of the X-Credits-Charged header and into a cost object in the body, quoted in dollars, so any billing dashboard reading that header goes quietly blank. The guide lists background removal at USD $0.1047 per image.

Two things have no replacement: bg_image_file, so a background image has to be hosted somewhere and passed by URL, and the zip and auto output formats.

On the consumer side, the dates are secondhand

remove.bg’s own FAQ, read the same day, says this and no more: remove.bg became part of Canva in 2021, and they are “now migrating remove.bg’s background removal functionality into the Canva platform”. No date, no word on credits, no word on the website itself. Several outlets report 1 December 2026 at 09:00 CET as the day standalone remove.bg closes and existing credits expire. That may well be right and it is not on any page remove.bg serves publicly, so treat it as reported rather than confirmed, and check your own account before you plan around it.

A default you cannot get wrong

Every hosted background remover has a retention default, and it can change when the company does. It changed here without anybody doing anything wrong: one product folded into another, and the sensible default for a creative library is the opposite of the sensible default for a one-shot API.

A background remover that runs in your browser has no such default, because there is no server with a copy to keep. filetity’s runs the model on your own machine: the photo is decoded in the tab, a segmentation network produces the mask there, and the PNG is written there. Nothing is posted anywhere, so there is no retention policy to read and nothing to expire on 1 December.

It is not the same thing as an API, and it is honest about where it loses: it is a button in a tab, not an endpoint you can call from a build script, and it will not match a paid cloud model on glass, smoke or motion blur. For the passport photo and the product shot, it is the version with nothing to configure.

The tool this came out of

Cut the subject out of a photo into a transparent PNG, on your own device, with no account and nothing uploaded.

filetity is built by Adarsh Mishra. The migration details here were read from Leonardo’s own documentation and remove.bg’s own FAQ on 13 September 2026, and both will keep changing. If a page now says something different from what is quoted above, that is worth knowing: support@filetity.com.