Nodes/comfyui-budgetpixel/P-Image Edit (BudgetPixel)
ComfyUI Node

P-Image Edit (BudgetPixel)

Fast multi-image editing, and the prompt trick that makes it work

By budgetpixel-ai·Created about 17 hours ago·Updated about 12 hours ago· 3
P-Image Edit (BudgetPixel)
  • reference_images
  • images
prompt
aspect_ratiomatch_input_image
num_images1
seed-1
force_rerunfalse

P-Image Edit is the editing sibling of Pruna's P-Image, and the one thing that separates it from a hundred other "image edit" nodes is how the prompt works. You refer to your input images as "image 1", "image 2" and "image 3" directly in the text - "put the subject from image 1 into the scene from image 2" - and the model treats that literal naming as its instruction set. It's a small convention and it changes everything: multi-image composition stops being a black box and becomes a sentence you can actually write.

It's a hosted API node, like the rest of the BudgetPixel pack: up to three reference images and a prompt go to the API, the fast Qwen-based edit pipeline runs server-side, and a single image comes back as a core IMAGE tensor. 15 credits per edit. No local GPU, no weights, nothing to configure beyond the inputs.

The inputs

  • reference_images (required) - 1–3 images to edit or compose. These are IMAGE connections, so they can come from anywhere in your graph.
  • prompt (required) - the instruction, and this is where the "image 1 / image 2" naming lives. Style transfer, object manipulation, composition swaps - all of it gets routed through that convention.
  • aspect_ratio - defaults to match_input_image, i.e. the first reference's frame. Set a specific ratio if you want to force one.
  • seed - default -1 for random; set it for reproducible edits.
  • num_images - fixed at max 1; the model returns one image per request.

Output is images into Preview Image or Save Image.

What it's actually good at

The strength is multi-image composition: merging a character from one photo into a background from another, combining the style of one image with the content of another, rearranging objects across two shots. That's the "image 1 / image 2" job, and P-Image Edit does it fast and cheaply at 15 credits. It's also the pack's cheap edit option - the closest comparison is Qwen Image 2.0/3.0 (45 and 40 credits), which are heavier and slower but more precise on fine edits, and Muse (12 credits), which is agentic but geared toward generation and research, not surgical edits.

The honest caveat: naming convention or not, this is still a one-shot edit model, not Photoshop. Complex edits with many constraints can come back wrong, and there's no iterative refine button - you re-run with a better prompt. But for the price and speed, re-running is the workflow.

Install and issues

Install via ComfyUI Manager (search "BudgetPixel") or:

cd ComfyUI/custom_nodes
git clone https://github.com/budgetpixel-ai/comfyui-budgetpixel.git
pip install -r comfyui-budgetpixel/requirements.txt

Restart, find it under Add Node → BudgetPixel → Image, and set your API key via BUDGETPIXEL_API_KEY or a budgetpixel.json file - no key widget, so shared workflows stay clean.

Pack-wide caveats: a recent ComfyUI for core types, and Stop abandons the local wait without cancelling the server-side job (which still bills its 15 credits). The most common user error is skipping the image-naming convention in the prompt - if your instruction says "the first image" instead of "image 1", the model has to guess, and the output quality reflects it.

CategoryBudgetPixel/Image

Inputs (6)

NameTypeDefaultDescription
promptSTRINGText instruction describing the desired edit or composition.
reference_imagesIMAGEReference images to edit or compose (1-3). Each item is a public image URL, a data URI, raw base64, or an uploaded-file URL from POST /v1/uploads.
aspect_ratiooptCOMBOmatch_input_imageOutput aspect ratio. Defaults to matching the first reference image.
num_imagesoptINT11–1Number of images to generate. This model returns a single image per request.
seedoptINT-1-1–2147483647Seed for reproducible generation. Omit for random.
force_rerunoptBOOLEANfalse

Outputs (1)

NameTypeDescription
imagesIMAGE