Syphon Sender Plan
The macOS side of the texture-sharing story
- syphon_plan_json
- manifest_line
- summary_json
If MKRSpoutSenderPlan is the Windows one, this is its Mac sibling. Syphon is the open-source framework that does on macOS what Spout does on Windows: share live GPU textures between applications so visuals can move between apps in real time without touching disk. Same idea, opposite platform. And like the Spout plan, this node is honest about the word "plan" - it emits a JSON spec for a Syphon sender, it doesn't send.
Here's the thing that trips people up: Spout and Syphon are not interchangeable protocols. Spout is Windows, Syphon is macOS. If you're on a Mac feeding Resolume Arena or Isadora, Syphon is your lane. If you're on Windows, this node is the wrong half of the family and you want MKRSpoutSenderPlan instead. The fact that the pack ships both is useful - you can keep one workflow per machine - but pick based on your OS, not your vibes.
The inputs
Three strings, all simple:
- server_name - the Syphon server name other apps subscribe to. Default "MKRShift Syphon".
- asset_path - the file or folder the sender should publish.
- source_kind -
image,image_sequence,video, ortexture. Texture means a live GPU surface; image_sequence means numbered frames on disk.
What it hands you
Three string outputs: syphon_plan_json (the plan document), manifest_line (the compact handoff line), and summary_json. This is the pack's consistent pattern for transport planning - one node builds the authoritative JSON, and other nodes or the repo's host add-ons consume it. If you're wiring a TouchDesigner or Resolume round-trip, you can feed this plan alongside the TiXL and TCP plan nodes to keep the whole transport layer in one corner of the graph.
Installing it
Part of criskb/MKRShift_Nodes from Cris K B. Install via ComfyUI Manager (search "MKRShift_Nodes") or:
cd ComfyUI/custom_nodes
git clone https://github.com/criskb/MKRShift_Nodes
Then restart ComfyUI. No pip requirements, no models, no extra dependencies for this node - it's pure JSON planning, so it costs you nothing but a place in the node list.
The honest caveat
Same as every plan node in this family: there's no runtime Syphon sender in the pack to actually push frames. The repo ships add-on scaffolds under addons/ that are meant to do the real handoff, so a working Syphon path involves that companion piece, not just this node. If you want something that transmits from inside the graph today, the TCP pair is the one that really fires - MKRTCPBridgePlan plus MKRTCPBridgeSend. Use the plan nodes to define the contract; use them for the actual stream and you'll be staring at a JSON file wondering where your frames went.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| server_name | STRING | MKRShift Syphon | — |
| asset_path | STRING | — | |
| source_kind | COMBO | texture | 4 options: image, image_sequence, video, texture |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| syphon_plan_json | STRING | — |
| manifest_line | STRING | — |
| summary_json | STRING | — |