LoadStableHairRemoverModel
The loader that powers the bald head generator
- bald_model
A loader that does nothing interesting until you press run, then does all the work. This is the node that turns an SD1.5 checkpoint plus one weight file into the pipeline ApplyHairRemover executes - the "make them bald" half of the Stable-Hair pack. If you've loaded the wrong thing, or nothing, this is where the error messages come from.
What it does
Under the hood it assembles a diffusers ControlNet pipeline on the fly. It builds the base from your SD1.5 checkpoint (from_single_file, using the SD1.5 configs bundled inside the pack's nodes/libs/configs/sd15 folder), then creates a ControlNet as a copy of the UNet itself (ControlNetModel.from_unet), loads the bald model's weights onto it, and swaps the scheduler to UniPCMultistepScheduler. The safety checker is explicitly disabled. On CUDA it runs fp16; on CPU it falls back to fp32. That's the whole show - but it explains why the first run takes so long.
The inputs that matter
- ckpt_name - your SD1.5 base checkpoint from
models/checkpoints. There's no default and no autodetect; pick it yourself. It must be SD1.5-compatible - the bundled configs and controlnet are built around that architecture, so an SDXL or newer checkpoint will just fail. - bald_model - a dropdown listing every model file it finds under
models/diffusers/StableHair. Pick hair_bald_model.bin. Don't grab one of the transfer files by mistake - they're in the same folder, so they'll show up in this list too. - device -
AUTO(uses the device ComfyUI is already on) orCPU.
The output is a single bald_model (BALD_MODEL) connection, and it feeds only one thing: ApplyHairRemover.
Install
ComfyUI Manager → search ComfyUI_StableHair_ll, or clone it in manually:
cd ComfyUI/custom_nodes
git clone https://github.com/lldacing/ComfyUI_StableHair_ll
Restart ComfyUI. Beyond the checkpoint and hair_bald_model.bin (download from HuggingFace, all files into ComfyUI/models/diffusers/StableHair/), the pack's real dependency is diffusers - its pyproject.toml only declares numpy and there's no requirements.txt, so a venv that lacks it throws at import.
Gotchas
The classic failure here is a missing diffusers/sympy import killing the whole pack on startup, and the second-most-common one is picking the wrong .bin in the dropdown and watching the remover produce garbage. Both are easy to confuse because the pack gives you almost no feedback. And remember: it's SD1.5-only, the two images in the workflow need to be multiples of 8 and the same size, and front-facing portraits are a hard requirement. This pack is small and barely documented - the README is one page and the example workflow image is the only diagram you get.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | The name of the checkpoint (model) to load. | |
| bald_model | COMBO | 0 options: | |
| device | COMBO | 2 options: AUTO, CPU |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| bald_model | BALD_MODEL | — |