Nodes/Async Pause/Notify Audio (Passthrough)
ComfyUI Node

Notify Audio (Passthrough)

A mid-pipeline beep that doesn't break your wire

By vilanele·Created 11 months ago·Updated 8 months ago· 8
Notify Audio (Passthrough)
  • any
  • any

The Notify Audio (Passthrough) node is the same idea as its sibling Notify Audio - it plays a sound in your browser when it executes - except it refuses to be the end of the line. Whatever you feed in, it passes straight through, so you can drop a beep anywhere in the middle of a workflow without terminating the branch. Output-node versions are terminal: they sit at the end because they have no outputs. This one sits inside the graph, and the data keeps flowing underneath it.

That distinction is the entire reason the passthrough version exists. A terminal notifier tells you a pipeline finished. A passthrough tells you a pipeline reached a milestone. Two useful things, but they're different signals. Wire this after your first of three KSampler stages and you get "stage one done, two more to go" as a distinct chime - then a second passthrough after stage two, and so on. Each beep is a checkpoint, and because the any input/output pair just echoes whatever came in, the rest of the workflow is none the wiser.

How it works

Identical mechanism to the output node: the backend execute() returns the input untouched plus a dummy UI trigger; frontend JS picks up the trigger and plays the node's built-in <audio> element. The node therefore grows the same two frontend widgets that aren't backend inputs - a sound dropdown (12 presets, default chime) and a volume slider (default 50). The only schema input is the required any, and the only schema output is any back out.

When to reach for passthrough over output

Simple rule of thumb:

  • End of the branch you care about → Notify Audio (output node).
  • Somewhere in the middle, with stages still to come → this one.

If you're mid-wire and grab the output version by mistake, ComfyUI will just refuse the connection - no output socket to hook. Grab this one instead. If you genuinely only care about "done," the output node is cleaner, because it makes the terminal point visually obvious in the graph.

Install, custom sounds, and gotchas

Same pack, same trivial install:

# ComfyUI Manager → Custom Nodes → search "Async Pause" → Install → restart
# or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/vilanele/ComfyUI-AsyncPause
# restart ComfyUI

No models, no pip dependencies. Custom sounds work exactly as with the output node: copy the file into web/audio, register it in the sounds object in web/js/sounds.js, restart. The usual suspects when you hear nothing: the ComfyUI tab is muted, the volume slider is low, or the node never re-ran because its input fingerprint didn't change - ComfyUI's caching skips unchanged nodes, so a repeated run with identical inputs won't necessarily beep again. Nudge an upstream value (a seed, say) if you need it to fire.

One tip from the pack's README: the nicest use of this node is in a subgraph wrapped around a Pause node - beep on the way in, beep on the way out, so you hear a checkpoint being reached and left. It's the notification half of the pack's signature pattern.

Categoryutils

Inputs (1)

NameTypeDefaultDescription
any*

Outputs (1)

NameTypeDescription
any*