Kling Virtual Try-On
Dress a person in a picture of any garment
- auth
- human_image
- cloth_image
- image
- url
- task_id
Two images in, one image out: a person, a piece of clothing, and a result where that person is wearing that clothing. That's Kling Virtual Try-On, and it's the pack's most dead-simple node to understand because there's almost nothing to configure. It's powered by Kling's kolors-virtual-try-on-v1 model - a closed, hosted take on the Kolors try-on idea - so the heavy lifting happens on Kling's servers, not your GPU. The node's job is just to ship both images up, wait for the render, and drop the composite back into your graph.
The use cases write themselves: e-commerce mockups, character design, cosplay planning, checking whether a jacket actually reads on a character before you commit to drawing it. Because the whole thing is one API call, you can chain it in a batch - iterate garment shots, swap backgrounds afterward, run the result through an upscaler. That's the workflow-shaped advantage over doing try-on in a paint program by hand.
The inputs that matter
All three are required, and none of them is a prompt:
- auth -
KLING_AUTHfrom Kling AI Authentication. - human_image - the person, as an IMAGE tensor. Any Load Image output works.
- cloth_image - the garment, as an IMAGE tensor. This is the crucial one: it should be a clean shot of the clothing, ideally flat-lay style with the whole garment visible. A badly lit or partially cut-off cloth photo produces a worse composite, and there's no prompt field to rescue it.
- model_name - currently locked to
kolors-virtual-try-on-v1. There's exactly one choice; leave it.
What comes out
image (the composite as an IMAGE tensor), url (hosted result link), and task_id (for bookkeeping or chaining). You'll use image almost exclusively - wire it into a preview node, a saver, or downstream processing.
One practical note on image quality: the pack warns if either input is below ~300px on a side, and the results scale with how clean your inputs are. A high-res, evenly lit person photo and a crisp garment shot give you a dramatically better composite than two low-res crops. This is one API node where your input hygiene does more than any setting you could tweak - because there are no settings to tweak.
Installing
ComfyUI Manager, search "API Toolkit", install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/IxMxAMAR/ComfyUI-API-Toolkit
cd ComfyUI-API-Toolkit
pip install -r requirements.txt # requests + PyJWT for Kling
Both images get base64-encoded and sent to Kling's servers, so this is a paid call on a closed model - every run costs credits, your images leave the machine, and Kling's content moderation applies. Failures usually surface in the console as a Kling API error, most often a balance issue or a moderation refusal, and the node polls for a couple of minutes before giving up, so don't read a long pause as a hang. Try-on of real people also sits in a consent-sensitive area; it's on you to only feed in people and garments you have the right to.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| auth | KLING_AUTH | — | |
| human_image | IMAGE | — | |
| cloth_image | IMAGE | — | |
| model_name | COMBO | kolors-virtual-try-on-v1 | Virtual try-on model. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| url | STRING | — |
| task_id | STRING | — |