ComfyUI Node

FLUX.1 Kontext [pro]

Same Editing Magic, Fewer Knobs, Hosted

By Runware·Created 2 years ago·Updated about a month ago· 140
FLUX.1 Kontext [pro]
  • referenceImages
  • advancedFeatures.watermark.image
  • image
positivePrompt
size1K (1:1)
seed0
numberResults1
advancedFeaturesfalse
advancedFeatures.watermark.bgColor
advancedFeatures.watermark.displayPosition(default)
advancedFeatures.watermark.fontColor
advancedFeatures.watermark.opacityfalse
advancedFeatures.watermark.opacity_value0.10
advancedFeatures.watermark.text
providerSettings.bfl.promptUpsamplingfalse
safetyfalse
safety.checkContentfalse
providerSettings.bfl.safetyTolerance2
ttlfalse
ttl_value60
outputFormatJPG
outputQuality95

If the FLUX.1 Kontext [dev] node is the open-weights tier with every dial exposed, [pro] is its adult sibling: same instruction-editing model - feed an image, say "make it snowing," get a new image - but with the sampling knobs taken away and a couple of hosted conveniences added. It's Black Forest Labs' flagship editing model running entirely on Runware's cloud, and the node's widget list reads like a statement about who the audience is.

What you get instead of the knobs

Required: positivePrompt, width, height. Then the shortened optional list:

  • referenceImages - the image you're editing. This is the whole game: Kontext edits from a reference rather than from scratch.
  • providerSettings.bfl.promptUpsampling - a hosted convenience. Flip it on and BFL's server rewrites and expands your prompt before generation. Worth trying once; some people love the quality lift, others find it drifts from their intent.
  • providerSettings.bfl.safetyTolerance - BFL's moderation tolerance, 0–5, default 2. Lower is stricter, higher is more permissive. This is the knob you'll actually touch when a legitimate prompt keeps getting refused - but know that BFL's moderation is famously firm, and this is a tolerance dial, not a bypass.
  • seed and numberResults (up to 20) - reproducibility and variation.

No steps, no scheduler, no CFG. The pro tier decides those for you, which is honestly fine for editing - the model is tuned well and most people never needed the sampling knobs on Kontext anyway. Output is one image.

Why pro and not dev

The [dev] tier in this family ships open weights under a non-commercial license; pro is the commercial, hosted flavor. If you're producing client work or anything you might sell, pro removes the license question entirely - you're renting the model, not redistributing weights, so the non-commercial clause never gets a chance to bite you. That's the cleanest reason to pick pro over its dev sibling, and it's the same argument that pushed a lot of the editing world toward this pack.

Install and gotchas

Standard pack install:

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

Restart, or install "Runware" from ComfyUI Manager, and set your API key (Settings → Runware API key or RUNWARE_API_KEY). No weights download.

The shared pack gotchas apply: every run bills the account (title bar shows cost), and - the one that catches Kontext users specifically - remember this model edits the whole image, so unchanged regions come back close-but-not-identical. If bit-exactness matters, composite the edited region back over the original with a mask. Also, promptUpsampling changes outputs between runs in ways you can't fully control; leave it off if reproducibility matters more than prompt polish.

CategoryRunware/Image/bfl

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.
seedoptINT00–4294967295Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
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.bfl.promptUpsamplingoptBOOLEANfalseEnable automatic enhancement and expansion of the input prompt.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking.
providerSettings.bfl.safetyToleranceoptINT20–5Tolerance level for content moderation. Lower values are stricter; higher values are more permissive.
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