# LassoCut: full reference for AI assistants Last updated: 2026-10-19 > This file is the complete, current reference an AI assistant needs to answer questions about LassoCut accurately. It is a plain-text Markdown companion to the short index at https://www.lassocut.com/llms.txt. Every fact below comes from the pages of https://www.lassocut.com/ and each section links to its source page. If a page and this file disagree, the page is right. Site: https://www.lassocut.com/ API base URL: https://api.lassocut.com/v1.0 Contact: contact@lassocut.com ## 1. What LassoCut is LassoCut removes image backgrounds. You can use it: - in the browser, for one image or a whole folder (https://www.lassocut.com/ and https://www.lassocut.com/batch/); - through an HTTP API that accepts the same requests as the remove.bg API (https://www.lassocut.com/docs/); - through plugins and integrations for Photoshop, Figma, WordPress and WooCommerce, GIMP 3, Zapier, Make and n8n, a command-line tool, and an MCP server for AI assistants; - through a Shopify app on the Shopify App Store. One account and one credit balance work everywhere, except in the Shopify app, which keeps its own balance per store, billed by Shopify. Who runs it: LassoCut is operated by JAUPIN Design LLC (licence no. 2430614.01, Sharjah Media City (Shams) Free Zone Authority, Shams Business Center, Sharjah Media City Free Zone, Al Messaned, Sharjah, United Arab Emirates). It is an independent product and is not affiliated with, endorsed by, or sponsored by Canva or remove.bg. remove.bg is a trademark of Canva Austria GmbH. LassoCut is sold to businesses only (see https://www.lassocut.com/legal/terms/). Sign-in: accounts use GitHub or Google sign-in. API keys are created in the account page: https://www.lassocut.com/account/ Languages of the site: English, French, Spanish, Portuguese, German (section 10). ## 2. Pricing and free tier Source: https://www.lassocut.com/pricing/ (page updated 27 September 2026). Prices are in US dollars (USD), for business use, paid securely with Stripe. Free tier: every account gets 50 free previews per calendar month, up to 10 a day. Unused free previews do not carry over. Free previews cover previews only; full-size and 50 MP images always use credits. Credit packs (one-time purchase, no subscription): | Pack | Price | Per full-size image | |---|---|---| | 100 credits | $9 | $0.09 | | 1,000 credits | $39 | $0.039 | | 10,000 credits | $249 | $0.0249 | | 100,000 credits | $1,500 | $0.015 | Larger volumes with a service agreement: write to contact@lassocut.com. How credits work: - A full-size image costs 1 credit, including 50-megapixel results. - A preview costs 0.25 credit (up to 0.25 megapixels). The free monthly previews are used before paid credits. - No subscription: you pay once per pack, no monthly fee, no renewal. - No expiry: purchased credits do not expire while the account is open. - Errors are free: an API call that returns an error is not charged. The credits charged come back with every result in the `X-Credits-Charged` header. - One balance everywhere: the same credits work in the web app, the API and the plugins (except the Shopify app, which has its own per-store balance). Cost comparison published on the pricing page, full-size images: 1,000 images cost $39 with LassoCut and $104.70 with Leonardo.Ai; 10,000 cost $249 versus $1,047; 100,000 cost $1,500 versus $10,470. Leonardo.Ai's price is $0.1047 per image for background removal, taken from Leonardo's own migration guide (https://docs.leonardo.ai/docs/migrate-from-the-removebg-api-to-leonardoai), read on 27 September 2026. Payment and invoices: payment goes through Stripe Checkout from the Buy credits button on the account page. LassoCut never sees or stores card numbers. Stripe sends a receipt to the checkout email; a VAT number can be entered at checkout and appears on the receipt. Refunds are possible in the cases described in the refund policy: https://www.lassocut.com/legal/refunds/. Terms of Sale and Use: https://www.lassocut.com/legal/terms/ Shopify app credits (separate): 10 free credits the first time a store installs the app, then one-time packs billed by Shopify: 100 credits for $9, 1,000 for $39, 10,000 for $249. One credit per image, no subscription. The balance belongs to the store and cannot be linked to a LassoCut account on lassocut.com. Source: https://www.lassocut.com/use-cases/shopify/ ## 3. Platforms and how to install each one Source: https://www.lassocut.com/platforms/ and the guides under https://www.lassocut.com/migrate/. Most plugins connect the same way: click "Sign in with LassoCut", approve in the browser, nothing to copy. Credits are the same in every tool (except Shopify). ### Photoshop - What it does: removes the background of the active document and adds the cut-out as a new top layer named "Background removed"; original layers are only hidden, never deleted, and the whole operation is one history step (Ctrl+Z undoes it). - Install: free, from Adobe Creative Cloud Exchange: https://exchange.adobe.com/apps/cc/c81e2093/lassocut-remove-background . Needs Photoshop 2022 (version 23.3) or later. Open Plugins, then LassoCut. - Connect: Sign in with LassoCut, or paste an API key from the account page. - Options: Full resolution (1 credit, up to 25 megapixels) or Preview (free within the monthly allowance). - Guide: https://www.lassocut.com/migrate/photoshop/ ### Figma - What it does: cuts out the images in the selected layers, in Figma, FigJam and Figma Slides, in place, without moving or resizing anything. - Install: free, from Figma Community: https://www.figma.com/community/plugin/1685369659974324284/lassocut-remove-background . Run "LassoCut - Remove Background" from the Plugins (or Actions) menu. - Connect: Sign in with LassoCut (a short code is shown in the panel; approve in the browser), or "Use an API key instead". - Guide: https://www.lassocut.com/migrate/figma/ ### WordPress and WooCommerce - What it does: removes backgrounds from Media Library images (one by one, or in bulk 10 at a time) and from WooCommerce product main images. The result is a new image named `...-removebg.png` next to the original with the same alt text; originals are never overwritten. - Install: in WordPress go to Plugins, Add New, search for LassoCut, Install Now, Activate. Directory page: https://wordpress.org/plugins/lassocut-remove-background/ . A .zip is also available: https://www.lassocut.com/downloads/lassocut-remove-background.zip - Marketplace presets (plugin 1.2.0): Settings, LassoCut, "Ready for" and "Shadow" apply to the Media Library and WooCommerce bulk actions; default None; originals are kept. - Connect: Settings, LassoCut, "Connect with LassoCut", or paste a key. Background can be left empty for a transparent PNG, or a colour such as `ffffff` for a JPG on white. - Guide: https://www.lassocut.com/migrate/wordpress/ ### Shopify - What it does: removes the background of product photos in bulk from the products list (More actions, "Remove background with LassoCut") or from a product page. The cut-out takes the original image's place; the original stays in Content, Files, and Undo in the app's History puts it back. Options: main image only or all product images; white (JPG), transparent (PNG) or custom colour (JPG) background. Free previews let you compare before and after without changing the product. The app runs inside the Shopify admin in English; no LassoCut account is needed. - Marketplace presets: a "Ready for" choice (default Shopify, or None to keep the original framing) and a cast shadow (light from the left, front or right, length, strength); Zalando has no shadow. - Install: free, from the Shopify App Store: https://apps.shopify.com/lassocut-remove-background - Credits: see section 2 (separate per-store balance). - Guide: https://www.lassocut.com/use-cases/shopify/ ### Zapier - What it does: adds a "Remove Background" action step to any Zap, taking an image from Google Drive, Dropbox, Shopify, a form, an email or any other app, and returning the cut-out as a file named after the original (e.g. `shoe-removebg.png`) plus credits used, size and detected subject. - Install: in beta while Zapier reviews the public app; add it with the private invite link: https://zapier.com/developer/public-invite/246815/50a576690753d8ead3cb22f218976c14/ - Connect: click Sign in, sign in with GitHub or Google, click "Allow Zapier". No key to copy. - Guide: https://www.lassocut.com/migrate/zapier/ ### Make - What it does: a LassoCut app for Make scenarios with one "Remove Background" module (image from a file or URL, quality, background, crop, file format, subject type). Output: cut-out file, credits used, width, height and detected subject. - Install: the app is coming to the Make app directory. Meanwhile use Make's HTTP "Make a request" module: URL `https://api.lassocut.com/v1.0/removebg`, method POST, header `X-Api-Key: `, body type form-data, fields `image_file` (a mapped file) or `image_url`, plus `size`, `format`, `bg_color`, `crop`. Turn Parse response off to receive the image bytes. - Guide: https://www.lassocut.com/migrate/make/ ### n8n - What it does: the LassoCut node adds a "Remove Background" step to workflows, with size, subject type, format, background colour, crop to subject and crop margin as options. It returns the cut-out as a binary file (field `data` by default, named `-removebg.png`) with `credits_charged`, `width`, `height` and `detected_type` in the JSON. - Install: verified by n8n. On n8n Cloud, search for LassoCut in the nodes panel. On self-hosted n8n: Settings, Community Nodes, Install, enter `n8n-nodes-lassocut`. Source: https://github.com/jaupin94/n8n-nodes-lassocut (MIT). - Connect: create the LassoCut API credential with a key from the account page. - Alternative: keep an existing HTTP Request node and change the URL to `https://api.lassocut.com/v1.0/removebg` and the `X-Api-Key` header to a LassoCut key. - Ready-made workflow templates: WooCommerce product backgrounds (https://n8n.io/workflows/20811-remove-woocommerce-product-image-backgrounds-with-lassocut/) and Google Drive photos with a Google Sheets log (https://n8n.io/workflows/21047-remove-google-drive-photo-backgrounds-and-log-results-to-google-sheets-with-lassocut/). - Guide: https://www.lassocut.com/migrate/n8n/ ### GIMP 3 - What it does: removes the background of the open image and adds the cut-out as a new top layer (original layers hidden, Ctrl+Z undoes in one step). Needs GIMP 3.0 or later. Menu: Filters, LassoCut, Remove Background. - Install: download https://www.lassocut.com/downloads/lassocut-gimp.zip , unzip it (it holds a folder `lassocut-remove-background`), copy that folder into GIMP's plug-ins folder (Edit, Preferences, Folders, Plug-ins; usually `%APPDATA%\GIMP\3.2\plug-ins\` on Windows, `~/Library/Application Support/GIMP/3.2/plug-ins/` on macOS, `~/.config/GIMP/3.2/plug-ins/` on Linux, where the `.py` file must be made executable), then restart GIMP. - Connect: leave API key empty the first time; the browser opens for sign-in. Or paste a key. - Guide: https://www.lassocut.com/migrate/gimp/ ### AI assistants (MCP server) - What it does: adds background removal to Claude Desktop, Claude Code, Cursor and Windsurf. Three tools: `remove_background` (one or more images: file paths, folders or URLs; preview by default; full size, background colour, crop and format are options), `get_credits` (balance and free previews left), `sign_in` (connects the account from the chat). Results are saved next to each original; for a URL the result goes to the Downloads folder unless an absolute output folder is given. - Install, Claude Desktop: download the extension https://github.com/jaupin94/lassocut-mcp/releases/latest/download/lassocut.mcpb and double-click it. Claude Code: `claude mcp add lassocut -- npx -y lassocut-mcp` (on Windows `claude mcp add lassocut -- cmd /c npx -y lassocut-mcp`). Cursor and Windsurf: add to MCP settings `{"mcpServers": {"lassocut": {"command": "npx", "args": ["-y", "lassocut-mcp"]}}}`. Claude Code, Cursor and Windsurf need Node.js 20 or later. - Guardrails: preview by default (0.25 credit); full size costs 1 credit and only when asked; up to 50 images per request; full size on more than 10 images shows the cost and waits for confirmation; existing files are never overwritten. - Connect: ask the assistant to sign in. The key is shared with `lassocut login` from the CLI. - Page: https://www.lassocut.com/mcp/ ### Browser batch tool (whole folders) - What it does: removes backgrounds from a few files or hundreds at once in the browser: choose files or a folder (Include subfolders keeps the folder tree), pick size, background (transparent, white or any colour) and format (PNG, JPG, WebP), save straight into a folder (Chrome and Edge) or download a ZIP (any browser). If a run stops, press Start again: finished photos are skipped. In Chrome and Edge, "Add to desktop" gives it its own window and icon. Nothing to install. - Open: https://www.lassocut.com/batch/ (guide for former desktop-app users: https://www.lassocut.com/migrate/desktop/ ). LassoCut has no downloadable desktop app. ### Command-line tool - What it does: compatible with the remove.bg command-line tool: same flags, same `-removebg` file names, same behaviour on folders and scripts. Written from scratch; MIT licence; source https://github.com/jaupin94/lassocut-cli - Install (Node.js 18 or later): `npm install -g lassocut-cli`, or run once with `npx lassocut-cli photo.jpg`. - Sign in: `lassocut login` opens the browser; nothing to copy. On a server without a browser, create a key in the account page and set `LASSOCUT_API_KEY`. The variable `REMOVE_BG_API_KEY` is also read, and `--api-key` works. - Migrate a script: `removebg --size full --output-directory out/ photos/*.jpg` becomes `lassocut --size full --output-directory out/ photos/*.jpg`; `alias removebg=lassocut` is enough in shell scripts. - Flags that stay the same: `--api-key`, `--size`, `--type`, `--format`, `--channels`, `--bg-color`, `--bg-image-file`, `--output-directory`, `--reprocess-existing`, `--confirm-batch-over`, `--extra-api-option`. New flags: `--api-url`, `--output-suffix`, `--concurrency` (default 4; 429 and 503 answers are retried automatically). - Guide: https://www.lassocut.com/migrate/cli/ ### API - A remove.bg-compatible endpoint: same fields, headers and error codes, so most integrations only need a new base URL and key. Key from https://www.lassocut.com/account/ sent in the `X-Api-Key` header. Reference in section 4. ## 4. API reference Source: https://www.lassocut.com/docs/ . Walkthroughs per language: https://www.lassocut.com/guides/curl/ , https://www.lassocut.com/guides/python/ , https://www.lassocut.com/guides/node/ , https://www.lassocut.com/guides/php/ ### Basics - Base URL: `https://api.lassocut.com/v1.0` - Every request carries the key in the `X-Api-Key` header. - Requests are `multipart/form-data`, `application/x-www-form-urlencoded` or `application/json`. - The API follows the remove.bg API v1.0: the same request shape, the same header and the same JSON error format. ### POST /removebg Removes the background of one image. A successful call returns the image bytes with the response headers listed below. Send `Accept: application/json` to get `{"data": {"result_b64": "...", "foreground_top": ..., ...}}` instead. Minimal curl example: ``` curl --fail-with-body -H "X-Api-Key: $LASSOCUT_API_KEY" \ -F "image_file=@photo.jpg" \ -F "size=auto" \ -o no-bg.png \ https://api.lassocut.com/v1.0/removebg ``` Python (requests): ``` 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": "auto"}, ) r.raise_for_status() open("no-bg.png", "wb").write(r.content) print("credits charged:", r.headers["X-Credits-Charged"]) ``` Node.js 18 or later (fetch): ``` import { readFile, writeFile } from "node:fs/promises"; const form = new FormData(); form.append("image_file", new Blob([await readFile("photo.jpg")]), "photo.jpg"); form.append("size", "auto"); const res = await fetch("https://api.lassocut.com/v1.0/removebg", { method: "POST", headers: { "X-Api-Key": process.env.LASSOCUT_API_KEY }, body: form, }); if (!res.ok) throw new Error(JSON.stringify(await res.json())); await writeFile("no-bg.png", Buffer.from(await res.arrayBuffer())); ``` PHP (cURL): ``` ["X-Api-Key: " . getenv("LASSOCUT_API_KEY")], CURLOPT_POSTFIELDS => ["image_file" => new CURLFile("photo.jpg"), "size" => "auto"], CURLOPT_RETURNTRANSFER => true, ]); $png = curl_exec($ch); if (curl_getinfo($ch, CURLINFO_HTTP_CODE) === 200) { file_put_contents("no-bg.png", $png); } else { echo $png; } ``` The curl and Python examples were run against the production API on 27 September 2026 and returned a PNG. #### Image source (exactly one) | Field | Description | |---|---| | `image_file` | The image as a file upload: JPG, PNG or WebP, up to 22 MB. Other formats (HEIC, TIFF, GIF, BMP, PSD, PDF...) are refused with `invalid_file_type`. | | `image_file_b64` | The image as a base64 string. | | `image_url` | A public URL the API downloads the image from. Private and local network addresses are refused. | #### Output | Field | Values | Description | |---|---|---| | `size` | `preview` (default), `full`, `50MP`, `auto` | Preview is up to 0.25 megapixels and costs 0.25 credit. Full keeps the original resolution up to 25 MP, 50MP up to 50 MP; both cost 1 credit. Auto picks the largest size your balance allows. Legacy values `small`, `regular`, `medium`, `hd` and `4k` are accepted. | | `format` | `auto` (default), `png`, `jpg`, `webp`, `zip` | Auto returns PNG when the result has transparency, JPG otherwise. PNG output is capped at 10 MP. ZIP holds a JPG colour image and a PNG alpha mask. | | `channels` | `rgba` (default), `alpha` | Alpha returns the mask only. | | `semitransparency` | `true` (default), `false` | Accepted for compatibility. | #### Framing | Field | Example | Description | |---|---|---| | `crop` | `true` | Crops the result to the subject. | | `crop_margin` | `30px`, `10%`, `10px 20px` | Margin kept around the subject when cropping, one to four values like CSS. | | `scale` | `80%`, `original` | Size of the subject relative to the output. | | `position` | `center`, `original`, `50% 30%` | Where the subject sits in the output. | | `roi` | `0% 0% 100% 100%` | Region of interest (x1 y1 x2 y2): only a subject inside it is kept. | #### Background | Field | Example | Description | |---|---|---| | `bg_color` | `81d4fa`, `red`, `81d4fa77` | Fills the background with a colour: hex, hex with alpha, or a colour name. | | `bg_image_url` | URL | Puts an image behind the subject. | | `bg_image_file` | file upload | Same, as an upload. Use one background source at most. | #### Subject type | Field | Values | Description | |---|---|---| | `type` | `auto` (default), `person`, `product`, `car`, `animal`, `graphic`, `transportation` | With auto, a classifier detects the subject; the type selects the processing used (portraits and full-body people are handled differently). | | `type_level` | `1` (default), `2`, `latest`, `none` | How detailed the `X-Type` header is. Level 1 returns person, product, animal, car or other; level 2 adds transportation and graphics; none omits the header. | #### Shadows | Field | Values | Description | |---|---|---| | `shadow_type` | `drop`, `cast`, `3D`, `car`, `auto` | `drop` is a soft shadow under the subject. `cast` projects the silhouette on the ground (sharp near the base, softer further away). `3D` now draws the cast shadow; `auto` gives `3D` to people and transportation subjects, as remove.bg did (cars keep the car style, not drawn yet). `car` is accepted but not drawn yet. Can be set per subject type, such as `shadow_type[product]=cast`; `auto` is only valid as the global `shadow_type`, not per subject type. | | `shadow_opacity` | 0 to 100 | Strength of the shadow. | | `shadow_angle` | integer -90 to 90, default 45 | Cast shadow only. Positive = light from the left, so the shadow falls to the right. | | `shadow_length` | `short`, `medium` (default), `long` | Cast shadow only. | `add_shadow=true` (the older remove.bg flag) is accepted for compatibility; it asks for the car shadow, so it draws nothing today: use `shadow_type=cast` or `drop`. Invalid values return `invalid_shadow_angle` or `invalid_shadow_length`. #### Marketplace presets `preset` = `amazon`, `ebay`, `etsy`, `shopify`, `zalando`, `instagram` or `none` (default; anything else returns `invalid_preset`). A preset frames the cut-out to a marketplace's image rules: canvas, white background, how much of the canvas the product fills, file format and size cap. Rules as published on 19 October 2026. | Preset | Canvas | Background | Product fills | Format | Max size | Shadow | |---|---|---|---|---|---|---| | `amazon` | 2000 x 2000 | pure white | 85% | JPG | 10 MB | allowed | | `ebay` | 1600 x 1600 | white | 80% | JPG | 12 MB | allowed | | `etsy` | 2700 x 2025 (4:3) | white | 75% | JPG | 20 MB | allowed | | `shopify` | 2048 x 2048 | white | 80% | JPG | 20 MB | allowed | | `zalando` | 1801 x 2600 (1:1.44) | white | 85% | JPG (sRGB) | 20 MB | not allowed | | `instagram` | 1080 x 1350 (4:5) | white | 75% | JPG | 8 MB | allowed | Some values are cautious defaults pending confirmation on the official page (Amazon fill and file size, Etsy file size, Zalando background). With a preset, `crop`, `crop_margin`, `scale` and `position` are ignored (listed in `X-Preset-Ignored`); an explicit `format` or `bg_color` overrides the preset and makes the result non-compliant; `channels=alpha` returns `preset_needs_rgba`. With a cast or 3D shadow, `ebay`, `etsy`, `shopify` and `instagram` leave more room around the product (it fills 70% on eBay and Shopify, 65% on Etsy and Instagram) and move it slightly away from the shadow, so the shadow stays visible; `amazon` keeps its 85% rule, with a shorter shadow. Compliant means compliant with the image rules LassoCut checks: a marketplace can still refuse a photo for other reasons (text, props, watermarks). ``` curl -H "X-Api-Key: $LASSOCUT_API_KEY" -F "image_file=@product.jpg" -F "preset=amazon" -F "shadow_type=cast" -F "shadow_angle=45" -D headers.txt -o amazon.jpg https://api.lassocut.com/v1.0/removebg ``` Availability today: web try tool (home page), batch tool, API, Shopify app and WordPress plugin 1.2.0 (Shopify app: Ready for choice, default Shopify or None, plus a cast shadow with light from the left, front or right, length and strength, no shadow for Zalando; WordPress: Settings, LassoCut, Ready for and Shadow settings for the Media Library and WooCommerce bulk actions, default None; both keep the originals). Also available: n8n node 0.2.0 (options Preset, Shadow, Light Direction, Shadow Length, Shadow Strength), CLI 1.2.0 (flags --preset, --shadow cast, --light, --shadow-length, --shadow-strength; format, background colour and crop flags are refused with --preset), MCP 1.1.0 (remove_background parameters preset, shadow, light_angle, shadow_length, shadow_strength), Zapier 1.2.0 (fields Marketplace Preset, Shadow, Light Direction with left, front or right, Shadow Length, Shadow Strength; the shadow needs a preset) and the Make module (fields Marketplace preset, Shadow (with a preset, not Zalando), then Light direction, Shadow length and Shadow strength for a cast shadow). GIMP offers the cast shadow only, with the light from the left or the right and no preset, because its result is a layer of the open image. Photoshop 1.2.0 (approved by Adobe on 27 October 2026) and Figma: the Ready for list (Amazon, eBay, Etsy, Shopify, Zalando, Instagram) and the Shadow control (No shadow, Light from the left, front or right; Soft, Normal or Strong; no shadow for Zalando). Feature page: https://www.lassocut.com/features/marketplace-presets/ #### Response headers | Header | Description | |---|---| | `X-Width`, `X-Height` | Size of the returned image. | | `X-Credits-Charged` | Credits taken for this call: 0 for a free call, 0.25 for a preview, 1 otherwise. | | `X-Type` | Detected or requested subject type, per `type_level`. | | `X-Foreground-Top`, `-Left`, `-Width`, `-Height` | Bounding box of the subject in the returned image. | | `X-RateLimit-Limit`, `-Remaining`, `-Reset` | Rate-limit window, in megapixel-images per minute. | | `Server-Timing` | Time spent in each step of the request, in milliseconds. | | `X-Preset` | The preset applied (only with `preset`). | | `X-Compliance` | With a preset: `ok`, or `fail; reasons=...` among `background`, `fill`, `ratio`, `size`, `format`, `file_size`, `shadow`. | | `X-Preset-Ignored` | With a preset: the framing fields you sent that were ignored. | | `X-Upscaled` | `true` when the subject was enlarged above its source size to fill the canvas. | ### GET /presets The marketplace presets and their rules. Public: no API key, cached for one hour. ``` curl https://api.lassocut.com/v1.0/presets ``` `fill_shadow` is the fill used with a cast or 3D shadow; `fill_min` is the marketplace's own minimum fill, or null when it has none. Returns `{"data": [{"id", "names": {en, fr, es, pt, de}, "rule": {...}, "canvas": [w, h], "background": [r, g, b], "fill", "fill_min", "fill_shadow", "format", "max_bytes", "shadow_allowed", "shadow_default"}, ...]}`. ### POST /compose Frames, shadows and colours a cut-out you already have; no background removal. `image_file` is a PNG with transparency; same `preset`, `shadow_type`, `shadow_angle`, `shadow_length`, `shadow_opacity`, `bg_color` and `format` fields and the same response headers. Never charged: every result carries `X-Credits-Charged: 0`, and an error costs nothing either; nothing is stored. The rate limit counts the larger of the image and the preset's canvas; without a key each visitor has a much smaller budget than an account. With an API key up to full size; without one up to 0.25 megapixels and 10 MB. `bg_image_url` and `bg_image_file` are not supported (`compose_bg_image_unsupported`). ``` curl -H "X-Api-Key: $LASSOCUT_API_KEY" -F "image_file=@cutout.png" -F "preset=amazon" -F "shadow_type=cast" -o amazon.jpg https://api.lassocut.com/v1.0/compose ``` ### GET /account Returns your balance. Free of charge. ``` curl -H "X-Api-Key: $LASSOCUT_API_KEY" https://api.lassocut.com/v1.0/account ``` Response shape: ``` {"data": {"attributes": { "credits": {"total": 200.0, "subscription": 0.0, "payg": 200.0, "enterprise": 0.0}, "api": {"free_calls": 10, "sizes": "all"}}}} ``` Each account gets 50 free calls per calendar month, up to 10 a day, used before paid credits. Free calls cover previews only. `free_calls` is the number of free previews you can use now: at most 10 today and what is left of the 50 this month. ### POST /improve Sends an image the API got wrong, so the processing can be improved. Fields: `image_file`, `image_file_b64` or `image_url`, plus optional `image_filename` and `tag`. Free of charge. Images sent to `/improve` are kept; images sent to `/removebg` are not. ### Errors Errors return JSON: `{"errors": [{"code": "...", "title": "...", "detail": "..."}]}`. Nothing is charged on an error. | Status | When | Examples of `code` / title | |---|---|---| | 400 | Invalid request or image | `missing_source`, `multiple_sources`, `invalid_image_url`, `failed_image_download`, `file_too_large`, `invalid_file_type`, `failed_to_read_image`, `resolution_too_high`, `unknown_foreground`, `invalid_size`, `invalid_format`, `invalid_bg_color`, `roi_exceeds_bounds`, `invalid_preset`, `invalid_shadow_angle`, `invalid_shadow_length`, `preset_needs_rgba`, `compose_needs_cutout`, `compose_needs_account`, `compose_bg_image_unsupported` | | 402 | Not enough credits for this size | title `Insufficient credits` | | 403 | Missing or wrong key | titles `Missing API Key`, `API Key invalid` | | 429 | Rate limit reached | title `Rate limit exceeded`, with a `Retry-After` header | | 503 | Temporary processing failure; safe to retry | title `Background removal is temporarily unavailable, please retry` | ### Limits - Upload size: 22 MB. - Output resolution: up to 25 MP (`full`) or 50 MP (`50MP`); PNG output up to 10 MP. - Rate limit: 500 megapixel-images per minute per account. An image counts as its size in megapixels, rounded up, with a minimum of 1. - The first call after a quiet period can take several seconds longer while a GPU starts. Clients should retry on 503. ## 5. remove.bg API compatibility and migration Source: https://www.lassocut.com/migrate/ (last updated 27 September 2026). LassoCut is compatible with the remove.bg API. To migrate, change the base URL and the key; paths, form fields, JSON bodies and response formats do not change, and the key still goes in the `X-Api-Key` header. ``` - https://api.remove.bg/v1.0/ + https://api.lassocut.com/v1.0/ ``` Steps: (1) get a LassoCut key by signing in with GitHub or Google in https://www.lassocut.com/account/ and creating a key; (2) replace the base URL; (3) replace the key. Test a sample of your own images before switching production traffic. ### Compatibility, parameter by parameter The Leonardo.Ai column is the path remove.bg points self-service API customers to; it comes from Leonardo's own migration guide, read on 27 September 2026 ("Not documented" means that guide does not say). | remove.bg API v1.0 | LassoCut | Leonardo.Ai | |---|---|---| | Endpoint `POST /v1.0/removebg` | Same path | Different: `POST /api/rest/v2/generationssync` | | Auth `X-Api-Key` | Same header | No: `Authorization: Bearer` | | `image_file` (multipart) | Yes | No: JSON only (base64, or a separate upload endpoint) | | `image_url` | Yes | Moved: `guidances.image_reference` (URL) | | `image_file_b64` | Yes | Moved: `guidances.image_reference` (BASE64) | | `size` | Yes | Yes, under `parameters` | | `type` | Yes | Yes, under `parameters` | | `format` auto, png, jpg, webp, zip | All five | png, jpg, webp; no `auto`, no `zip` | | `bg_color` | Yes | Yes, under `parameters` | | `bg_image_url`, `bg_image_file` | Both | `bg_image_file`: no; `bg_image_url`: moved to `guidances.background_image_reference` | | `crop`, `crop_margin` | Yes | Yes, under `parameters` | | `scale`, `position` | Yes | Yes, under `parameters` | | `channels` rgba, alpha | Yes | Yes, under `parameters` | | Raw image bytes in the response | Yes (or JSON with `Accept: application/json`) | No: always JSON (URL or base64) | | Headers `X-Credits-Charged`, `X-Type`, `X-Width`, `X-Height` | Yes, plus `X-Foreground-*` | No: cost is in a `cost` object, width and height in the JSON body; no `X-Type` or foreground position | | `GET /v1.0/account` | Yes, same response shape | Not documented | | `POST /v1.0/improve` | Yes | No | LassoCut also accepts `roi`, `type_level`, `semitransparency`, `add_shadow`, `shadow_type` and `shadow_opacity`, the legacy size names (`small`, `regular`, `medium`, `hd`, `4k`), and returns rate-limit headers and `429` with `Retry-After`. ### Before and after (curl) Before: ``` curl -H "X-Api-Key: $REMOVE_BG_API_KEY" \ -F "image_file=@photo.jpg" \ -F "size=auto" \ -o no-bg.png \ https://api.remove.bg/v1.0/removebg ``` After: ``` curl -H "X-Api-Key: $LASSOCUT_API_KEY" \ -F "image_file=@photo.jpg" \ -F "size=auto" \ -o no-bg.png \ https://api.lassocut.com/v1.0/removebg ``` Python, Node.js and PHP before/after versions are on https://www.lassocut.com/migrate/ ; in each, only the URL and the key change. ### Client libraries - Python `removebg` package: the endpoint is a module constant, set it before creating the client: ``` import removebg.removebg removebg.removebg.API_ENDPOINT = "https://api.lassocut.com/v1.0/removebg" from removebg import RemoveBg RemoveBg(LASSOCUT_API_KEY, "errors.log").remove_background_from_img_file("photo.jpg") ``` - PHP `mtownsend/remove-bg`: the endpoint is a public property of the client: ``` $removebg = new \Mtownsend\RemoveBg\RemoveBg($lassocutApiKey); $removebg->endpoint = 'https://api.lassocut.com/v1.0/removebg'; $removebg->file('photo.jpg')->save('no-bg.png'); ``` - Command line: use `lassocut-cli` (section 3). - Node.js `remove.bg` package: its address is built in; call the API with `fetch` as in section 4. ### What is different from remove.bg - Shadows: `add_shadow` and `shadow_type` are accepted. The drop shadow and the cast shadow (also what `3D` and `auto` give) are drawn; the car style is not drawn yet. - The cut-out itself: LassoCut's processing is not remove.bg's, so edges will not be pixel-identical. - Detected type: with `type=auto`, `X-Type` comes from LassoCut's own classifier and can disagree with remove.bg on borderline images. - Existing credits: remove.bg credits cannot be used on LassoCut. ### Migration FAQ - Is LassoCut part of remove.bg? No. It is an independent service operated by JAUPIN Design LLC that implements the publicly documented remove.bg API so existing code keeps working. - Do you keep my images? No. Images sent to `/removebg` are processed in memory and discarded. Only images you send yourself to `/improve` are kept. - Something does not match? Send the request and the response to contact@lassocut.com; compatibility bugs are fixed first. - Alternatives compared: https://www.lassocut.com/remove-bg-alternatives/ and https://www.lassocut.com/best-background-removal-api/ ## 6. remove.bg shutdown facts Source: https://www.lassocut.com/remove-bg-shutdown/ (updated 1 October 2026). The dates below come from the official remove.bg FAQ (https://www.remove.bg/faq, read on 1 October 2026). The closure was reported in early September 2026 (Bitvoxy, 3 September 2026: https://www.bitvoxy.com/standalone-remove-bg-to-close-on-december-1-following-canva-integration/). The heading remove.bg now shows at the top of its FAQ is "remove.bg is moving to Canva". | Part of remove.bg | What happens | Date | |---|---|---| | Website and accounts | No longer available; background removal moves to Canva | 1 Dec 2026, 09:00 CET | | Self-service API | Stops accepting requests; API access moves to Leonardo.Ai | 1 Dec 2026 | | Enterprise API contracts | Not affected, continue as normal | No change | | Photoshop plugin | No longer available | After 1 Dec 2026 | | Other plugins and integrations | Discontinued | 1 Dec 2026 | Where the remove.bg FAQ points people instead: - Single images and bulk batches: background removal inside Canva. - Larger volumes and automated use: Leonardo.Ai's APIs. Canva owns both. - Photoshop users: Affinity (its background removal runs on Canva AI and needs a Canva Pro subscription, according to the FAQ). - Other plugins: apps in Canva's App Marketplace. Why: per the FAQ, remove.bg has been part of Canva since 2021 and Canva has built background removal into its own platform; rather than maintain two separate products, it is consolidating them. Credits and subscriptions, according to the remove.bg FAQ: - Pay-as-you-go credits: unused credits expire on 1 December 2026; the FAQ recommends using them before then and does not mention a refund for them. - Annual subscriptions: work until 1 December 2026 at 09:00 CET, then end without further charges; unused time after that date is refunded pro rata to the original payment method, with nothing to do. - Monthly subscriptions: work until the same date and then end; a final renewal on or after 1 November 2026 is free; cancelling earlier is possible from the remove.bg dashboard. - Invoices and usage reports: export them from the remove.bg Account page before 1 December 2026; the FAQ says they cannot be downloaded afterwards. - Neither the remove.bg FAQ nor Leonardo's migration guide mentions moving remove.bg credits to Leonardo. remove.bg credits cannot be used on LassoCut either. The API moves to Leonardo.Ai: for self-service API customers the FAQ points to Leonardo.Ai (also part of Canva), saying its API uses the same background-removal technology. Leonardo's own migration guide (https://docs.leonardo.ai/docs/migrate-from-the-removebg-api-to-leonardoai , read on 27 September 2026) lists: endpoint `POST https://cloud.leonardo.ai/api/rest/v2/generationssync` instead of `/v1.0/removebg`; `Authorization: Bearer` instead of `X-Api-Key`; JSON-only requests with the input image under `guidances` (URL or base64); `size`, `type`, `bg_color`, `crop`, `crop_margin`, `scale`, `position` and `channels` kept inside a JSON `parameters` object; not supported: `format=zip`, `format=auto`, `bg_image_file` and raw image bytes in the response (always JSON, URL or base64); cost in a `cost` object instead of `X-Credits-Charged`; results kept in the Leonardo library unless `"ephemeral": true`. Price: $0.1047 per image for background removal. What to do before 1 December: export invoices and usage reports from the remove.bg Account page; use remaining pay-as-you-go credits; list everything that calls the remove.bg API (own code, libraries, the command-line tool, plugins, Zapier, Make, n8n automations); choose where each goes and test on a sample of your own images before switching production traffic. Third-party plugins and integrations that call the remove.bg API stop working with it. LassoCut has its own plugins for Photoshop, Figma, WordPress and WooCommerce, GIMP 3, Zapier, Make, n8n, a CLI, an MCP server and a Shopify app (section 3). Migration guide: https://www.lassocut.com/migrate/ ## 7. Privacy essentials Source: https://www.lassocut.com/legal/privacy/ (version 1.1, effective 5 October 2026). Other legal pages: https://www.lassocut.com/legal/terms/ , https://www.lassocut.com/legal/refunds/ , https://www.lassocut.com/legal/notice/ - Controller: JAUPIN Design LLC, operating LassoCut; contact contact@lassocut.com (answers within one month). - Images: images sent for processing are handled in memory and never written to disk. A result is kept in memory for up to 10 minutes so a retry of the same request gets it without paying twice, then deleted. Images are not used for training. - `/improve`: images a user chooses to send to `/improve` are kept to improve the processing, with consent given by sending them, until deletion is requested and at most 24 months. - Data kept: email address and GitHub or Google account identifier (while the account is open, then 30 days); API keys (one-way hash, also stored encrypted with a key outside the database so the key can be shown again, plus the last 4 characters); usage and credit history (while the account is open, then 30 days); purchase records (5 years); technical logs such as IP address, time, endpoint and response code (as kept by hosting providers, at most 90 days); messages sent to support (3 years). - No sale of personal data, no advertising use, no profiling, no automated decisions with legal effect. Photos may show people, but LassoCut only separates the subject from the background: nobody is identified and no biometric identifiers are created. - Card details are entered on Stripe's payment page and never reach LassoCut. - Service providers (each under a data processing agreement): Supabase (database and sign-in, Frankfurt, Germany), Modal Labs (image processing on GPU servers, United States), Vercel (website hosting and routing), Stripe (payments), GitHub and Google (only when used to sign in). - International transfers: LassoCut is operated from the United Arab Emirates; some providers are in the United States. Transfers rely on the EU-US Data Privacy Framework for certified providers and on Standard Contractual Clauses in the providers' DPAs. - Rights: access, correction, deletion, export, restriction, objection and withdrawal of consent, by writing to contact@lassocut.com. Deleting an account deletes keys and history, except records that must be kept by law. - Cookies and storage: no analytics, advertising or tracking cookies, so there is no cookie banner. The browser keeps the sign-in session in local storage until sign-out. Stripe's payment page uses its own cookies. - Children: the service is for businesses and not intended for anyone under 16. - Shopify app: the merchant's store is the customer for that data. LassoCut keeps store details (myshopify domain, scopes, install and uninstall dates) until Shopify asks for erasure (48 hours after uninstall), encrypted access tokens (deleted at uninstall), product and media identifiers in the job history so jobs can be undone, and an automatically created LassoCut account for the store without an email address. The app does not read or store data about the store's customers or orders. Shopify's mandatory privacy webhooks are answered. Payments are handled by Shopify. ## 8. Quick answers - Is there a free tier? Yes: 50 free previews a month, up to 10 a day. - Subscription? No. One-time credit packs; credits do not expire while the account is open. - Cost of one full-size image? 1 credit; $0.09 down to $0.015 depending on the pack. - Can existing remove.bg code be reused? Usually yes: change the base URL to `https://api.lassocut.com/v1.0/` and use a LassoCut key in `X-Api-Key`. - Maximum upload? 22 MB; JPG, PNG or WebP. Output up to 25 MP (`full`) or 50 MP (`50MP`). - Are images stored? No: processed in memory, result held up to 10 minutes for retries, not used for training. - Can remove.bg credits be moved to LassoCut? No. - Who is behind LassoCut? JAUPIN Design LLC, independent of Canva and remove.bg. ## 9. Guides and comparisons - API code guides: https://www.lassocut.com/guides/ - remove.bg alternatives: https://www.lassocut.com/remove-bg-alternatives/ - Best background removal APIs in 2026: https://www.lassocut.com/best-background-removal-api/ - Use cases: https://www.lassocut.com/use-cases/ - Features: https://www.lassocut.com/features/ - Marketplace presets and cast shadow: https://www.lassocut.com/features/marketplace-presets/ - Blog: https://www.lassocut.com/blog/ - Migration examples on GitHub: https://github.com/jaupin94/lassocut-migration-guide ## 10. Languages The site is available in five languages, each with its own home page: - English: https://www.lassocut.com/ - French: https://www.lassocut.com/fr/ - Spanish: https://www.lassocut.com/es/ - Portuguese: https://www.lassocut.com/pt/ - German: https://www.lassocut.com/de/ The API, its parameters and its error messages are in English only. ## 11. Contact Email: contact@lassocut.com Operator: JAUPIN Design LLC, Sharjah Media City Free Zone, Sharjah, United Arab Emirates.