Repeat Sampler Config
Stop re-typing KSampler's nine inputs
- model
- latent_image
- vae
- SAMPLER_CONFIG
Every KSampler in ComfyUI asks the same nine questions: model, seed, steps, cfg, sampler, scheduler, latent, VAE, denoise. Repeat Sampler Config (class RepeatSamplerConfigNode) lets you answer them once and hand the answers around as a single SAMPLER_CONFIG object. Wire that into the pack's RepeatSampler - the node displayed as "KSampler (Simple Input)" - and you reproduce identical sampling settings without re-typing anything.
Why you'd bother: consistency and legibility. When you're running the same recipe across prompt variations, frames, or branches - one config feeding several samplers - this guarantees they all run steps=20, dpmpp_2m, karras, denoise 1.0. It kills the whole class of "wait, that branch is still on 24 steps" bugs. If you have a single KSampler, skip it. This earns its keep when the recipe repeats.
How it works: it's a bundle, not a sampler. The node creates a small Python object holding all nine values, and RepeatSampler later reads them back and calls ComfyUI's own common_ksampler - the exact function core KSampler uses. The math is identical to typing those values into a stock KSampler; only the ergonomics change.
The inputs are KSampler's inputs, so you mostly know them already. The ones worth a second look:
sampler_name(34 choices) andscheduler(9): set whatever you'd set on a KSampler. The author passes the standard lists through untouched.cfgdefaults to 8, which is a throwback. That was a fine SD 1.5 number, but SDXL fine-tunes sit more happily at 4–7 and guidance-distilled models (Turbo/Lightning-class) want roughly 1. Treat 8 as "the author's SD 1.5 habit," not a recommendation.denoise(0–1): 1.0 means generate from noise; lower values preserve the structure of the incoming latent, which is how img2img works.vae: the tooltip calls it "Optional VAE," but the schema makes it a required socket - you have to wire one. It's what RepeatSampler uses to produce its IMAGE output, so wiring your usual VAE is the right move either way.
The output is a single SAMPLER_CONFIG, which currently only RepeatSampler consumes. The two Patch nodes in this pack (Model and Latent) tweak the object between creation and use.
One thing to know: the object is mutable, and the patch nodes change it in place. If one config object flows into several branches in the same run and you patch it on one branch, the change is visible everywhere it flows. Fine for linear use, a footgun when one config feeds multiple places.
Install
Same steps 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 files, nothing to download - the pack only uses ComfyUI's built-ins. It's registered with the Comfy Registry, so Manager resolves it normally.
Troubleshooting
Two realistic problems. First, the whole pack missing from your node menu: the pack's frame_segmenter.py imports oauthlib and sympy at load time even though it never uses them, and neither is a ComfyUI dependency - on a machine without them, the entire pack fails to import and all six nodes vanish at once. pip install oauthlib sympy into ComfyUI's Python fixes it. Second, defaults fighting your model: see the cfg note above, and don't assume denoise 1.0 is right when you're feeding an existing image in.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The model used for denoising the input latent. | |
| seed | INT | 00–18446744073709550000 | The random seed used for creating the noise. |
| steps | INT | 201–10000 | The number of steps used in the denoising process. |
| cfg | FLOAT | 8.00–100 | The Classifier-Free Guidance scale balances creativity and adherence to the prompt. Higher values result in images more closely matching the prompt however too high values will negatively impact quality. |
| sampler_name | COMBO | The algorithm used when sampling, this can affect the quality, speed, and style of the generated output. | |
| scheduler | COMBO | The scheduler controls how noise is gradually removed to form the image. | |
| latent_image | LATENT | The latent image to denoise. | |
| vae | VAE | Optional VAE. | |
| denoise | FLOAT | 1.000–1 | The amount of denoising applied, lower values will maintain the structure of the initial image allowing for image to image sampling. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SAMPLER_CONFIG | SAMPLER_CONFIG | — |