FLUX.1 Kontext [dev]
The Edit-By-Instruction Model, In the Cloud
- referenceImages
- lora
- ultralytics
- acceleratorOptions
- advancedFeatures.watermark.image
- image
FLUX.1 Kontext killed the mask-based editing workflow, or at least demoted it. Kontext is the instruction-editing model: you feed it an image and say "make it raining," "change the jacket to red," "add a mountain behind the building," and it rewrites the image to match - no mask, no inpaint, no denoise dial. By 2026 the community verdict was settled: Kontext (and its siblings Qwen-Image-Edit and FLUX.2 klein) took over most of the job people used masks for, because editing from a sentence beats editing from a hand-painted region for almost everything.
The catch is that "dev" is the open-weights tier, and dev weights are non-commercial with BFL's tightening license. This node sidesteps the whole thing: it's the Kontext dev model running on Runware's cloud, so you get the capability without hosting the weights or shipping a fork of them anywhere.
What you set
Required is positivePrompt - and that's the entire editing instruction. Then wire referenceImages with the image you want changed. From there it behaves like a full image node:
- negativePrompt - has a tooltip warning worth taking seriously: it's ignored when guidance is disabled (CFGScale ≤ 1). Kontext-family guidance-distilled models run low-CFG by default, so your negative may do nothing at all. As the photorealism crowd put it, write constraints as presence ("clean studio background, sharp focus") instead.
- steps - a toggle plus
steps_value(flip the switch, then set 1–50). Default "off" means the model picks. - CFGScale / trueCFGScale - both gated toggles with
_valuesiblings; leave them off unless you know why you're overriding. - scheduler - the full 76-entry dropdown. Leave it on
(default).
The typed sockets are where this node earns its keep: lora, ultralytics (object-detection guidance), acceleratorOptions (caching/distillation speedups), and watermark. These come from the pack's builder nodes under Runware/Params and wire straight in. Output is one image.
The gotcha that defines this model
Kontext edits the whole image. That's the trade: an edit model takes everything into context and emits a whole new image, so the parts you didn't want touched come back close-but-not-identical. Community wisdom is that drift compounds across a chain of edits - each pass nudges the background a bit more. If you need bit-identical unmasked pixels (a logo, a face you must not change), the mask still owns that job; run your instruction edit, then composite the edited region back over the original with a mask.
Install
Standard pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Restart, or just install "Runware" via ComfyUI Manager. API key required (Settings → Runware API key or RUNWARE_API_KEY); cost shows on the node title bar. No model files download - everything runs on BFL's weights hosted by Runware, which is the whole point when the local path means either 12GB of weights and a licensing headache or a GPU you don't own.
Inputs (30)
| Name | Type | Default | Description |
|---|---|---|---|
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. | |
| referenceImagesopt | IMAGE | — | |
| loraopt | RUNWARE_LORA | — | |
| ultralyticsopt | RUNWARE_ULTRALYTICS | — | |
| acceleratorOptionsopt | RUNWARE_ACCELERATOROPTIONS | — | |
| advancedFeatures.watermark.imageopt | IMAGE | — | |
| negativePromptopt | STRING | Prompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1). | |
| sizeopt | COMBO | 1K (1:1) | Output size. Only one of resolution or dimensions is sent. |
| seedopt | INT | 00–9223372036854776000 | Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range. |
| stepsopt | BOOLEAN | false | Enable to set steps. Off uses the model's default. |
| steps_valueopt | INT | 11–50 | Total number of denoising steps. Higher values generally produce more detailed results but take longer. |
| scheduleropt | COMBO | (default) | Scheduler to use for the diffusion process. |
| CFGScaleopt | BOOLEAN | false | Enable to set CFGScale. Off uses the model's default. |
| CFGScale_valueopt | FLOAT | 0.000–20 | Guidance scale representing how closely the output will resemble the prompt. Higher values produce results more aligned with the prompt. |
| trueCFGScaleopt | BOOLEAN | false | Enable to set trueCFGScale. Off uses the model's default. |
| trueCFGScale_valueopt | FLOAT | 0.00 | True Classifier-Free Guidance scale. Higher values increase prompt adherence at the cost of quality. |
| numberResultsopt | INT | 11–20 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| advancedFeaturesopt | BOOLEAN | false | Enable to set advancedFeatures. Off uses the model's default. |
| advancedFeatures.watermark.bgColoropt | STRING | Background color in hex format. | |
| advancedFeatures.watermark.displayPositionopt | COMBO | (default) | Watermark position. |
| advancedFeatures.watermark.fontColoropt | STRING | Text color in hex format. | |
| advancedFeatures.watermark.opacityopt | BOOLEAN | false | Enable to set advancedFeatures.watermark.opacity. Off uses the model's default. |
| advancedFeatures.watermark.opacity_valueopt | FLOAT | 0.100.1–1 | Watermark opacity. |
| advancedFeatures.watermark.textopt | STRING | Watermark text. | |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | JPG | File format for the generated image. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |