LatentBatch_channels_16
Channel-wise grading for Flux-style 16-channel latents
- latent
- chan_1s
- chan_2s
- chan_3s
- chan_4s
- chan_5s
- chan_6s
- chan_7s
- chan_8s
- chan_9s
- chan_10s
- chan_11s
- chan_12s
- chan_13s
- chan_14s
- chan_15s
- chan_16s
- LATENT
Flux quadrupled the latent depth SDXL used - same 8x spatial downscale, but 16 channels instead of 4, which is why a Flux latent carries a lot more information per pixel than an SDXL one. That extra depth is also why the informal "luminosity / cyan-red / lime-purple / pattern" channel mapping the community worked out for 4-channel latents doesn't carry over cleanly - with sixteen channels instead of four, there isn't a tidy handful of named axes anymore. LatentBatch_channels_16 is RES4LYF's answer for this generation: instead of four named parameters, you get sixteen generic ones, chan_1 through chan_16, each independently adjustable.
It's the same underlying idea as its 4-channel sibling - nudge latent values directly, before decoding, rather than fixing things in pixel space afterward - just scaled up to match how Flux, Z-Image, SD3.5, and other 16-channel architectures actually store an image.
What you set
latent(LATENT) - required, a 16-channel latent. Feeding a 4-channel SDXL-style latent into this node is the wrong tool; useLatentBatch_channelsfor those.mode-offset,multiply, orpower, same three operations as the 4-channel version: flat shift, proportional scale, or gamma-style curve.chan_1throughchan_16(FLOAT, default 0 each) - one adjustment per latent channel, applied per the chosenmode.- Optional
chan_1sthroughchan_16s(SIGMAS) - a per-step schedule for each channel, if you want the adjustment to evolve across the sampling run rather than stay fixed. This is the same "modulate parameters against time" pattern RES4LYF's README describes as a core design goal of the pack. - Output: LATENT - the adjusted latent.
With sixteen channels and no named semantics to guide you, this node is realistically something you explore by trial and observation rather than by reasoning your way to the right values - nudge one channel, decode, look, repeat.
Installing it
Part of the full RES4LYF pack:
- ComfyUI Manager - search "RES4LYF," install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/ClownsharkBatwing/RES4LYF, thencd RES4LYF && pip install -r requirements.txt, restart.
Nothing extra to download for this node.
Common issues
Sixteen sliders and no idea where to start. There's no documented per-channel meaning for this node the way there loosely is for the 4-channel version. The practical approach is to isolate: adjust one channel at a time with a small value, decode, and observe, rather than trying to reason out which channel controls what before you've seen any results.
Applied to the wrong latent depth. If your model is SD1.5 or SDXL, its latents are 4-channel and this node's extra twelve parameters have nothing to act on correctly - use LatentBatch_channels there instead.
Extreme values blow out the decode. Latent-space adjustments compound through the VAE decode in ways that aren't linear with the input - large offsets or multipliers can produce noise, color blocking, or outright garbage in the final image. Keep changes small and check the decoded result before pushing further.
Inputs (34)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | — | |
| mode | COMBO | 3 options: offset, multiply, power | |
| chan_1 | FLOAT | 0.00-10000–10000 | — |
| chan_2 | FLOAT | 0.00-10000–10000 | — |
| chan_3 | FLOAT | 0.00-10000–10000 | — |
| chan_4 | FLOAT | 0.00-10000–10000 | — |
| chan_5 | FLOAT | 0.00-10000–10000 | — |
| chan_6 | FLOAT | 0.00-10000–10000 | — |
| chan_7 | FLOAT | 0.00-10000–10000 | — |
| chan_8 | FLOAT | 0.00-10000–10000 | — |
| chan_9 | FLOAT | 0.00-10000–10000 | — |
| chan_10 | FLOAT | 0.00-10000–10000 | — |
| chan_11 | FLOAT | 0.00-10000–10000 | — |
| chan_12 | FLOAT | 0.00-10000–10000 | — |
| chan_13 | FLOAT | 0.00-10000–10000 | — |
| chan_14 | FLOAT | 0.00-10000–10000 | — |
| chan_15 | FLOAT | 0.00-10000–10000 | — |
| chan_16 | FLOAT | 0.00-10000–10000 | — |
| chan_1sopt | SIGMAS | — | |
| chan_2sopt | SIGMAS | — | |
| chan_3sopt | SIGMAS | — | |
| chan_4sopt | SIGMAS | — | |
| chan_5sopt | SIGMAS | — | |
| chan_6sopt | SIGMAS | — | |
| chan_7sopt | SIGMAS | — | |
| chan_8sopt | SIGMAS | — | |
| chan_9sopt | SIGMAS | — | |
| chan_10sopt | SIGMAS | — | |
| chan_11sopt | SIGMAS | — | |
| chan_12sopt | SIGMAS | — | |
| chan_13sopt | SIGMAS | — | |
| chan_14sopt | SIGMAS | — | |
| chan_15sopt | SIGMAS | — | |
| chan_16sopt | SIGMAS | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |