Virtual Model

Overview

Virtual Model lets you automatically convert one or more clothing photos into a polished, photoshoot-style image:

(original image)

(edited image)

virtualModel.mode=ai.auto virtualModel.model.preset.name=avery virtualModel.scene.preset.name=street virtualModel.pose=standing

virtualModel.mode=ai.auto virtualModel.model.preset.name=jackson virtualModel.scene.preset.name=library virtualModel.pose=crossedarms

virtualModel.mode=ai.auto virtualModel.model.preset.name=ava virtualModel.scene.preset.name=bedroom virtualModel.pose=seated

If you want to give it a try, here's the code to reproduce the first example above:

curl --request POST \
  --url https://image-api.photoroom.com/v2/edit \
  --header 'x-api-key: YOUR_API_KEY_HERE' \
  --form imageFile=@/path/to/image.png \
  --form removeBackground=false \
  --form referenceBox=originalImage \
  --form virtualModel.mode=ai.auto \
  --form virtualModel.model.preset.name=avery \
  --form virtualModel.scene.preset.name=street \
  --form virtualModel.pose=standing \
  --output result.png

Try it now!

Main Parameters

To use Virtual Model, you'll need to use the following parameters:

virtualModel.mode

To enable Virtual Model, set the parameter virtualModel.mode to ai.auto.

virtualModel.model

The parameter virtualModel.model lets you control the likeness of the model.

You can either use a pre-set model or a custom one.

To use a pre-set model, set the parameter virtualModel.model.preset to the name of the pre-set model that you want to use.

chevron-rightList of pre-set modelshashtag
Cover

avery

Cover

sam

Cover

taylor

Cover

kendall

Cover

jordan

Cover

casey

Cover

maya

Cover

reece

Cover

lena

Cover

julia

Cover

jackson

Cover

sophia

Cover

emma

Cover

ava

Cover

zoe

Cover

fiona

To use a custom model, you will need to provide an image of that model using either the parameter virtualModel.model.custom.imageFile or virtualModel.model.custom.imageUrl.

circle-info

The parameter virtualModel.model.custom.imageFile is only available when using the POST endpoint.

By default, that parameter will be set to virtualModel.model.preset=avery.

virtualModel.scene

The parameter virtualModel.scene lets you control the environment in which the model will be placed.

You can either use a pre-set scene or a custom one.

To use a pre-set scene, set the parameter virtualModel.scene.preset to the name of the pre-set scene that you want to use.

chevron-rightList of pre-set sceneshashtag
Cover

random

Cover

street

Cover

bedroom

Cover

sunset

Cover

factory

Cover

studio

Cover

coloredstudio

Cover

concretestudio

Cover

beach

Cover

tropical

Cover

library

Cover

forest

Cover

businessdistrict

Cover

countryside

Cover

flowers

Cover

goldenlight

Cover

mountain

Cover

pool

Cover

latincity

Cover

cafe

Cover

asiancity

Cover

nightlights

Cover

desert

To use a custom scene, you will need to provide an image of that scene using either the parameter virtualModel.scene.custom.imageFile or virtualModel.scene.custom.imageUrl.

circle-info

The parameter virtualModel.scene.custom.imageFile is only available when using the POST endpoint.

By default, that parameter will be set to virtualModel.scene.preset=random.

virtualModel.pose

The parameter virtualModel.pose lets you control the pose of the model.

You can pick between a list of pre-set poses:

chevron-rightList of pre-set poseshashtag
Cover

random

Cover

standing

Cover

34turn

Cover

powerstance

Cover

walkingforward

Cover

handinpocket

Cover

crossedarms

Cover

back

Cover

overtheshoulder

Cover

seated

Cover

adjustingclothing

Cover

playfulspin

By default, that parameter will be set to virtualModel.pose=random.

Which resolutions are supported?

By default, Virtual Model will produce outputs at a resolution of 1K (1024x1024).

Output resolutions of 2K and 4K are available for Enterprise plans:

(original image)
(default 1K output)
(4K output)
(original image)
(default 1K output)
(4K output)
(original image)
(default 1K output)
(4K output)
circle-info

Make sure to click on the images to see them in full resolution.

If you're interested to use 2K or 4K resolution, please contact our sales teamarrow-up-right.

Contact Sales

Additional Parameters

virtualModel.additionalProductImages[]

Additional product images showing different angles or details of the same item.

These help the model better understand the product and generate more accurate results.

To provide these images, use either the parameter virtualModel.additionalProductImages[].imageFile or virtualModel.additionalProductImages[].imageUrl.

circle-info

The parameter virtualModel.additionalProductImages[].imageFile is only available when using the POST endpoint.

virtualModel.prompt

Optional text prompt to guide the generation style.

Example: street style

virtualModel.size

The output size and aspect ratio of the generated image.

Default: SQUARE_HD

Possible values: PORTRAIT_HD_16_9, PORTRAIT_HD_4_3, PORTRAIT_HD_3_2, SQUARE_HD, LANDSCAPE_HD_3_2, LANDSCAPE_HD_4_3, LANDSCAPE_HD_16_9

Last updated

Was this helpful?