Hyper Remap Slim (CCN)
The full remapping pipeline with a smaller footprint
- clip
- conditioning
Hyper Remap Slim is the no-frills version of the pack's flagship conditioning tinker tool. Same four-phase pipeline - string replace with commas, token remap with ->, concept remap with =>, delta remap with ~~ - same per-pair (b:X, s:X, t:X, sx:X, tx:X) overrides, same defaults for blend, sharpness, and threshold. What it drops is the chrome: the text input is wire-only (no text box baked into the node), there's no case_sensitive toggle, no debug flag, and it outputs a single conditioning instead of the four outputs the full node produces.
In practice that makes Slim the version you drop into a workflow where the prompt already comes from somewhere else - a prompt builder, a prompt store, a string node - and you just want the remapping applied inline without extra sockets cluttering the graph. If you're typing your prompt directly into the node and want the original/modified text echoed back for comparison, use the full Hyper Remap instead.
What you still get
Everything that matters about the pipeline is here:
- blend (default 1) - global strength; >1 overshoots, negative inverts.
- sharpness (default 1) and threshold (default 0) - where concept and delta nudges land, weighted by cosine similarity to the source/base concept.
- normalize_delta (default on) - L2-normalizes
~~deltas so blend stays consistent no matter how different the two prompts are. - Per-pair overrides in parentheses, e.g.
bee in wild ~~ insect (b:0.5, s:1.0).
Wire a clip and a text string in, and out comes a conditioning with all four phases applied in order. The string-replace phase still uses the same substring matching as the big node - red, blue will happily hit "hatred" - there's just no case-sensitivity switch here, so it's always case-sensitive.
Why the trade-off is worth it
ComfyUI rewards graphs that stay readable, and Slim is a legibility win: one input, one output, no debug outputs to trip over. The honest cost is that the full node's untouched_conditioning output - which lets you A/B the remapped result against the clean encode in the same graph - is gone. If you do a lot of "does this remap even do anything?" iteration, that output is genuinely useful, and you'll want the full node for that workflow. If you've already tuned your remappings and just want them applied reliably everywhere, Slim is the tidy version you reach for.
Install
Same pack, same one-liner:
cd ComfyUI/custom_nodes
git clone https://github.com/valkymaera/ComfyCollectorNodes
restart, or find ComfyCollectorNodes in ComfyUI Manager. No model downloads, no extra dependencies. If you want the same pipeline fused onto an image-grounded Krea2Edit encode, there's a Slim variant of that too - Hyper Remap Krea2 Edit Slim - which trades the text widget for wire-only input in exactly the same way.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| text | STRING | — | |
| remappings | STRING | # string replace: find, replace # token remap: source -> target # token remap: source -> target (0.8) # concept remap: source => target # concept remap: source => target (b:0.8, s:2.0, t:0.1) # delta remap: base ~~ subtracted # delta remap: base ~~ subtracted (b:0.5, s:1.0, sx:2.0) | — |
| blend | FLOAT | 1.000-100–100 | Default blend for all operators. For ->: lerp between original and remapped embeddings. For => and ~~: magnitude of the nudge vector. >1 overshoots, negative inverts direction. Per-pair (b:X) overrides take precedence. |
| sharpness | FLOAT | 1.00-100–100 | Default incoming-conditioning sharpness for => and ~~. Controls how sharply positions are weighted by their cosine similarity to the source/base concept. 0 = uniform across all positions. Higher = concentrated on most-similar positions. Negative = favour least-similar positions. Ignored by ->. Per-pair (s:X) overrides take precedence. |
| threshold | FLOAT | 0.000-1–1 | Default incoming-conditioning threshold for => and ~~. Masks out positions whose similarity weight falls below this value after sharpness is applied. 0 = all positions eligible. Ignored by ->. Per-pair (t:X) overrides take precedence. |
| normalize_deltaopt | BOOLEAN | true | L2-normalise the delta tensor before blending for ~~ entries. When on, blend has a consistent magnitude regardless of how different the two prompts are. When off, larger semantic differences produce stronger effects at the same blend value. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| conditioning | CONDITIONING | — |