Remove Background: Basic

Simplest possible example. Remove a background in 2 API calls with all defaults.

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.