FL Kytra Discord Webhook
Ping a Discord channel when your render is done
- images
- STRING
Long renders mean walking away from the machine. FL_SendToDiscordWebhook posts the result to a Discord channel the moment it finishes, so you can go do something else and get pinged when it's ready - with the image or video attached, right there in the chat. It doubles as a dead-simple way to auto-share output to a community server or a personal log channel without any bot hosting.
Discord webhooks are the easy path here: no bot token, no application, no OAuth. You create a webhook URL in a channel's settings, paste it in, and this node POSTs to it. That's the whole integration.
How it works
The node takes your image batch and sends it to the webhook URL. A single image goes as an image attachment; a multi-frame batch gets compiled into a video at your chosen frame rate and sent as a clip. You can set the bot's display name, a message to go with it, and optionally tag a user so they get a notification. It can also keep a local copy of what it sent.
The inputs and outputs that matter
Required:
images(IMAGE) - what to send. One image → image; many → video.webhook_url(STRING) - the Discord webhook. This is the one thing you must get right.frame_rate(INT, default 12) - FPS for the compiled video when you send a batch.message(STRING, multiline) - the text posted alongside.bot_username(STRING, defaultComfyUI Bot) - the name it posts under.save_locally(BOOLEAN, default true) - also keep a copy on disk.
Optional: user_id_to_tag (STRING) - a numeric Discord user ID to @mention so someone gets pinged.
It's an output node and returns a STRING status you can chain or ignore.
When you'd reach for it
At the end of any pipeline you don't want to babysit. Overnight video renders, big batch jobs, a shared channel where your generations auto-post for a group to see. Tag yourself and it becomes a "your render is done" alarm.
Installing it
ComfyUI Manager → ComfyUI_Fill-Nodes → install → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_Fill-Nodes
then restart. Note Fill-Nodes is a large grab-bag pack - installing it for this one webhook node also pulls in a stack of unrelated dependencies (a r/comfyui thread once flagged surprise at the Google Cloud libraries it brings along for its Drive nodes). It's not malicious, just a big bundle; know that going in.
Common issues & troubleshooting
Nothing arrives in Discord. Almost always the webhook_url. Create it under Server Settings → Integrations → Webhooks (or a channel's Edit Channel → Integrations), copy the full URL, and paste it exactly. A webhook belongs to one specific channel - that's where posts land.
The @mention doesn't notify anyone. user_id_to_tag needs the numeric user ID, not a username. Turn on Developer Mode in Discord (Settings → Advanced), then right-click a user → Copy User ID.
I wanted an image but got a video (or vice versa). The node decides by batch size: one frame is an image, multiple frames become a video at frame_rate. If a "single image" is arriving as a 1-frame video, check whether something upstream is handing it a batch.
Don't commit or share your webhook URL. Anyone with it can post to your channel. Keep it out of screenshots and public workflow JSON - treat it like a password.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| webhook_url | STRING | https://discord.com/api/webhooks/YOUR_WEBHOOK_HASH | — |
| frame_rate | INT | 121–60 | — |
| save_locally | BOOLEAN | true | — |
| bot_username | STRING | ComfyUI Bot | — |
| message | STRING | Here's your image/video: | — |
| user_id_to_tagopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |