ComfyUI Node

Send (TJ)

Hand a value to another workflow group without a single wire

By designloves2·Created 4 months ago·Updated 3 days ago· 13
Send (TJ)
  • value

    The node that makes "no wiring ever" almost true

    Send (TJ) is the transmitter half of TJ_NODE's Send Bridge - the pair (with Send Point) that transfers results between workflow groups on one canvas without any graph connection between them. You wire the value you care about into this node, and it sits there holding it in a session cache until a Send Point on the other side of your workflow asks for it. The actual transfer isn't a wire at all: it's a button click that fires one API call.

    That's a genuinely different idea from the pack's Set/Get wireless system, and it's worth saying plainly: Set/Get is the "always-on routing" layer, while Send/Send Point is "send it once, on purpose." They're independent systems and they don't interfere with each other.

    How it works

    Mechanically it's about as simple as a node gets. It takes one value input of any type (*), and its execute just stores that value in a per-node cache keyed by the node's unique ID. No outputs, nothing passed downstream - the node is an output node whose only job is to park the value. The frontend then gives you buttons named after the point_name you set on each Send Point, and clicking one calls the /tj_send_bridge/send API to copy the cached value across.

    What this unlocks is workflow architecture: you can split one canvas into group A (generation) and group B (upscale), queue-execute them completely separately, and still hand results from A to B. Rerun B alone without touching A. That's the entire point - in a normal graph, rerunning B means running everything upstream of it too.

    The three things that matter

    • value - the data you're handing over. IMAGE, VIDEO (passed as a file path reference), STRING, or anything else; Send Point previews each type differently (image, video player, text).
    • point_name on the matching Send Point - this generates the button on the Send node. No name, no button.
    • Persistence - transferred IMAGE/VIDEO/STRING values are saved into the workflow itself, so they survive a ComfyUI restart. Non-serializable types like LATENT are session-only.

    Install it

    It's part of the TJ_NODE pack, no extra dependencies:

    cd ComfyUI/custom_nodes
    git clone https://github.com/designloves2/ComfyUI-TJ_NODE.git
    

    Or ComfyUI Manager → Install Custom Nodes → search TJ_NODE, then restart. The node shows up under ✨ TJ_Node/Wireless.

    Where people get burned

    The classic mistake is expecting a graph link: there isn't one, and that's the feature. If you hit Run and the Send Point errors with "아직 전달받은 값이 없습니다" (no value received yet), it means you never clicked the Send button - clicking it with no cached value will execute just the upstream nodes feeding that Send and then transfer, so it self-heals. Also note the output_enabled toggle on Send Point: turned off, it blocks everything downstream in that branch and just sits quiet, which people sometimes mistake for a bug when it's the intended kill switch. And because the received values live in workflow JSON, the pack validates that cached file paths stay inside ComfyUI's allowed folders - a genuinely good security habit given how much third-party code now runs in this ecosystem.

    Category ✨ TJ_Node/Wireless

    Inputs (1)

    NameTypeDefaultDescription
    value*

    Outputs (0)

    No outputs