Notify Pixaroma
A ding when it's done, plus a free stopwatch per checkpoint
- any
Long generations have one sound: you staring at a progress bar in a tab you should have left an hour ago. Notify Pixaroma fixes that with the simplest possible contract - wire anything into it, and when the workflow reaches it, it plays a sound. Drop one at the end of a workflow and you hear "done" from any other tab or app; branch one off a node mid-graph and you get an alert at that checkpoint instead of babysitting the whole run. It's a terminal node: no output, the wire it takes is just a tripwire. The data isn't used or modified.
How it works
any- connect any node's output here. The notification fires when this node is reached. That's the whole wiring story.sound- pick from ten bundled sounds (Vista, Tada, Stage-Clear, Sector-Clear, Ready-PixaGirl and friends - yes, there's a video-game flavor to some of these). The dropdown lists every.mp3/.wav/.oggin the pack'sassets/sounds/folder, so drop your own files in there to extend it (restart ComfyUI to pick them up).enabled- per-node sound toggle. Off silences just this node.volume- 0–100, applies to both the run-time ding and the Preview button.label- an optional name shown in the browser and console logs, so when three Notify nodes fire you know which one you heard. Leave blank and it uses the sound name.
There's a ▶ Preview button to audition a sound without running the workflow, and a master mute in Settings → Pixaroma → Notify that silences every Notify node at once for quiet sessions. The sound always re-fires on every Run, even when everything upstream is cached - which is exactly what you want from a "it's done" bell.
The bonus: it's also a checkpoint timer
Every Notify node doubles as a stopwatch. The clock starts when you press Run and stops the moment the node is reached, so it answers "how long did it take to get this far?" Put one at the end for the total, or branch several through the graph and the gaps between their times are your per-segment timings. Each node keeps its own history of the last 10 times (right-click → Notify time history), with the fastest marked, plus copy/export/clear. The timing is independent of the sound - it records with the sound off or the master mute on - so you can time a run in silence. One caveat from the changelog: a Notify inside a subgraph will still play its sound, but it can't time itself - put it in the main graph for timing.
Install
Part of the Pixaroma pack:
cd ComfyUI/custom_nodes
git clone https://github.com/pixaroma/ComfyUI-Pixaroma
or ComfyUI Manager → Pixaroma → install, restart. No extra dependencies, works in both node interfaces. And the house rule: if a Notify looks stale after an update, hard-refresh the browser (Ctrl+Shift+R) before blaming the pack.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| any | * | Connect any node's output here. The notification fires when this node is reached during workflow execution. The wire's data is not used or modified - this node is a terminal (no output). | |
| enabled | BOOLEAN | true | Per-node SOUND toggle. When OFF, this specific node stays silent on every Run, but its checkpoint timer still records (right-click the node -> Notify time history). Other Notify nodes in the workflow are unaffected. |
| sound | COMBO | Vista.mp3 | Notification sound to play. The dropdown lists every .mp3 / .wav / .ogg in assets/sounds/. |
| volume | INT | 800–100 | Playback volume from 0 (silent) to 100 (full). Affects both the Run-time notification and the Preview button. |
| label | STRING | Optional name shown in browser and ComfyUI console logs when the node fires. Helpful when multiple Notify nodes fire in one workflow. Leave blank to use the sound name. |
Outputs (0)
No outputs