FLUX.1 Kontext [dev] (custom model)
Kontext dev's edits, without the 12B-model hardware bill
- referenceImages
- lora
- ultralytics
- acceleratorOptions
- advancedFeatures.watermark.image
- image
FLUX.1 Kontext [dev] is the model that made instruction-based editing feel like a party trick. Feed it an image and a sentence - "change the shirt to red," "remove the watermark" - and it edits in place, keeping the character's identity instead of redrawing a stranger. The community found it genuinely unsettling at watermark removal, and it became the go-to for turnaround-sheet character consistency. The catch has always been the footprint: Kontext is a full FLUX-scale model that wants a serious GPU.
This node deletes that problem. RunwareArch_flux_1_kontext_dev is the pack's "custom model" wrapper for the Kontext architecture - it defaults to the dev checkpoint (runware:106@1) but you can point the model field at any Kontext-architecture checkpoint sitting in Runware's catalog. The actual denoising happens on their servers; you get back a normal IMAGE.
How it works
Kontext is architecturally interesting: it consumes reference images in-context rather than through adapter embeddings like IP-Adapter. The reference image and the instruction prompt both ride in as conditioning, which is why identity sticks so well. Mechanically, this node is just a taskType: imageInference request over REST - the SDK sends your prompt, image, and settings, Runware runs the model, and the node downloads the result into an IMAGE tensor.
Inputs that matter
- model - the AIR of the checkpoint. Defaults to the Kontext dev model, so most people never touch it.
- positivePrompt - the instruction, written as what you want the image to become.
- referenceImages - the source image(s) to edit, wired in from a Load Image node. For multiple inputs, batch them or chain Load Image nodes; Kontext accepts a set.
- negativePrompt - honored only when CFG is above 1, so don't bother writing one if you run with guidance disabled.
- steps / scheduler - steps is an off-by-default toggle that reveals
steps_value; leave it off to use the model default. The scheduler dropdown has ~76 options, which is honestly more than you need. - lora - a typed socket for the pack's LoRA builder, if the checkpoint you picked is a fine-tune that expects one.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Or ComfyUI Manager → search Runware → Install → restart. Then add an API key in ComfyUI Settings → Runware API key (or RUNWARE_API_KEY). Prepaid, top-up style; the title bar shows each run's cost and NSFW check result.
Gotchas
- No key → instant error. Check the console for "No Runware API key" before blaming the node.
- The dev-tier Kontext license came with a clause about not circumventing content restrictions, which torched a lot of the community's LoRA ecosystem. Fine for legit editing, just know what you're standing on.
- The
imageoutput does nothing until it's wired into Preview Image or Save Image - the classic "ran but saw nothing" failure.
If you want Kontext's editing without babysitting a 12B model, this is the cleanest way to get it. You trade a per-run cost for never thinking about VRAM again.
Inputs (31)
| Name | Type | Default | Description |
|---|---|---|---|
| model | STRING | runware:106@1 | AIR of any checkpoint of this architecture. Use the search button to browse the catalog. |
| 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 | — |