Nodes/ComfyUI_StarNodes/⭐ StarSampler (Unified)
ComfyUI Node

⭐ StarSampler (Unified)

One sampler node that doesn't care if you're on Flux or SDXL

By Starnodes2024·Created 2 years ago·Updated 2 days ago· 106
⭐ StarSampler (Unified)
  • model
  • positive
  • latent
  • vae
  • negative
  • detail_schedule
  • options
  • preview
  • model
  • positive
  • negative
  • latent
  • image
  • vae
  • seed
  • info
  • split_info
seed0
steps10
cfg1.0
sampler_nameeuler
schedulersimple
denoise1.00
decode_imagetrue
tiled_vae_decodingfalse
max_shift1.15
base_shift0.50

The stock KSampler is the node everybody starts with and the node everybody eventually replaces, because the two dominant model families want different plumbing. Flux needs a shift knob and ignores your negative prompt; SDXL wants CFG around 5-7 and a Karras schedule. StarSampler (Unified) is one node that swallows both: same sockets, same look, and it applies the right math depending on what model you plug in. It even bundles an optional tiled VAE decoder so big images decode on GPUs that would otherwise choke.

That's the pitch, and it's genuinely useful. The pack bills it as "one sampler to rule them all," which is marketing-flavored, but the real win is smaller: you stop maintaining two different sampling sub-graphs for your Flux and SDXL workflows, and you get a decoded IMAGE straight out of the sampler instead of wiring a VAE Decode node every time.

How it works

Feed it a model, positive conditioning and a latent, and it samples with your chosen sampler/scheduler, then VAE-decodes internally (if decode_image is on). The Flux-specific magic is the shift handling: max_shift (default 1.15) and base_shift (default 0.5) are applied for Flux/AuraFlow models and ignored for SD models - you don't need a separate ModelSampling node.

Two things worth knowing from how the sampler world actually works (see the KB's concepts essay): at CFG 1 - the default here, and the correct value for guidance-distilled models like Flux - the negative prompt does nothing, because there's no unconditional pass for it to attach to. And for flow-matching models, Karras and exponential schedules are notoriously bad. simple as the default scheduler is the right call for the modern family; if you're on an older SDXL checkpoint, switching to DPM++ 2M Karras is still the move.

Inputs that matter

  • model / positive / latent - the standard sampler inputs. negative is optional and ignored for Flux.
  • seed / steps / cfg / denoise - the usual dials; CFG defaults to 1 for distilled models.
  • sampler_name (44 options) and scheduler (9 options) - full ComfyUI lists.
  • vae - required if you want image output; decode_image and tiled_vae_decoding control whether and how it decodes. Tiled decode trades a little quality for a lot of VRAM headroom.
  • options - the extension point: plug in ⭐ Star Split Sampler Option to switch samplers mid-run, ⭐ Star FlowMatch Option to override Flux/Aura sigmas, or the Distilled Optimizer for two-pass ZIT refinement.

Outputs include image, latent, model, positive, negative, vae, seed, info (a status string), and split_info (a SAMPLER_INFO bundle for the split-sampler feature).

Install

It ships in Starnodes2024/ComfyUI_StarNodes:

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

Restart, search star. No extra dependencies for the sampler itself.

Where people get burned

The big one: if you port an SDXL workflow in and leave CFG at 1, you'll get flat, washed-out results - CFG 1 is Flux's world, not SDXL's. Bump it toward 4-7 for older checkpoints. Conversely, don't crank CFG on Flux "to improve prompt adherence"; that burns the image. And if you connect a negative on Flux expecting it to do something, you're fighting the architecture - it won't. Start with euler/simple (the defaults) for flow-matching models, and reserve Karras for the SD side.

Category⭐StarNodes/Sampler

Inputs (18)

NameTypeDefaultDescription
modelMODELThe model to use for sampling
positiveCONDITIONINGPositive conditioning (prompt)
latentLATENTThe latent image to denoise
seedINT00–18446744073709550000Random seed for sampling
stepsINT101–10000Number of sampling steps
cfgFLOAT1.00–100Classifier Free Guidance scale
sampler_nameCOMBOeulerSampler algorithm
schedulerCOMBOsimpleNoise schedule
denoiseFLOAT1.000–1Denoising strength
vaeVAEVAE model for decoding latents
decode_imageBOOLEANtrueDecode the latent to an image using the VAE
tiled_vae_decodingBOOLEANfalseUse Tiled VAE decoding to save VRAM
negativeoptCONDITIONINGNegative conditioning (optional, not used for Flux models)
max_shiftoptFLOAT1.150–10Max shift for Flux models (ignored for SD models)
base_shiftoptFLOAT0.500–10Base shift for Flux/AuraFlow models
detail_scheduleoptDETAIL_SCHEDULEOptional detail daemon schedule
optionsopt*Optional sampler options. Connect ⭐ Star Split Sampler Option to switch between two samplers mid-run, ⭐ Star FlowMatch Option (SIGMAS) to override Flux/Aura sigmas, or ⭐ Distilled Optimizer (ZIT) to enable two-pass ZIT refinement.
previewoptSTAR_PREVIEWOptional ⭐ Star Preview options - shows a live sampling preview on the connected ⭐ Star Preview node (works for image and video models).

Outputs (9)

NameTypeDescription
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
latentLATENT
imageIMAGE
vaeVAE
seedINT
infoSTRING
split_infoSAMPLER_INFO