FluxMod KSampler
The KSampler FluxMod's 8-bit quant modes actually need
- model
- positive
- negative
- latent_image
- LATENT
If you loaded your Flux model through ComfyUI_FluxMod's FluxModDiffusionLoader (or the Mini variant) with quant_mode set to float8_e4m3fn or float8_e5m2, you can't just plug that model into a regular ComfyUI KSampler and expect it to behave. The pack's README is explicit about this: those 8-bit quant modes require either this node, KSamplerMod, or the FluxModSamplerWrapper wired into an advanced sampling graph. Skip that and you're feeding activations the stock sampler doesn't know how to handle correctly. This requirement drops away if you loaded in bf16 mode, or if you start ComfyUI with --fast.
It's worth saying plainly: this pack had a fairly quiet launch and a mixed reception on release - people in the community thread asked what it actually buys you over just running a Q8 GGUF quant, which is a fair question and doesn't have a single settled answer. Where it earns its keep is specifically this activation-casting mechanic, which GGUF quantization doesn't touch.
What it does
Functionally it's a drop-in replacement for the standard KSampler - same denoising loop, same required inputs - with one addition: activation_casting, which controls whether the model's activations get cast to bf16 or fp16 during sampling. The tooltip is blunt about the recommendation: "always use bf16 unless your card does not support it." That's the whole reason this node exists instead of the built-in one - the 8-bit quant modes need someone managing that cast correctly at sample time, and the regular KSampler doesn't do it.
Inputs and outputs that matter
Everything here matches a normal KSampler: model, positive and negative CONDITIONING, latent_image, seed, steps (default 20), cfg (default 8), sampler_name (44 choices - euler, euler_ancestral, dpm_2, and so on), scheduler (9 choices - simple, karras, exponential, etc.), and denoise (default 1, lower it for img2img-style partial denoising). The one FluxMod-specific addition is activation_casting (default bf16), which you'll almost never touch - leave it on bf16 unless you're on hardware that chokes on it, in which case flip to fp16. Output is a single LATENT, same as any sampler - feed it to a VAE Decode as usual.
How to install it
Via ComfyUI Manager: search "ComfyUI_FluxMod," install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/lodestone-rock/ComfyUI_FluxMod.git
Restart ComfyUI and refresh your browser. No extra downloads for this node specifically - it's the loader upstream (FluxModDiffusionLoader plus the universal_modulator.safetensors modulation addon and a Flux Dev or Schnell checkpoint) that needs the model files.
Common issues & troubleshooting
Output looks broken, noisy, or just wrong in float8 mode. This is the exact symptom the README warns about - you're probably still using the stock KSampler with a float8-quantized FluxMod model. Swap in this node (or FluxModSamplerWrapper if you're on SamplerCustom/SamplerCustomAdvanced) and it should resolve.
You loaded in bf16 and everything's fine with the regular KSampler. That's expected - the README only requires this node for the two float8 modes, or if you didn't start ComfyUI with --fast. In bf16 mode you genuinely don't need to swap anything.
Not sure whether your card handles bf16. Anything from the RTX 30-series onward handles it fine; the fallback to fp16 is there for older or unusual hardware where bf16 support is patchy. If you're getting NaN or black-frame output specifically after switching activation_casting, try the other setting before chasing anything else.
Compatibility with third-party Flux finetunes. The pack's requirements are explicit that it's tested against the original BFL Dev/Schnell checkpoints - third-party finetunes "may not work." If a non-official checkpoint behaves strangely through this loader/sampler combo, that's the likely reason, not a bug in this specific node.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The model used for denoising the input latent. | |
| seed | INT | 00–18446744073709550000 | The random seed used for creating the noise. |
| steps | INT | 201–10000 | The number of steps used in the denoising process. |
| cfg | FLOAT | 8.00–100 | The Classifier-Free Guidance scale balances creativity and adherence to the prompt. Higher values result in images more closely matching the prompt however too high values will negatively impact quality. |
| sampler_name | COMBO | The algorithm used when sampling, this can affect the quality, speed, and style of the generated output. | |
| scheduler | COMBO | The scheduler controls how noise is gradually removed to form the image. | |
| positive | CONDITIONING | The conditioning describing the attributes you want to include in the image. | |
| negative | CONDITIONING | The conditioning describing the attributes you want to exclude from the image. | |
| latent_image | LATENT | The latent image to denoise. | |
| denoise | FLOAT | 1.000–1 | The amount of denoising applied, lower values will maintain the structure of the initial image allowing for image to image sampling. |
| activation_casting | COMBO | bf16 | cast model activation to bf16 or fp16, always use bf16 unless your card does not supports it |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | The denoised latent. |