LassoCut: remove image backgrounds with PHP
The LassoCut API removes the background from an image with a single POST request. This guide covers a tested PHP example using cURL, useful options, common errors, and how to repoint an existing remove.bg client.
Quickstart
Every request needs your key in the X-Api-Key header and exactly one image source. This example uses size=preview, which is covered by your account's 50 free previews per month. The PHP curl extension is the only requirement.
$ch = curl_init("https://api.lassocut.com/v1.0/removebg");
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ["X-Api-Key: " . getenv("LASSOCUT_API_KEY")],
CURLOPT_POSTFIELDS => ["image_file" => new CURLFile("photo.jpg"), "size" => "preview"],
CURLOPT_RETURNTRANSFER => true,
]);
$png = curl_exec($ch);
file_put_contents("no-bg.png", $png);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE), "\n";
Tested against the production API on 27 September 2026 with this exact request; it returned a valid PNG.
Point an existing PHP client at LassoCut
Already using the mtownsend/remove-bg package (Composer) to call remove.bg? Its endpoint is a public property you can set after constructing the client:
$removebg = new \Mtownsend\RemoveBg\RemoveBg(getenv("LASSOCUT_API_KEY"));
$removebg->endpoint = 'https://api.lassocut.com/v1.0/removebg';
$removebg->file('photo.jpg')->save('no-bg.png');
Verified from the package's source on GitHub (mtownsend5512/remove-bg), read on 27 September 2026. It is a third-party, community-maintained package: not produced by LassoCut and not affiliated with remove.bg. For any other HTTP client, set its base URL to https://api.lassocut.com/v1.0 and keep the same X-Api-Key header.
Useful options
| Field | Example | Description |
|---|---|---|
size | preview, full, auto | Preview costs 0.25 credit; full and 50MP cost 1 credit; auto picks the largest size your balance allows. |
format | png, jpg, webp | Auto (default) returns PNG when the result has transparency, JPG otherwise. |
type | person, product, car | Selects the model. Auto (default) detects the subject. |
crop, crop_margin | true, "30px" | Crops the result to the subject, with an optional margin. |
bg_color | "81d4fa" | Fills the background with a hex colour, a colour name, or hex with alpha. |
Full list, including framing, shadows and background images: API reference.
Common errors
Errors return JSON: {"errors": [{"code": "…", "title": "…"}]}. A non-2xx response still returns a body; check curl_getinfo($ch, CURLINFO_HTTP_CODE) and decode it with json_decode($png, true) when it isn't 200. Nothing is charged on an error.
| Status | When | code |
|---|---|---|
| 400 | No image, or two sources given | missing_source, multiple_sources |
| 402 | Not enough credits for this size | title Insufficient credits |
| 403 | Missing or wrong X-Api-Key | titles Missing API Key, API Key invalid |
| 429 | Rate limit reached | title Rate limit exceeded, with Retry-After |
Full list: API reference.
Next steps
Read the full API reference for every parameter and header, or the migration guide if you're moving code that already calls remove.bg. No key yet? Create a free account, or try LassoCut on your image first, no key required.