Nodes/ComfyUI-StylizePhoto-MZ/MinusZone - StylizePhotoControlNetApply
ComfyUI Node

MinusZone - StylizePhotoControlNetApply

The ControlNet loader for the stylize sampler

By MinusZoneAI·Created 2 years ago·Updated 2 years ago· 18
MinusZone - StylizePhotoControlNetApply
    • control_net
    tile_control_net_name
    canny_control_net_name

    The name oversells it a little. MZ_StylizePhotoControlNetApply doesn't apply anything - it's a ControlNet loader that bundles up to two ControlNets into one custom output for its sibling, MZ_StylizePhotoKSamplerNode. Run the stylize sampler bare and your img2img pass has no structural guardrails, so at 0.75 denoise faces can drift and details go mushy. This node is the pack's fix: pick a tile ControlNet and/or a canny ControlNet from two dropdowns, wire the single output into the sampler, and the sampler applies them for you.

    In plain ComfyUI you'd build this with a ControlNetLoader plus ControlNetApplyAdvanced and set the weights yourself. Here that whole chain collapses into two dropdowns - and the weights are set for you, hardcoded in the pack's source. The tile condition is preprocessed by resizing to 512px and applied at strength 0.35; canny runs an OpenCV edge pass (cv2.Canny, 100/200) at strength 0.45. Both run from step 0 to 1. You can't tune any of that from the UI, which is either the point (simplicity) or a reason to use a normal ControlNet stack instead, depending on how much control you need.

    The inputs and the one output

    Just two inputs, both required - though "none" is always a valid choice:

    • tile_control_net_name - an SDXL tile ControlNet from your ComfyUI/models/controlnet folder. The author's examples use TTPLanet_SDXL_Controlnet_Tile_Realistic. Tile at low weight is the classic way to restyle while keeping the source structure - that's what makes the clay version of your photo still your photo.
    • canny_control_net_name - an SDXL canny ControlNet, e.g. diffusers/controlnet-canny-sdxl-1.0 from the README. It adds hard-edge structure back, which helps on portraits and architecture.

    Set either to "none" to skip it. The output is control_net, typed StylizePhoto_CONTROL_NET - a custom type that only plugs into MZ_StylizePhotoKSamplerNode's optional control_net input. That's the entire wiring story: loader out → sampler in.

    Install and usage

    Same as the rest of the pack: ComfyUI Manager → search "ComfyUI-StylizePhoto-MZ", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/MinusZoneAI/ComfyUI-StylizePhoto-MZ
    

    then restart. No extra dependencies beyond the pack's own - which includes OpenCV, so if the nodes don't load at all, pip install opencv-python in your ComfyUI environment. The ControlNet files you must supply yourself: grab an SDXL tile and/or canny model, drop them into models/controlnet, and they'll appear in the dropdowns.

    Things to know before you trust it

    • It's a closed little world. The custom output type means this loader won't feed a normal ControlNetApplyAdvanced, and the sampler won't accept a standard ControlNet either. If you want per-pass control weight, this pack isn't built for you - build the tile/canny chain by hand instead.
    • "Apply" is misleading - the sampler does the applying, with preprocessors and strengths it decides on. What you control here is only which ControlNet files get loaded.
    • SDXL-era and archived. The repo hasn't been touched since May 2024 and is now archived. Use SDXL ControlNets (SD 1.5 or Flux files won't fit), and don't expect updates.

    It's a small, honest convenience node: two dropdowns, one wire, composition guardrails for a one-click stylize workflow. If you just want the clay look without thinking about control weight, it does exactly the job.

    CategoryMinusZone - StylizePhoto

    Inputs (2)

    NameTypeDefaultDescription
    tile_control_net_nameCOMBO1 options: none
    canny_control_net_nameCOMBO1 options: none

    Outputs (1)

    NameTypeDescription
    control_netStylizePhoto_CONTROL_NET