ComfyUI Node

GPT-Image-2.5 Flare

OpenAI's renderer, wired into your graph, transparent backgrounds included

By Runware·Created 2 years ago·Updated about 20 hours ago· 140
GPT-Image-2.5 Flare
  • maskImage
  • referenceImages
  • advancedFeatures.watermark.image
  • image
◄positivePrompt—►
◄width1024►
◄height1024►
◄numberResults1►
◄advancedFeaturesfalse►
◄advancedFeatures.watermark.bgColor►
◄advancedFeatures.watermark.displayPosition(default)►
◄advancedFeatures.watermark.fontColor►
◄advancedFeatures.watermark.opacityfalse►
◄advancedFeatures.watermark.opacity_value0.10►
◄advancedFeatures.watermark.text►
◄settings.backgroundauto►
◄settings.moderationauto►
◄settings.qualityauto►
◄safetyfalse►
◄safety.checkContentfalse►
◄ttlfalse►
◄ttl_value60►
◄outputFormatJPG►
◄outputQuality95►

Why you'd put a closed model in a ComfyUI graph

You can't download GPT Image. There's no checkpoint, no GGUF, no fp8 conversion - the KB's closed-source-models doc is blunt about the category: OpenAI's image line ran from GPT Image 1 through 1.5 with excellent text rendering and an access story the community describes as "impressive but unreliable," and the primary surface was always ChatGPT. What the enthusiast scene never had was the model inside a workflow, where you can put it after your own mask, before your own upscaler, feeding a batch you generated locally.

That's the entire job of this node. It's a thin, honest wrapper: your prompt and any images go out to Runware, the image comes back as a normal IMAGE tensor, and the rest of your graph neither knows nor cares where it came from.

The inputs that matter

positivePrompt is required. The three you'll actually touch:

  • width and height - defaults are 1024×1024, range 16–3840 in steps of 16. Big canvases cost more, so start at the default and only go up when the composition needs it.
  • referenceImages - an IMAGE socket, and the best use of this node. One reference image as a visual anchor does more for consistency across a batch than any amount of prompt engineering, especially on a model whose main weakness is doing whatever it feels like.
  • settings.quality - auto (default), max, xhigh, high, medium, low. This is your cost/quality lever and the honest answer is that you should test it rather than assume max is worth it for a web-sized image.

For editing rather than generating, there's maskImage (an IMAGE socket) - give it a reference plus a mask and you're inpainting with OpenAI's renderer instead of your local one. That combination is the reason to install this pack at all.

The sleepers are in settings. settings.background (auto, opaque, transparent) plus outputFormat: PNG gets you a cutout with an alpha channel - genuinely useful for compositing, stickers, product shots, and doing it right the first time rather than fighting a remover node afterwards. settings.moderation (auto or low) is the loosening dial; it is not an off switch, and the KB is clear on why: a filter baked into a hosted endpoint can't be abliterated, because there are no weights to edit. Whatever OpenAI refuses, this node refuses.

numberResults goes up to 20 variations per call, which is the practical workaround for the fact that there is no seed input on this node. You cannot reproduce a generation exactly. Queue the variations, keep the one you like, stop trying to re-roll a lost favourite.

The advancedFeatures group holds the watermark widgets (advancedFeatures.watermark.text, .image, .displayPosition, .fontColor, .bgColor, and the .opacity toggle gating .opacity_value) and is off by default - nothing in it is sent while the group toggle is off. outputFormat covers JPG/PNG/WEBP and outputQuality 20–99. The safety group adds safety.checkContent, which costs you time per its own tooltip.

Output is one image.

Install

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

Manager works too - search Runware. Dependencies are runware-sdk>=1.6.5, pillow and soundfile; the repo carries schemas, not weights. Key in ComfyUI Settings → Runware API key, RUNWARE_API_KEY, or runware auth login. Cost prints on the node's title bar after each run, which for an image model is the number you actually want to watch.

Where people get burned

Pasting a giant canvas size. 3840×3840 is allowed and priced accordingly. numberResults multiplies everything, so 20 results at 4K is not a test run.

Assuming a transparent background is free. settings.background: transparent is a model behaviour, not a guarantee - check the alpha channel before you build a pipeline on it.

Confusing this node with its twin. GPT-Image-2.5 Sunburst is the same widget set pointed at a different OpenAI endpoint. You can't flip between them in one node; each model in this pack is its own node, bound to its own model identifier, which is also why updating the pack is how you get the next revision.

CategoryRunware/Image/openai

Inputs (23)

NameTypeDefaultDescription
positivePromptSTRINGText prompt describing elements to include in the generated output.
maskImageoptIMAGE—
referenceImagesoptIMAGE—
advancedFeatures.watermark.imageoptIMAGE—
widthoptINT102416–3840Width of the generated media in pixels.
heightoptINT102416–3840Height of the generated media in pixels.
numberResultsoptINT11–20Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
advancedFeaturesoptBOOLEANfalseEnable to set advancedFeatures. Off uses the model's default.
advancedFeatures.watermark.bgColoroptSTRINGBackground color in hex format.
advancedFeatures.watermark.displayPositionoptCOMBO(default)Watermark position.
advancedFeatures.watermark.fontColoroptSTRINGText color in hex format.
advancedFeatures.watermark.opacityoptBOOLEANfalseEnable to set advancedFeatures.watermark.opacity. Off uses the model's default.
advancedFeatures.watermark.opacity_valueoptFLOAT0.100.1–1Watermark opacity.
advancedFeatures.watermark.textoptSTRINGWatermark text.
settings.backgroundoptCOMBOautoBackground handling in generated images.
settings.moderationoptCOMBOautoContent moderation level.
settings.qualityoptCOMBOautoImage quality level.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking. Increases total generation time.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOJPGFile format for the generated image.
outputQualityoptINT9520–99Compression quality of the output. Higher values preserve quality but increase file size.

Outputs (1)

NameTypeDescription
imageIMAGE—