Remove an image background
Isolate your subject on a transparent background for layouts and compositing.
Download WorkflowTry in Cloud API documentation
Inside the workflow
A read-only preview of the source template. Open it in Cloud to explore the nodes and make changes.
Loading the graph
Open full-size workflow preview- Author
- ComfyUI
Call this model from your code
The request below uses the same prepared graph and settings as the Playground. Each submission can start a paid run; do not automatically retry a submission whose outcome is unknown.
1 Get API key ↗
What you need
- Runs on
- Comfy Cloud
- Key
- COMFY_API_KEY
- Your files
- Uploaded by the code from their urls
Needs a paid Cloud plan and credits.
# Python 3.10+: pip install comfy-sdk==0.4.0
import os
from comfy_sdk import Comfy
api_key = os.environ.get("COMFY_API_KEY", "").strip()
if not api_key: raise RuntimeError("Set COMFY_API_KEY")
os.environ.setdefault("COMFY_BASE_URL", "https://cloud.comfy.org")
client = Comfy(api_key=api_key)
workflow = client.workflows.from_json({
"17": {
"class_type": "LoadImage",
"inputs": {
"image": "UPLOADED_image_FILENAME"
},
"_meta": {
"title": "Load Image"
}
},
"18": {
"class_type": "SaveImage",
"inputs": {
"filename_prefix": "Background_Removed",
"images": [
"19:16",
0
]
},
"_meta": {
"title": "Save Image"
}
},
"19:13": {
"class_type": "RemoveBackground",
"inputs": {
"bg_removal_model": [
"19:14",
0
],
"image": [
"17",
0
]
},
"_meta": {
"title": "Remove Background"
}
},
"19:14": {
"class_type": "LoadBackgroundRemovalModel",
"inputs": {
"bg_removal_name": "birefnet.safetensors"
},
"_meta": {
"title": "Load Background Removal Model"
}
},
"19:15": {
"class_type": "InvertMask",
"inputs": {
"mask": [
"19:13",
0
]
},
"_meta": {
"title": "Invert Mask"
}
},
"19:16": {
"class_type": "JoinImageWithAlpha",
"inputs": {
"alpha": [
"19:15",
0
],
"image": [
"17",
0
]
},
"_meta": {
"title": "Join Image with Alpha"
}
}
})
workflow.set_input("17", "image", client.assets.from_url("https://cdn.jsdelivr.net/gh/Comfy-Org/workflow_templates@90c71fb78b3726392d010ff62a8e79e92d7296ad/input/the_lily_veil.png"))
# run() also passes api_key to the partner nodes in this workflow.
job = client.run(workflow, api_key=api_key)
for output in job.get_outputs("18"):
output.to_file(output.name)