ComfyUI Node

Is Image Valid ?

A true/false for 'is there actually an image here?'

By Fictiverse·Created 3 years ago·Updated 17 days ago· 27
Is Image Valid ?
  • image
  • is_valid

The whole node is one question with a one-letter answer: is there an image connected here, or not? Feed it an IMAGE, and it returns is_valid as a BOOL - True if a real image tensor arrived, False if the input is empty.

That sounds trivially simple until you hit the situation it's built for. ComfyUI lets you leave inputs disconnected, and a lot of workflow logic genuinely needs to branch on "did a previous node produce something this run?" Maybe an optional inpainting mask only exists sometimes. Maybe a video loop feeds frames in only on certain passes. Maybe you're chaining a node that legitimately outputs nothing. In all those cases you want a boolean you can route into a switch, not a graph that hard-crashes because one wire was empty.

How it works

Under the hood it's the simplest possible check: image is not None. The image input is optional, so leaving it unwired is a normal, expected state - that's exactly what produces False. The distinction that matters: this checks that an image exists, not that it's any good. A solid black frame, a corrupted-but-decodable tensor, a 1x1 pixel - all of those are "valid" because they're not None. If you need content quality checks, that's a different tool entirely; this is purely a connection-presence test.

Inputs and outputs

  • image (IMAGE, optional) - the image you're asking about. Leave it disconnected and the node is happy to answer False.
  • is_valid (BOOL) - the verdict.

Wire is_valid into any boolean consumer: a Boolean switch, a conditional router, a Text Enable With Prefix-style gate, or a basic IF-style node if you're running a pack with one. The classic move is feeding it into a switch that picks between "run the next stage" and "skip to the end." Because it's a pure BOOL with no image in its outputs, it never slows anything down.

Installing it

It's part of ComfyUI Fictiverse Nodes, a small single-author utility pack with no Python dependencies beyond ComfyUI itself and no model downloads. Install the whole pack:

  • ComfyUI Manager → search ComfyUI Fictiverse Nodes → Install, restart.
  • Or: cd ComfyUI/custom_nodes && git clone https://github.com/Fictiverse/ComfyUI_Fictiverse and restart.

Common issues

Honestly, there isn't much to break. The one thing people stumble on is expecting a "quality" verdict and getting a "presence" verdict - a blank or black image passes as valid, which can silently let a downstream branch run on garbage. If you need "is this image meaningful," pair this with an image-statistics or content check instead of assuming the boolean covers it.

One more gotcha that isn't this node's fault: because the pack turns up inside shared workflows (you'll see Fictiverse nodes in Wan 2.2 animate templates floating around Reddit), loading one of those without the pack installed throws ModuleNotFoundError: No module named 'custom_nodes.ComfyUI_Fictiverse'. Install the pack, restart ComfyUI, and the missing-node error clears.

CategoryFictiverse

Inputs (1)

NameTypeDefaultDescription
imageoptIMAGE

Outputs (1)

NameTypeDescription
is_validBOOL