Skip to main content

FASHN VTON v1.5 (local)

FASHN VTON v1.5 is a 972M-parameter try-on model that generates photorealistic results directly in pixel space, with no segmentation mask. Give it a person photo and a garment image — worn on a model or a flat-lay product shot — and it renders the person wearing the garment. OpenTryOn runs it locally through FashnVTONLocalAdapter (Path B, extra="local").

Registry idfashn-vton-1.5 (service vton)
Weightsfashn-ai/fashn-vton-1.5 + fashn-ai/DWPose, about 2 GB total
Codegithub.com/fashn-AI/fashn-vton-1.5
LicenseApache-2.0 code and weights. Third parties: DWPose and YOLOX (Apache-2.0); fashn-human-parser has its own terms — review before commercial use
Precisionbfloat16 on Ampere+ GPUs (RTX 30xx/40xx, A100, H100); float32 on older GPUs and CPU

Compared with the other local try-on models: Leffa has MIT code (check the weight card), CatVTON is CC BY-NC-SA. FASHN VTON 1.5 is the commercial-friendly option. Hosted twin: fashn-tryon-max / fashn-tryon-v1.6 (FASHN API, FASHN_API_KEY).

Verify on your hardware

FASHN's page says it "runs on consumer GPUs" but publishes no VRAM figure, and a technical paper is still forthcoming. No GPU was available when this was integrated, so the weight load and a real try-on were not exercised end to end.

Requirements​

pip install opentryon[local]
pip install "git+https://github.com/fashn-AI/fashn-vton-1.5.git" # provides the fashn_vton package

The package pulls onnxruntime-gpu for DWPose pose detection and needs a working CUDA setup. On CPU-only hosts: pip uninstall onnxruntime-gpu && pip install onnxruntime.

Weights download automatically on first use to ~/.cache/opentryon/fashn-vton-1.5. To use a pre-downloaded folder (model.safetensors plus dwpose/) set:

export FASHN_VTON_WEIGHTS_DIR=/path/to/weights

CLI​

# Model-worn garment, upper body
opentryon vton --model fashn-vton-1.5 \
--person-image person.jpg --garment-image shirt.jpg --category tops

# Flat-lay product shot, dress, quality settings, 2 variations
opentryon vton --model fashn-vton-1.5 \
--person-image person.jpg --garment-image dress_flatlay.png \
--category one-pieces --garment-photo-type flat-lay \
--steps 50 --num-samples 2 --seed 7
FlagNotes
--person-image / --garment-imagePath or URL — required
--categorytops (default), bottoms, one-pieces
--garment-photo-typemodel (default) or flat-lay
--num-samples1–4 images per call
--stepsDiffusion steps: 20 fast, 30 balanced (default), 50 quality
--guidance-scaleClassifier-free guidance (default 1.5)
--seedDefault 42
--no-segmentation-freeTurn off the default segmentation-free mode, which preserves body features and allows unconstrained garment volume
--weights-dir, --deviceOverrides

Python​

from tryon.models.fashn_vton import FashnVTONLocalAdapter

adapter = FashnVTONLocalAdapter() # weights auto-download on first use
images = adapter.generate_and_decode("person.jpg", "garment.jpg", category="tops", num_samples=2)
images[0].save("tryon.png")

Notes​

  • MCP tool: vton_fashn_vton_1_5.
  • Planner pins: fashn vton 1.5, fashn-vton-1.5, fashn vton local. The vton capability default stays kling-ai.
  • Each call loads the pipeline once per adapter instance; reuse the instance for batches.