Doom Flux2 I2I Sampler
Flux.2 edits with up to eight reference images — and the inputs grow as you connect them
- model
- vae
- conditioning
- images
- mask
- output
- denoised_output
Doom Flux2 I2I Sampler is the pack's img2img and multi-reference sampler for Flux.2 - the node you reach for when the job is "change this image / make something from these references" rather than "dream from nothing." It does the two things Flux.2 made famous in one node: single-image editing, and multi-reference composition where several reference images are injected into the conditioning as reference_latents. Flux.2's multi-reference editing is one of the few things from its launch that the community genuinely, unreservedly praised (see the KB's flux-2 doc) - and this node exposes it directly.
The other notable feature is UI-level: the reference inputs are autogrow. Connect an image to image_1 and the node grows inputs for image_2, image_3, and so on as you connect them, up to eight or so in practice. No fixed slots to plan around.
How it works
The reference wiring is the mechanism worth understanding:
image_1is the main image - the one encoded into the latent you start from (whenuse_empty_latentis off). If you're doing img2img, this is your source.image_2..Nare references - each is VAE-encoded and appended toreference_latentsin the conditioning, which is how Flux.2 knows the visual context you want echoed without overwriting the main latent. This is the multi-reference path.maskis optional and 1 = regenerate: it becomes the latent's noise mask, so you can restrict regeneration to a region of the main image.use_empty_latent(default false) flips the node into text-to-image-with-references mode: start from an empty latent ofempty_width×empty_heightinstead of from an encoded main image.
denoise controls how much of the starting latent survives - 1.0 is full resample, and anything below that is partial re-sampling, which is your lever for "change the vibe but keep the structure." guidance (default 4.0) is the distilled guidance embedding, single-pass CFG 1, so no negative prompt input here either. The Flux.2 schedule is built by sequence length, and shift handling matches the base sampler.
Inputs you'll actually set: model, vae (the 16-channel Flux.2 VAE - the tooltip says so explicitly), conditioning, noise_seed, steps, denoise, the autogrow images, optional mask, and use_empty_latent if you're in reference-only mode. Outputs: output and denoised_output latents, decoded externally.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/PeterMikhai/Doom_Flux_NodePack
Restart or use ComfyUI Manager. No extra deps; needs current ComfyUI (V3 API). README's DoomAI_nodes.git line is stale - use Doom_Flux_NodePack. Note that the pack's flux2_i2i_reference_pages example workflow uses a subgraph prompt enhancer and needs ComfyUI 0.24+.
Common issues
- The reference has no visible effect.
image_2..Nfeed context viareference_latents; if you connected them but leftuse_empty_latentoff, the main latent still dominates. Multi-reference shine is when you want composition from references - flipuse_empty_latenton. - "I expected inpainting, got a full re-imagine." Without a
mask, img2img with highdenoiseredraws everything. Add the mask (1 = regenerate) or dropdenoise. - Images must be the right aspect for the latent - a very different-ratio reference into a square latent produces odd compositions; normalize sizes upstream (the pack's
DoomImageResizehandles this). - Needs the Flux.2 VAE - 16-channel. Wrong VAE, wrong colors.
If Flux.2 is your edit/companion model, this is the node you'll actually live in.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| vae | VAE | VAE Flux.2 (16-канальный) | |
| conditioning | CONDITIONING | — | |
| noise_seed | INT | 00–18446744073709550000 | — |
| steps | INT | 201–10000 | — |
| denoise | FLOAT | 1.000–1 | Сила шума (1.0 — с нуля; <1 — частичный ресемпл) |
| sampler_name | COMBO | euler | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 |
| guidance | FLOAT | 4.00–100 | — |
| batch_size | INT | 11–4096 | — |
| use_empty_latent | BOOLEAN | false | true — стартовать с пустого латента (без main_image) |
| empty_width | INT | 102416–8192 | — |
| empty_height | INT | 102416–8192 | — |
| imagesopt | COMFY_AUTOGROW_V3 | Референсы: image_1 — основной (энкодится в латент), image_2..N — в reference_latents. Новые входы появляются по мере подключения. | |
| maskopt | MASK | Маска inpaint (1 — перегенерировать) |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| output | LATENT | — |
| denoised_output | LATENT | — |