P-Image-Try-On
A fitting room in a node
- referenceImages
- advancedFeatures.watermark.image
- image
P-Image-Try-On is the most specialized node in the Pruna line: a virtual fitting room. You give it an image of a garment and an image of a person, and it composites the clothing onto the person - drape, folds, lighting and all - returning a native IMAGE. This is the node fashion folks and creators reach for when they want to see a jacket on a model without staging a shoot, and it's the kind of task generic diffusion models are bad at because clothing fit is all about structure, not texture.
The distinguishing detail is in the inputs. referenceImages is typed as RUNWARE_REFERENCEIMAGES - the plural builder socket - because this model takes multiple references: typically the garment flat-lay and the person. That's why it works where a single-image edit node flails.
What you actually set
referenceImages- required, theRUNWARE_REFERENCEIMAGESbuilder socket. Wire in your garment image and your person image. Which one is which matters, and thepositivePromptbelow is there to disambiguate.positivePrompt- optional, but the tooltip explains it perfectly: experimental guidance for non-flatlay garment images, for example which garment from which image to use. For a standard flat-lay, leave it blank; for a hanger shot or a worn garment, tell it what to use and from where.settings.preserveInputSize- defaultTrue: return output at the original input resolution. Turn it off and you get the model's internal working resolution instead, which is usually smaller. Keep it on.settings.turbo- faster generation, may drop subtle details.seed,numberResults- the usuals.outputFormat-JPG,PNG,WEBP.
Output: one image socket, type IMAGE.
Install
One-time pack install: ComfyUI Manager → search Runware → install → restart, or
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
API key into ComfyUI Settings → Runware API key or RUNWARE_API_KEY. Nothing heavy installs; the model lives in the cloud.
Where people get burned
- Input quality is everything. A crumpled, poorly lit garment flat-lay produces a crumpled, poorly lit result. Clean, evenly lit, full-garment shots are the difference between "try-on" and "AI mashup."
- It's a try-on, not a dress-up. This node is built for the garment-on-person task and it does that well; it's not a general character editor. Don't force other jobs through it.
- Watch
preserveInputSize. If your output comes back smaller than expected, this is why - something turned it off. - Per-run cost, same as the family. The title bar shows it; batch runs add up.
The verdict: niche, but genuinely good at its niche. If your work involves putting clothes on people - product mockups, outfit previews, costume tests - this is the node you didn't know you needed. If not, skip it; the rest of the Pruna line is more generally useful.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| referenceImages | RUNWARE_REFERENCEIMAGES | — | |
| advancedFeatures.watermark.imageopt | IMAGE | — | |
| positivePromptopt | STRING | Experimental guidance for non-flatlay garment images, for example which garment from which image to use. | |
| seedopt | INT | 00–9223372036854776000 | Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range. |
| numberResultsopt | INT | 11–20 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| advancedFeaturesopt | BOOLEAN | false | Enable to set advancedFeatures. Off uses the model's default. |
| advancedFeatures.watermark.bgColoropt | STRING | Background color in hex format. | |
| advancedFeatures.watermark.displayPositionopt | COMBO | (default) | Watermark position. |
| advancedFeatures.watermark.fontColoropt | STRING | Text color in hex format. | |
| advancedFeatures.watermark.opacityopt | BOOLEAN | false | Enable to set advancedFeatures.watermark.opacity. Off uses the model's default. |
| advancedFeatures.watermark.opacity_valueopt | FLOAT | 0.100.1–1 | Watermark opacity. |
| advancedFeatures.watermark.textopt | STRING | Watermark text. | |
| settings.preserveInputSizeopt | BOOLEAN | true | Return the output at the original input resolution. When disabled, the output keeps the model's internal working resolution, which may differ from the input because inputs are dynamically resized for quality and speed. |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| settings.turboopt | BOOLEAN | false | Enable turbo mode for faster generation. May reduce subtle details in complex tasks. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | JPG | File format for the generated image. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |