P-Image-Edit
The image editor that keeps the prompt simple
- referenceImages
- advancedFeatures.watermark.image
- image
P-Image-Edit is the editing sibling of Pruna's P-Image in the Runware pack, and its whole personality is in the required inputs: instead of a blank canvas, you hand it referenceImages and tell it what to change. It's an image-to-image edit model - swap the background, change the outfit, restyle a product shot - that runs on Runware's cloud and returns a native IMAGE. Where a local img2img pipeline means fiddling with denoise strength and ControlNet, this node just takes a reference and an instruction.
That's the pitch, and it's a real one for a beginner: one reference image, one sentence, no strength slider to misjudge. The model handles the "how much to change" internally.
What you actually set
referenceImages- required, anIMAGEsocket. The image you're editing. Feed it from a Load Image node or anything upstream.positivePrompt- required. State the edit as a change: "replace the sky with a starry night," "turn the dress red," "remove the coffee cup."width/height- optional here, default 1024×1024.providerSettings.prunaai.turbo- turbo mode for faster generation. The tooltip is honest: it may reduce subtle details on complex tasks. Off by default.numberResults- up to 4 variations of the edit.outputFormat-JPG,PNG,WEBP.safety/safety.checkContent- content checking, off by default.
Output: one image socket, type IMAGE.
Install
Standard 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. Light deps, no model downloads.
Where people get burned
- The reference sets the ceiling. If the source image is low-res or has baked-in artifacts, the edit inherits them. Start from a clean frame.
- "Edit" doesn't mean "preserve." Without a mask or a more specific instruction, the model can interpret the whole image as fair game. Be explicit about what stays.
- Turbo is tempting and it shows. On a simple edit, turbo is fine; on a complex scene, the lost detail will annoy you. Test once before you default to it.
- Per-run cost. Same as every node here - the title bar prints it, and batches multiply it.
The takeaway: for quick, instruction-driven edits without a local img2img rig, this is the node. It's not a precision tool - that's what masks and ControlNet are for - but for "change this thing, keep the rest," it's remarkably painless.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| referenceImages | IMAGE | — | |
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. | |
| advancedFeatures.watermark.imageopt | IMAGE | — | |
| sizeopt | COMBO | 1K (1:1) | Output size. Only one of resolution or dimensions is sent. |
| 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. | |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| providerSettings.prunaai.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 | — |