Nodes/Doom_Flux_NodePack/Doom Flux2 Sampler
ComfyUI Node

Doom Flux2 Sampler

Doom Flux2 Sampler

By PeterMikhai·Created about a year ago·Updated 6 days ago· 1
Doom Flux2 Sampler
  • model
  • conditioning
  • output
  • denoised_output
noise_seed0
steps20
sampler_nameeuler
schedulersimple
guidance4.0
max_shift1.15
base_shift0.50
width1024
height1024
batch_size1

Doom Flux2 Sampler is the pack's text-to-image sampler for Black Forest Labs' second-generation model family. It takes a Flux.2 model, a conditioning, a seed, and a size, and produces a latent - with the two fiddly bits of Flux.2 sampling already sorted: the DiT runs at a 16× latent, and the timestep schedule is built by sequence length rather than by pixel resolution.

Why you'd reach for it over the Flux.1 sampler: Flux.2 is the model that "lost the launch and won the year" - technically the strongest open image model of late 2025, rejected in a week because the full 32B + 24B Mistral encoder stack was un-runnable for most people, then rehabilitated via smaller checkpoints and quantization. This node doesn't shrink the model for you, but it makes the sampling side of running Flux.2 correct without you having to know that Flux.2's VAE is 16-channel or that its schedule keys off token count.

How it works

Three things this node gets right so you don't have to:

16-channel latent. Flux.2 uses a 16-channel VAE - not the 4-channel one every SD model trained you to expect. The node builds an empty latent shaped for it ([B,16,H/16,W/16]) and the outputs are sized accordingly. Decode with a Flux.2-compatible VAE.

Schedule by sequence length. Instead of the Flux.1-style sigma schedule, it uses the Flux.2 get_schedule(steps, seq_len) path, where seq_len is derived from width × height. That's the model-appropriate schedule, baked in.

Guidance as an embedding, single pass. Like every sampler in this pack, it runs positive-only at CFG 1 - no negative prompt - and the guidance input (default 4.0) is injected into the conditioning as the distilled guidance embedding, not classifier-free guidance. There's no negative input on the node, and that's intentional.

max_shift/base_shift (defaults 1.15/0.5) still resolve the timestep shift by resolution, same as the Flux.1 sampler. Inputs you'll set: model (the tooltip is blunt: don't feed Krea2-compatible architectures here - that's what DoomKrea2Sampler is for), conditioning, noise_seed, steps, width/height (step 8), sampler_name/scheduler (euler/simple defaults), and guidance. Outputs: output and denoised_output (x0 prediction), both LATENT for an external VAEDecode.

Installing it

cd ComfyUI/custom_nodes
git clone https://github.com/PeterMikhai/Doom_Flux_NodePack

Restart (or ComfyUI Manager). No extra pip deps; needs a current ComfyUI for the V3 API. The README's DoomAI_nodes.git line is stale - repo is Doom_Flux_NodePack. You'll need Flux.2 weights in diffusion_models, its encoder in text_encoders, and the 16-channel VAE.

Common issues

  • Feeding a Krea2 model into this node. The tooltip warns about it for a reason - the architectures are close enough to be tempting and different enough to break. Use DoomKrea2Sampler for Krea2.
  • VRAM. Flux.2 is the pack's heaviest image model. If you're under ~16GB, quantize the encoder hard and reach for fp8 or GGUF on the diffusion model before you touch the sampler. A too-small card will just OOM mid-run.
  • Decoding to weird colors usually means you decoded a Flux.2 latent with a Flux.1-era VAE. The 16-channel VAE is non-negotiable.
  • Negative prompt does nothing - expected, single-pass CFG 1.

If you've decided to live with Flux.2's weight budget, this is the node that takes the "how do I sample this thing correctly" question off the table.

CategoryDoom/Sampler

Inputs (12)

NameTypeDefaultDescription
modelMODELFlux.2 (krea2-совместимые архитектуры сюда не подавать)
noise_seedINT00–18446744073709550000
stepsINT201–10000
sampler_nameCOMBOeuler44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBOsimple9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
conditioningCONDITIONING
guidanceFLOAT4.00–100CFG-направление (в conditioning как guidance)
max_shiftFLOAT1.150–100
base_shiftFLOAT0.500–100
widthINT102416–16384
heightINT102416–16384
batch_sizeINT11–4096

Outputs (2)

NameTypeDescription
outputLATENTГотовый латент [B,16,H/16,W/16]
denoised_outputLATENTx0-прогноз (чистый латент)