ComfyUI Node

Virtual try-on

Clothes on a person, without the Photoshop

By GoogleCloudPlatform·Created 8 months ago·Updated about a month ago· 47
Virtual try-on
  • person_image
  • product_image
  • Generated Image
base_steps32
person_generationALLOW_ADULT
number_of_images1
seed0
add_watermarkfalse
safety_filter_levelBLOCK_MEDIUM_AND_ABOVE
gcp_project_id
gcp_region

Virtual try-on is the rare node in this pack that's not about generating something from nothing - it's about putting a garment on a specific person and keeping the garment looking like the product photo. The VirtualTryOn node takes an image of a person and an image of a piece of clothing, and returns the person wearing it. For anyone doing product mockups, fashion content, or "what would this look like on me" workflows, that's a very specific problem that general image models mangle and this one handles properly.

How it works

It's a thin client over Google's virtual-try-on-001 model on Vertex AI, using the regional PredictionServiceClient rather than the generic genai client. The node sends the person image and the product image to the model endpoint, waits for the prediction, and decodes the result back into a standard ComfyUI IMAGE tensor. What you get out is one or more variations of the person wearing the garment, with the garment's details - logo, pattern, fit - carried over from the product shot instead of hallucinated.

Inputs that matter

  • person_image - the image of the person. Required.
  • product_image - the garment/product shot. Required.
  • base_steps - inference steps, 1–50, default 32. Higher generally means better quality for a longer wait; this is one of the few levers you'll actually tune.
  • number_of_images - up to 4 variations per product, billed per image.
  • person_generation - ALLOW_ADULT or DONT_ALLOW, the people-policy switch.
  • seed - reproducibility; 0 lets the API handle randomness.
  • add_watermark - toggles a SynthID digital watermark on the output. The README notes it disables the seed when on.
  • safety_filter_level - the filter strictness, medium-and-above by default.

Optional: gcp_project_id and gcp_region, the pack-standard inputs every node here needs.

Installing it

Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/GoogleCloudPlatform/comfyui-google-genmedia-custom-nodes
pip install -r comfyui-google-genmedia-custom-nodes/requirements.txt

Or ComfyUI Manager → search comfyui-google-genmedia-custom-nodes → Install. Restart and it's under Google AI/Virtual-Try-On. The pack ships a sample virtual-try-on workflow with input images, and the announcement thread on r/comfyui pointed people straight to it - worth grabbing if you want a known-good starting point. Set your project/region, authenticate with gcloud auth application-default login, and each prediction is a billed Vertex AI call.

The honest take

This is a niche node in a pack that's mostly about video and image generation, but it fills a gap nothing else here touches. The limitations are the usual Google ones: it's a paid API, it's subject to the safety filter, and garment fidelity depends on how clean your product shot is - a well-lit, single-garment photo gets much better results than a busy one. For e-commerce mockups and quick fit checks it's genuinely handy; for production-grade catalog work you'd still want to retouch. Just don't expect it to replace a fashion photographer, because it won't.

CategoryGoogle AI/Virtual-Try-On

Inputs (10)

NameTypeDefaultDescription
person_imageIMAGE
product_imageIMAGE
base_stepsINT321–50
person_generationCOMBOALLOW_ADULT2 options: ALLOW_ADULT, DONT_ALLOW
number_of_imagesINT11–4
seedoptINT00–42949672950 seed let's VTO API handle randomness. Seed works with enhance_prompt disabled
add_watermarkoptBOOLEANfalse
safety_filter_leveloptCOMBOBLOCK_MEDIUM_AND_ABOVE4 options: BLOCK_LOW_AND_ABOVE, BLOCK_MEDIUM_AND_ABOVE, BLOCK_ONLY_HIGH, BLOCK_NONE
gcp_project_idoptSTRINGGCP project id where Vertex AI API will query the model
gcp_regionoptSTRINGGCP region for Vertex AI API

Outputs (1)

NameTypeDescription
Generated ImageIMAGE