ntfy
Get a Phone Ping When Your Queue Finishes
- images
- images
Every ComfyUI user hits the same moment: you queue a 400-step render, glance at the ETA, and realize you're about to watch a progress bar for twenty minutes. This node is the fix. Ntfy sends a push notification to your phone the instant a generation finishes - no email, no Telegram bot, no Discord webhook. Just the free ntfy.sh service and an app you install once.
The name is the whole deal. ntfy is a dead-simple HTTP pub/sub service: you pick a topic URL, the app subscribes to it, and any node or script that posts to that URL rings your phone. No account, no API key, nothing to sign up for. ComfyUI-ntfy just wraps that in a node so your graph can publish when it's done. If your pain point is babysitting a render from another room, this is the two-minute fix.
How it works
When the node runs, it takes your images tensor and, if send_image is set to enable, converts it to an in-memory PNG and PUTs it to your ntfy topic as an attachment. Set send_image to disable and it POSTs the msg text instead. The rest of the settings map almost one-to-one onto ntfy's HTTP headers: title sets the notification title, priority picks between min, low, default, high, and urgent, tags adds emoji shortcodes like tada,warning, and click_url opens a URL when you tap the notification.
Two things worth knowing. First, print_to_screen doesn't control the notification at all - it just logs to ComfyUI's console, which is handy for debugging but easy to mistake for the actual send toggle. Second, url and msg are lazy inputs with defaults, so you can run the node without touching either and it'll ping the default topic with "Image generation finished!"
The inputs that matter
For a beginner, honestly just three:
url- your topic. Change it from the defaulthttps://ntfy.sh/comfyui_shareto something likehttps://ntfy.sh/yourname-gen-doneso you're not sharing a public topic with everyone else on the planet.send_image-enableif you want the finished image on your phone,disableif a text ping is enough.msg- what the notification says.
priority, tags, click_url, and the auth fields are polish for once it's working and you want it nice.
One output, and a trap
The node has a single images output that passes your tensor straight through. Notice what it doesn't do: it doesn't save the file. This is an output node, not a save node. Wire it as the last step of a workflow and the image exists in memory just long enough to be pushed to your phone - then it vanishes, and nothing lands in ComfyUI/output/. If you want the ping and the file, use the pack's other node, SaveImageAndNtfy, which is a drop-in replacement for the built-in SaveImage.
Install
Install it with ComfyUI Manager (search the pack title "ComfyUI-ntfy"), or 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
Then restart ComfyUI. The pack has zero extra Python dependencies - it uses requests, numpy, and Pillow, all of which already ship with ComfyUI. No models to download, no requirements.txt to fight. This is the rare custom node that adds nothing to the dependency hell the ecosystem is famous for.
Gotchas
The big one is privacy. Any topic on the free ntfy.sh server is readable by anyone who knows the URL, and the default comfyui_share topic is effectively public - meaning strangers could subscribe to it, and you'd receive other people's pings too. Use a topic name with some entropy in it. If you're sending image attachments or anything you'd rather keep private, either point at a topic nobody can guess or self-host ntfy and use the auth_token / username + password fields the node supports.
One more: print_to_screen and send_image are independent toggles. If you've enabled notifications but "nothing is happening," check that send_image actually matches what you expect - and that print_to_screen is on if you want to see the log lines that tell you a request went out.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| 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 | — |