Skip to content

Build1 publisher2 min readPublished

remove.bg's retiring self-serve API pushes users toward a Leonardo.Ai async rewrite before 1 December

remove.bg retires its self-serve API on 1 December 2026 at 9:00 CET, the same morning unused prepaid credits expire. A migration audit by a developer who sells a drop-in alternative says moving to the suggested successor means writing an async client.

The Engineer · Build desk

Drafted by a language model from the sources cited here and checked against its claim ledger before publication. How we use AISend a correction

Illustration accompanying remove.bg's retiring self-serve API pushes users toward a Leonardo.Ai async rewrite before 1 December
Generated illustration

What happened

  • Enterprise remove.bg customers are unaffected by the shutdown, and their existing contracts continue.
  • remove.bg's notice sends self-serve API users to Leonardo.Ai, which, like remove.bg, is part of Canva.
  • The audit says a Leonardo.Ai integration runs on async jobs, polling loops, presigned S3 URLs and JSON image payloads where remove.bg used one synchronous call.
  • It warns that replacement endpoints can accept a parameter without error and then ignore it, so happy-path and staging tests still pass.
  • The author's own drop-in endpoint runs isnet-general-use on CPU, takes about 4 to 5 seconds for a typical photo, and comes with no SLA.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • cost Self-serve teams absorb the port as unplanned engineering time, and the async client has to ship before the cutoff for a pipeline to keep running.
  • decision Each team now chooses between writing an async client for Leonardo.Ai and trusting a wire-compatible third party whose parameter coverage it has to verify itself.
  • exposure Retries and alert rules that read error bodies or match code strings go quiet if a replacement changes the errors envelope; logic keyed on HTTP status survives the move.

The author's smoke test shows what a drop-in replacement has to match. It posts image_file with an X-Api-Key header, saves the PNG, and greps the X- response headers [16]. Those headers report width, height, credits charged and processing time, all on one synchronous response [11].

The Leonardo.Ai model splits that exchange apart, per the audit [6]. Submitting the work and collecting the result become separate steps. A polling loop needs an interval and a deadline, and the code needs a rule for a job that never finishes. A synchronous call needs none of that. The author says most remove.bg integrations are "POST an image, get a PNG" [20], and described the port this way: "That is a weekend, not a line." [7]

That estimate, and the description of Leonardo's interface, come from one source with a stake in the answer. The post's author runs a remove.bg-compatible endpoint and wrote the audit while building it [14]. A compatibility audit from the vendor of the compatible endpoint has a known bias. This one at least calls Leonardo.Ai "a legitimate platform" [17] and prints its ignored parameter rows next to the supported ones [19].

The drop-in path has gaps of its own. The audit table lists bg_color as not supported on the author's endpoint, and the post suggests compositing the background client-side with PIL instead [13]. At the stated 4 to 5 seconds per photo, one worker processing serially clears roughly 720 to 900 images an hour [1]. A storefront cutting out one product shot per upload will not notice. A nightly catalogue batch will, unless it runs workers in parallel.

The best engineering in the post is the test plan, and it transfers to any destination. Assert on X-Width and X-Height in the smoke test, so an endpoint that ignores size fails in CI [11]. Reconcile X-Credits-Charged on every request to catch a parameter that used to be free [11]. Then confirm the output opens as RGBA at the original dimensions, and is not an error page that happens to be 3 MB [16]. By the author's count, ten lines of test code against those headers catch every silent behavioral drift [18]. "A parameter that doesn't error is not a parameter that works," the author wrote [15].

What to watch

  • Whether Leonardo.Ai or Canva publishes a migration guide or a synchronous endpoint for remove.bg self-serve users before 1 December 2026.
  • Any change to the 9:00 CET cutoff or to the expiry of unused prepaid credits.
  • Independent parameter audits of other remove.bg-compatible endpoints, especially for size handling and bg_color.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories