Nodes/ComfyUI-Vton-Mask/Load ComfyUI-Vton-Mask Model
ComfyUI Node

Load ComfyUI-Vton-Mask Model

Load the Vton mask models (and the 500MB they drag along)

By karthikg-09·Created about a year ago·Updated about a year ago· 1
Load ComfyUI-Vton-Mask Model
    • mask_model
    devicecpu

    This is a loader, and loaders are supposed to be boring. One input, one output, and its entire personality is a 500MB download that happens exactly once.

    ComfyUIVtonMaskLoader is the first half of the ComfyUI-Vton-Mask pack, which lifts the masking/pose preprocessing out of FitDiT so you don't need the 8–10GB diffusion model. The loader's job is to make sure the two preprocessing models are on disk and loaded: a DWPose detector for skeleton/keypoint extraction and a human-parsing model (ATR + LIP semantic segmentation) that labels every pixel of the person. Both get packed into a dict and handed out as the custom COMFYUI_VTON_MASK_MODEL type, which is exactly what the pack's ComfyUIVtonMaskGenerator expects on its mask_model input.

    The one input that matters

    device - a plain string, default "cpu". Leave it alone and the whole thing runs without a GPU, which is the pack's main trick. If you have a GPU and the parsing feels sluggish, set it to "cuda". It's freeform text, not a dropdown, so keep it to cpu or cuda - a typo will just fail at runtime and confuse you for a while.

    There's nothing else to set. No model picker, no path overrides. That's deliberate: this pack has exactly one model set.

    What happens on first use

    The first time the loader runs it checks for humanparsing/parsing_atr.onnx and humanparsing/parsing_lip.onnx inside ComfyUI/models/ComfyUI-Vton-Mask/. Missing? It pulls the whole repo from kg-09/kg-vton-mask on HuggingFace - about 500MB - before loading anything. So the first execution looks like a frozen ComfyUI for a minute or two. It isn't broken; check the console for the download progress. If the download fails mid-way, grab the repo manually and drop it into that exact folder, then restart ComfyUI. The check runs every launch, so a half-downloaded folder gets noticed and re-downloaded.

    Installing it

    ComfyUI Manager, search "ComfyUI-Vton-Mask", install, restart. Or the manual route:

    cd ComfyUI/custom_nodes/
    git clone https://github.com/karthikg-09/ComfyUI-Vton-Mask.git
    

    then restart. The pack pulls onnxruntime, scikit-image, transformers and the rest of requirements.txt; Manager usually handles those, and pip install -r requirements.txt is the fallback if import errors appear.

    The workflow shape

    The intended graph is two nodes of this pack plus a preview:

    LoadImage → ComfyUIVtonMaskLoader → ComfyUIVtonMaskGenerator → PreviewImage
    

    LoadImage feeds the person photo into the generator, the loader feeds the model dict, and the generator emits masked_image, mask, and pose_image. Because the loader's output is a custom type, there's exactly one thing it can plug into - the generator. That's not a bug, it's a sign the pack is small and single-purpose. If you're building a try-on pipeline, this node is the unglamorous but necessary first step; treat it like a battery - install once, forget it's there.

    CategoryComfyUI-Vton-Mask

    Inputs (1)

    NameTypeDefaultDescription
    deviceSTRINGcpu

    Outputs (1)

    NameTypeDescription
    mask_modelCOMFYUI_VTON_MASK_MODEL