Superside Flux Kontext Max Multi-Image Node
FLUX Kontext Max — context-aware generation from up to four reference images
- image_1
- image_2
- image_3
- image_4
- IMAGE
The word "Kontext" is doing the work here: this is FLUX.1 Kontext [Max], the context-aware generation model from Black Forest Labs, and the point is that you hand it reference images and it understands them. Not as a style to copy - as context. "Put the little duckling on top of the woman's t-shirt" is the default prompt, and the model actually does it, because it's reading the image, not just matching a vibe. It's the kind of thing instruction-edit models do, wrapped as a generation node that takes up to four input images.
Inputs: prompt and api_key required, then image_1 through image_4 (all optional - plug in anywhere from one to four references), seed, guidance_scale (default 3.5, range 1–40), num_images (1–4), safety_tolerance (1–6, default 2, higher = more permissive), output_format (jpeg/png), and aspect_ratio (nine options from 21:9 to 9:21, defaulting to 3:4). Output is a single IMAGE. That's the entire node: images in, image out. No mask, no strength dial, no separate reference-weight control.
The safety_tolerance input deserves a sentence because it's the one knob people fight with. BFL's Kontext family has a built-in content filter that can flat-out refuse to follow a prompt it deems unsafe - the KB documents the same mechanism making Krea 2 refuse prompts - and safety_tolerance is your 1–6 dial against that. If a benign prompt keeps getting refused or the model won't do what you ask, this is the first thing to raise. It's also the honest reminder that this is a closed model: the filter lives in the weights, the node can't remove it, and there's no local bypass.
How it fits in a real workflow: context-aware generation is the 2026 successor to a lot of masked inpainting. The KB's read is that edit models like Kontext took over most of "remove this, change this, restyle this" - but with one well-documented catch: they regenerate the whole frame, so unmasked regions come back close-but-not-identical, and the drift compounds over a chain of edits. So the honest use here is as a one-shot context edit: give it a reference and a clear instruction, get a fresh render. If you need the rest of the frame to stay pixel-identical, a mask-based inpaint (like the pack's FLUX.1 Pro Fill) is the tool instead.
It's a fal API call, so the pack's standard rules apply: paste your key into the api_key widget (blank falls back to FAL_KEY, both blank = immediate error), calls burn metered credits, and your reference images leave your machine. FLUX.1 Kontext has open-weight relatives you can run locally, but the [Max] tier and this endpoint are the hosted path - you're paying for the convenience and the closed-model quality.
Install - ComfyUI Manager (search "comfyui-superside-nodes") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Superside/comfyui-superside-nodes
pip install -r requirements.txt
Restart ComfyUI, find it under Superside. No model downloads - requirements.txt is fal-client, pillow, numpy, torch, requests.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Put the little duckling on top of the woman's t-shirt. | — |
| api_key | STRING | — | |
| image_1opt | IMAGE | — | |
| image_2opt | IMAGE | — | |
| image_3opt | IMAGE | — | |
| image_4opt | IMAGE | — | |
| seedopt | INT | 0–18446744073709550000 | — |
| guidance_scaleopt | FLOAT | 3.51–40 | — |
| num_imagesopt | INT | 11–4 | — |
| safety_toleranceopt | COMBO | 2 | 6 options: 1, 2, 3, 4, 5, 6 |
| output_formatopt | COMBO | png | 2 options: jpeg, png |
| aspect_ratioopt | COMBO | 3:4 | 9 options: 21:9, 16:9, 4:3, 3:2, 1:1, 2:3, +3 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |