Nodes/ComfyUI-SCAIL-Pose/NLF Model Loader
ComfyUI Node

NLF Model Loader

Point ComfyUI at the SCAIL pose model

By kijai·Created 8 months ago·Updated 4 months ago· 322
NLF Model Loader
    • nlf_model
    nlf_model

    This one's boring on purpose, and that's fine - it just loads a model file so the rest of the pack has something to work with. NLF Model Loader is the entry point to kijai's ComfyUI-SCAIL-Pose, a cleaned-up port of Z.ai's own zai-org/SCAIL-Pose pipeline. NLF stands for Neural Localizer Fields, and unlike DWPose or OpenPose it isn't a flat 2D skeleton detector - it predicts full 3D, multi-person pose and shape from ordinary images. That 3D prediction is what feeds the rest of this pack: rendering it into a 2D pose image, or baking it into an animated 3D skeleton.

    Why you'd reach for it

    If you've seen kijai's "SCAIL pose control" example workflow in ComfyUI-WanVideoWrapper - driving a Wan-based SCAIL generation off an extracted pose sequence instead of raw video - this loader is step one of that graph. Worth knowing going in: Z.ai's newer SCAIL-2 release deliberately dropped the skeleton requirement (it takes a reference image and driving video directly now, no stick figure needed). So depending on which SCAIL checkpoint you're actually driving, this whole NLF extraction pipeline might be optional rather than mandatory - check which workflow you're following before assuming you need it.

    How it works

    There's no real mechanism to explain here beyond "loads a .safetensors file." It scans ComfyUI/models/nlf/ for weight files and hands you back a loaded model object that NLFPredictPoses consumes downstream. All the interesting behavior - detection, 3D estimation, rendering - lives in the nodes after this one.

    The inputs and outputs that matter

    There's exactly one input and one output, so this is short:

    • nlf_model - an enum dropdown listing whatever .safetensors files you've dropped into ComfyUI/models/nlf/. The node's own tooltip is direct about it: "NLF model (.safetensors) from ComfyUI/models/nlf/".
    • Output: nlf_model (type NLF_MODEL) - wire this straight into NLFPredictPoses.

    How to install it

    Via ComfyUI Manager: search ComfyUI-SCAIL-Pose, install, restart. Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/kijai/ComfyUI-SCAIL-Pose
    pip install -r ComfyUI-SCAIL-Pose/requirements.txt
    

    That requirements file pulls in taichi, opencv-python, and pillow - taichi is only actually exercised by the render node later in the pipeline, not by this loader, but it installs alongside everything else.

    Then the model itself. Create ComfyUI/models/nlf/ if it doesn't exist, and drop in nlf_l_multi_0.3.2_fp16.safetensors from Hugging Face: Kijai/WanVideo_comfy, under the SCAIL subfolder. That's the file the pack's own README names explicitly - there's no auto-download here, you're placing it by hand.

    Common issues & troubleshooting

    The dropdown is empty. This is the single most common thing that'll happen with this node, and it's expected behavior, not a bug - the schema literally ships with zero choices until a model file exists in the right folder. If you just downloaded the safetensors file, double check it actually landed in ComfyUI/models/nlf/ (not models/checkpoints or some other folder you had muscle memory for) and restart ComfyUI - this loader scans the folder at startup, not live.

    Wrong file, or a typo in the filename. The README names one specific file: nlf_l_multi_0.3.2_fp16.safetensors. If you renamed it on the way down, or grabbed a different file from the same repo folder, the loader will still show it in the dropdown (it just lists whatever's there) but downstream nodes may choke on it, since nothing here validates the file's contents against what NLFPredictPoses expects.

    You restarted and it's still empty. Check permissions on the nlf folder and that the download actually completed - a partial download from a large HF file is an easy way to end up with a file ComfyUI can see but can't load.

    CategorySCAIL-Pose

    Inputs (1)

    NameTypeDefaultDescription
    nlf_modelCOMBONLF model (.safetensors) from ComfyUI/models/nlf/

    Outputs (1)

    NameTypeDescription
    nlf_modelNLF_MODEL