Nodes/Umbra Nodes/Flux.2 Detailer Sampling Provider (Umbra)
ComfyUI Node

Flux.2 Detailer Sampling Provider (Umbra)

Give your Flux.2 detail crops their own scheduler — not a one-size sampler

By Nocturne-Ai-Labs·Created 2 months ago·Updated 10 days ago· 0
Flux.2 Detailer Sampling Provider (Umbra)
  • model
  • sampling_provider
sampler_nameeuler

Flux.2 is a flow-matching transformer, and flow-matching models don't sample like SDXL. They want no CFG, a simple guider, and sigmas built from their own scheduler - which is exactly what Flux.2 Detailer Sampling Provider (Umbra) hands to the Umbra image detailer: per-crop Flux.2-style sampling instead of forcing the region through a generic img2img pass.

If that sentence needs unpacking: when you run the Image Detailer without a provider, every crop gets sampled with the Impact Pack's classic detailer recipe. For a model family with a fundamentally different sampling math, that's leaving quality on the table. This node exists so each refined crop uses the sampling its architecture expects.

How it works

It builds a Flux2DetailerSamplingProvider - one of the four UMBRA_DETAILER_SAMPLING_PROVIDER types this pack exposes - and you plug its single output into the Image Detailer's sampling_provider input. When the detailer runs a stage, the provider takes over sampling for that crop:

  • BasicGuider - the no-CFG guider Flux-style models use. There's no negative-prompt guidance term here, which is normal for these architectures; conditioning is a single positive stream.
  • Flux2Scheduler sigmas - each crop gets sigmas computed from Flux.2's own resolution-aware scheduler, at the crop's actual width/height and step count (the _resolution_sigmas helper preserves the requested denoise over the right number of steps).
  • Your sampler - the sampler_name dropdown (44 samplers from ComfyUI's registry, default euler) picks the sampler applied on top of those sigmas. Euler is the conventional Flux choice; the cfg_pp-suffixed variants are ComfyUI's recent predictor-adapted additions if you want to experiment.

Inputs: model (the Flux.2 model, loaded however you load it) and sampler_name. Output: sampling_provider, wired to Image Detailer.

How to use it

  1. Load your Flux.2 model/CLIP/VAE as usual.
  2. Add this node, feed it the model, pick a sampler.
  3. Add Image Detailer (Umbra UI), wire image/model/clip/vae/positive/negative/seed, and connect this node's sampling_provider into the detailer's sampling_provider input.
  4. Run. Each detail stage now samples its crop with Flux.2-native sigmas and guider.

Installing it

Part of Umbra-Nodes, the ComfyUI companion pack for Umbra Studio (NocturneLabs' open-source local AI suite). ComfyUI Manager → search "Umbra Nodes", or:

cd ComfyUI/custom_nodes
git clone https://github.com/Nocturne-Ai-Labs/Umbra-Nodes

Restart ComfyUI. The detailer still needs Impact Pack + Impact Subpack and its detector/SAM model files (see the Image Detailer article for the exact list) - the provider replaces the sampling, not the detection machinery.

Gotchas

A provider wired in means the detailer's stage-level steps/cfg widgets still apply (they're part of the crop context), so a high CFG on the stage will fight the no-CFG guider design - keep the stage CFG low for Flux.2. Also, provider sampling is only used when sampling_provider is connected; unplug it and you silently fall back to the classic path, which can make results look different for reasons that are easy to forget. And this is a detailer provider, not a standalone sampler - it has no outputs to feed a main-pass KSampler.

CategoryUmbra/Detailer/Providers

Inputs (2)

NameTypeDefaultDescription
modelMODEL
sampler_nameCOMBOeuler44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38

Outputs (1)

NameTypeDescription
sampling_providerUMBRA_DETAILER_SAMPLING_PROVIDER