Nodes/SimpleSyrup/Latent Diagnostics
ComfyUI Node

Latent Diagnostics

Why Does My Latent Look Weird? This Node Tells You

By Artificial-Sweetener·Created 3 months ago·Updated 12 days ago· 2
Latent Diagnostics
  • 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 report output, 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.

CategorySimpleSyrup/Utilities

Inputs (1)

NameTypeDefaultDescription
latentLATENTLatent to inspect. The node reports metadata and passes it through unchanged.

Outputs (2)

NameTypeDescription
latentLATENTInput latent passed through unchanged for continued workflow use.
reportSTRINGText report describing latent shape, dtype, device, and tiling fit.