RALUConditioningAdapter
The quiet node that makes RALU's conditioning actually carry guidance
- conditioning
- CONDITIONING
RALUConditioningAdapter is the pack's conditioning shim, and it's honest about how small its job is: it decides what happens to your CONDITIONING before it reaches a RALU sampler. In practice that means one of two things - pass your conditioning through untouched, or stamp it with a guidance value plus a few RALU metadata keys. That's the whole node.
So why would you care? Because the RALU runtime reads guidance out of the conditioning metadata, not from a separate widget. FLUX workflows normally set guidance with a dedicated FluxGuidance node, but SD3 has no such node, and if your conditioning doesn't carry a guidance value the sampler silently falls back to 3.5. If you want SD3's RALU path to use a specific guidance number, this node is how it gets in.
What it actually does
The source is a one-liner. In adapt_conditioning, the mode input picks the behavior:
- passthrough (default) - returns your conditioning exactly as-is. Nothing is added or changed.
- annotate_placeholder - calls ComfyUI's
conditioning_set_valuesand writes four keys onto the conditioning:guidance, plusralu_placeholder,ralu_conditioning_mode, andralu_familyfor the pack's own bookkeeping.
The other inputs are guidance (a float, default 3.5) and family (generic / flux / sdxl / sd3). Family here is only a tag on the metadata - it doesn't change how conditioning is encoded. The single output is a CONDITIONING that plugs straight into RALUSamplerCore, SD3LowResDenoise, or any of the SD3 two-stage nodes.
The honest take
You'll rarely wire this node up yourself. RALUFluxWorkflowBridge already runs adapt_conditioning internally with guidance 3.5 when your conditioning is missing it, so the FLUX path doesn't need it at all. The node is mainly useful when you're hand-building an SD3 chain with SD3LowResDenoise and want a specific guidance value in there. If you're on the bridge, skip it - passthrough is the right answer by default.
Installing
The pack is comfyui-ralu-sampling. Install it once and you get all eight nodes:
cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/Milkyawaway/comfyui-ralu-sampling.git
cd /path/to/ComfyUI
python -m pip install opencv-python numpy typing-extensions
python main.py
ComfyUI Manager works too - search "comfyui-ralu-sampling" and restart. The package targets ComfyUI's newer node API (comfy_api.latest), so if the nodes don't appear in your palette, your ComfyUI install is too old; update it first.
Troubleshooting
- Set
modetopassthroughand the output is identical to the input. If that looks like a no-op, it is.annotate_placeholderonly matters when the downstream sampler reads guidance metadata - which means the SD3 nodes and, internally, the FLUX bridge. - Wrong
familytag won't error - it just writes a slightly misleading metadata value. The actual family enforcement happens in the sampler (genericandsdxlthrow "not implemented yet"; onlyfluxandsd3actually run). - No model files involved. This node only touches conditioning, so it needs nothing beyond the pack itself.
If your SD3 output looks off, the first thing to check isn't this node - it's whether your conditioning carried any guidance at all. And if it didn't, well, now you know the one place to fix it.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | CONDITIONING | — | |
| guidance | FLOAT | 3.50–100 | — |
| mode | COMBO | passthrough | 2 options: passthrough, annotate_placeholder |
| family | COMBO | flux | 4 options: generic, flux, sdxl, sd3 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |