💪TB | Unpack Sampler Params
Decode genparams into real ComfyUI wires
- genparams
- model
- clip
- model
- positive
- negative
- sampler
- sigmas
- cfg
- noise_seed
💪TB | Unpack Sampler Params is the escape hatch from TinyBreaker's genparams world back into stock ComfyUI. Where the pack's own sampler consumes the whole genparams bundle internally, this node takes that same bundle apart and emits each piece as a standard wire: model, conditioning, sampler, sigmas, CFG, seed. Once you have those, you can drive a bog-standard KSampler with TinyBreaker's settings - or feed them into anything else in the ecosystem.
Note the spelling, by the way: Upack - one n. It's an honest typo the author shipped, and it's the name you'll type into searches, so don't fight it.
Inputs and the prefix trick
- genparams - the bundle to unpack.
- prefix - the interesting one. Default is
base, which reads thedenoising.base.*block. Change it torefinerorupscalerand the same node reads that stage's block instead. One node, three sampler configurations. - model - the base model. It's an input because the node needs it to resolve the sampler settings, and it's also your first output, passed straight through.
- clip - used to encode the stored prompt text into real
CONDITIONINGtensors.
Outputs, in order: model, positive, negative, sampler, sigmas, cfg, noise_seed.
How it works
The source shows the shape of the magic: it builds a DenoisingParams from the genparams block named by your prefix, then encodes the positive/negative prompt strings through the CLIP. So --cfg-shift and friends, which were parsed into denoising.base.* by the Unified Prompt, come back out here as an actual cfg number and a concrete SAMPLER + SIGMAS pair. This is also the cleanest way to see what the pack resolved your settings to - wire the outputs to anything display-ish and debug away.
That prefix feature is the real killer. In the pack's native flow, base and refiner stages have separate parameter blocks; by unpacking base and refiner into two of these nodes you can hand each stage to a separate standard sampler and still control both from one Unified Prompt. It's how you get the genparams ergonomics with stock-node flexibility.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/martin-rizzo/ComfyUI-TinyBreaker
or search "tinybreaker" in ComfyUI Manager, then restart. No pip requirements - pure Python. The model files (tinybreaker_prototype1.safetensors, t5xxl_fp8_e4m3fn.safetensors) are the usual prerequisite for anything that actually samples.
Gotcha: if the prefix's parameter block is empty - say you asked for upscaler but never enabled upscaling - the node has nothing to unpack and the sampler/sigmas outputs can come back in a state that breaks a downstream KSampler. If a graph suddenly refuses to run, check that the block you're unpacking actually exists in the genparams you fed it.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| genparams | GENPARAMS | The generation parameters to be updated. | |
| prefix | STRING | base | The prefix used to identify the unpacked parameters. |
| model | MODEL | The model to use for generation. | |
| clip | CLIP | The CLIP model used for encoding the prompts. |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| sampler | SAMPLER | — |
| sigmas | SIGMAS | — |
| cfg | FLOAT | — |
| noise_seed | INT | — |