Nodes/asyncdiff_comfyui/ADControlNetLoader
ComfyUI Node

ADControlNetLoader

Steer your async video frames with structure — ADControlNetLoader

By SlackinJack·Created 2 years ago·Updated about a year ago· 0
ADControlNetLoader
    • AD_CONTROLNET
    controlnet
    scale1.00

    ControlNet is the reason you can tell a video model "the subject goes here, the camera moves like this" instead of crossing your fingers. This node is how that idea gets into the AsyncDiff pack: it loads a ControlNet and hands it to the pack's own video sampler in the format that sampler expects.

    The controlnet nodes you already know from ComfyUI's core - ControlNetLoader plus ControlNetApply - produce ComfyUI-native conditioning that the KSampler family understands. That doesn't cross the boundary into this pack. asyncdiff_comfyui runs its own diffusers-based pipelines, so it needs its own loader, and ADControlNetLoader is that loader. It exists because the two ecosystems don't share a wire format.

    How it works

    ControlNet conditions generation on spatial structure pulled from a reference image - edges, depth, pose, lineart. The mechanism is a trainable copy of the UNet's encoder blocks that receives the condition image, and its outputs get added to the frozen UNet's skip connections. The prompt keeps its semantics; ControlNet decides where things go. For video that matters double: it's how you keep a character locked to the same spot across 25 frames rather than wandering off.

    Inputs are just two:

    • controlnet - dropdown of the ControlNet models the pack can see. You're working in the SD 1.5 / AnimateDiff and SVD era here, so think Canny, depth, OpenPose, lineart - the classic menu, not the new union models.
    • scale - strength, default 1.0. If your structure is fighting the prompt, drop it toward 0.3–0.7 for loose guidance; push toward 1.0+ for strict adherence.

    Output is one wire, AD_CONTROLNET, and it plugs into exactly one place in this pack: the optional control_net input on ADADSampler (the AnimateDiff sampler). It's not wired into the SD or SVD samplers - don't go hunting for the input that isn't there.

    Install

    Same story as every node in this pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/SlackinJack/asyncdiff_comfyui.git
    cd asyncdiff_comfyui
    ./clone_asyncdiff_repo.sh   # required - pulls the upstream AsyncDiff framework
    

    or use ComfyUI Manager and search "asyncdiff_comfyui". Restart after.

    Where people get burned

    First, the multi-GPU requirement - this pack parallelizes the denoiser across cards, so if you're on a single GPU this node loads a ControlNet that then sits there while your sampler is slower than stock ComfyUI. Second, the model dropdown being empty is almost always a model-folder problem: the pack's README doesn't document where it scans for ControlNet files, so check the pack directory after install. And remember the support reality: the README's stated working path is stable-video-diffusion-img2vid, and ControlNet here is part of the AnimateDiff sampler that sits outside that tested lane. It works, but you're the QA department.

    CategoryAsyncDiff/Loaders

    Inputs (2)

    NameTypeDefaultDescription
    controlnetCOMBO0 options:
    scaleFLOAT1.00-4294967295–4294967295

    Outputs (1)

    NameTypeDescription
    AD_CONTROLNETAD_CONTROLNET