ComfyUI Node

GPT Image 1

The text-rendering king, without the OpenAI subscription

By Runware·Created 2 years ago·Updated about a month ago· 140
GPT Image 1
  • referenceImages
  • advancedFeatures.watermark.image
  • image
positivePrompt
size1K (1:1)
numberResults1
advancedFeaturesfalse
advancedFeatures.watermark.bgColor
advancedFeatures.watermark.displayPosition(default)
advancedFeatures.watermark.fontColor
advancedFeatures.watermark.opacityfalse
advancedFeatures.watermark.opacity_value0.10
advancedFeatures.watermark.text
providerSettings.openai.backgroundauto
providerSettings.openai.moderationauto
providerSettings.openai.qualityauto
safetyfalse
safety.checkContentfalse
ttlfalse
ttl_value60
outputFormatJPG
outputQuality95

GPT Image 1 is the model that finally put readable text inside generated images, and this node is the way to use it without leaving ComfyUI or paying for ChatGPT. You know the pain: you prompt for a storefront sign or a poster and the diffusion model hands you typography soup. GPT Image 1 actually spells things. That single capability makes it the node you reach for on logos, UI mockups, posters, and any image where legible words are the point.

It's one of the OpenAI nodes in the Runware pack, which means the generation runs on Runware's cloud GPUs through their API rather than on your machine. You type a prompt, set width and height, and an IMAGE tensor comes back exactly like it would from a local node. No OpenAI account needed - you authenticate to Runware, not to OpenAI.

What you actually set

  • positivePrompt - the text description. This model is unusually good at following detailed, literal instructions, so spell out the layout and the exact wording you want on any signs or labels. The KB's closed-source-models essay notes GPT Image's text rendering is the whole reason people put up with the closed access; give it something worth rendering.
  • width / height - output dimensions in pixels, default 1024×1024.
  • referenceImages - an IMAGE socket for image-to-image work. GPT Image 1 is natively multimodal, so you can hand it a photo to restyle or edit rather than just describe.
  • providerSettings.openai.quality - auto, high, medium, low. high costs more and takes longer but earns its keep on text-heavy work.
  • providerSettings.openai.background - auto, opaque, or transparent. Transparent background is a genuinely useful lever for compositing assets into a workflow, not just a checkbox.
  • numberResults - up to 4 variations, each on its own seed.

Output is a single image socket of type IMAGE, straight into Preview Image or Save Image. This is the only node you need in the graph - the whole pipeline is one node plus a preview.

Install

ComfyUI Manager → search Runware → install → restart. Manual:

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

API key from runware.ai/api-keys, pasted into ComfyUI Settings → Runware API key or exported as RUNWARE_API_KEY. Dependencies are light: runware-sdk, pillow, soundfile. No models to download, ever - that's the point of the pack.

Where people get burned

  • Moderation is real. providerSettings.openai.moderation defaults to auto, and OpenAI's filters ride along even though you're not on OpenAI's platform. If a prompt trips it, you get an error instead of an image. That's the model you chose.
  • Cost creep. quality: high and numberResults: 4 multiply fast. The node's title bar shows the per-run cost - actually read it once so you calibrate what "a few dollars of images" feels like.
  • Format defaults to JPG. Fine for most things, wrong if you wanted the transparent background you just enabled. Set outputFormat to PNG when alpha matters.

The honest take: for everyday image gen, local FLUX will treat you better on price per image. This node earns its keep when the words on the image matter more than the budget.

CategoryRunware/Image/openai

Inputs (21)

NameTypeDefaultDescription
positivePromptSTRINGText prompt describing elements to include in the generated output.
referenceImagesoptIMAGE
advancedFeatures.watermark.imageoptIMAGE
sizeoptCOMBO1K (1:1)Output size. Only one of resolution or dimensions is sent.
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.
providerSettings.openai.backgroundoptCOMBOautoBackground handling in generated images.
providerSettings.openai.moderationoptCOMBOautoContent moderation level.
providerSettings.openai.qualityoptCOMBOautoImage quality level.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking.
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