Latent Diagnostics
Why Does My Latent Look Weird? This Node Tells You
- latent
- latent
- report
Latents are the invisible middle of every ComfyUI workflow, and when something goes wrong with one, it's usually the shape, dtype, or device that's the culprit - not the model. Latent Diagnostics is a pass-through node that reports exactly those facts about whatever latent you connect: its shape, dtype, device, and whether it's compatible with tiled sampling. It doesn't change the data - it passes the latent through unchanged - but it turns an opaque tensor into a readable report, which is most of the battle.
How it works
One input, two outputs:
- latent (
LATENT): whatever you want to inspect - a VAE encode output, a sampler's output, a latent from another pack. - output
latent(LATENT): the exact same latent, passed through unchanged. This node is a probe, not a transformer; wire it into the graph and it neither modifies nor degrades what flows through. - output
report(STRING): a text report describing the latent's shape, dtype, device, and tiling fit.
The node is flagged as an output node, which means it always runs - a useful property when you're debugging, since it won't get pruned as an unused branch. Drop it on a latent, connect the report to a text display or note, and you've got live telemetry every run.
When you'd reach for it
Three situations. First, tiled-sampling failures: the pack's tiled samplers (KSampler (Tiled Diffusion) and friends) have specific latent requirements, and a latent that's the wrong shape or on the wrong device explains a crash before you touch a single tile knob. The report's tiling-compatibility line exists for exactly this. Second, cross-pack handoffs: a latent produced by a third-party encoder may not be in the shape ComfyUI's samplers expect, and a 30-second diagnostic beats twenty minutes of guessing. Third, device sanity: a latent that ended up on CPU (or the wrong GPU in multi-GPU setups) explains every mysterious slowdown.
It's a sibling of the other pack utilities in spirit - Simple VAE Encode and Upscale Latent From Image follow the graph to find provenance; this one just reports what's in front of it. None of them are glamorous; all of them exist because "the latent is weird" is the most common vague bug report in ComfyUI.
Install
Ships in the SimpleSyrup pack. ComfyUI Manager → search SimpleSyrup → Install → restart, or:
Set-Location ComfyUI\custom_nodes
git clone https://github.com/Artificial-Sweetener/SimpleSyrup.git
Set-Location SimpleSyrup
..\..\venv\Scripts\python.exe -m pip install -r requirements.txt
Restart ComfyUI; current build required (v3 extension API).
Common issues
- Report seems wrong / empty - check you're reading the
reportoutput, not the passthrough latent. They're both on the node and easy to mix up. - Nothing changed downstream - correct; it's a passthrough probe. If you expected a fix, you're on the wrong node.
- Node missing - update ComfyUI first.
It won't fix your latent, but it'll tell you what's wrong with it - which is the step most people skip.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | Latent to inspect. The node reports metadata and passes it through unchanged. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | Input latent passed through unchanged for continued workflow use. |
| report | STRING | Text report describing latent shape, dtype, device, and tiling fit. |