Latent Scale (CCN)
Latent Scale (CCN)
- latent
- latent
The name is doing exactly what it says, and it's refreshingly honest about it: Latent Scale (CCN) takes a latent and multiplies every value in it by one number. No API, no key, no model to download - it's a raw tensor multiply wrapped in a ComfyUI node. You reach for this when you want to push the values the VAE handed you around before the sampler gets them, which is a genuinely rare thing to need, but a genuinely annoying gap when you do.
Where it earns its keep: img2img and video workflows where the latent you're starting from has a distribution that doesn't match what the model expects. Some flow models respond to a quieter or louder starting latent than stock - scale of 0.5 to settle things down, 1.5 to amp them up. And if you set scale negative, you invert the latent, which flips the image's relationship to the noise in ways you can use for weird "anti" img2img effects. It's a tinker tool, in other words. The README for the pack literally describes itself as "a set of nodes I needed," and this is one of those.
Mechanically it's about as simple as a node gets: it clones latent["samples"], multiplies by your scale, and hands the copy back. A couple of details matter. It clones instead of mutating, so your upstream latent stays untouched. And it copies the whole latent dict, not just the samples - so a noise_mask, batch indices, or anything else riding along in the LATENT payload survives the trip. The one smart shortcut: at exactly scale = 1.0 it returns the input untouched, a fast path that costs you nothing.
The inputs that matter are the two obvious ones:
- latent - whatever you're scaling. Typically the output of a VAE Encode or an empty latent node.
- scale - the multiplier, from -10 to 10 at 0.01 steps. Negative values flip the sign of every latent value.
There's also a debug boolean. Flip it and the node prints what it scaled by to the console - handy when you're chaining several and lose track.
The single output is latent, which wires straight into your sampler's latent_image input, replacing whatever you had there before.
Install
Part of the ComfyCollectorNodes pack, so it installs like the rest of them - ComfyUI Manager (search "ComfyCollectorNodes") or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/valkymaera/ComfyCollectorNodes
Restart ComfyUI and you'll find it under ComfyCollectorNodes → Latent as "Latent Scale (CCN)". There's nothing else to do - no pip packages, no model files. The whole pack is MIT-licensed and runs on what ComfyUI already ships.
Common issues
Not much to trip over with a one-input multiply, honestly. If you scale far out of range the image can blow out to clipped, mushy noise - dial back toward 1 and re-check. And remember it multiplies raw latent values, not "brightness": 4-channel SDXL latents and 16-channel flow-model latents respond differently to the same number, so don't expect the identical effect across architectures. If you're scaling to fix a specific artifact, the sibling Latent Clamp (CCN) and Latent Normalize (CCN) nodes in the same pack are usually the more precise hammer - scaling is the blunt one.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | — | |
| scale | FLOAT | 1.00-10–10 | — |
| debugopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | — |