Nodes/radiance/◎ Radiance Sampler Pro
ComfyUI Node

◎ Radiance Sampler Pro

The sampler that replaces your KSampler, CFG++ hacks, and video samplers in one node

By fxtdstudios·Created 7 months ago·Updated 9 days ago· 242
◎ Radiance Sampler Pro
  • model
  • positive
  • negative
  • latent_image
  • refiner_model
  • noise_override
  • sigmas_override
  • positive_2
  • latent
  • sigmas
  • sigma_report
  • latent_meta
presetNone (Custom)
steps20
start_step0
end_step0
cfg1.0
sampler
sampler_modeStandard
phase_split0.40
scheduler
scheduler_modeManual
denoise1.00
flux_shift1.0
flux_guidance3.5
flux_guidance_profileStatic
add_noisetrue
return_with_leftover_noisefalse
seed0
pag_scale0.0
model_typeauto
sigma_blend_steps0
ays_schedulefalse
guidance_rescale_phi0.00
preview_methodNone
noise_typeGaussian
multi_cond_modeOff
cond_weight_b0.50
conditioning_clip_targetAuto
tile_modefalse
tile_size128
tile_overlap16
tile_blendfeather
force_full_denoise_stepsfalse
force_exact_stepsfalse
video_normalization_factors1,1,1,1,1,1,1,1
audio_normalization_factors1,1,0.25,1,1,0.25,1,1
refiner_start_step20
latent_format

The default KSampler is fine until you need any of the things it can't do: phase-shift sampling, Align Your Steps schedules, perturbation attention (PAG), tiled sampling on a big latent, or sampling a WAN video with the right sigma schedule. ◎ Radiance Sampler Pro is the pack's one-sampler-to-rule-them-all: it auto-detects the model architecture (Flux, SD3, SDXL, WAN, LTX, HunyuanVideo, Lumina2, and friends), then exposes everything the modern sampler toolbox has, in one node.

If you only ever generate with a stock KSampler, this is overkill and you should keep your simple workflow. If you've ever stacked a second sampler for a phase shift, or wished your sampler understood your Flux shift, or wanted tiled sampling without a separate patch node - this is the consolidation. It also pairs with the rest of the pack: wire latent_format from Radiance Resolution / VAE Encode in and it validates channels before you waste a run.

How it works

Under the hood it wraps ComfyUI's core sampling machinery (it uses the stock KSampler.SAMPLERS and SCHEDULERS lists, so every sampler/scheduler you know is here) and layers on production features. The headline is sampler_mode:

  • Standard - a normal sample with your chosen sampler/scheduler.
  • Phase-Shift (Euler→DPM) / Phase-Shift (Euler→SGM) - start with one sampler and hand off to another at phase_split (0–1), with optional sigma_blend_steps to smooth the transition. This is the community's "detail then smooth" trick, baked in.
  • CFG++ (Perpendicular) - the CFG++ variant that separates the score direction; helps at higher CFG.

Then the per-architecture dials. For Flux-style models there's flux_shift and flux_guidance (with a Dynamic (Creative Start/End) profile option). For video there are normalization factors. ays_schedule uses the Align Your Steps research-optimized sigma schedule (best at 8–15 steps). noise_type swaps the initial noise - Gaussian, Perlin (coherent structure), Spectral (pink/1f), Brownian (video-correlated), Uniform. pag_scale adds perturbation attention for prompt adherence (0 = off). guidance_rescale_phi applies Imagen-style guidance rescale (0.7 recommended for SDXL to stop oversaturation at high CFG).

There's also multi_cond_mode (average/weighted/sequential blending of a second positive via positive_2), tile_mode with tile_size/tile_overlap/tile_blend for memory-efficient high-res sampling, a preview_method (TAESD/Latent2RGB) for mid-run previews, and a preset dropdown that pre-configures whole recipes (Flux txt2img, Flux Fast 12-step, Flux Schnell 4-step, SD3.5 Turbo, WAN txt2vid, and ~24 more).

The inputs that matter

For a beginner, honestly: model, positive, negative, latent_image, then steps, cfg, sampler, scheduler, seed. That's a KSampler's worth of familiarity. Then add, in order of payoff:

  • preset - pick a model recipe and skip the rest of the thinking.
  • model_type (default auto) - set it when auto-detect gets an exotic architecture wrong.
  • sampler_mode / phase_split - the phase-shift upgrade.
  • flux_shift / flux_guidance - the Flux-specific dials.
  • denoise - for img2img; 1.0 is full denoise.

Outputs: latent (→ VAE decode), sigmas (the schedule used, chainable), sigma_report (human-readable timing/schedule), and latent_meta (JSON telemetry: arch, steps, scheduler, noise type, tile mode, seed, time - wire it to Radiance Show Text for debugging).

How to install it

It's in the radiance pack. ComfyUI Manager → "Radiance", or:

