◎ Radiance Sampler Pro
The sampler that replaces your KSampler, CFG++ hacks, and video samplers in one node
- model
- positive
- negative
- latent_image
- refiner_model
- noise_override
- sigmas_override
- positive_2
- latent
- sigmas
- sigma_report
- latent_meta
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 atphase_split(0–1), with optionalsigma_blend_stepsto 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(defaultauto) - 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.
Inputs (45)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| latent_image | LATENT | — | |
| preset | COMBO | None (Custom) | 24 options: None (Custom), → Flux txt2img, → Flux img2img, → Flux Inpaint, → Flux High-Res Fix, → Flux Fast (12 steps), +18 |
| steps | INT | 201–200 | — |
| start_step | INT | 00–200 | Start step (0 = beginning) |
| end_step | INT | 00–200 | End step (0 = use total steps) |
| cfg | FLOAT | 1.00–20 | — |
| sampler | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| sampler_mode | COMBO | Standard | 4 options: Standard, Phase-Shift (Euler→DPM), Phase-Shift (Euler→SGM), CFG++ (Perpendicular) |
| phase_split | FLOAT | 0.400–1 | — |
| scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| scheduler_mode | COMBO | Manual | 2 options: Manual, Auto (Match Steps) |
| denoise | FLOAT | 1.000–1 | — |
| flux_shift | FLOAT | 1.00.01–10 | — |
| flux_guidance | FLOAT | 3.50–20 | — |
| flux_guidance_profile | COMBO | Static | 2 options: Static, Dynamic (Creative Start/End) |
| add_noise | BOOLEAN | true | — |
| return_with_leftover_noise | BOOLEAN | false | — |
| seed | INT | 00–18446744073709550000 | — |
| pag_scale | FLOAT | 0.00–5 | PAG strength (0=off). Perturbs attention for better prompt adherence. |
| model_type | COMBO | auto | 13 options: auto, flux, sd3, sd35, sdxl, sd15, +7 |
| sigma_blend_steps | INT | 00–10 | Smooth sigma transition steps at phase-shift boundary |
| ays_schedule | BOOLEAN | false | Use AYS (Align Your Steps) research-optimized sigma schedule. Best at 8-15 steps. |
| guidance_rescale_phi | FLOAT | 0.000–1 | Guidance rescale (Imagen). 0=off, 0.7=recommended for SDXL. Prevents oversaturation at high CFG. |
| preview_method | COMBO | None | 3 options: None, TAESD, Latent2RGB |
| noise_type | COMBO | Gaussian | Noise generation algorithm. Perlin=coherent structure, Spectral=pink/1f noise, Brownian=video-correlated, Uniform=flat distribution. |
| multi_cond_mode | COMBO | Off | Merge positive + positive_2 conditioning. average/weighted blend tensors; sequential splits by step range. |
| cond_weight_b | FLOAT | 0.500–1 | Weight of positive_2 conditioning when mode='weighted'. |
| conditioning_clip_target | COMBO | Auto | Route conditioning to a specific encoder slot (clip_l, clip_g, t5xxl). Auto = no routing. |
| tile_mode | BOOLEAN | false | Enable tiled sampling for memory-efficient high-resolution generation. |
| tile_size | INT | 12832–1024 | Tile size in latent pixels (128 latent ≈ 1024px output with VAE factor 8). |
| tile_overlap | INT | 160–256 | Overlap between adjacent tiles to reduce seam artifacts. |
| tile_blend | COMBO | feather | Seam blending method. feather=cosine fade, gaussian=bell curve, average=uniform. |
| force_full_denoise_steps | BOOLEAN | false | — |
| force_exact_steps | BOOLEAN | false | — |
| video_normalization_factors | STRING | 1,1,1,1,1,1,1,1 | — |
| audio_normalization_factors | STRING | 1,1,0.25,1,1,0.25,1,1 | — |
| refiner_modelopt | MODEL | — | |
| refiner_start_stepopt | INT | 200–200 | — |
| noise_overrideopt | LATENT | — | |
| sigmas_overrideopt | SIGMAS | Inject a pre-computed sigma schedule. Bypasses all internal sigma computation. | |
| latent_formatopt | STRING | Wire from Radiance Loader latent_format output. Used for channel validation. | |
| positive_2opt | CONDITIONING | Secondary positive conditioning. Merged with primary via multi_cond_mode. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | Denoised latent ready for VAE decode. |
| sigmas | SIGMAS | The sigma schedule used — chain to another sampler or inspect. |
| sigma_report | STRING | Human-readable timing and schedule report. |
| latent_meta | STRING | JSON telemetry: arch, steps, scheduler, noise_type, tile_mode, seed, time_ms, etc. |