Latent to Image Batch
See what your latent's channels actually look like
- latent
- image
Latents are black boxes. You feed a tensor of 32 (or 128, if you're on Flux.2) channels into a sampler and an image comes out, but which channel is carrying what? This node answers that literally: it renders each latent channel as its own grayscale image and batches them, so you can eyeball every channel side by side. It's a debug tool, and it's the best friend of anyone using this pack's channel-transform and noise nodes.
Here's why it earns its keep: when you run Latent Mesh Drag or a channel rotation and the output looks subtly off, the first question is always "what actually changed?" Previewing the whole latent through a VAE decode tells you almost nothing - everything is baked together. Per-channel grayscale strips tell you everything. You'll quickly learn to recognize "roughness channels" (high spatial variance, texture carriers) and "structure channels" (smooth, layout carriers) just by looking, which makes the pack's top_roughness / top_variance selection modes far less mysterious.
The inputs and output
Only three inputs, and only one you'll touch:
latent- the latent to render.normalize(defaultfalse) - when on, each output image is min/max normalized to[0, 1]per-image. Do this. Raw latent values are near zero and will look like black frames otherwise.output_channels-1for true grayscale,3(default) to repeat grayscale into RGB soPreviewImage-style nodes are happy. Leave it on3unless you're feeding something that wants a single channel.
The output is an IMAGE of shape (B*C, H, W, C) - every channel of every sample becomes its own image in the batch, so a (B=1, C=32, H, W) latent becomes a 32-image batch. Wire that into a batch-preview node and you get a contact sheet of your latent.
Installing it
Part of Skoogeer-Noise. Install via ComfyUI Manager (search "Skoogeer-Noise") or:
cd ComfyUI/custom_nodes
git clone https://github.com/ttulttul/Skoogeer-Noise
Restart ComfyUI. No models to download - deps (torch, numpy, einops, pyyaml) are already in ComfyUI. There's a sibling node in the pack, Image Batch to Latent, that does the reverse (merge a batch of grayscale channel images back into a latent), which is how you can hand-edit a channel in an image editor and push it back in. The pair is genuinely useful for teaching yourself what latent channels mean, and this node is the half you'll use constantly.
Common issues
The most common "bug" reported is that the preview is black - that's normalize off and the latent values being tiny. Flip it on and you'll see the channels. Second most common: people expect each image to look like a recognizable thumbnail of the scene. They won't; they'll look like abstract noise/edge maps, because that's what individual diffusion channels are. Don't panic, that's correct. And if you're inspecting a Flux.2 latent, remember it's packed (128 channels of 2×2 patches), so the channels will look particularly alien - unpatchify with Unpatchify Flux.2 Latent first if you want something closer to the model's true spatial layout.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | Latent to render into per-channel grayscale images. | |
| normalize | BOOLEAN | false | Normalize each output image to [0,1] using per-image min/max. |
| output_channels | COMBO | 3 | Use 3 to repeat grayscale into RGB for PreviewImage compatibility. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |