Nodes/RUM FLUX.2-Klein Native/RUM FLUX.2 Diffusers Noise
ComfyUI Node

RUM FLUX.2 Diffusers Noise

A noise node that exists purely for bit-exactness

By Rinne414·Created 5 months ago·Updated 2 months ago· 8
RUM FLUX.2 Diffusers Noise
    • noise
    noise_seed1
    dtypebfloat16

    RUMFlux2DiffusersNoise is the pack's honesty check made into a node. It generates the initial latent noise the same way diffusers does - CPU torch.Generator, seeded, in bfloat16 - instead of letting ComfyUI use its own default random noise. For normal image-making that difference is invisible. For reproducing RUM's reference outputs pixel-for-pixel, it's the difference between "close" and "identical."

    Here's the thing the pack's TECH doc spells out: ComfyUI's RandomNoise is not the same as diffusers' randn_tensor(..., generator=torch.Generator(device="cpu"), dtype=bfloat16). Different generator, different dtype path, different numbers. Every downstream step inherits that difference. RUM's whole diffusers-match path is about matching the upstream Flux2KleinPipeline numerics, and the noise is step zero of that chain. So this node exists to take step zero back.

    Inputs and output

    • noise_seed - the seed. The README's sample workflows use seed=1; changing it changes the image, same as any seed.
    • dtype - bfloat16 (default), float16, or float32. BF16 is what the reference pipeline uses; the others exist for experiments.

    Output is a NOISE object that plugs into SamplerCustomAdvanced's noise input, replacing a RandomNoise node.

    The honest take

    Do you need this node? If you're chasing pixel_equal=true against the upstream reference - yes, it's required, along with the RUM scheduler, Euler sampler, and VAE decode. If you just want RUM's anime results and don't care whether your pixels match some reference dump - then honestly, no. The default ComfyUI noise will give you a perfectly good RUM image, just not a bit-identical one. The pack even ships RUMRoundImageForSave for the same reason: these nodes are validation apparatus dressed up as workflow nodes.

    The caveat in the README is worth internalizing: same seed, same prompt, different result? Check the noise path before blaming the model. If you swapped in a standard sampler or noise node, or you're running with --cpu-vae, you've left the reference path.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/Rinne414/ComfyUI-RUM
    cd ComfyUI-RUM
    pip install -r requirements.txt
    

    Restart, download the models:

    python scripts/download_models.py --comfy-root /path/to/ComfyUI --include-teacher-clip
    

    No diffusers to install - that's the pack's whole design - but you need a recent ComfyUI (v0.26.2+) that supports the nested-latent and sampler APIs this node's chain relies on.

    CategoryRUM/native

    Inputs (2)

    NameTypeDefaultDescription
    noise_seedINT10–18446744073709550000
    dtypeCOMBObfloat163 options: bfloat16, float16, float32

    Outputs (1)

    NameTypeDescription
    noiseNOISE