ObjectClearLoader
The node where ObjectClear setup actually happens
- model
Every ObjectClear workflow starts with the same unglamorous node, and it's where most of the pack's setup pain lives. ObjectClearLoader assembles the four pieces of the ObjectClear model - a fine-tuned SDXL UNet, a VAE, and a small "postfuse" module - into a single MODEL_ObjectClear pipe that ObjectClearSampler can actually run. It removes nothing itself. It's the "load your models" step, dressed up as a node.
What actually gets loaded
ObjectClear is a research model from S-Lab at NTU ("Complete Object Removal via Object-Effect Attention", arXiv 2505.22636). Under the hood it's a SDXL UNet fine-tuned specifically for object removal, plus accessories. The loader reads three of the four pieces straight from your standard ComfyUI folders:
- checkpoint - the fine-tuned SDXL UNet, from
models/checkpoints/. It's thediffusion_pytorch_model.safetensorsin theunet/folder on HuggingFace, and the author explicitly says you can grab the fp16 version. - vae - the SDXL VAE, from
models/vae/. - clip - here's the trap: this dropdown is not the text CLIP you'd wire into DualCLIPLoader. It's the postfuse module, a small MLP that fuses the object's visual embedding into the text conditioning so the model knows what it's deleting. It's called "clip" because you drop it into
models/clip/next to your regularclip_l.safetensorsandclip_g.safetensors.
All three are required. Leave one on none and the loader throws "Please select a checkpoint model" (or vae, or clip) - not a crash, just the node stating the obvious.
use_fp16 defaults to on. Keep it there: half the VRAM, no visible quality loss on removal work.
Installing the pack
Install it like any custom node, either through ComfyUI Manager (search "ObjectClear") or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/smthemex/ComfyUI_ObjectClear
Restart ComfyUI. Dependencies are mercifully light - diffusers, transformers, opencv-python, scipy, numpy, pillow, accelerate - and the README's own line is "usually nothing special to install." A stock ComfyUI environment has nearly all of it.
Downloading the models
This is the part the README spends the most time on, and for good reason. Nothing works until you fetch four files from jixin0101/ObjectClear (the paper's first author) into ComfyUI's standard folders:
| HuggingFace folder | goes into | notes |
|---|---|---|
| unet/ | models/checkpoints/ | diffusion_pytorch_model.safetensors, fp16 ok |
| vae/ | models/vae/ | rename freely |
| image_prompt_encoder/ | models/clip_vision/ | it's just clip-vit-large-patch14 - you may already have it |
| postfuse_module/ | models/clip/ | becomes the model.safetensors you pick in the clip dropdown |
| clip_l + clip_g (separate download) | models/clip/ | for the workflow's DualCLIPLoader, likely already installed |
Common issues
The classic mistake is the folder overlap. models/clip/ ends up holding both the postfuse model.safetensors and your normal SDXL text CLIPs, and selecting the wrong file for the clip dropdown builds a silently broken pipe - loads fine, removes nothing. The postfuse file is the one from the postfuse_module/ folder; clip_l/clip_g are for the separate DualCLIPLoader node, not this one.
Second: the first load is slow. The pack assembles a full diffusers SDXL pipeline from configs, so that long "Load model" pause before your first run is expected, not a hang. And remember you're loading an SDXL UNet plus VAE plus CLIP vision - a few gigabytes of VRAM. It'll squeeze onto 8GB with fp16; there's no CPU-offload built in, so bigger cards breathe easier.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| checkpoint | COMBO | 1 options: none | |
| vae | COMBO | 1 options: none | |
| clip | COMBO | 1 options: none | |
| use_fp16 | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MODEL_ObjectClear | — |