cd ComfyUI/custom_nodes
git clone https://github.com/fxtdstudios/radiance.git
cd radiance
pip install -r requirements_windows.txt

Restart, and it's under FXTD Studios/Radiance/Generate.

Common issues

The realistic gotchas: (1) force_exact_steps and force_full_denoise_steps are blank-tooltip power switches - leave them alone unless you're chasing a specific schedule behavior, they exist for edge reproducibility. (2) Phase-shift with sigma_blend_steps can add a visible hitch if you pick wildly different samplers; start with the two built-in phase-shift presets. (3) tile_mode at small tile_size with aggressive overlap will noticeably slow sampling - it's a VRAM saver, not a speed boost. (4) Because it auto-detects model_type, an unusual checkpoint can sample with subtly wrong defaults; latent_meta shows you what it chose, and the manual model_type override is right there.

One sampler to replace several, and the presets mean you can be productive before you understand half of it. That's a good deal for a node this deep.

CategoryFXTD Studios/Radiance/Generate

Inputs (45)

NameTypeDefaultDescription
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
latent_imageLATENT
presetCOMBONone (Custom)24 options: None (Custom), → Flux txt2img, → Flux img2img, → Flux Inpaint, → Flux High-Res Fix, → Flux Fast (12 steps), +18
stepsINT201–200
start_stepINT00–200Start step (0 = beginning)
end_stepINT00–200End step (0 = use total steps)
cfgFLOAT1.00–20
samplerCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
sampler_modeCOMBOStandard4 options: Standard, Phase-Shift (Euler→DPM), Phase-Shift (Euler→SGM), CFG++ (Perpendicular)
phase_splitFLOAT0.400–1
schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
scheduler_modeCOMBOManual2 options: Manual, Auto (Match Steps)
denoiseFLOAT1.000–1
flux_shiftFLOAT1.00.01–10
flux_guidanceFLOAT3.50–20
flux_guidance_profileCOMBOStatic2 options: Static, Dynamic (Creative Start/End)
add_noiseBOOLEANtrue
return_with_leftover_noiseBOOLEANfalse
seedINT00–18446744073709550000
pag_scaleFLOAT0.00–5PAG strength (0=off). Perturbs attention for better prompt adherence.
model_typeCOMBOauto13 options: auto, flux, sd3, sd35, sdxl, sd15, +7
sigma_blend_stepsINT00–10Smooth sigma transition steps at phase-shift boundary
ays_scheduleBOOLEANfalseUse AYS (Align Your Steps) research-optimized sigma schedule. Best at 8-15 steps.
guidance_rescale_phiFLOAT0.000–1Guidance rescale (Imagen). 0=off, 0.7=recommended for SDXL. Prevents oversaturation at high CFG.
preview_methodCOMBONone3 options: None, TAESD, Latent2RGB
noise_typeCOMBOGaussianNoise generation algorithm. Perlin=coherent structure, Spectral=pink/1f noise, Brownian=video-correlated, Uniform=flat distribution.
multi_cond_modeCOMBOOffMerge positive + positive_2 conditioning. average/weighted blend tensors; sequential splits by step range.
cond_weight_bFLOAT0.500–1Weight of positive_2 conditioning when mode='weighted'.
conditioning_clip_targetCOMBOAutoRoute conditioning to a specific encoder slot (clip_l, clip_g, t5xxl). Auto = no routing.
tile_modeBOOLEANfalseEnable tiled sampling for memory-efficient high-resolution generation.
tile_sizeINT12832–1024Tile size in latent pixels (128 latent ≈ 1024px output with VAE factor 8).
tile_overlapINT160–256Overlap between adjacent tiles to reduce seam artifacts.
tile_blendCOMBOfeatherSeam blending method. feather=cosine fade, gaussian=bell curve, average=uniform.
force_full_denoise_stepsBOOLEANfalse
force_exact_stepsBOOLEANfalse
video_normalization_factorsSTRING1,1,1,1,1,1,1,1
audio_normalization_factorsSTRING1,1,0.25,1,1,0.25,1,1
refiner_modeloptMODEL
refiner_start_stepoptINT200–200
noise_overrideoptLATENT
sigmas_overrideoptSIGMASInject a pre-computed sigma schedule. Bypasses all internal sigma computation.
latent_formatoptSTRINGWire from Radiance Loader latent_format output. Used for channel validation.
positive_2optCONDITIONINGSecondary positive conditioning. Merged with primary via multi_cond_mode.

Outputs (4)

NameTypeDescription
latentLATENTDenoised latent ready for VAE decode.
sigmasSIGMASThe sigma schedule used — chain to another sampler or inspect.
sigma_reportSTRINGHuman-readable timing and schedule report.
latent_metaSTRINGJSON telemetry: arch, steps, scheduler, noise_type, tile_mode, seed, time_ms, etc.