Nodes/LCM_Inpaint_Outpaint_Comfy/LCMLoader_controlnet_inpaint
ComfyUI Node

LCMLoader_controlnet_inpaint

The whole LCM + ControlNet inpaint rig in one node

By taabata·Created 3 years ago·Updated 2 years ago· 259
LCMLoader_controlnet_inpaint
    • class
    device
    model_path
    tomesd_value0.6
    mode

    If you want a ControlNet steering an LCM inpaint, this is where the graph starts. The loaders in this pack aren't the usual ComfyUI thing where you grab a checkpoint with a CheckpointLoader - they're diffusers-style loaders that build a whole pipeline object in one node. LCMLoader_controlnet_inpaint is the fanciest of the family: it loads the base model, the LCM scheduler, a ControlNet, and wires them into a single custom inpaint pipeline before you've added anything else.

    It exists because in late 2023, when this pack was written (the author was riding the LCM wave as it broke), there was no clean way to do ControlNet + inpaint + latent consistency in ComfyUI's native graph. So the author wrapped the whole thing - model, scheduler, controlnet - in one node that hands you a finished pipeline on a single wire.

    How it works

    Under the hood it builds a LatentConsistencyModelPipeline_refinpaintcn from three pieces:

    • A diffusers-format base model - by default LCM_Dreamshaper_v7 from your ComfyUI/models/diffusers/ folder.
    • A ControlNetModel loaded from whichever folder you pick in the mode dropdown (it lists subfolders of ComfyUI/models/controlnet, which is why the README says to place controlnet model folders there - a plain .safetensors file won't show up).
    • An LCMScheduler_X set up for 2–4 step inference.

    It then applies ToMe (Token Merging) at the ratio you set in tomesd_value, and on GPU it enables xformers memory-efficient attention plus sequential CPU offload - which is the pack's way of fitting a full pipeline into low VRAM. That offload makes it run on modest cards, at the cost of some speed.

    The inputs that matter

    Three of them, honestly:

    • device - GPU or CPU. GPU enables xformers + CPU offload; CPU just runs the whole thing in float32. There's one reason to pick CPU: prompt weighting (Compel) is broken on GPU in this pack, so the README says to select CPU for that.
    • model_path - leave it empty and it looks for models/diffusers/LCM_Dreamshaper_v7. Type a path if you keep the model elsewhere. This must be a whole diffusers folder (with unet/, vae/, text_encoder/ subfolders), not a safetensors.
    • mode - which ControlNet folder from models/controlnet to load. This is where the real failure mode lives, so more below.
    • tomesd_value - ToMe merge ratio, 0.0–1.0, default 0.6. 0 turns it off. It trades a little quality for a real speedup.

    The single output is a class-typed wire carrying the pipeline. It only plugs into this pack's generate nodes - for this loader, that's LCMGenerate_inpaintv3, which is the one that accepts a control_image alongside the mask.

    How to install it

    It ships in taabata/LCM_Inpaint-Outpaint_Comfy, so install the pack once. ComfyUI Manager → search "LCM_Inpaint_Outpaint_Comfy", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/taabata/LCM_Inpaint-Outpaint_Comfy
    cd LCM_Inpaint-Outpaint_Comfy
    pip install -r requirements.txt
    

    Restart ComfyUI. Then you still need the models, and this is where most people fall over:

    • LCM_Dreamshaper_v7 (diffusers format) from HuggingFace SimianLuo/LCM_Dreamshaper_v7ComfyUI/models/diffusers/, folder named exactly LCM_Dreamshaper_v7.
    • Your ControlNet as a folder in ComfyUI/models/controlnet/.

    Common issues

    The classic error is diffusers complaining it "couldn't connect to huggingface.co" and that LCM_Dreamshaper_v7 "is not the path to a directory containing a config.json". That's the pack's polite way of saying the model isn't where it expects. The path default only exists if you actually downloaded the diffusers folder and named it exactly right. The README also carries an honest warning up top: path handling is Linux-formatted, and Windows users hit errors - the code try/excepts / vs \ in most places, but not everywhere, so don't be shocked if a fresh Windows install needs fiddling.

    One honest take: this is a 2023-era, diffusers-in-ComfyUI approach that today looks clunky next to native ControlNet + LCM-LoRA graphs. But if you're committed to this pack's workflow files, the loader is the correct and only door in.

    CategoryLCM_Nodes/nodes

    Inputs (4)

    NameTypeDefaultDescription
    deviceCOMBO2 options: GPU, CPU
    model_pathSTRING
    tomesd_valueFLOAT0.60–1
    modeCOMBO0 options:

    Outputs (1)

    NameTypeDescription
    classclass