Nodes/ComfyUI_Stable_Makeup/StableMakeup_LoadModel
ComfyUI Node

StableMakeup_LoadModel

The Loader That Drags a Whole Stable Diffusion Pipeline Into Your Graph

By smthemex·Created 2 years ago·Updated about a year ago· 108
StableMakeup_LoadModel
    • model
    ckpt_name
    clipopenai/clip-vit-large-patch14
    lora
    lora_scale1.0
    lora_trigger_wordsbest
    scheduler

    StableMakeup_LoadModel is the heavy front half of ComfyUI's port of Stable-Makeup, the 2024 paper that transfers a real photo's makeup look onto another face. It's not a checkpoint loader in the ComfyUI sense. It's a node that builds an entire Stable Diffusion 1.5 pipeline in-process - diffusers pipeline, three trained encoders, optional LoRA - and hands the whole thing to its sibling StableMakeup_Sampler as one opaque MAKEUP_MODEL blob. Think of it as "load everything, once."

    What it's actually doing

    When you hit Run, the node does a lot, all at once:

    • Loads any SD 1.5 checkpoint you pick as a diffusers StableDiffusionPipeline (the pack ships its own sd15_config, so it doesn't touch ComfyUI's normal checkpoint plumbing).
    • Clones the UNet into two ControlNet-style encoders - one for identity, one for pose - and loads the three pytorch_model*.bin weight files from ComfyUI/models/stable_makeup into them.
    • Loads the makeup detail encoder, which is a CLIP ViT-L image encoder (the clip_l.safetensors file) plus SSR attention layers and a resampler. This is the part that reads your reference makeup image later.
    • If you picked a LoRA, it loads and fuses it into the UNet.

    That's why this node is slow to fire the first time. Everything runs in float32 on CUDA, and the makeup encoder plus two ControlNet clones sit on top of a full SD 1.5 UNet. You'll feel it.

    The inputs that matter

    • ckpt_name - any SD 1.5 checkpoint. This model family is SD 1.5-only; an SDXL file will not work here.
    • clip - a file from ComfyUI/models/clip, which per the README should be clip_l.safetensors. It's the image-encoder weights for the makeup detail encoder.
    • lora / lora_scale / lora_trigger_words - optional. The README notes you can attach an acceleration LoRA (for fast 4-step runs) or a regular one. One confusing bit: lora_trigger_words isn't a prompt, it's just the adapter name the code registers the LoRA under - default "best" is fine to leave alone.
    • scheduler - 19 sampler options, from DDIM and Euler through the DPM++ family to LCM and UniPC. Default DDIM is fine to start; LCM pairs with an acceleration LoRA.

    Output

    A single model output of type MAKEUP_MODEL. It only plugs into one thing: StableMakeup_Sampler. There's no prompt or seed anywhere in this graph - the "prompt" is the makeup image itself, which is why the whole thing feels different from a normal KSampler workflow.

    Installing it

    ComfyUI Manager has it (search "Stable Makeup"), or clone manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/smthemex/ComfyUI_Stable_Makeup
    

    Then install requirements (insightface is the only active line) and restart. The real pain is the model files, which are scattered across HuggingFace, Google Drive, and Dropbox - all of them go in ComfyUI/models/stable_makeup:

    mobilenet0.25_Final.pth  (or resnet50.pth)
    pytorch_model.bin
    pytorch_model_1.bin
    pytorch_model_2.bin
    spiga_300wpublic.pt
    

    Plus an SD 1.5 checkpoint in models/checkpoints and clip_l.safetensors in models/clip.

    Where people get burned

    • Missing Drive files. The loader reads pytorch_model*.bin straight off disk and throws a file-not-found if you skipped a download. The downloads are the install; don't skip them.
    • VRAM. Full pipeline plus three encoders in float32 is not a light lunch. If it OOMs, there's no offload toggle - this pack assumes a decent GPU.
    • Module errors. The README's one-liner is that ComfyUI bundles most deps and you only add insightface, then install whatever else the traceback names individually. ComfyUI Manager handles the requirements automatically when it installs the node.
    • It's not the fast, portable path. smthemex wraps papers fast (the same author ships ComfyUI ports of lots of research models), so expect research-code energy: working, but not optimized the way a native ComfyUI loader is. Community reports on the broader Stable-Makeup port confirm it's fiddly to get running the first time.
    CategoryStable_Makeup

    Inputs (6)

    NameTypeDefaultDescription
    ckpt_nameCOMBO0 options:
    clipSTRINGopenai/clip-vit-large-patch14
    loraCOMBO1 options: none
    lora_scaleFLOAT1.00–1
    lora_trigger_wordsSTRINGbest
    schedulerCOMBO19 options: DDIM, Euler, Euler a, DDPM, DPM++ 2M, DPM++ 2M Karras, +13

    Outputs (1)

    NameTypeDescription
    modelMAKEUP_MODEL