Nodes/ComfyUI Telegram Suite/Send Video πŸ”½
ComfyUI Node

Send Video πŸ”½

Ship your finished render straight to a Telegram chat

By SwissCore92Β·Created about a year agoΒ·Updated 2 months agoΒ· 9
Send Video πŸ”½
  • bot
  • video
  • trigger
  • message
  • message_id
  • trigger
β—„chat_idβ€”β–Ί
β—„captionβ–Ί
β—„parse_modeβ–Ύβ–Ί
β—„show_caption_above_mediafalseβ–Ί
β—„has_spoilerfalseβ–Ί
β—„disable_notificationtrueβ–Ί
β—„protect_contentfalseβ–Ί
β—„send_asβ–Ύβ–Ί
β—„message_thread_id-1β–Ί

This is the node you reach for the moment your video workflow stops being an experiment and starts producing things you actually want on your phone. Send Video takes the file your Video Helper Suite just assembled and posts it to a Telegram chat as a video, an animation, or a raw file. For anyone doing video-to-Telegram pipelines - sending previews to a private group, delivering a finished clip to a client chat - this is the payoff node of the whole pack.

How it works

The important thing to understand first: the video input is not an image or a path string. It's VHS_FILENAMES, the custom type that Video Helper Suite outputs from its Video Combine node (the "Filenames" output). That's the single most common mistake people make here - they try to feed the video frames or a raw file path and the input refuses to connect. You need Video Helper Suite installed and a Video Combine node in your graph.

When the node runs, it takes that VHS_FILENAMES tuple, grabs the last non-.png path in it (your actual video file), guesses the mimetype, and POSTs the bytes to Telegram's API as a multipart upload. The send_as enum decides the endpoint: Animation (the looping, GIF-style preview - great for short clips), Video (a regular video message), or File (sent as a document with no re-compression, the one to pick if you want to preserve your render exactly).

Inputs that matter

  • video - the VHS_FILENAMES from Video Combine.
  • send_as - Animation / Video / File.
  • caption and parse_mode - caption text, with HTML or Markdown available for formatting.
  • disable_notification - defaults to true, so the clip arrives silently. Flip it off if this is a deliverable people are waiting on.

The rest are the standard Telegram flags: show_caption_above_media, has_spoiler (blurs the clip until tapped), protect_content (blocks forwarding/saving), and message_thread_id for forum topics (-1 = none). All default to something sensible.

Outputs

message (DICT - Telegram's full response), message_id (INT - keep it if you want to edit the caption later), and trigger for execution-order control.

Install and gotchas

Pack install is the usual Manager-or-clone:

cd ComfyUI/custom_nodes
git clone https://github.com/SwissCore92/comfyui-telegram-suite.git
cd comfyui-telegram-suite
pip install -r requirements.txt

Then make sure Video Helper Suite is also installed, your bot token and chat id are in config.json, and you've restarted. Two real-world gotchas. Telegram caps bot uploads (roughly 50 MB on the public API), so a long, high-bitrate render can be rejected - keep previews short or send them as File and stay under the cap. And because the node grabs the last non-png path from the VHS output, make sure Video Combine's output is actually a single video file; if your VHS setup leaves stray intermediate files, you might be surprised by which one goes out.

CategoryTelegram Suite πŸ”½

Inputs (12)

NameTypeDefaultDescription
botTELEGRAM_BOTTelegram bot instance
chat_idINTUnique identifier for the target chat
videoVHS_FILENAMESthe video to send (VHS)
captionSTRINGMedia caption, 0-1024 characters after entities parsing
parse_modeCOMBOMode for parsing entities in the photo caption. See https://core.telegram.org/bots/api#formatting-options for more details.
show_caption_above_mediaBOOLEANfalsePass True, if the caption must be shown above the message media
has_spoilerBOOLEANfalsePass True if the media needs to be covered with a spoiler animation
disable_notificationBOOLEANtrueSends the message silently. Users will receive a notification with no sound.
protect_contentBOOLEANfalseProtects the contents of the sent message from forwarding and saving
send_asCOMBOHow to send the video
message_thread_idINT-1-1–9223372036854776000Unique identifier for the target message thread of the forum topic (-1 = None)
triggeropt*Optional trigger to enforce execution order

Outputs (3)

NameTypeDescription
messageDICTβ€”
message_idINTβ€”
trigger*β€”