Latent Visualizer π¬
What Your Channels Actually Look Like
- latent
- preview_image
- stats
For most of your ComfyUI life, the latent is a black box with a wire coming out of it. Latent Visualizer opens the box. It renders the raw latent channels as a viewable image - without running them through the VAE - so you can finally look at the thing the sampler is actually manipulating. It is not what the final decoded image will look like. Say that twice, because it's the single most important thing about this node: this is a diagnostic preview of structure, contrast, and channel health, not a sneak peek at the render. What it costs almost nothing to produce - a fraction of a VAE decode - makes it the cheapest way in ComfyUI to see what's actually going on in latent space.
How it works
Two layouts:
- grid - tiles every channel into a grid, each cell independently normalized (or globally, via
normalize_per_channel). One look and you can spot a dead channel (flat gray cell) or a saturated one (blown-out). - single_channel - shows just the channel at channel_index, larger and centered, for inspecting one channel in detail.
Four colormaps: grayscale, viridis, hot, and signed_redblue (the last one distinguishes negative from positive values, which matters because latent values are signed - a channel holding strong negative structure looks different from one at zero). tile_size controls the output resolution.
Only the first batch item is visualized; the stats output is computed over the full batch. That's a small gotcha worth knowing if you feed it a batch and wonder why every frame looks the same.
Inputs and outputs
- latent - in.
- layout, colormap, channel_index, normalize_per_channel, tile_size - the controls.
- preview_image - wire to a Preview node.
- stats - per-channel statistics as text.
What it's for
Three concrete jobs:
- Channel health check. A dead or saturated channel is a real failure mode - a VAE with a broken channel produces smeared or flat output. One grid render and you've seen all of them.
- Composition preview. Even though it isn't the final image, a grid view often shows the rough layout - where the subject is, whether the frame is lopsided - before you spend a full decode.
- Understanding your model. First time you look at a Flux 16-channel latent vs. an SDXL 4-channel latent, you get why the VAE channel count matters (the pack's docs and the wider ecosystem both make a thing of this - 4 channels for SDXL, 16 for Flux).
It's also the friendliest of the pack's latent diagnostics, which is why it's usually the first one beginners find. Latent Histogram shows the value distribution, Latent Structure Probe shows where the energy sits; this one shows you the channels themselves.
Install and troubleshooting
No extra dependencies:
cd ComfyUI/custom_nodes
git clone https://github.com/TensorVizion/OmniNodes
Restart, find it under TensorVizion/Latent (ComfyUI Manager, search "OmniNodes", also works).
- "This doesn't look like my image!" Correct - it's not supposed to. It's a channel render, not a preview. If you wanted the render, VAE Decode.
- Every channel looks identical. That's a red flag for a degenerate latent, or you've got
normalize_per_channelon and each cell is normalizing away its own character - flip it off and compare. - The grid is missing channels. Check
tile_sizeand that you're actually looking at a latent with the channel count you expect (4 vs 16).
Start a workflow with this node on the latent, run once, and you'll keep it in your toolbox for every debugging session after. It's the fastest way in ComfyUI to find out whether the problem is in your prompt, your sampler, or your channels.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | β | |
| layout | COMBO | 2 options: grid, single_channel | |
| colormap | COMBO | 4 options: grayscale, viridis, hot, signed_redblue | |
| channel_index | INT | 00β63 | β |
| normalize_per_channel | BOOLEAN | true | β |
| tile_size | INT | 25664β1024 | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| preview_image | IMAGE | β |
| stats | STRING | β |