Hypnodes Converter
The exit ramp that unpacks the hn_config bus into plain ComfyUI types
- hn_config
- pos_string
- neg_string
- width
- height
- cfg
- ckpt_name
- steps
- seed
Let's get the naming out of the way, because it'll confuse you: the node class is HN_GlobalConditioner, but it displays as Hypnodes Converter, and it does neither. It doesn't condition anything and it doesn't convert image formats. What it actually does is unpack the hn_config bus into eight ordinary ComfyUI outputs so standard nodes - samplers, loaders, latent creators - can read the Hub's values. The README calls it the "Exit Ramp," which is the right mental model.
Why it exists
The hn_config bus is a walled garden. Hypnodes nodes speak it natively, but a stock KSampler has no idea what HN_CONFIG is. Without this node, using the Hub's seed, steps, and CFG to drive anything outside the pack means manually re-typing those numbers everywhere. The Converter is the bridge: feed it the bus and it hands you plain types.
What you get out
One input (hn_config), eight outputs:
- pos_string (STRING) - the global positive prompt.
- neg_string (STRING) - the global negative prompt.
- width / height (INT) - parsed from the Hub's resolution preset. Wire into an Empty Latent to match the Hub's chosen aspect ratio exactly.
- cfg (FLOAT) - the guidance scale, for a KSampler or guider.
- ckpt_name (
*) - the checkpoint name, typed as a wildcard so it can feed a CheckpointLoader or be passed through. - steps (INT) - the Hub's step count.
- seed (INT) - the Hub's seed, for a KSampler or any node that wants one.
That's the whole play: unpack the bus and route the values to the sampler, the loader, and the latent creator so your whole graph stays in sync off a single source of truth.
The honest caveat
The * on ckpt_name is both a feature and a warning sign. It means the output type is "anything," which ComfyUI resolves at runtime - handy for flexibility, but it won't catch a wiring mistake the way a strict STRING type would. Also note that width/height come out as separate INTs; if you're on a workflow that expects a combined resolution, you'll want to multiply or pass both into a node that wants them separately.
The other thing to know: this node is the "interoperability" layer, so it only makes sense as a companion to the Control Hub. If you're not using the Hub, there's nothing to unpack.
Install
ComfyUI Manager (search Hypnodes) or:
cd ComfyUI/custom_nodes
git clone https://github.com/hypnichorse/ComfyUI-Hypnodes
Restart ComfyUI. No model downloads; the pack's only dependencies are numpy and pillow, which ComfyUI already ships.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| hn_config | HN_CONFIG | — |
Outputs (8)
| Name | Type | Description |
|---|---|---|
| pos_string | STRING | — |
| neg_string | STRING | — |
| width | INT | — |
| height | INT | — |
| cfg | FLOAT | — |
| ckpt_name | * | — |
| steps | INT | — |
| seed | INT | — |