Load ComfyUI-Vton-Mask Model
Load the Vton mask models (and the 500MB they drag along)
- mask_model
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.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| device | STRING | cpu | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| mask_model | COMFYUI_VTON_MASK_MODEL | — |