Nodes/ComfyUI-Omini-Kontext/Omini Kontext Latent Visualizer
ComfyUI Node

Omini Kontext Latent Visualizer

Omini Kontext Latent Visualizer

By tercumantanumut·Created about a year ago·Updated about a year ago· 60
Omini Kontext Latent Visualizer
  • latent
  • image_ids
  • STRING

Don't let the name fool you - the Omini Kontext Latent Visualizer doesn't draw anything. It's a debug node that dumps the structure of a latent as text. Given a LATENT tensor it prints its shape, dtype, device, and min/max values; given the optional image_ids, it also shows the id tensor's shape and the first few rows. That's it. It's a STRING output, and since it's marked as an output node it shows its text in a ComfyUI text box when run.

Why you'd use it

Everything about the advanced encoder set in this pack is "peel back the hood," and this is the instrument you use while the hood is open. The single most useful thing it does: after you encode a reference and apply a position delta, run the Visualizer on the reference's ids and you can see the numbers change - watch the first id row go from [0, 0, 0]-ish to shifted values as you bump delta_x. That turns the "magic" of spatial control into something you can verify, which is the difference between trusting the pipeline and understanding it.

The inputs

  • latent (required) - any LATENT-typed tensor: the output of the Image Encoder, the Reference Encoder's REF_LATENT, or the Combiner's COMBINED_LATENT.
  • image_ids (optional) - the matching IMAGE_IDS/REF_IMAGE_IDS, if you want the id inspection.

Output is a single STRING with a small report, roughly:

=== Omini Kontext Latent Info ===
Latent shape: torch.Size([1, 4096, 16])
Latent dtype: torch.float32
Latent device: cuda
Latent min/max: -1.2345 / 1.2345

Image IDs shape: ...

That shape line is genuinely informative: the packed token layout (sequence length × channels) tells you at a glance how many tokens your scene or reference produced, and the min/max tells you whether the encoding is in a sane range. A NaN or a wildly skewed max is a fast "something went wrong upstream" signal.

The honest take

It's a glorified print() statement wearing a node costume, and it's perfect for what it is. If you're debugging a character insertion that's coming out wrong and you've built the encoder chain, this node is the cheapest way to check your latents before you start blaming the model. If you're just using the main Pipeline node and saving images, you will never need it. Either way it costs nothing - same install as the rest of the pack, no model downloads of its own, and it doesn't even need a pipeline input. It's the rare ComfyUI node that's completely safe to run on any setup.

CategoryOminiKontext

Inputs (2)

NameTypeDefaultDescription
latentLATENT
image_idsoptIMAGE_IDS

Outputs (1)

NameTypeDescription
STRINGSTRING