ComfyUI native implementation of IC-Light.
Download the repository and unpack into the custom_nodes folder in the ComfyUI installation directory.
Or clone via GIT, starting from ComfyUI installation directory:
cd custom_nodes
git clone git@github.com:huchenlei/ComfyUI-IC-Light.git
IC-Light main repo is based on diffusers. In order to load it with UnetLoader in ComfyUI, state_dict keys need to convert to ldm format. You can download models with ldm keys here: https://huggingface.co/huchenlei/IC-Light-ldm/tree/main
There are 2 models:
- iclight_sd15_fc_unet_ldm: Use this in FG workflows
- iclight_sd15_fbc_unet_ldm: Use this in BG workflows
After you download these models, please put them under ComfyUI/models/unet
and load them with UNETLoader
node.
You MUST install following nodes first for IC light to work properly.
- ComfyUI-layerdiffuse: Although not used in the workflow, the patching of weight load in layerdiffuse is a dependency for IC-Light nodes to work properly.
- ComfyUI-KJNodes: Provides various mask nodes to create light map.
- ComfyUI-Easy-Use: A giant node pack of everything. The remove bg node used in workflow comes from this pack.
- ComfyUI_essentials: Many useful tooling nodes. Image resize node used in the workflow comes from this pack.
Light from right Light from left
IC-Light's unet is accepting extra inputs on top of the common noise input. FG model accepts extra 1 input (4 channels). BG model accepts 2 extra input (8 channels). The original unet's input is 4 channels as well.
If you see following issue, it means IC-Light's unet is not properly loaded, and you need to install ComfyUI-layerdiffuse first.
RuntimeError: Given groups=1, weight of size [320, 4, 3, 3], expected input[2, 8, 64, 64] to have 4 channels, but got 8 channels instead
If you see following error, it means you are using FG workflow but loaded the BG model.
RuntimeError: Given groups=1, weight of size [320, 8, 3, 3], expected input[2, 12, 64, 64] to have 8 channels, but got 12 channels instead
If you see following error, it means you are using FG workflow but loaded the BG model.
RuntimeError: Given groups=1, weight of size [320, 12, 3, 3], expected input[2, 8, 64, 64] to have 12 channels, but got 8 channels instead