DEV Community

szp2005
szp2005

Posted on

Migrating off /v1.0/removebg before the Dec 1, 2026 shutdown (Python, Node.js, n8n, and GitHub Actions)

On December 1, 2026 at 09:00 CET, standalone remove.bg and its self-serve POST https://api.remove.bg/v1.0/removebg endpoint shut down.

If you maintain older catalog pipelines, cron scripts, or n8n workflows wired to /v1.0/removebg, the two official Canva Group destinations require code changes:

  • Leonardo.Ai Sync v2 uses a static Bearer key, yet you have to replace multipart image_file calls with a v2 JSON schema, rewrite your response parser to pull image URLs, and pass "ephemeral": true on each call if you want temporary storage behavior.
  • Canva Connect requires registering an OAuth 2.0 integration and refreshing user access tokens, which fits user-facing apps better than headless backend workers.

Over the past few weeks I built remove.ac to keep /v1.0/removebg callers running with a two-line swap (endpoint URL plus X-Api-Key), paired with a free browser WebAssembly workbench for manual batches. Below are the migration patterns for Python, Node.js, n8n, and CI pipelines.

1. Direct curl or HTTP Request Node Swap

Standard multipart/form-data (image_file), JSON (image_url or image_file_b64), Accept: application/json (data.result_b64), and X-Foreground-* bounding-box headers follow the original /v1.0/removebg field names:

curl -f -X POST https://remove.ac/v1.0/removebg \
  -H "X-Api-Key: rac_live_your_key_here" \
  -F "image_file=@shoe.jpg" \
  -F "size=full" \
  -F "format=png" \
  -o shoe-nobg.png
Enter fullscreen mode Exit fullscreen mode

Payloads up to 4.4 MB run straight through the edge proxy into NVIDIA L4 GPU memory with zero disk persistence of source or output images. Failed or timed-out requests release their credit hold automatically and charge 0 credits.

2. Python (requests or removebg Shim, Including >4.4 MB Studio Photos)

If your script imports from removebg import RemoveBg or calls requests.post, install the zero-dependency package from PyPI:

pip install remove-ac
Enter fullscreen mode Exit fullscreen mode
from remove_ac import RemoveAcClient

client = RemoveAcClient()  # reads REMOVE_AC_API_KEY
png_bytes = client.remove_background("studio-raw-16mb.png", size="full", crop=True)
with open("studio-cutout.png", "wb") as f:
    f.write(png_bytes)
Enter fullscreen mode Exit fullscreen mode

When the file exceeds 4 MB (or is an uncropped >5 MP RGBA PNG), the client automatically requests a 180-second single-use HMAC ticket from POST /v1.0/removebg/ticket and streams up to 25 MB / 40 MP directly to ephemeral GPU RAM so serverless 4.5 MB body caps never reject studio shots with HTTP 413.

3. Self-Hosted n8n Workflows (n8n-nodes-remove-ac)

Built-in Remove.bg nodes in n8n hit the retiring /v1.0/removebg endpoint. In self-hosted or desktop n8n, go to Settings -> Community Nodes -> Install and install n8n-nodes-remove-ac. It accepts upstream binary properties (data) up to 25 MB or public image URLs, outputs the cutout binary alongside X-Foreground-* coordinates, and exposes usableAsTool: true for n8n AI Agent workflows.

4. GitHub Actions (szp2005/remove-ac-sdk@v1.1.2) and MCP (remove-ac-mcp)

For storefront repositories that clean product images on pull requests:

- uses: szp2005/remove-ac-sdk@v1.1.2
  with:
    api_key: ${{ secrets.REMOVE_AC_API_KEY }}
    input_path: "public/products/incoming"
    output_dir: "public/products/transparent"
    size: "full"
    crop: "true"
Enter fullscreen mode Exit fullscreen mode

For local coding agents (Claude Desktop, Cursor, VS Code), run npx -y -p remove-ac remove-ac-mcp (io.github.szp2005/remove-ac). It writes transparent cutouts straight to disk instead of dumping megabytes of base64 into your model context window.

When You Do Not Need an API Key at All

If a designer or seller on your team processes batches manually in a browser, remove.ac/batch runs a quantized WebAssembly segmentation pipeline inside the browser tab. The first visit downloads ~80 MB of ONNX weights into the browser cache; after that, single exports (up to 20 MB / 32 MP) and 50-image batch ZIPs run in local memory without login or uploads. Verified email accounts on the cloud API receive 1 free welcome credit, pay-as-you-go packs never expire ($9 for 10 credits up to $399 for 1,200), and monthly plans drop to $0.158/image.

Full field-by-field migration table: https://remove.ac/guides/remove-bg-api-migration
Open-source SDK, CLI, GitHub Action & MCP (MIT): https://github.com/szp2005/remove-ac-sdk

Top comments (0)