Nodes/comfyui-tgbridge/Telegram Auto Workflow Report
ComfyUI Node

Telegram Auto Workflow Report

A Telegram report that fills itself in (when the saver cooperates)

By blkot·Created 2 months ago·Updated 2 months ago· 0
Telegram Auto Workflow Report
  • filenames
  • filenames
  • message_preview
enabledtrue
title
extra_notes
send_asauto
message_modecaption_and_reply
failure_modewarn

Telegram Workflow Report, the other node in this pack, wants you to wire in the prompt, the model, the seed, the LoRAs, the whole laundry list. Telegram Auto Workflow Report is the lazy sibling: you connect VHS_FILENAMES from VideoHelperSuite's Video Combine, and it digs the generation details out of the saved files itself. One wire in, a finished video plus metadata in your Telegram chat, nothing else to fill in.

VideoHelperSuite Video Combine → Telegram Auto Workflow Report

It's the same upload machinery as its manual cousin - caption, optional detail reply, optional JSON attachment, same send_as and message_mode options. The difference is where the metadata comes from: nothing is typed in, because the node tries to read what upstream already saved.

How it hunts for metadata

The trick is that ComfyUI's whole sharing culture leans on metadata riding inside the output file - a saved PNG carries the full workflow and prompt as text chunks, and dragging it back onto the canvas rebuilds the graph. This node reuses exactly that property. For each path in the VHS_FILENAMES tuple it checks a small chain of candidates:

  • the output file itself, if it's a PNG or WebP with embedded ComfyUI metadata,
  • a companion .json file with the same base name,
  • a companion .png or .webp with embedded metadata.

From whatever it finds, it walks the saved prompt graph to the sampler node and pulls seed, steps, cfg, sampler, and scheduler; it follows the wire links back to resolve the positive and negative prompt text; and it extracts model names, LoRA names and strengths, plus width, height, frames, and FPS. If only a UI-format workflow is available, it falls back to scanning nodes for anything that looks like prompt text.

That's a genuinely clever bit of plumbing, and it has one honest caveat the author states plainly: automatic extraction only works if the upstream saver wrote the metadata in the first place. Videos are the problem. An .mp4 from Video Combine has no PNG text chunks to read, so the auto node is depending on a companion JSON or preview PNG having been saved alongside it. Some savers do that, most bare Video Combine setups don't - which is exactly why the README tells you to switch to the manual node when the report comes back missing important details.

The inputs

It's a tiny surface compared to the manual node:

  • filenames (required) - the VHS_FILENAMES from Video Combine.
  • enabled (required) - false builds the preview without uploading.
  • title - an optional label; if left empty the caption falls back to the first 140 characters of the extracted prompt.
  • extra_notes - a free-text field appended to the report.

Plus the three enums the pack shares everywhere: send_as (auto/video/photo/document), message_mode (caption_only / caption_and_reply / caption_reply_and_json), and failure_mode (warn / raise).

Outputs are the same pair as its sibling: filenames passed through untouched so your graph stays chainable, and message_preview - a STRING showing the caption, follow-up messages, and files it would send. Set enabled = false, run once, and read that preview before you let it loose on a real chat.

Install and setup

Same story as the whole pack. Via ComfyUI Manager, search "tgBridge", or:

cd ComfyUI/custom_nodes
git clone https://github.com/blkot/ComfyUI-tgBridge
cd ComfyUI-tgBridge
pip install -r requirements.txt

Restart ComfyUI; the nodes land under the Telegram category. Dependencies are just Pillow (for reading embedded PNG/WebP metadata) and requests - no model files, nothing heavy.

You need a bot from BotFather, the bot added to your target chat, and its numeric chat ID. Keep them out of workflow JSON via environment variables:

export COMFY_TG_BOT_TOKEN="123456:ABC..."
export COMFY_TG_CHAT_ID="-1001234567890"

Forum topic? Add export COMFY_TG_MESSAGE_THREAD_ID="7". A git-ignored config/telegram.json in the pack folder also works; env vars take precedence.

Where to use it

This is the node for a personal, working Wan pipeline where you've confirmed the saver writes metadata and you just want "clip plus prompt in my pocket" with zero wiring. The moment a report comes back thin, or you need a field to always appear regardless of what the saver did, stop fighting it - the manual Telegram Workflow Report with explicit wiring is the reliable answer. The auto node is a convenience, not a contract.

CategoryTelegram

Inputs (7)

NameTypeDefaultDescription
filenamesVHS_FILENAMES
enabledBOOLEANtrue
titleoptSTRING
extra_notesoptSTRING
send_asoptCOMBOauto4 options: auto, video, photo, document
message_modeoptCOMBOcaption_and_reply3 options: caption_only, caption_and_reply, caption_reply_and_json
failure_modeoptCOMBOwarn2 options: warn, raise

Outputs (2)

NameTypeDescription
filenamesVHS_FILENAMES
message_previewSTRING