Nodes/ComfyUI-AharaNodes/KSampler (Simple Input)
ComfyUI Node

KSampler (Simple Input)

The 'simple input' KSampler that's only simple if you bring a config

By chris-arsenault·Created 2 years ago·Updated 2 years ago· 0
KSampler (Simple Input)
  • config
  • positive
  • negative
  • model
  • latent_image
  • LATENT
  • IMAGE
overwrite_denoisefalse
denoise1.00

The display name is "KSampler (Simple Input)" and the honest version is "KSampler whose settings live somewhere else." Repeat Sampler takes a single SAMPLER_CONFIG object - built by this pack's Repeat Sampler Config node - reads model, seed, steps, cfg, sampler, scheduler, latent and VAE out of it, and runs the denoise. Same sampling, far fewer wires, as long as the config exists. On its own this node is inert; you need its sibling upstream.

That's the real trade. A stock KSampler keeps its settings on the node where you can see them. This one hides them in an object built elsewhere - a win when the recipe repeats across many branches (prompt variations, per-frame or per-segment generation, A/B tests), and a pointless extra hop when you have exactly one sampler. Reach for it the moment "I want the exact same steps/cfg/sampler everywhere" is your sentence.

The inputs that matter:

  • config (SAMPLER_CONFIG): the recipe. Everything except conditioning and denoise comes from here.
  • positive / negative: your conditioning, same as any KSampler.
  • overwrite_denoise + denoise: the one knob this node can re-decide. With overwrite_denoise off (the default), the config's denoise wins and the local denoise field is ignored - people forget this and wonder why their img2img value isn't being used. Flip it on to override per call.
  • Optional model and latent_image: local overrides. Wire one and it takes precedence over the config's copy, without mutating the shared object - the clean way to reuse one recipe across different checkpoints or init latents.

Outputs: LATENT (the denoised latent, ready for a VAE Decode or another sampler) and IMAGE - a VAE-decoded image, produced only if the config was built with a VAE wired in. This pack's config node makes the VAE socket required, so in practice you'll get it; if IMAGE ever comes back empty, that's the first thing to check.

Mechanically it's a wrapper: the node calls common_ksampler - the same function ComfyUI's own KSampler calls - with the config's values, clears the noise_mask on the output latent, and decodes via the config's VAE. There's no new sampler algorithm in here, and no magic. Which is the honest takeaway: if you need genuinely novel sampler behavior, this isn't the node - that's RES4LYF territory. This one is purely about tidying up repetition.

Install

Same for every node in this pack. ComfyUI Manager → Custom Nodes → search "ComfyUI-AharaNodes" → Install → restart. Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/chris-arsenault/ComfyUI-AharaNodes
# then restart ComfyUI

No requirements.txt, no model downloads. Registered with the Comfy Registry.

Troubleshooting

  • IMAGE output is empty/None → the config's VAE wasn't set. Check what fed the config.
  • Local denoise ignored → overwrite_denoise is off, which is the default. Intentional.
  • All six nodes missing from the menu → the pack failed to import. Its frame_segmenter.py imports oauthlib and sympy at load time (both unused); pip install oauthlib sympy into ComfyUI's Python fixes it.
CategoryAharaNodes/sampling

Inputs (7)

NameTypeDefaultDescription
configSAMPLER_CONFIG
positiveCONDITIONINGThe conditioning describing the attributes you want to include in the image.
negativeCONDITIONINGThe conditioning describing the attributes you want to exclude from the image.
overwrite_denoiseBOOLEANfalse
denoiseFLOAT1.000–1The amount of denoising applied, lower values will maintain the structure of the initial image allowing for image to image sampling.
modeloptMODELThe model used for denoising the input latent.
latent_imageoptLATENTThe latent image to denoise.

Outputs (2)

NameTypeDescription
LATENTLATENT
IMAGEIMAGE