Nodes/ComfyUI Fast-RH/Fast KSampler
ComfyUI Node

Fast KSampler

Fast KSampler doesn't sample anything — that's the point

By mikolls·Created about a month ago·Updated 23 days ago· 0
Fast KSampler
  • previousNodeInfoList
  • nodeInfoList
◄nodeId0►
◄seed0►
◄steps30►
◄cfg4.0►
◄sampler_nameeuler_ancestral►
◄schedulersimple►
◄denoise1.00►

You found a workflow on RunningHub that does what you want, but it's stepping the sampler 40 times with a CFG that was fashionable in 2023, and you'd like to see what 24 steps and a lower guidance gets you. Forking their workflow just to change a number is a bad trade. That's the itch this node scratches.

Fast KSampler overrides the seed, steps, cfg, sampler_name, scheduler and denoise of a KSampler node inside a remote RunningHub workflow. It runs no sampling locally, decodes nothing, has no MODEL input and no LATENT output. Zero local VRAM. If you came here expecting a faster local sampler you want a different pack entirely - probably something with sage attention or a distilled model, not this.

How the override actually works

RunningHub's official integration sends overrides as nodeInfoList: a list of {nodeId, fieldName, fieldValue} records, each one meaning "on the remote graph, set this field on this node." The official RH Node Info List node makes you write those records by hand. Fast KSampler generates six of them in one go - one per sampler field - and emits the list from its nodeInfoList output. Wire that into RH Execute Workflow → nodeInfoList, and the remote sampler takes your values instead of its own.

Two details from the source that save confusion later. First, everything gets stringified - fieldValue is always text, including the numbers, so don't be spooked if you go poking at the JSON. Second, the sampler_name and scheduler dropdowns are populated from your local comfy.samplers.KSampler lists, not a hardcoded menu. That's why the sampler list here has 44 entries and includes things like exp_heun_2_x0 and euler_cfg_pp - it's whatever your ComfyUI build currently ships.

The validation is real and local: nodeId must be 1–999999, steps 1–10000, CFG 0–100, denoise 0–1, seed up to 2⁶⁴−1, sampler and scheduler non-empty. Bad values fail loudly in your console instead of silently on a server you can't debug.

Inputs worth your attention

nodeId first, always. It's the ID of the KSampler in the remote workflow - open that workflow on RunningHub, click the node, read the ID. Nothing local tells you this number.

seed is the one people actually came for. It carries ComfyUI's standard control_after_generate widget: leave it on randomize and every queued run sends a fresh seed; set fixed and it keeps the value. Given that a hosted run costs money, most people set fixed, find the seed they like, and only randomize deliberately.

steps, cfg, denoise are the trio that decides cost and character. The defaults - 30, 4.0, 1.0 - are not SD1.5 defaults; CFG 4 is modern-model territory (Flux, Qwen-Image and friends run well down there), and denoise 1.0 means "full generation" rather than a refinement pass. If the remote workflow is a two-pass upscaler, dropping denoise to 0.4 on the second pass is the usual trick. Steps is the dial that shows up on your bill: a RunningHub run at 12 steps and one at 60 are the same workflow and very different prices.

sampler_name and scheduler are ordinary menus. Leave them alone unless you know the remote workflow was tuned for something specific - you're overriding someone's working configuration, and euler + normal vs euler_ancestral + karras will visibly change the output you were happy with.

The optional previousNodeInfoList input is for chaining: if you're also using another Fast-RH parameter node, wire its output here and the lists merge before going to the executor.

Install

The pack installs once for all five nodes - ComfyUI Manager (search "ComfyUI Fast-RH") or:

cd ComfyUI/custom_nodes
git clone https://github.com/mikolls/ComfyUI-Fast-RH

Restart and hard-refresh the browser. The one dependency is aiohttp>=3.8; there is no torch pinning and no model download, which is a genuine relief after the official RunningHub packs, several of which have a track record of dragging in ancient numpy/transformers versions and breaking unrelated custom nodes. You do still need the official ComfyUI_RH_APICall nodes installed - they own the executor that consumes nodeInfoList.

Traps

Overrides beat the remote graph, not the model. Sending steps=100 to a distilled 4-step checkpoint doesn't make it better, it makes it slower and probably worse. You're tuning an unknown workflow's sampler; make one change at a time.

A stale nodeId is the classic failure. If the remote workflow gets edited, IDs shift, and your override lands on a node that has no steps field. RunningHub won't object. You'll just get the old settings back and wonder why nothing changed.

Sampler names are local to your install. Because the menu comes from your ComfyUI build, a newly-added sampler can exist on your side and not on the remote worker's. If a remote run errors right after you changed sampler_name, put it back to something ancient like euler and confirm.

Seed randomize is post-run by default. ComfyUI's control_after_generate fires after the current generation, so the seed in the box is the one that will be used next - the classic way to lose a good image. If you're chasing a seed, either set fixed immediately or flip ComfyUI's global widget control mode to Before once.

CategoryFast-RH

Inputs (8)

NameTypeDefaultDescription
nodeIdINT00–999999—
seedINT00–18446744073709550000—
stepsINT301–10000—
cfgFLOAT4.00–100—
sampler_nameCOMBOeuler_ancestral44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBOsimple9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
denoiseFLOAT1.000–1—
previousNodeInfoListoptARRAY—

Outputs (1)

NameTypeDescription
nodeInfoListARRAY—