ComfyUI Node

Runway Gen-4 Image

Runway Gen-4 images, without the Runway website

By Runware·Created 2 years ago·Updated 16 days ago· 140
Runway Gen-4 Image
  • referenceImages
  • advancedFeatures.watermark.image
  • image
positivePrompt
size720p (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.runway.contentModeration.publicFigureThresholdauto
safetyfalse
safety.checkContentfalse
ttlfalse
ttl_value60
outputFormatJPG
outputQuality95

Runway's Gen-4 is the image side of the same company that owns a chunk of the AI-video conversation, and its image model has a specific reputation: it's extremely good at keeping a subject consistent across a batch of frames, and it takes reference images seriously. This node puts that model inside your graph, running on Runware's API - same pitch as the rest of the pack, no Runway subscription UI, no web tab, just a node with an IMAGE out.

The interesting thing about Gen-4 image generation is that it's built around reference conditioning rather than raw prompt luck. Where a typical text-to-image node hopes the prompt pins down the character, Gen-4's whole design assumes you'll hand it a reference and ask it to respect it. That makes this node a genuinely different tool in the Runware catalog than, say, a FLUX node.

Inputs that matter

positivePrompt is required; everything else is optional but Gen-4 only shows what it's for when you use the optional stuff:

  • referenceImages - wire one or more IMAGE tensors in. This is the key Gen-4 capability: the model uses these to lock identity, style, or composition. Character consistency is the job this model is actually good at, so feed it a face or a character sheet and prompt from there.
  • width / height - 1024×1024 defaults, plain pixel dimensions.
  • numberResults - up to 20; each result uses a different seed. Batch variations are cheap here.
  • providerSettings.runway.contentModeration.publicFigureThreshold - auto or low. This is Runway's own content policy leaking into the node: how strictly it filters for public figures. If you're generating a lookalike of a real person, this is the setting that decides whether you get a result or a polite block. low loosens it; don't assume that's a smart move.
  • safety.checkContent - the pack-level content check, separate from Runway's own moderation above.

outputFormat (JPG/PNG/WEBP) and outputQuality are the usual file knobs. There's no seed input on this node - a fun quirk of the Gen-4 spec - so reproducibility rides on numberResults and the reference set.

How it works

Under the hood: the node fires a runway:4@1 image-inference request through the Runware SDK, your reference images get uploaded as part of the request, and the response URL is converted into a native IMAGE. Cost and content-check status print on the node's title bar after the run. Nothing runs locally, which is the entire appeal - Gen-4 is a hosted model you can't download anyway, so this node is the only way it's ever going to live inside a ComfyUI workflow.

Install and gotchas

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

Restart, add your Runware API key in Settings (or RUNWARE_API_KEY, or runware auth login). It's pay-per-use with a minimum top-up.

Where people get burned: they use it as a plain text-to-image node and wonder why it's not "better" than the local model they already run. Gen-4's edge is the reference path - if you're not wiring referenceImages, you're using the most expensive text-to-image node in the pack. Also, remember there are two moderation layers: Runway's publicFigureThreshold and the pack's safety.checkContent. If a run comes back empty, check both, and don't be surprised when "auto" threshold quietly kills a celebrity prompt.

CategoryRunware/Image/runway

Inputs (19)

NameTypeDefaultDescription
positivePromptSTRINGText prompt describing elements to include in the generated output.
referenceImagesoptIMAGE
advancedFeatures.watermark.imageoptIMAGE
sizeoptCOMBO720p (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.runway.contentModeration.publicFigureThresholdoptCOMBOautoPublic figure filtering strictness.
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