Nodes/EBU Workflow/EBU Image Wait For Image
ComfyUI Node

EBU Image Wait For Image

An image gate that waits for another image

By burnsbert·Created about a year ago·Updated 12 months ago· 0
EBU Image Wait For Image
  • input_image
  • wait_for_image
  • output_image

EBU Image Wait For Image is a gate: it takes an image, hands it back unchanged, but refuses to complete until a second image exists. It's the image-flavored member of the EBU Workflow pack's wait-for-image trio (string, image, model), and all three exist for the same reason - forcing an explicit ordering edge in the graph.

The name is the feature. input_image flows through to output_image untouched; wait_for_image is the trigger. The node does nothing to the pixels - no resizing, no blending - it's pure dependency management.

How it works

At execution, it checks wait_for_image: if it's None or an empty batch, the node raises ValueError("Image not loaded. Cannot proceed.") and the whole run aborts. Otherwise, input_image is returned as-is.

Why would you need this when ComfyUI already schedules by dependency edges? Because sometimes you want to enforce that one branch of a graph produces an image before another branch's image moves downstream - and you want that guarantee stated in the graph, not implied by the wiring you happen to have. When you're iterating on a complex multi-pass workflow (upscale chains, img2img passes, compositing), an explicit wait edge survives restructuring that implicit ordering doesn't.

The fail-fast behavior matters too. If the image you're waiting on is empty - say an upstream Load Image with no file - this node turns that silent nothing into a clear crash instead of letting a downstream node chew on missing data.

Inputs and outputs

  • input_image (IMAGE) - the image that passes through.
  • wait_for_image (IMAGE) - the dependency that gates it.
  • output_image (IMAGE) - a pass-through of input_image, unchanged.

Where it fits

Mostly complex, multi-branch workflows. Realistic example: a pipeline where a first-stage image must be ready before a second-stage image gets saved or composited - wire the first stage's output into wait_for_image, and the save can't fire early. It's also a reasonable safety gate when a branch feeds from a source (a load node, an API result) that might come back empty.

Honest caveat for the beginner: in a plain single-execution workflow, ComfyUI already orders nodes correctly, and this node adds nothing but noise. Reach for it when you're explicitly fighting an ordering problem, not preemptively.

Installing

Part of the EBU Workflow pack - no dependencies beyond Python's standard library, no model downloads. ComfyUI Manager (search "EBU Workflow"), or:

cd ComfyUI/custom_nodes
git clone https://github.com/burnsbert/ComfyUI-EBU-Workflow

then restart ComfyUI.

Gotchas

  • It checks only that the wait image batch is non-empty. A blank or all-black 1x1 image passes the gate fine - emptiness here means "no tensor," not "visually empty."
  • The abort is a hard stop of the run, with a stack trace in the console. If the wait image can legitimately be absent, gate with a conditional switch instead.
  • Both images are in REQUIRED inputs, so you can't wire only one. The node is unusable until both are connected - which is itself the point.
CategoryUtility

Inputs (2)

NameTypeDefaultDescription
input_imageIMAGE
wait_for_imageIMAGE

Outputs (1)

NameTypeDescription
output_imageIMAGE