GPT Image 2.5 Flare · Edit
Sixteen references and a mask, for pocket change
- image_urls
- mask_url
- images
- alpha
- task id
Sixteen source images, a real mask socket, and a price that starts at about 0.27 credits ($0.0027) per image. That combination doesn't exist anywhere local. If your workflow needs "put this product in that room, keep the label legible, change nothing else", this is the node that does it without training anything.
What it is
The edit endpoint for GPT Image 2.5 Flare, OpenAI's speed-first image model, wrapped in the PopNow pack. GPT Image is the line that made in-image text rendering actually reliable - that's the whole reason people tolerate a closed model - and Flare is the cheap, fast end of the 2.5 generation. You get OpenAI's instruction-following and text competence, metered per image, inside a ComfyUI graph.
There's no local option here at all, which is the usual API-node trade: your source images and prompt go to a server you don't control, subject to that server's filter, and you pay per call. The upside is a capability that doesn't exist in open weights.
How it works
Attach images to image_urls - an Autogrow socket, so each connection adds a slot up to sixteen - and they're uploaded for you (PNG, with a JPEG fallback above 10 MiB) and cached by content hash for 12 hours. Then you describe the change and what must stay. The model returns a fresh image, and the node hands it to you as an IMAGE batch.
The alpha output is the part people don't expect from a hosted editor. Every result comes back with its transparency as a MASK alongside the pixels, which means you can wire a cut-out straight into a compositing chain without a separate background-removal pass.
The inputs
prompt- what to change and what must stay the same. Say the second half out loud; this model follows instructions literally, so "keep the label, keep the lighting, only change the background" is worth more than a prettier sentence.image_urls- one to 16 sources, in the order your prompt refers to them. Order matters: number them in your head and write "the second image" accordingly.mask_url(optional) - a PNG mask where transparent pixels mark the area to repaint in the first source image. It's an image input, not a mask input, so feed it a PNG with a real alpha channel rather than a white-on-black matte.input_fidelity-lowby default;highkeeps more of the source's look. Turn it up for products, packaging and anything where the model must not redesign the thing it's editing.aspect_ratio-1:1default. This model does not inherit the source's shape, so set it deliberately or your 16:9 photo comes back square.resolution-1k,2k,4ktiers.quality-highby default here, with higher tiers adding detail, time and cost.num_outputs- 1 to 10, each billed separately. Good for contact sheets, dangerous for the wallet if you leave it at 10 and forget.background-autodefault;transparentgives you a real cut-out.output_formatandoutput_quality-pngdefault, with JPEG/WebP quality from 0 to 100, or-1to leave it to the model.
Outputs: images, alpha, task id.
Workflows this unlocks
The masked-edit path is the one to learn. Build the mask with anything that produces a PNG with transparency - a segmentation node, a quick selection in an image editor - wire it into mask_url, set background to transparent, and you get a changed region plus its alpha, ready to composite back. That's an inpainting workflow without an inpainting model.
For multi-reference work: 16 slots is enough to feed a mood board plus the actual subject. The trap is expecting the model to fuse them; it will pick and choose. Point at what you want used.
Install
Manager → search PopNow → Install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Restart, add a key from popnow.ai/api/console/keys via Settings > PopNow, restart once more. No dependencies to install - the pack declares none.
Traps
PopNow 400 naming a field is usually an aspect ratio or quality tier the model won't serve in combination with your other settings. PopNow content_rejected means OpenAI's filter declined, and failed runs are refunded. PopNow 40201 is credits - and note the per-image rate multiplies by num_outputs, so a 4K, high-quality, ten-image request is not the 0.27 credits the badge's "from" figure suggests. Check the quoted number on the node before you queue.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Say what to change and what must stay the same. | |
| image_urls | COMFY_AUTOGROW_V3 | One to 16 source images, in the order your prompt refers to them. | |
| aspect_ratio | COMBO | 1:1 | Output aspect ratio. |
| resolution | COMBO | 1k | Output size tier. |
| quality | COMBO | high | Rendering quality. Higher tiers add detail, time and cost. |
| num_outputs | INT | 11–10 | How many images to return, each billed separately. |
| input_fidelity | COMBO | low | How closely to keep the look of the source images. |
| background | COMBO | auto | Background treatment of the result. |
| output_format | COMBO | png | File format of the returned images. |
| output_quality | INT | -1-1–100 | Compression quality for JPEG and WebP, from 0 to 100. -1 leaves it to the model. |
| mask_urlopt | IMAGE | Optional PNG mask: transparent pixels mark the area to repaint in the first source image. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| alpha | MASK | Transparency of each image: 1 is opaque. |
| task id | STRING | The PopNow task id, for the API console logs or support. |