← All guides

Virtual Try-On API

A virtual try-on API takes two images — a person and a garment — and returns the person wearing that garment. E-commerce teams use it for product pages, fashion apps use it for personalization, and marketplaces use it to generate on-model photos without a photoshoot.

On Replicate the clear leader is IDM-VTON (1.5M+ runs), with OOTDiffusion as the main alternative and a handful of niche e-commerce pipelines around them.

Quick Recommendation

Start with cuuupid/idm-vton. It is the most-used try-on model on Replicate by a wide margin, takes a garment image plus a person image, supports a category input (upper body, lower body, dresses), and returns results in the tens-of-seconds range.

Use viktorfa/oot_diffusion as the comparison candidate — same person + garment workflow, different underlying architecture, useful as an A/B alternative when IDM-VTON struggles with a garment type.

Look at wolverinn/ecommerce-virtual-try-on when you want a prompt-driven pipeline (it exposes Stable Diffusion-style controls like prompt, cfg_scale, and scheduler) rather than a fixed two-image workflow.

Keyword-Matched Use Cases

Search intent What the user likely needs Best starting point
Virtual try-on API Person photo + garment photo in, dressed person out IDM-VTON
Clothing try-on AI Try shirts, pants, dresses on model photos IDM-VTON with the right category
E-commerce product photos on models Batch on-model imagery without photoshoots IDM-VTON, OOTDiffusion as fallback
Outfit visualization app Interactive try-on in a consumer app IDM-VTON (watch latency), queue results
AI fashion model generator Generate the model too, not just the garment swap Prompt-driven pipelines, then try-on

Model Comparison

Model Runs on Replicate Example speed Inputs Best for
cuuupid/idm-vton 1.5M+ ~17s garment + person image, category, steps, seed Default choice, best garment fidelity
viktorfa/oot_diffusion 26K+ ~46s model_image, garment_image, steps, guidance_scale A/B alternative architecture
wolverinn/ecommerce-virtual-try-on 3K+ ~42s prompt, cfg_scale, scheduler, max_width Prompt-controlled e-commerce pipelines

What to know before integrating

Latency is tens of seconds, not real-time. All current try-on models are diffusion-based; example runs range from ~17s (IDM-VTON) to ~45s. For interactive apps, run predictions async and notify the user, or pre-generate for known garment/model pairs.

Garment category matters. IDM-VTON's category input (upper body / lower body / dresses) meaningfully changes results — misclassifying a dress as an upper-body garment produces artifacts.

Input photo quality dominates output quality. Frontal person photos with clear garment visibility work best. Occluded poses, side angles, and layered clothing are where all current models degrade.

For the surrounding model landscape, browse the virtual try-on tag and the fashion tag.

Practical Decision

Use IDM-VTON as the production default — it has the usage, the garment-category control, and the best general fidelity. Keep OOTDiffusion wired up as a fallback for garments where IDM-VTON underperforms. Consider prompt-driven pipelines only when you need to control the scene, not just swap the garment.

All are pay-per-run on Replicate, so experimentation costs cents.

FAQ

What is the best virtual try-on API?

IDM-VTON is the most-used try-on model on Replicate (1.5M+ runs) and the best starting point for e-commerce and fashion apps. OOTDiffusion is the main alternative.

Can virtual try-on run in real time?

Not today. Diffusion-based try-on takes roughly 15–45 seconds per image on Replicate. Production apps run it asynchronously or pre-generate results.

What images do try-on APIs need?

Two inputs: a person photo (frontal, garment area visible) and a flat or on-model garment photo. IDM-VTON also wants the garment category — upper body, lower body, or dresses.

How much does a virtual try-on API cost?

On Replicate you pay per run with no idle cost. At tens of seconds of GPU time per image, batch generation of a catalog is typically far cheaper than a photoshoot.