Overview
The background remover endpoint identifies the foreground subject in an image and returns it on a transparent background. Send the image, receive a JSON response containing a signed URL to the transparent PNG. Priced at $0.01 per image, with batch and volume discounts available. No GPU or model hosting on your side.
Endpoint reference
| Endpoint | Method | Description |
|---|---|---|
/v1/remove-background | POST | Remove the background of an image, return a transparent PNG. |
Request
Send the image as multipart/form-data.
| Parameter | Type | Required | Description |
|---|---|---|---|
image | binary | Yes | The image to process. JPEG, PNG, or WebP. Max 10 MB. |
Response
200 OK returns a JSON object with a top-level created timestamp and
a data array. The processed image is the first entry.
| Field | Type | Description |
|---|---|---|
created | string | ISO 8601 timestamp of when the result was generated. |
data[].url | string | Signed URL to the transparent PNG. Valid for ~24 hours; download to keep. |
data[].is_image_safe | boolean | Whether the image passed safety checks. If false, url is
empty. |
Response headers
Every response carries x-request-id. Capture it and include it in support
tickets to make debugging fast.
Errors
| Status | Meaning |
|---|---|
400 | Invalid input. |
401 | Missing or invalid API key. |
422 | Image failed safety checks. |
429 | Rate limit exceeded. |
Remove a background
Api-Key headerimport requests
with open("input.jpg", "rb") as f:
response = requests.post(
"https://api.ideogram.ai/v1/remove-background",
headers={"Api-Key": "<apiKey>"},
files={"image": ("input.jpg", f, "image/jpeg")},
timeout=60,
)
response.raise_for_status()
request_id = response.headers.get("x-request-id") # save for support tickets
result = response.json()["data"][0]
if not result["is_image_safe"]:
raise RuntimeError(f"safety check failed (request {request_id})")
# Signed URL is valid for ~24h; download to keep.
png = requests.get(result["url"], timeout=60).content
with open("cutout.png", "wb") as out:
out.write(png) Response shape
The endpoint returns a data array. The processed image is the first entry. The
url is a signed link; download the bytes if you need to retain the image.
{
"created": "2026-05-05T03:43:30.424309+00:00",
"data": [
{
"url": "https://ideogram-ephemeral.ideogram.ai/<signed-url>.png",
"is_image_safe": true
}
]
} Tips
- Download the result. The
urlis signed and valid for roughly 24 hours. Persist the bytes if you need to keep the image; do not hotlink the signed URL from production assets. - Stay under 10 MB. Larger images return
400. Resize or recompress before uploading. The model handles up to ~4K source images well; bigger inputs mostly cost upload time. - Set a generous client timeout. The endpoint is synchronous and a typical 1 MB request finishes in a few seconds, but harder inputs (refraction, fine hair, intricate cutouts) can take longer. A 60-second client timeout is a safe default.
- Run in parallel for catalogs. Scale throughput by running many requests concurrently
up to your account's rate limit.
429responses are retryable with backoff. - Check
is_image_safebefore usingurl. Whenfalse, the URL is empty; the input failed a safety check. - Capture
x-request-id. Log it on every call. It is the fastest way to get a specific failure investigated. - Re-encode the result if you need EXIF or metadata. The response is a transparent PNG with a clean alpha channel and no input metadata; re-add color profile or copyright tags downstream if your pipeline needs them.
- Pre-resize aggressively for thumbnails. Output resolution matches the input. If you only need 1024px assets, resize before uploading to save bandwidth and time on both legs.
Built for
- Developers. A single REST endpoint accepts multipart form data and returns a signed PNG URL. No GPU, no model hosting, no SDK lock-in. Call it from any language with an HTTP client and integrate it into a backend, queue worker, or CLI in an afternoon.
- Product photography. Strip studio backgrounds, mannequins, and shadows from hero shots, packshots, and lifestyle photography. The output is a transparent PNG ready to drop into listing templates without retouching.
- E-commerce and marketplaces. Run entire catalogs in batch. Same edge quality on the first SKU and the ten-thousandth, with consistent framing for Amazon, Shopify, Etsy, and your own storefront. Refresh listings on a recurring schedule without re-touching files by hand.
- Marketing and advertising. Cut subjects from raw shoots, stock, or AI generations and recomposite onto any background. The transparent PNG composites cleanly into Photoshop, Figma, and ad-builder pipelines for campaign assets at volume.
- Graphic design. Pull artwork off its source background and reuse across posters, packaging, merchandise, and digital surfaces. Anti-aliased typography, fine illustration linework, and intricate cutouts are preserved.
- Enterprise. High-volume batch processing with priority throughput, dedicated support, and volume-based pricing. Contact [email protected] for a quote.