Comfyui-Kling-Wrapper Virtual Try On
Dress an image of a person in a photo of any garment
- human_image
- cloth_image
- image
Most of this pack is video - that's the Kling wrapper's whole personality. Comfyui-Kling-Wrapper Virtual Try On is the odd one out: a still-image node that takes a photo of a person and a photo of a piece of clothing, and returns an image of the person wearing the garment. If you've ever needed product shots, outfit previews, or an e-commerce mockup without dragging someone into a studio, this is the shortest path in the pack. It's also the only node here that hands you back an actual ComfyUI image tensor instead of a URL string, which makes it feel more like a normal node than its cloud siblings.
The model behind it is kolors-virtual-try-on-v1 or kolors-virtual-try-on-v1-5 - the virtual try-on endpoint of the Kolors family, Kling's image generation line. You're not getting a diffusion dance on your GPU; the heavy lifting happens on Kling's servers and the result comes back ready to preview or save.
How it works
Three inputs:
- model_name -
kolors-virtual-try-on-v1or the newer-v1-5. The newer one is generally the one to try first; keep v1 around if you liked its garment fidelity. - human_image - an IMAGE connection: the person, ideally standing, decent lighting, full garment visible.
- cloth_image - an IMAGE connection: the garment, shot flat and front-facing for best results.
The node base64-encodes both images, submits them to /v1/images/kolors-virtual-try-on, polls until the task completes, downloads the result, and decodes it back into an IMAGE tensor. The single output is image, and it wires into PreviewImage, SaveImage, or any downstream image node just like something from a local loader. The pack's example 08_comfyui_kling_wrapper_virtual_try_on.json is a minimal setup you can crib from.
The practical angle
Where people actually use this: mockup generation, "would I buy this" outfit checks, and quick client previews. The output is a still, not a video, so pair it with Image2Video if you want a model turning in the garment - generate the try-on result here, then feed its image into the video node for a living preview. That's a two-cloud-call chain, so mind the credits, but it's a genuinely smooth pipeline that would take hours to approximate with inpainting.
Installing it
Same pack install as the rest of the wrapper:
cd ComfyUI/custom_nodes
git clone https://github.com/magicwang1111/Comfyui-Kling-Wrapper.git
cd Comfyui-Kling-Wrapper
pip install -r requirements.txt
Or install through ComfyUI Manager by searching "Comfyui-Kling-Wrapper". Then create config.local.json in the repo root with your Kling API credentials and restart ComfyUI. No models to download - this is a paid API generation, so each try-on costs credits.
Common issues
- Both images or nothing - the node needs real IMAGE connections for the human and the garment. Wire both in from a loader or another node; an unconnected IMAGE input is the most common way to get a silent failure.
- Bad source photos, bad results - the API is surprisingly literal. A person in an awkward pose or a garment shot at an angle will produce a worse fit. Spend the extra minute on clean front-facing inputs; it's the single biggest quality lever.
- Vapeur provider - virtual try-on is explicitly unsupported there. Keep
provider_default: "official"inconfig.local.jsonfor this node.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | 2 options: kolors-virtual-try-on-v1, kolors-virtual-try-on-v1-5 | |
| human_image | IMAGE | — | |
| cloth_image | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |