Skip to content

Load Advanced ControlNet Model 🛂🅐🅒🅝

Documentation

  • Class name: ControlNetLoaderAdvanced
  • Category: Adv-ControlNet 🛂🅐🅒🅝
  • Output node: False

This node is designed to load an advanced ControlNet model, optionally incorporating a timestep keyframe group for enhanced control. It abstracts the complexities of fetching and initializing ControlNet models, ensuring they are ready for further manipulation or application within a broader system.

Input types

Required

  • control_net_name
    • Specifies the name of the ControlNet model to be loaded. This name is used to locate the model within a predefined directory structure.
    • Comfy dtype: COMBO[STRING]
    • Python dtype: str

Optional

  • timestep_keyframe
    • An optional parameter that allows for the inclusion of a timestep keyframe group, providing additional control and customization capabilities for the loaded ControlNet model.
    • Comfy dtype: TIMESTEP_KEYFRAME
    • Python dtype: TimestepKeyframeGroup or None

Output types

  • control_net
    • Comfy dtype: CONTROL_NET
    • Returns the loaded ControlNet model, ready for use in various applications that require advanced control mechanisms.
    • Python dtype: ControlNet

Usage tips

Source code

class ControlNetLoaderAdvanced:
    @classmethod
    def INPUT_TYPES(s):
        return {
            "required": {
                "control_net_name": (folder_paths.get_filename_list("controlnet"), ),
            },
            "optional": {
                "timestep_keyframe": ("TIMESTEP_KEYFRAME", ),
            }
        }

    RETURN_TYPES = ("CONTROL_NET", )
    FUNCTION = "load_controlnet"

    CATEGORY = "Adv-ControlNet 🛂🅐🅒🅝"

    def load_controlnet(self, control_net_name,
                        timestep_keyframe: TimestepKeyframeGroup=None
                        ):
        controlnet_path = folder_paths.get_full_path("controlnet", control_net_name)
        controlnet = load_controlnet(controlnet_path, timestep_keyframe)
        return (controlnet,)