Nodes/SpicyAPI/GPT Image 2.5 Sunburst · Image Editing
ComfyUI Node

GPT Image 2.5 Sunburst · Image Editing

Same Inputs as Flare, Slower, Better, Worth the Wait

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
GPT Image 2.5 Sunburst · Image Editing
  • image_urls
  • mask_url
  • images
  • alpha
  • task id
◄prompt►
◄aspect_ratio1:1►
◄resolution1k►
◄qualityhigh►
◄num_outputs1►
◄input_fidelitylow►
◄backgroundauto►
◄output_formatpng►
◄output_quality-1►
◄seed0►

Sunburst and Flare are the same model family, the same inputs, the same price tag - and Sunburst is the quality-first one. If you have a keeper image and a specific change to make, this is the node; if you're still exploring the change, Flare will get you there for the same money in less time.

What it is

An instruction-editing wrapper around OpenAI's GPT Image 2.5. You hand it one to sixteen source images and a sentence describing the edit, plus optionally a mask to fence off the area that may be repainted. Output is 1K to 4K as PNG, JPEG or WebP, at about $0.001816 per image at the headline rate, and it's promoted as the higher-quality half of the 2.5 pair.

Instruction editing is where the character-consistency problem actually went in 2026 - instead of hoping a new generation resembles the old one, you edit the one you already like, so identity survives because the model is looking straight at it. The catch, which the KB's write-up on this is blunt about, is that an edit model re-emits the entire frame rather than patching yours: pixels nobody asked about move, chains of edits compound, and faces can drift. Masking is the mitigation. Which is why the mask_url input on this node isn't a footnote.

Inputs, in the order that matters

  • prompt - what changes, and what must not. Half the value of this node is in the second clause.
  • image_urls - autogrow sockets, one to sixteen. Connect one and another appears. Position in the row is how your prompt refers to them.
  • mask_url - the modifier. Small wrinkle: the convention is transparent pixels = repaint area, applied to the first source image. Crank out a black-and-white mask from a segmentation node and you'll need to invert it into alpha before this node will behave.
  • input_fidelity - how much of the sources' look to preserve. When an edit comes back looking like a re-interpretation instead of a variant, this is the first dial to move.
  • quality / resolution / aspect_ratio - five quality tiers, 1K–4K, and a ratio (1:1 default).
  • num_outputs - 1 to 10, and each one is billed as a separate image.
  • background - treatment of the output background, transparency included.
  • output_format / output_quality - PNG by default; output_quality only applies to JPEG and WebP.

Outputs are images, an alpha MASK (1 = opaque) and task id. The mask is genuinely handy - feed it into compositing, or into anything that expects a ComfyUI mask - and it's the kind of detail a lot of API nodes don't bother to expose.

Installing it

ComfyUI Manager → search SpicyAPI → install → restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi

Restart ComfyUI, open Settings > SpicyAPI, paste a key from spicyapi.ai/console/keys, and restart once more so the node list comes from your account catalogue. There is nothing else to install - the pack declares no dependencies and uses the aiohttp, torch and PyAV ComfyUI already ships. Uploads are cached per account for 12 hours by content hash, so re-running with a tweaked instruction doesn't re-send your sources.

Traps

Your sources go to a server, and OpenAI's filter decides what it will edit. That's not a bug in the node; it's the category. The GPT Image line's moderation has a well-documented history of moving around, so treat any single result as a sample rather than a policy.

On money: num_outputs multiplies everything, and 4K multiplies everything else. Set Max cost per run in Settings > SpicyAPI - the node quotes the job, checks the worst case against your limit, and refuses before a task is created. The badge you see on the node is a rate, deliberately never a total, since the real number depends on the tier you pick and how many images come back; the charge is printed when the run finishes. Cancelling doesn't cancel the job - it keeps generating on SpicyAPI, bills if it succeeds, and the result stays in your console for up to 14 days. If a task ends content_rejected, you generally weren't charged.

CategorySpicyAPI/Image/OpenAI

Inputs (12)

NameTypeDefaultDescription
promptSTRINGSay what to change and what must stay the same.
image_urlsCOMFY_AUTOGROW_V3One to 16 source images, in the order your prompt refers to them.
aspect_ratioCOMBO1:1Output aspect ratio.
resolutionCOMBO1kOutput size tier.
qualityCOMBOhighRendering quality. Higher tiers add detail, time and cost.
num_outputsINT11–10How many images to return, each billed separately.
input_fidelityCOMBOlowHow closely to keep the look of the source images.
backgroundCOMBOautoBackground treatment of the result.
output_formatCOMBOpngFile format of the returned images.
output_qualityINT-1-1–100Compression quality for JPEG and WebP, from 0 to 100. -1 leaves it to the model.
seedINT00–2147483647This model takes no seed, so the number is never sent. Changing it makes ComfyUI run the node again: set 'control after generate' to randomize for a new result on every run; every run is billed.
mask_urloptIMAGEOptional PNG mask: transparent pixels mark the area to repaint in the first source image.

Outputs (3)

NameTypeDescription
imagesIMAGE—
alphaMASKTransparency of each image: 1 is opaque.
task idSTRINGThe SpicyAPI task id, for the console logs or support.