Remove Background: Basic
Simplest possible example. Remove a background in 2 API calls with all defaults.
Only
variant_name is required in output_variants. Everything else has sensible defaults: 12MP, PNG format, high quality, transparent background.import requests
API_KEY = "YOUR_API_KEY"
# Step 1 — Get token
token_response = requests.post(
"https://backgroundcut.co/api/v3/remove-bg/token/",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"output_variants": [
{
"variant_name": "result"
# Only variant_name is required.
# Defaults: 12MP, png, high quality, transparent bg
}
]
},
timeout=60
)
token_response.raise_for_status()
access_token = token_response.json()["access_token"]
# Step 2 — Send image
with open("photo.jpg", "rb") as f:
result = requests.post(
"https://api.backgroundcut.co/v3/remove-bg/",
files={"image": f},
data={"token": access_token},
timeout=300
)
result.raise_for_status()
output = result.json()
print(output["output_urls"]["result"])
# Download
import urllib.request
urllib.request.urlretrieve(output["output_urls"]["result"], "output.png")Response
{
"status": "success",
"unique_filename": "abc123-def456-...",
"input_url": "https://...",
"output_urls": {
"result": "https://...result.png"
}
} Save unique_filename if you want to generate more variants later without re-uploading.