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.

Person
Try-on

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 (turbo: true, off by default).

Output

Match input dimensions (preserve_input_size: true by default)

Max garments per request

11 (one per category)

Character consistency

Very high — face, identity, and likeness preserved across outputs

API model header

Model: p-image-try-on

Typical workflow

Step

Model

Role

  1. Base model + garment refs

P-Image

Generate the person photo and isolated garment stills (optional if you already have catalog assets)

  1. Virtual try-on

P-Image-Try-On (this page)

Dress the person in garment_images while preserving face and background; pass reference_pose to match a different pose before dressing

  1. Pose variants (optional)

P-Image-Edit

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 turbo: true to enable

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

tops

High

Core apparel — t-shirts, shirts, blouses, polos, tanks. Best with flat-lays and studio product shots.

top-layers

High

Hoodies, sweaters, cardigans, vests, blazers. Layer over tops; stacking order is not configurable.

outerwear

High

Coats, jackets, parkas, fleeces. Flat-lays and studio product shots work best.

dresses

High

Dresses, jumpsuits, rompers, robes. Replaces separate top + bottom — do not combine with tops + bottoms.

bottoms

High

Skirts, shorts, trousers, jeans, chinos, leggings, belts. Pair with tops or a dresses item.

underwear

Moderate

Underwear, bras, swimsuits, bikinis. Supported but less common in catalog workflows.

feet

Variable

Sneakers, boots, heels, sandals, socks. Least reliable category — person photo must show feet and ankles.

headwear

Moderate

Hats, caps, beanies, face masks. Isolated refs on neutral backgrounds work best.

neckwear

Moderate

Scarves, ties, necklaces, chokers. Keep refs clean and centered.

bags

Moderate

Handbags, totes, backpacks, crossbody bags. Single bag per request; placement can vary.

wristwear-single

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 prompt

Lifestyle or multi-garment photos need the experimental prompt parameter to select which item to use

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 prompt to select which garment to use from each image

Reference pose

Pass reference_pose to re-pose the person to match a target pose before try-on

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 garment_images are not supported

Footwear variability

feet produces the least consistent results — expect occasional shape or placement drift

Accessory placement

bags, headwear, and neckwear can land off-position with busy or worn-on-body refs

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: true may miss garments or reduce fidelity — prefer standard mode for hero PDP shots

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 feet category refs

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 preserve_input_size: true

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 prompt to specify which garment to use (e.g. the green t-shirt from image 1 and the trousers from image 2)

prompt (experimental)

Required for non-flatlay or multi-item refs; refer to images as image 1, image 2, etc.

Footwear (feet)

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 prompt for the latter.

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. the green t-shirt from image 1 and the trousers from image 2).

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
  }
}