FASHN Virtual Try-On
Garment swap from the cloud — no model, no VRAM, just a FASHN API key
- model_image
- garment_image
- IMAGE
Most ComfyUI nodes download a model and eat your VRAM. This one is the opposite. FASHN Virtual Try-On is a single-node client for FASHN's hosted try-on API: you feed it a photo of a person and a photo of a garment, and it returns the person wearing that garment - with the actual inference happening on FASHN's servers, not your machine. No checkpoint, no LoRA, no segmentation model, no GPU work at all. The catch is the one thing you can't install: an API key from a paid FASHN account.
That framing matters, because virtual try-on used to be one of the fiddliest local jobs in the ecosystem - a person mask plus inpainting plus a ControlNet, with a garment that refused to drape correctly. Newer instruction-edit models (Qwen-Image-Edit, for instance) absorbed simple garment swaps entirely. FASHN's pitch is that it does the hard version - preserving the fabric, folds, and logo while fitting a real body - better than a generalist, because it's a specialist. You pay with money and a network round-trip instead of compute.
How it works
Under the hood the node is refreshingly honest about being an API shim. It takes your two images, downscales anything bigger than 2000px on the longest edge (downsample only, never upscale), JPEG-encodes them, base64s them, and POSTs them to https://api.fashn.ai/v1/run with the model name hardcoded to tryon-v1.6. Then it polls /status/<id> every two seconds until the job finishes, downloads the results, and hands them back as an IMAGE tensor.
A couple of details worth knowing from the source: the progress bar is a guess, not a telemetry feed - it estimates from mode (performance ≈ 7s, balanced ≈ 10s, quality ≈ 19s base) and num_samples. And there's a hard 3-minute polling timeout, so if the queue is long or you pick quality + 4 samples, the node can time out even though FASHN's side is still working. Each HTTP call retries up to three times.
The inputs that matter
Only two inputs are required, and both are images - no prompts, no text. Everything else is optional:
- model_image - the person. Full-body or three-quarter shots work best; the node is looking for someone to dress.
- garment_image - the clothing. Both inputs also accept a URL string if you'd rather reference a hosted image.
- category (
auto/ tops / bottoms / one-pieces) - help it out when the garment type isn't obvious;autousually gets it. - mode (performance / balanced / quality) - the speed-vs-fidelity dial. Quality looks best and costs the longest queue time.
- num_samples (1–4) - how many variations to generate. Each costs a separate API run.
- fashn_api_key - paste your key here, or skip it and set the
FASHN_API_KEYenvironment variable instead.
The output is a batched IMAGE (batch size = num_samples), so wire it straight into a Preview Image or Save Image node and you're done.
Installing it
Install is painless because there's nothing heavy to pull in - no model files, no exotic dependencies, just requests, which ComfyUI already ships.
- ComfyUI Manager → search "FASHN Virtual Try-On" → Install, or
cd ComfyUI/custom_nodes && git clone https://github.com/fashn-AI/ComfyUI-FASHN
Restart ComfyUI, then get a key: create a free account at app.fashn.ai, go to Settings → API → create a key, and set it as the FASHN_API_KEY environment variable. The node works with the key pasted into the field too, but the README is right to warn you: pasting it into a node means it ends up in your workflow file, and shared workflows leak keys. Environment variable is the way.
Where people get burned
It's not free and it's not local. Every run is an API call against your FASHN credit balance, and the queue plus a 3-minute timeout can bite on slow modes. If you wanted offline try-on, this is the wrong tool.
Quality is good, not magic. When FASHN launched the node in late 2024, the r/StableDiffusion reaction was hostile - it's a closed-source API in a famously open-source community - and the reviewers who did test it flagged real problems: hallucinated buttons, fabric folding wrong around zippers, results "fine for comps, not a storefront." Vet anything you'd publish.
There's now a local alternative. FASHN later open-sourced its own model - fashn-vton-1.5, Apache 2.0, maskless, ~972M params, runs on consumer GPUs - and the community built ComfyUI wrappers for it. If you don't want to pay per generation, that's the path. This node is for people who already have a FASHN account or want the quality/scale of the hosted model without babysitting a GPU.
Bottom line: it's a thin, well-behaved wrapper for a genuinely good hosted service. Reach for it when you have a key and want try-on results in a ComfyUI workflow; skip it if you want free local inference.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| model_image | IMAGE | — | |
| garment_image | IMAGE | — | |
| categoryopt | COMBO | auto | 4 options: tops, bottoms, one-pieces, auto |
| modeopt | COMBO | balanced | 3 options: performance, balanced, quality |
| garment_photo_typeopt | COMBO | auto | 3 options: auto, model, flat-lay |
| moderation_levelopt | COMBO | permissive | 3 options: none, permissive, conservative |
| segmentation_freeopt | BOOLEAN | true | — |
| seedopt | INT | 42 | — |
| num_samplesopt | INT | 11–4 | — |
| fashn_api_keyopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |