Save Image and ntfy
Save the Image AND Ping Your Phone
- images
- images
If you only install one node from this pack, it's this one. SaveImageAndNtfy is ComfyUI's built-in SaveImage node with a phone notification bolted on: it writes your PNG to ComfyUI/output/ exactly like stock, then pings you on ntfy.sh when it's done. No workflow restructuring, no extra save node, nothing to forget to wire up. You swap one node and suddenly you can walk away from a long queue and know the exact moment your render lands.
The use case writes itself. ComfyUI queues are fire-and-forget, and the whole frustration of the ecosystem is that you can't tell when a job finished without staring at a progress bar. This node is the two-second fix, and because it inherits from stock SaveImage, it doesn't cost you anything to try - worst case you flip it back and lose nothing.
How it works
Mechanically it's simple, and the source shows it. The node subclasses ComfyUI's own SaveImage, so all the file-writing behavior is the stock code, untouched: the filename_prefix, the embedded workflow metadata in the PNG, and the formatting tokens like %date:yyyy-MM-dd% or %Empty Latent Image.width% all work exactly as they do on the built-in node. When it runs, if the ntfy toggle is enable it sends the notification first, then calls the parent's save_images() to write the file normally. Set ntfy to disable and it's just a SaveImage.
The notification itself is the same machinery as the pack's Ntfy node: with send_image on enable it converts your image to an in-memory PNG and PUTs it to your topic as an attachment; otherwise it POSTs the msg text. title, priority, tags, click_url, and the auth fields map onto ntfy's HTTP headers.
The inputs that matter
You'll actually touch four:
images- wire your VAE-decoded output here, same as stock SaveImage.filename_prefix- defaults toComfyUI, and supports the same date/format tokens as the built-in.url- your ntfy topic. Change it from the defaulthttps://ntfy.sh/comfyui_shareto something with your own name in it.msg- "Image generation finished!" by default; make it say what you actually finished.
Everything else - priority, tags, click_url, auth_token, username, password - is optional polish for the notification itself.
Install
Install with ComfyUI Manager (search "ComfyUI-ntfy"), via the Comfy CLI:
comfy node install comfyui-ntfy
or manually:
cd ComfyUI/custom_nodes
git clone --depth 1 https://github.com/boredofnames/ComfyUI-ntfy.git
Restart ComfyUI and the node appears under the "ntfy nodes" category (search "Save Image and ntfy"). No extra Python dependencies - requests, numpy, and Pillow all ship with ComfyUI - and no models to download. One of the easiest installs in the ecosystem, which is saying something.
Gotchas
The one worth flagging: the default topic https://ntfy.sh/comfyui_share is a shared public topic, and on the free ntfy server any topic is readable by anyone who knows its URL. For a hobbyist pinging "your render is done" that's low-stakes, but if you're sending image attachments or generating anything you'd rather keep private, use a topic name with some randomness in it (say https://ntfy.sh/your-handle-gen-alerts), or set auth_token / username + password and point at your own authenticated ntfy server.
Also mind the toggle naming, because it bites people: ntfy enables or disables the push entirely, while send_image decides whether that push includes the image. They're independent, so you can save the file, skip the attachment, and get just the text ping. And if you ever want stock behavior back, flipping ntfy to disable gives you exactly that - a plain SaveImage that keeps its mouth shut.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | The images to save. | |
| filename_prefix | STRING | ComfyUI | The prefix for the file to save. This may include formatting information such as %date:yyyy-MM-dd% or %Empty Latent Image.width% to include values from nodes. |
| ntfy | COMBO | 2 options: enable, disable | |
| print_to_screen | COMBO | 2 options: enable, disable | |
| send_image | COMBO | 2 options: enable, disable | |
| url | STRING | https://ntfy.sh/comfyui_share | — |
| msg | STRING | Image generation finished! | — |
| titleopt | STRING | Notification title (overrides default topic URL) | |
| priorityopt | COMBO | default | Notification priority (default=normal) |
| tagsopt | STRING | Comma-separated tags/emoji shortcodes (e.g. tada,warning) | |
| click_urlopt | STRING | URL to open when notification is clicked | |
| auth_tokenopt | STRING | Bearer token for authenticated ntfy servers | |
| usernameopt | STRING | Username for Basic auth (used with password) | |
| passwordopt | STRING | Password for Basic auth (used with username) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |