Nodes/MKRShift_Nodes/Spout Sender Plan
ComfyUI Node

Spout Sender Plan

The blueprint, not the broadcast

By criskb·Created 7 months ago·Updated 5 months ago· 0
Spout Sender Plan
    • spout_plan_json
    • manifest_line
    • summary_json
    sender_nameMKRShift Spout
    asset_path
    source_kindtexture

    Set the name on it and stop there, because that's most of what this node does. MKRSpoutSenderPlan doesn't share a single pixel - it writes a spec. The name tells you it's a plan, and it means it: the output is a JSON document that describes a Spout sender somebody else is supposed to build.

    Quick on what Spout is, since it's the reason you'd care: it's the Windows standard for sharing GPU textures between apps in real time. Resolume, TouchDesigner, Unreal, OBS plugins - they all talk Spout so live visuals can jump between programs at frame rate with no files in between. If you're building a ComfyUI pipeline that feeds a live show, Spout is usually the bus you want. The catch with this node is that it plans the sender rather than sending it - the actual handoff is meant to be done by the matching host add-on scaffold that ships in the repo's addons/ folder, not by a runtime node in your graph.

    What you actually set

    Three inputs, all strings:

    • sender_name - the name other apps will see. Defaults to "MKRShift Spout"; if your VJ host is already running an app with that name you'll want something unique.
    • asset_path - where the image, sequence, or video lives that the sender should publish.
    • source_kind - image, image_sequence, video, or texture. This tells the receiving side how to read the asset; a texture is a live GPU surface, an image_sequence is a folder of numbered files.

    What comes out

    All three outputs are strings: spout_plan_json (the full plan document), manifest_line (a compact comma-joined summary you can hand to an add-on), and summary_json. In the wider workflow this is classic plumbing in the sense the MKRShift pack does well - a single authoritative JSON value that one node builds and several other nodes can consume without you retyping the details. It plays naturally with the pack's TiXL and TCP plan nodes if you're assembling a transport layer for a host integration.

    Installing it

    It ships inside criskb/MKRShift_Nodes, a big multi-area pack from Cris K B. ComfyUI Manager can find it if you search "MKRShift_Nodes"; otherwise:

    cd ComfyUI/custom_nodes
    git clone https://github.com/criskb/MKRShift_Nodes
    

    Restart ComfyUI. There are no pip requirements and no model downloads for the pack - this node is pure JSON generation, so it'll show up without any extra weight.

    The trap

    Don't wire this up expecting a live preview in Resolume and then hunt for the sender node. There isn't one in this pack - only the plan. If you need an actual in-graph sender today, the TCP pair (MKRTCPBridgePlan + MKRTCPBridgeSend) is the part of this family that really transmits, and for real Spout output you're expected to run the companion add-on from the repo against a host. Treat the plan nodes as contract documents: precise, useful, and not the last step in the chain.

    CategoryMKRShift Nodes/Addons/Network

    Inputs (3)

    NameTypeDefaultDescription
    sender_nameSTRINGMKRShift Spout
    asset_pathSTRING
    source_kindCOMBOtexture4 options: image, image_sequence, video, texture

    Outputs (3)

    NameTypeDescription
    spout_plan_jsonSTRING
    manifest_lineSTRING
    summary_jsonSTRING