Nodes/ComfyUI-TelegramSender/Telegram: Send Video Album
ComfyUI Node

Telegram: Send Video Album

The Telegram album node for people who batch their videos

By smbdsbrain·Created 3 months ago·Updated 3 months ago· 0
Telegram: Send Video Album
  • video_1
  • video_2
  • video_3
  • video_4
  • video_5
  • video_6
  • video_7
  • video_8
  • video_9
  • video_10
    caption
    send_as_videotrue

    If you've ever queued five video renders and watched Telegram get spammed with one message per clip, you know why this node exists. Telegram: Send Video Album is the gather-then-group version of Telegram: Send Video: it collects up to ten VIDEO outputs and delivers them as a single Telegram album (sendMediaGroup) - one swipeable message with all your clips inside, instead of a notification storm.

    It's the thinnest node in the pack, but it's the one you want for actual batch work: variation renders, A/B comparisons, or dumping a whole sequence's clips to the same chat. Everything about the video handling is inherited from Telegram: Send Video, so if you've used that, there's zero new logic to learn here.

    How it works

    Each of the optional video_1 through video_10 inputs takes a VIDEO value and gets normalized the same way the single-video node does: a Comfy video object with .save_to(path), a dict with a path, a dict with frames + fps (encoded to MP4 via imageio / imageio-ffmpeg), a plain string path, or a single-element list containing a path. Everything becomes a real .mp4, then the clips are grouped into albums of up to 10 - Telegram's cap - and sent with sendVideo for inline previews. Temporary files are cleaned up afterwards.

    If only one video ends up connected, it degrades to a single sendVideo rather than a pointless one-item album. The caption sits on the first item of the first album, same as the image album.

    The inputs that matter

    • video_1video_10 (all optional VIDEO) - wire up to ten video sources; unconnected inputs are ignored.
    • caption (STRING, multiline) - message text on the first item.
    • send_as_video (boolean, default True) - the only toggle. It's on by default and that's fine; there's no document mode here at all.

    No outputs - it's an output node, so it ends the workflow.

    Installing it

    ComfyUI Manager, search "TelegramSender". Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/smbdsbrain/ComfyUI-TelegramSender
    

    Then the real dependencies, in ComfyUI's Python environment:

    pip install requests imageio imageio-ffmpeg
    

    imageio-ffmpeg is required for any input that arrives as frames rather than a ready file. Restart ComfyUI, node under utils/telegram.

    Credentials are shared across the pack, first match wins: ComfyUI Settings → Telegram Sender → Credentials (recommended), a telegram_config.json next to the node, or the TELEGRAM_BOT_TOKEN / TELEGRAM_CHAT_ID env vars. Token from @BotFather, chat ID numeric or @channel.

    Troubleshooting

    • It's slow, and it's all slow - each video is normalized and encoded sequentially before anything sends. Several long clips can mean a long wait; that's the tradeoff for one clean message.
    • Caption only on the first clip - expected, that's how Telegram albums work.
    • More than 10 videos - split into multiple albums automatically.
    • "imageio missing" on a frames input - you skipped the pip install of imageio / imageio-ffmpeg.
    • "bot_token and/or chat_id not specified" - the pack's standard credential error, pointing you at Settings.

    If you want the raw files as downloadable documents rather than inline video - this node has no document mode - keep a Telegram: Send Video per output, or just accept the album preview.

    Categoryutils/telegram

    Inputs (12)

    NameTypeDefaultDescription
    captionSTRING
    send_as_videoBOOLEANtrue
    video_1optVIDEO
    video_2optVIDEO
    video_3optVIDEO
    video_4optVIDEO
    video_5optVIDEO
    video_6optVIDEO
    video_7optVIDEO
    video_8optVIDEO
    video_9optVIDEO
    video_10optVIDEO

    Outputs (0)

    No outputs