This page has no translation yet. Other languages open the home page in that language. Applies to the app and available translated emails. Your photos and descriptions stay as they are.
Virtual try-on means putting a garment from a product photo onto a person in another photo. The OutfitGen Team sent the same 13 try-ons to 13 image models, three times each, including the dedicated try-on model FASHN Try-On v1.6, plus OutfitGen Engine as a disclosed entry, and judged every image blind. Three models got all 13 right. Arms, hands and hair over the garment barely mattered; copying logos, stripes and sleeve length did. No model refused any of the 546 requests.
Figure 1
The same jacket, copied onto the right person and onto the wrong one
Instruction: “Change the outfit in this photo to match the reference clothing image”
Source photoGarment photoFlux 2 Turbo, wrong person in 3 of 3Nano Banana 2.1, right in 3 of 3
The jacket's product photo shows it on a man. Flux 2 Turbo returned that man instead of the woman in all three runs, and so did Flux 2 Flash. Nano Banana 2.1 put the jacket on her in every run, as did nine other models and OutfitGen Engine. Grok Imagine 2.0 returned a sweater.
Key findings
1
Nano Banana 2.1, Seedream 5 Flash and GPT Image 2.5 Flare (high) got all 13 try-ons right in every run, and so did OutfitGen Engine, run as a disclosed entry.
2
Covering the garment barely mattered: no model uncrossed arms or moved a hand, and only Seedream 5 Pro moved hair. Logos, stripes and sleeve length were the hard part.
3
The three Flux 2 models had 8 of the 9 cases where the person changed; Turbo and Flash swapped a woman for the jacket's male model in all three runs.
4
The dedicated try-on model, FASHN Try-On v1.6, placed 12th of 13 with 4 of 13 right: it kept every face but warped stripes, smeared logos and added trim or tattoos.
5
Grok Imagine 2.0 copied none of the 13 garments: an unrelated outfit in all 39 runs, and only a generic version when two other wordings named the garment.
Why this study
Shoppers want to see a garment on themselves before they buy it, and most general image editors now accept a second photo, so anyone can attempt a try-on with the model they already use. A try-on is only useful if it shows the real product: the same logo, the same stripe, the same sleeve length, on the same person.
Public try-on research, such as VITON-HD (CVPR 2021) and Dress Code (ECCV 2022), scores dedicated try-on networks on academic datasets. We found no public per-model comparison of the general image editors people actually reach for on this job. This study provides one: the same garment photos and subjects for every model, arms, a hand or hair covering the garment, people of different builds, ages and skin tones, a garment shown on a different person to see whether that person is copied too, three runs per case, and the full per-run dataset for others to check, criticize and extend.
Research question
Given a photo of a person and a product photo of a garment, which image models put that exact garment on that person, with its colour, pattern, logo and cut intact, without changing who the person is or how they stand?
OutfitGen's own system, which routes each edit across models, in its Pro mode as of October 2026. A disclosed entry on the same inputs, not ranked.
Rows are in rank order: try-ons done right, then median time per image. GPT Image 2.5 Flare ran at two quality settings, and each setting counts as a model. Seedream 5 Lite, on the leaderboard, was not part of this study. OutfitGen Engine is OutfitGen's own system, shown last and not ranked. Every single model was called through fal's hosted endpoints on 19 October 2026.
Scorecard
Which AI model copies a garment from a product photo best? A virtual try-on benchmark: one row per model configuration, scored on Images delivered, of 39 runs, Clear view, done right of 4, Arms, hand or hair over the garment, of 4, Different builds and ages, of 5, Same person kept, of 13, Time per image vs the fastest (lower is better), Try-ons done right, of 13 (higher is better).
Model
Maker
Images delivered, of 39 runs
Clear view, done right of 4
Arms, hand or hair over the garment, of 4
Different builds and ages, of 5
Same person kept, of 13
Time per image vs the fastest (lower is better)
Try-ons done right, of 13 (higher is better)
Nano Banana 2.1
Google
✓39 of 39
✓4 of 4
✓4 of 4
✓5 of 5
✓13 of 13
1.5x
13 of 13
Seedream 5 Flash
ByteDance
✓39 of 39
✓4 of 4
✓4 of 4
✓5 of 5
✓13 of 13
2.1x
13 of 13
GPT Image 2.5 Flare (high)
OpenAI
✓39 of 39
✓4 of 4
✓4 of 4
✓5 of 5
✓13 of 13
2.1x
13 of 13
GPT Image 2.5 Flare (medium)
OpenAI
✓39 of 39
✓4 of 4
!3 of 4Read the 23 under the hand as 20 or 28.
✓5 of 5
✓13 of 13
1.5x
12 of 13
Muse Image
Meta
✓39 of 39
✓4 of 4
✓4 of 4
!4 of 5Swapped the dress print in one run.
✓13 of 13
3.4x
12 of 13
Nano Banana 2
Google
✓39 of 39
!2 of 4Lost the dress print once; moved a hand into a pocket once.
✓4 of 4
✓5 of 5
✓13 of 13
1.0x
11 of 13
Seedream 5 Pro
ByteDance
✓39 of 39
✓4 of 4
!3 of 4Tucked the hair behind the shoulders in every run.
!4 of 5Washed the dress out to grey.
✓13 of 13
3.5x
11 of 13
Flux 2
Black Forest Labs
✓39 of 39
!3 of 4Short sleeves on the striped top once.
!2 of 4Short sleeves once; darkened a subject's skin once.
✗1 of 5Short sleeves, a top for a dress, the jacket's model, darker skin.
✗10 of 13Product-photo model or darker skin in 3 cases.
2.2x
6 of 13
Qwen Image 3
Alibaba
!32 of 397 runs timed out.
!2 of 4Crew neck and short sleeves on the striped top; a top for the dress.
!2 of 4Short sleeves or a ringer tee.
!2 of 5Short sleeves; slimmed a subject once.
!12 of 13
2.3x
6 of 13
Flux 2 Flash
Black Forest Labs
✓39 of 39
✗0 of 4Short sleeves; the jacket's model instead of the woman.
!3 of 4Short sleeves on the hoodie, arms crossed.
!2 of 5Short sleeves; the jacket's model in 2 runs.
✗11 of 13The jacket's model in 2 cases.
1.0xFastest in this session.
5 of 13
Flux 2 Turbo
Black Forest Labs
✓39 of 39
✗0 of 4Short or see-through sleeves; the jacket's model instead of the woman.
!2 of 4Short sleeves once; a hem band once.
!2 of 5The jacket's model; a darker-skinned man in every tee run.
✗10 of 13The jacket's model or darker skin in 3 cases.
1.7x
4 of 13
FASHN Try-On v1.6
FASHN
✓39 of 39
!2 of 4Smeared the anchor; bell sleeves and trim on the dress.
✗0 of 4Warped stripes, smeared logo, doubled sleeve, cropped hem.
!2 of 5Trim, thicker stripes, new typeface and tattoos.
✓13 of 13
1.9x
4 of 13
Grok Imagine 2.0
xAI
✓39 of 39
✗0 of 4An unrelated outfit in every run.
✗0 of 4An unrelated outfit; arms, hand and hair kept.
✗0 of 5An unrelated outfit in every run.
✓13 of 13
1.8x
0 of 13
OutfitGen EngineNot ranked
OutfitGen
✓39 of 39
✓4 of 4
✓4 of 4
✓5 of 5
✓13 of 13
1.6x
13 of 13
A try-on counts as done right when every image the model returned copied the garment (colour, pattern, logo or text, and cut) onto the same person in the same pose. ✓ means every case or run; ! means some; ✗ means a large miss. Times are relative to the fastest model in this session, which ran slower than the leaderboard's September session, so compare them within this table only. Ties in the ranking are broken by median time, which these rounded ratios can hide.
Charts
Figure 2
Try-ons done right, out of 13 (higher is better)
Nano Banana 2.113
Seedream 5 Flash13
GPT Image 2.5 Flare (high)13
GPT Image 2.5 Flare (medium)12
Muse Image12
Nano Banana 211
Seedream 5 Pro11
Flux 26
Qwen Image 36
Flux 2 Flash5
Flux 2 Turbo4
FASHN Try-On v1.64
Grok Imagine 2.00
OutfitGen Engine (not ranked)13
A case counts when every delivered run copied the garment onto the same person in the same pose. Three runs per case. OutfitGen Engine is OutfitGen's own system, shown for disclosure and not ranked.
Figure 3
Where try-ons went wrong (green means every case done right)
Where try-ons went wrong (green means every case done right)
Model
Clear view
Arms, hand or hair over it
Different builds and ages
Nano Banana 2.1
4/4
4/4
5/5
Seedream 5 Flash
4/4
4/4
5/5
GPT Image 2.5 Flare (high)
4/4
4/4
5/5
GPT Image 2.5 Flare (medium)
4/4
3/4
5/5
Muse Image
4/4
4/4
4/5
Nano Banana 2
2/4
4/4
5/5
Seedream 5 Pro
4/4
3/4
4/5
Flux 2
3/4
2/4
1/5
Qwen Image 3
2/4
2/4
2/5
Flux 2 Flash
0/4
3/4
2/5
Flux 2 Turbo
0/4
2/4
2/5
FASHN Try-On v1.6
2/4
0/4
2/5
Grok Imagine 2.0
0/4
0/4
0/5
OutfitGen Engine (not ranked)
4/4
4/4
5/5
all done rightnone done right
Cases done right out of cases in each group. Across the 13 ranked models, 35 of 52 try-ons with arms, a hand or hair over the garment were done right, against 33 of 52 with a clear view: covering the garment did not lower the score.
Figure 4
Cases where the person changed, out of 13 (fewer is better)
Flux 23
Flux 2 Turbo3
Flux 2 Flash2
Qwen Image 31
Nine other models0
OutfitGen Engine (not ranked)0
A different face, build or skin tone in at least one run. Most were the man from the varsity jacket's product photo replacing the subject, or a pale subject's skin darkened.
Method
Study design: the parameters this comparison was run under.
Study type
Virtual try-on benchmark with blinded judging
Run date
19 October 2026
Models
13, from 8 makers (Black Forest Labs, ByteDance, Alibaba, Google, OpenAI, xAI, Meta, FASHN); GPT Image 2.5 Flare counted at two settings. OutfitGen Engine ran as a disclosed entry, not ranked
Cases
13 try-ons: 4 with a clear view, 4 with arms, a hand or hair over the garment, 5 on people of different builds, ages and skin tones
Garment photos
5 synthetic product photos: a logo hoodie, a Breton stripe top and a graphic tee laid flat, a floral wrap dress on a dress form, and a varsity jacket worn by a man
Subject photos
9 synthetic photos of 5 adults, fixed seeds, three-quarter length so hems and sleeves show
Runs per model per case
3
Total requests
546
Outputs judged
539
Refused
0 of 546
Request path
The production request path at a paying user's output settings, the same two photos and instruction for every model
Judging
One blind reviewer, contact sheets with model columns shuffled per case and all three runs side by side, verdicts written before the key was opened
Primary measure
Try-ons done right: garment, person and pose all right in every delivered run
Five garments were generated once as product photos with fixed seeds, each built around one hard detail: a wordmark and emblem, stripe spacing, colour blocking with a chenille letter, a dress's length and sleeve length, and a large printed number with a small sleeve logo. The varsity jacket was photographed on a man, to test whether a model copies the person in the product photo along with the garment.
Nine subject photos covered five synthetic adults: a man and a woman shown front-on, with arms crossed, with a hand flat on the chest, and with long hair over both shoulders, plus a plus-size woman, a heavyset older man and a petite older woman. Each wore a plain top so the swap is unambiguous.
Every model received the subject photo, the garment photo and the instruction "Change the outfit in this photo to match the reference clothing image" through one request path, three times per case. Where a maker documents a wording for two-image edits, the instruction was sent in that wording. FASHN Try-On v1.6 takes no instruction and received only the two photos.
Delivered images went into one contact sheet per case with the model columns shuffled. One reviewer judged each column across its three runs without the key: the garment's colour, pattern, logo or text, and cut; whether the person's face, build and skin tone stayed the same; and whether the arms, hand and hair stayed as they were. Verdicts were written before the key was opened.
Changes outside the garment, such as trousers swapped for the ones in the product photo, a zoomed-out crop or a letterboxed frame, were recorded but did not fail a try-on.
Qwen Image 3 ran with fal's prompt expansion off and a fixed 3:4 size, as in the earlier studies; 7 of its 39 runs timed out at the 90-second limit and are excluded. No other run failed.
Grok Imagine 2.0 returned an unrelated outfit in every run, so a follow-up the same day sent it two of the cases with two other wordings, two runs each: one naming the garment, and one in the image-order format other makers document. The follow-up is reported in Findings and is not part of the counts.
Results by case
One representative output per model is shown for each case; the judging used every run, 539 outputs in total.
Logo hoodie, clear view
Instruction: “Change the outfit in this photo to match the reference clothing image”
Look for: Is the ALPINE CO. wordmark spelled right, with the pine emblem, the pocket and full-length sleeves?
Verdict: Ten models and OutfitGen Engine copied the hoodie, wordmark and pine emblem in every run. Flux 2 Turbo and Flux 2 Flash cut the sleeves short in one run each. Grok Imagine 2.0 returned navy shirts and a grey henley instead.
Verdict: The identity trap. Flux 2 Turbo and Flux 2 Flash returned the man from the product photo instead of her in all three runs. Nine models and OutfitGen Engine put the jacket on her with face and pose kept in every run. Nano Banana 2 moved a hand into a pocket in one run, and Grok Imagine 2.0 returned sweaters and a blouse.
Verdict: Every model kept the arms crossed in every run. Nine models and OutfitGen Engine also copied the hoodie right every time. Flux 2 Flash drew short sleeves in two runs and Flux 2 Turbo in one, FASHN Try-On v1.6 doubled a sleeve into a dark fold once, and Grok Imagine 2.0 returned a leather jacket, a blazer and a plaid shirt.
Verdict: Eight models and OutfitGen Engine carried the stripes around the crossed arms in every run. FASHN Try-On v1.6 warped them on the arms and added extra anchors, Qwen Image 3 drew a short-sleeve crew tee, Flux 2 darkened her skin in one run and Flux 2 Turbo added a hem band in one. Grok Imagine 2.0 returned a turtleneck, a blazer and a blouse.
Verdict: All three Flux 2 models swapped in the man from the product photo in at least one run: Flux 2 Flash in two of three, Flux 2 and Flux 2 Turbo in one each, Turbo with three garbled R patches. Nine models and OutfitGen Engine fitted the jacket to his own build in every run. Grok Imagine 2.0 returned blazers and a check shirt.
Verdict: Eight models and OutfitGen Engine printed RIVERSIDE 23 and the sleeve logo on him in every run. FASHN Try-On v1.6 changed the typeface, enlarged the sleeve logo and added forearm tattoos in every run. Flux 2 Turbo darkened his skin in all three runs and Flux 2 in one. Grok Imagine 2.0 returned a suit and blazers.
Three models, and OutfitGen Engine, got every try-on right
Nano Banana 2.1, Seedream 5 Flash and GPT Image 2.5 Flare (high) copied all 13 garments onto the right person in all 39 of their runs, and OutfitGen Engine matched them. Nano Banana 2.1 was the quickest of the three, taking about a quarter less time per image than the other two, which were level. GPT Image 2.5 Flare (medium) and Muse Image missed one case each: Flare at medium read the 23 under the subject's hand as 20 or 28, and Muse swapped the dress print in one run. A harder set, with small text, outfits of several garments or back views, is the next step to separate the top models.
Covering the garment barely mattered; detail did
No model uncrossed the arms or moved the hand off the chest in any run. Only Seedream 5 Pro moved hair, tucking it behind the shoulders in all three runs to show the wordmark. The 13 ranked models got 35 of 52 covered try-ons right against 33 of 52 clear ones. What went wrong was the garment's detail: short sleeves on a long-sleeved hoodie or top, a wrap dress turned into a top over jeans, a misread number, warped stripes and smeared logos.
The Flux 2 models copied the person in the product photo
Flux 2, Flux 2 Turbo and Flux 2 Flash account for 8 of the 9 cases where the subject changed; Qwen Image 3 had the ninth, slimming a subject in one run. When the jacket's product photo showed it worn by a man, Flux 2 Turbo and Flux 2 Flash returned that man instead of the woman in all three runs, and all three Flux 2 models did the same at least once on the heavyset man. Flux 2 Turbo also darkened a pale subject's skin in every graphic-tee run.
The dedicated try-on model placed 12th of 13
FASHN Try-On v1.6 is built only for try-on and takes no instruction. It kept every face and body in all 39 runs, including both jacket cases that caught the Flux 2 models. It lost on the garment: stripes warped or thickened, the anchor and sleeve logos smeared or enlarged, white trim and bell sleeves added to the dress, a new typeface on the tee and tattoos on the man wearing it. It got 4 of 13 right: the hoodie and the varsity jacket, twice each.
Grok Imagine 2.0 copied none of the 13 garments
With the study's instruction, Grok Imagine 2.0 dressed the person in an unrelated outfit in all 39 runs: shirts, blazers, sweaters and a suit. It kept the person, the pose and the room every time. In a follow-up with two other wordings, naming the garment got a generic version, a plain grey hoodie or a floral dress in the wrong colour or cut, never the product in the photo.
What this means for OutfitGen
Copying a garment from a product photo is the virtual try-on mode of OutfitGen's clothes changer. OutfitGen Engine, which routes each edit across models, got all 13 try-ons right here, and studies like this one decide which models it trusts for which garments.
The study is built to be re-run on the same photos whenever a new model ships. The download below has every run with its blind verdict.
Fixed-seed sources. Every subject and garment photo is generated once with a fixed seed and kept, so a future run compares new models on the same people and the same products.
Three runs per case per model. A try-on that works once can fail on the next run; a case only counts when every delivered run is right.
One request path. Every model receives the same two photos and instruction through the same code, so differences come from the models.
A trap case. The varsity jacket is shown on a different person, which is the quickest way to see whether a model copies only the garment.
The corpus
OutfitGen virtual try-on benchmark, October 2026. 546 runs: 13 image models and OutfitGen Engine x 13 try-ons x 3 repetitions, on 9 synthetic subject photos and 5 synthetic garment photos, with the outcome of every run and the blind verdict for each model on each case (garment right, person kept, done right).
Measured
Try-ons done right per model (blind)
Garment fidelity: colour, pattern, logo or text, cut
One row per test edit: case, instruction, model, maker, repetition and outcome. Refusals are split by channel (input check or blanked output). Free to reuse with attribution.
Column definitions
study
Study identifier, the last part of this page's URL.
run
Row number.
suite
quality (judged edits) or refusal (does the model return an image at all).
case_id
The edit, matching the cases on this page.
case_title
Short description of the edit.
tool
The kind of edit: clothes, background, pose.
instruction
The exact text sent to the model.
source_photo
Identifier of the synthetic source photo.
reference_photo
Identifier of the garment photo, for reference try-on edits.
model
Model and setting tested.
maker
Company that makes the model.
repetition
Which repeat of the same edit, starting at 1.
outcome
delivered, refused, timeout, provider_error, no_image or request_error.
refusal_channel
input_check (rejected before generating) or blanked_output (generated, then returned blank).
nsfw_flag
The provider's own content flag on the response, when it reports one.
output_width
Width in pixels of a delivered image.
output_height
Height in pixels of a delivered image.
judged_garment_right
Blind verdict for this model on this case, across its delivered runs: yes when every run copied the garment's colour, pattern, logo or text and cut. Empty when the study did not judge it.
judged_identity_kept
Blind verdict: yes when every delivered run kept the person's face, build and skin tone.
judged_done_right
Blind verdict: yes when the garment was right, the person kept and the pose, hands and hair unchanged in every delivered run.
Limitations
The subjects and garments are AI-generated, not shopper photos or real catalog shots. Real product photos vary more in lighting, folds and angle.
The source photos were generated with Flux 2. That could make them slightly easier for the Flux 2 editors, which still placed in the bottom half.
Three runs per case bounds luck but not tightly. A model that got a case right 3 of 3 may miss it occasionally at larger volume.
One reviewer judged every image. The delivery counts do not depend on judgment; the try-on verdicts do.
Every model got one instruction wording, in its maker's documented format where one exists. Grok Imagine 2.0 was also tried with two other wordings and still did not copy the garment.
FASHN Try-On v1.6 ran in balanced mode; its slower quality mode was not tested.
Changes outside the garment, such as trousers swapped for the product photo's, were recorded but not counted against a try-on.
Times come from one session that ran slower than the leaderboard's September session, so they compare models within this study only.
Models change without notice. These results describe the models as served on 19 October 2026.
Definitions
Model
One model at one setting. GPT Image 2.5 Flare at medium and at high quality count as two models.
Virtual try-on
Putting a garment from a product photo onto the person in another photo, keeping the person, pose and scene.
Images delivered, of 39 runs
Runs that returned an image, out of 13 cases x 3 runs. No run in this study was refused; the only misses were timeouts.
Clear view, done right of 4
Try-ons done right on the four cases where nothing covers the garment: the hoodie and stripe top on a man, the wrap dress and the varsity jacket on a woman.
Arms, hand or hair over the garment, of 4
Try-ons done right on four cases where crossed arms, a hand flat on the chest or long hair covers part of the garment. The arms, hand or hair have to stay where they were.
Different builds and ages, of 5
Try-ons done right on a plus-size woman, a heavyset older man and a petite older woman, five cases in all. The garment has to fit their body, not the product photo's.
Same person kept, of 13
Cases where every run kept the subject's face, build and skin tone.
Time per image vs the fastest (lower is better)
Median seconds from request to delivered image, divided by the fastest model's median in the same session.
Try-ons done right, of 13 (higher is better)
Cases where every delivered run copied the garment's colour, pattern, logo or text and cut, onto the same person, in the same pose.
Disclosed entry
OutfitGen's own system run on the same inputs and shown for transparency, outside the ranking.
Common questions
Which AI model is best for virtual try-on?
In this October 2026 test, Nano Banana 2.1, Seedream 5 Flash and GPT Image 2.5 Flare (high) copied all 13 garments from product photos onto the right person in every run. Nano Banana 2.1 was the quickest of the three.
Is a dedicated try-on model better than a general image editor?
Not in this test. FASHN Try-On v1.6, built only for try-on, kept every face but got 4 of 13 try-ons right, 12th of 13. Seven general editors got 11 or more right.
Can AI try-on handle crossed arms or long hair over the clothes?
Yes! No model uncrossed the arms or moved a hand in any run, and the covered cases scored as well as the clear ones. Only Seedream 5 Pro moved hair, tucking it back to show a logo.
Why does AI try-on change my face?
Some models copy the person in the product photo along with the garment, or shift the skin tone. In this test Flux 2, Flux 2 Turbo and Flux 2 Flash accounted for 8 of the 9 cases where the person changed, and nine of the 13 models never changed the person.
Can Grok Imagine do virtual try-on?
Not in this test. Grok Imagine 2.0 copied none of the 13 garments: it returned an unrelated outfit in all 39 runs, and a generic version when the garment was named, never the product in the photo.
Does OutfitGen do virtual try-on?
Yes! Add your photo and a product photo to the AI virtual try-on. OutfitGen Engine, which routes each edit across models, got all 13 try-ons in this study right.
How to cite
This study lives at one stable URL. It is updated in place, with a version number and a changelog, so a link made today keeps resolving and a reader can tell which version was read.
OutfitGen. (2026, October 19). Which AI model copies a garment from a product photo best? A virtual try-on benchmark. OutfitGen Research, version 1.0. https://outfitgen.ai/research/virtual-try-on-2026-10
BibTeX
@misc{outfitgen-virtual-try-on-2026-10,
title = {Which AI model copies a garment from a product photo best? A virtual try-on benchmark},
author = {{OutfitGen}},
year = {2026},
month = {October},
note = {OutfitGen Research, version 1.0},
url = {https://outfitgen.ai/research/virtual-try-on-2026-10}
}
Version history
Version 1.0, October 19, 2026. First publication. Thirteen models plus OutfitGen Engine, 13 try-ons, three runs each, 546 requests.
References
Choi et al., VITON-HD (CVPR 2021). High-resolution virtual try-on with a dedicated network and a public dataset of 1024x768 try-on pairs.