Nodes/RUM FLUX.2-Klein Native/RUM FLUX.2 Apply Model Patch
ComfyUI Node

RUM FLUX.2 Apply Model Patch

RUM weights on top of a model you already loaded

By Rinne414·Created 5 months ago·Updated 2 months ago· 8
RUM FLUX.2 Apply Model Patch
  • model
  • model
  • status
rum_checkpoint_name
base_text_tokens512
stricttrue
rum_checkpoint_path

Most RUM workflows start with RUMFlux2LoadNativeModel, which loads the RUM checkpoint fresh. RUMFlux2ApplyModelPatch is the other front door: instead of loading, it pastes the RUM weights onto a MODEL you already have in the graph. Same destination, different route, and the route matters when you're stitching RUM into a workflow that loads its base model some other way.

Think of it this way. RUM is RimoChan's cross-architecture distillation - it takes the SDXL/Illustrious anime look and bakes it into FLUX.2-Klein 4B. The patch node is how you bolt that knowledge onto an already-loaded FLUX.2 model rather than replacing it. If you want to keep your own LoRA stack or your own loader feeding the graph, this is the node you reach for instead of the loader.

How it works

The node reads the RUM checkpoint and merges its weights into the incoming model - the same RUM native BF16 weight set, including the dual text projection that handles the Qwen-plus-SDXL conditioning split. Two knobs matter:

  • base_text_tokens - the token budget, default 512 for this native path (the diffusers-match workflows use 200 elsewhere in the pack). It must line up with your conditioning/patch nodes downstream; mismatches are what produce images that look structurally broken instead of just wrong.
  • strict (default true) - enforces that the checkpoint's weight set lines up with the model you're patching. Leave it on. Turning it off hides shape mismatches that come back to bite you mid-sampling.

Inputs: model, rum_checkpoint_name (dropdown of models/diffusion_models), base_text_tokens, strict, and an optional rum_checkpoint_path absolute-path override. Outputs are the patched model plus a status string reporting how many weights were applied and which checkpoint resolved - genuinely useful when the wrong file sneaks into the dropdown.

Install

Same pack, same drill as the rest of ComfyUI-RUM:

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

or find ComfyUI-RUM in ComfyUI Manager, then restart. You need a recent ComfyUI (verified v0.26.2) and the RUM checkpoint in ComfyUI/models/diffusion_models/:

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

When you'd actually use this over the loader

The shipped examples all use the loader, so honestly, most people never touch this node. Reach for it when:

  1. Your workflow already loads a FLUX.2 model and you want RUM applied as a layer on top - no double-loading, no reshuffle.
  2. You're on the plain native path (512 tokens, standard Flux2Scheduler + SamplerCustomAdvanced) rather than the diffusers-match path.
  3. You're merging RUM with a LoRA or a custom model wrapper that needs to sit under the patch.

The trap is the reverse of the loader's: strict=true plus a checkpoint that isn't actually a RUM checkpoint for your model arch, and you get an exception instead of a picture. That's the node being honest. And remember - the RUM weights only tell half the story. The other half is the teacher CLIP conditioning from waiNSFWIllustrious_v140; patch the model all you want, but if your text encoding isn't the RUM Qwen + SDXL teacher combo, you're not really running RUM.

CategoryRUM/native

Inputs (5)

NameTypeDefaultDescription
modelMODEL
rum_checkpoint_nameCOMBO1 options: put_rum_checkpoint_in_models_diffusion_models.safetensors
base_text_tokensINT5121–4096必须与下游 conditioning / match patch 节点的 base_text_tokens 一致。原生 512-token workflow 用 512,diffusers-match 用 200。
strictBOOLEANtrue
rum_checkpoint_pathoptSTRING可选:填写现有 .safetensors 文件的绝对路径时会覆盖 rum_checkpoint_name。

Outputs (2)

NameTypeDescription
modelMODEL
statusSTRING