P-Image-Try-On
P-Image-Try-On is Pruna’s virtual garment try-on model. Provide a photo of a person and up to eleven garment reference images — one per supported category — and the model realistically dresses the person while preserving pose, face, and background. Garment refs can be flat lays, product shots, or lifestyle photos with multiple items; optionally pass reference_pose to match a target pose before dressing.


Use it for catalog PDP imagery, virtual fitting rooms, B2B line sheets, lookbook campaigns, UGC ad variations, and outfit recommendation carousels. Generate base model and garment reference stills with P-Image, then run try-on. For pose variants on the dressed output, use P-Image-Edit as a separate post-step.
Tip
API reference: p-image-try-on on Pruna API.
At a glance
Metric |
P-Image-Try-On |
|---|---|
Price |
Standard: $0.015 for the first garment, $0.008 for each additional. Turbo: $0.008 per garment. |
Speed |
Standard: < 2 seconds per garment. Turbo: < 4 seconds total ( |
Output |
Match input dimensions ( |
Max garments per request |
11 (one per category) |
Character consistency |
Very high — face, identity, and likeness preserved across outputs |
API model header |
|
Typical workflow
Step |
Model |
Role |
|---|---|---|
|
Generate the person photo and isolated garment stills (optional if you already have catalog assets) |
|
|
P-Image-Try-On (this page) |
Dress the person in |
|
Re-pose the dressed output without regenerating garments or the base identity |
Turbo mode
Turbo mode applies multiple garment edits in one larger edit instead of processing them separately. This makes it faster than standard mode, especially when dressing more than one garment.
Topic |
Details |
|---|---|
Default |
Disabled — set |
Speed |
Usually < 4 seconds total, regardless of garment count |
Pricing |
$0.008 per garment (flat rate in turbo mode) |
Compatibility |
Works with all other model features and the same inputs — switch modes without changing your pipeline |
Quality trade-off |
May produce slightly lower quality than standard mode; some garments may not be added correctly |
Multi-garment limit |
Performance tends to decrease when editing more than 4–5 garments at once |
Use turbo for high-throughput previews, fitting-room flows, and outfit carousels where speed matters most. Use standard mode when quality is the priority. Actual latency and pricing may vary.
Supported garment categories
You can pass up to 11 garment reference images per request — one item per category. The model auto-classifies each image, so you do not need to label categories in the API payload. Up to 6 garments is recommended for consistent quality.
Garment compatibility at a glance
Category |
Reliability |
Notes |
|---|---|---|
|
High |
Core apparel — t-shirts, shirts, blouses, polos, tanks. Best with flat-lays and studio product shots. |
|
High |
Hoodies, sweaters, cardigans, vests, blazers. Layer over |
|
High |
Coats, jackets, parkas, fleeces. Flat-lays and studio product shots work best. |
|
High |
Dresses, jumpsuits, rompers, robes. Replaces separate top + bottom — do not combine with |
|
High |
Skirts, shorts, trousers, jeans, chinos, leggings, belts. Pair with |
|
Moderate |
Underwear, bras, swimsuits, bikinis. Supported but less common in catalog workflows. |
|
Variable |
Sneakers, boots, heels, sandals, socks. Least reliable category — person photo must show feet and ankles. |
|
Moderate |
Hats, caps, beanies, face masks. Isolated refs on neutral backgrounds work best. |
|
Moderate |
Scarves, ties, necklaces, chokers. Keep refs clean and centered. |
|
Moderate |
Handbags, totes, backpacks, crossbody bags. Single bag per request; placement can vary. |
|
Moderate |
One watch or bracelet — not stacked jewelry. |
Ring / earrings |
Moderate |
Auto-classified as single-item handwear or earwear; one item per type (not gloves or mittens). |
Not supported
Anything not listed above is not supported, including:
Category |
Examples |
|---|---|
Eyewear |
Sunglasses, eyeglasses — use p-try-on-glasses instead |
Handheld accessories |
Wallets, card holders, keychains, umbrellas, phones, cups, handkerchiefs |
Handwear (gloves/mittens) |
Full-hand coverage items — not single rings |
Multi-item wristwear |
Arm warmers, stacked bracelets |
General accessories |
Pocket squares, suspenders, brooches |
Duplicate categories |
Two tops, two bags, etc. in the same request |
Non-flatlay refs without |
Lifestyle or multi-garment photos need the experimental |
Strengths
Capability |
Details |
|---|---|
Multi-garment outfits |
Dress up to 11 categories in a single pass — tops, bottoms, outerwear, footwear, accessories, and more |
Character consistency |
Very high quality preservation of face, identity, and likeness across outputs |
Localized editing |
By default, everything outside the garment regions stays intact — background, pose, and skin texture |
Garment auto-classification |
No manual category labels; the model infers body region from each reference image |
Flexible reference formats |
Flat lays, studio product shots, worn-on-form photos, and non-flatlay images with multiple garments — use |
Reference pose |
Pass |
Turbo mode |
Optional < 4 s total runs for multi-garment outfits at $0.008 per garment — off by default |
Cost and throughput |
$0.015 for the first garment, $0.008 for each additional garment — built for high-volume catalog and creative workflows |
Limits
Limit |
Impact |
|---|---|
11 items max, one per category |
Duplicate categories in |
Footwear variability |
|
Accessory placement |
|
Framing |
Non-full-body inputs may artifact — best results with full-body or 3/4 shots |
Color and texture drift |
Complex prints and saturated colors may shift slightly in output |
Layering order |
Cannot explicitly specify stacking (e.g. blouse under dress vs. over) |
Turbo quality |
|
Turbo at scale |
Editing more than 4–5 garments in turbo mode can reduce reliability |
Person image guidelines
Try-on preserves the person’s pose, face, and background from the input photo by default. To match a different pose, pass reference_pose with a photo of a person in the target pose — the model re-poses before dressing. For pose variants after try-on, use P-Image-Edit as a separate post-step.
Reference pose
reference_pose accepts an image URL of a person in the pose you want. The model adapts the generated person’s pose to match the reference before applying garments. Use this when your person_image pose differs from the look you need — for example, converting a standing catalog photo into a walking lifestyle shot without regenerating the identity.
Framing and quality
Do |
Avoid |
|
|---|---|---|
Framing |
Full-body or 3/4 length — head to at least the knees; head-to-toe for pants, dresses, and footwear |
Chest-up or head-only crops — common source of hemline, layering, and footwear artifacts |
Subject |
Single person, centered, torso and limbs unobstructed where garments will land |
Heavy occlusion (crossed arms over torso, large props, other people in frame) |
Identity |
Face visible; frontal or three-quarter angles for character consistency |
Back-only or extreme side profile when face identity must stay consistent |
Baseline outfit |
Simple fitted tank/tee + leggings or jeans that can be replaced cleanly |
Busy patterns or bulky layers that fight new garments |
Footwear try-on |
Feet and ankles in frame when passing |
Cropped feet when trying on shoes |
Image quality |
Clear, in-focus photos with even lighting; phone-camera UGC is fine when sharp |
Motion blur, heavy noise, or extreme exposure |
Supported poses
The model is not limited to catalog standing poses. These input poses work well:
Pose type |
Notes |
|---|---|
Standing, facing camera |
Arms at sides; best default for B2B and fitting-room flows |
Three-quarter turn |
Over-shoulder or slight angle; face still visible |
Walking mid-stride |
Natural arm swing; works for e-commerce and lifestyle reco |
Mirror selfie |
Phone at chest height; good for VFR and UGC — try-on keeps the selfie pose |
Dynamic street motion |
Mid-step / stepping off curb; UGC ads |
Seated |
Works when feet stay visible (e.g. cafe terrace); avoid poses that hide legs under tables |
Environmental lean |
Rooftop ledge, balustrade; keep the full silhouette in frame |
Not every pose is ideal for every garment. Mirror selfies and dynamic motion work well for try-on, but pose edits afterward can artifact on hands (phones, pockets). Prefer distinct pose prompts without re-introducing a phone when generating variants.
Orientations and angles
Aspect ratio |
Typical use |
Best for |
|---|---|---|
Portrait 3:4 |
Default catalog framing |
E-commerce, B2B, outfit recommendations |
Portrait 9:16 |
UGC, lookbook, mobile fitting-room selfies |
Virtual fitting room, lookbook, UGC ads |
Landscape 16:9 |
Wide fitting-room mirror shots |
In-store mirror try-on; use |
Camera angle should keep the garment regions you are dressing visible: frontal and three-quarter angles work best; steep overhead or worm’s-eye angles are untested and may drift.
Garment reference tips
Topic |
Recommendation |
|---|---|
Count and categories |
Up to 11 refs, one per category; auto-classified — no manual labels |
Reference formats |
Flat-lays, studio product shots, torso-form refs, and lifestyle photos with multiple garments |
Multi-garment images |
One photo can contain several items — use |
|
Required for non-flatlay or multi-item refs; refer to images as |
Footwear ( |
Clear shoe product or flat-lay ref; person photo must show feet; least reliable category |
Small accessories |
Scarves, hats, jewelry — isolated refs on neutral backgrounds |
Unsupported items |
Gloves, handheld accessories, pocket squares, and other types listed under Not supported above |
Coherent outfits |
Gender-matched, non-clashing combinations (e.g. avoid dress + separate pants) |
Domain Use Cases
Six common production workflows, with examples in each tab below.
Tab |
Who it’s for |
Typical workflow |
|---|---|---|
E-commerce |
Marketplaces, fashion brands, POD sellers |
Dress a house model in SKU refs (flat-lay, worn photo, white-bg product shot) for PDP imagery |
Virtual fitting room |
Retail apps, in-store mirror experiences |
Consumer mirror, boutique, or phone-selfie poses; preserve pose and background |
Wholesale & B2B |
Wholesalers, line-sheet producers |
One reusable house model across SKUs; consistent studio lighting and framing |
Lookbook & campaigns |
Brand marketing, seasonal campaigns |
Editorial 3/4 poses; multi-garment outfit swaps on the same base model |
UGC ads |
Performance marketers, social ad teams |
Bedroom, street, and testimonial framing; native backgrounds preserved |
Outfit recommendations |
Styling apps, recommendation engines |
Same person photo, different multi-garment combos — carousel-style looks |
























API Usage
Upload a person photo and one or more garment reference images, then call the p-image-try-on model.
Upload files
curl -X POST "https://api.pruna.ai/v1/files" \
-H "apikey: YOUR_API_KEY" \
-F "content=@/path/to/person.jpg"
curl -X POST "https://api.pruna.ai/v1/files" \
-H "apikey: YOUR_API_KEY" \
-F "content=@/path/to/garment.jpg"
Synchronous try-on
curl -X POST 'https://api.pruna.ai/v1/predictions' \
-H 'Content-Type: application/json' \
-H 'apikey: YOUR_API_KEY' \
-H 'Model: p-image-try-on' \
-H 'Try-Sync: true' \
-d '{
"input": {
"person_image": "https://api.pruna.ai/v1/files/file-abc123",
"garment_images": [
"https://api.pruna.ai/v1/files/file-def456",
"https://api.pruna.ai/v1/files/file-ghi789"
]
}
}'
Required parameters
Parameter |
Type |
Description |
|---|---|---|
person_image |
string |
Image URL of the person to dress |
garment_images |
array |
Image URLs of garment references (up to 11, one per category). Flat-lays, product shots, and multi-garment lifestyle photos are supported — use |
Optional parameters
Parameter |
Type |
Default |
Description |
|---|---|---|---|
seed |
integer |
— |
Random seed for reproducible outputs |
turbo |
boolean |
false |
Apply all garment edits in one pass for faster inference (< 4 s total). Not recommended for more than 4–5 garments. |
prompt |
string |
“” |
EXPERIMENTAL. For non-flatlay garment images, indicates which garment to use from each image (e.g. |
reference_pose |
string |
— |
Optional image URL of a person in the target pose. The model re-poses the person to match before try-on. |
output_format |
string |
jpg |
Output image format |
output_quality |
integer |
95 |
JPEG output quality (1–100) |
preserve_input_size |
boolean |
true |
Keep output dimensions aligned with the person input |
Example configuration
{
"input": {
"person_image": "https://api.pruna.ai/v1/files/file-abc123",
"garment_images": [
"https://api.pruna.ai/v1/files/file-def456",
"https://api.pruna.ai/v1/files/file-ghi789"
],
"reference_pose": "https://api.pruna.ai/v1/files/file-jkl012",
"prompt": "the blazer from image 1 and the chinos from image 2",
"turbo": true,
"preserve_input_size": true,
"output_format": "jpg",
"output_quality": 95,
"seed": 42
}
}