Nodes/Sonder Editor/Sonder Reference Prompt Bridge
ComfyUI Node

Sonder Reference Prompt Bridge

The text that rides along with your references

By SonderSaid·Created 2 months ago·Updated 2 days ago· 2
Sonder Reference Prompt Bridge
  • reference_set
  • reference_prompt
  • reference_names
  • p01
  • p02
  • p03
  • p04
  • p05
  • p06
  • p07
  • p08
  • p09
  • p10
  • p11
  • p12
  • p13
  • p14
  • p15
  • p16

Every reference in the ComfyUI-Sonder-Editor timeline editor is more than media. A character member carries a name and a one-line description; a location member carries tags and prompt text. When you stage those members onto a Reference lane, the editor assembles that text into a prompt through the lane's recipe - and the Sonder Reference Prompt Bridge is what exports that text to your graph. It's the only one of the four reference nodes that doesn't decode media, because there's nothing to decode: it's pure strings out.

It's easy to underestimate. The image bridge feeds the model's eyes, the audio bridge feeds its ears, and this one quietly keeps the text in lockstep with both - so a character's description in the prompt matches the reference image actually driving that scene, window by window, without you hand-editing prompt text between shots.

How it works

Wire a reference_set from a Sonder Reference Selector into the single required input and the bridge emits three kinds of output:

  • reference_prompt - the aggregate prompt derived from the staged members through the recipe's pattern, or the item's own override if you set one. If no lane has an item effective for this window, it's an empty string.
  • reference_names - the Library names in staged order, comma-separated. This is a fantastic debugging output: one glance tells you exactly which references the current window resolved to, no guesswork.
  • p01 through p16 - one prompt string per staged member, on the same reserved slot grid the other bridges use. Each expansion of the recipe's per-member token lands on its own socket, so you can wire a single member's text somewhere separate from the aggregate.

Slot order follows staged member order, and lanes concatenate in lane-index order - the same stability rule as the image and audio bridges, so socket positions never shift under you. Where the derived prompt comes from matters: the editor builds it from each member's own prompt text through the recipe's pattern (things like a per-member token expanded once per staged member). Override it on the item in the editor and the bridge emits your override instead.

What you'd wire it into

Mostly prompt assembly: feed reference_prompt into the text side of your conditioning, or use the per-member p01… fragments where a model expects individual named references - the sort of model that wants <Subject {n}> is {prompt}, from <Picture {n}> style phrasing without you numbering by hand. And since it's text, it's the cheapest way to verify your reference setup is actually resolving: if reference_names comes back empty, no reference is in window and no amount of model-side fiddling will change that.

Install and gotchas

It's part of the Sonder Editor pack, so install once and the Selector plus all three bridges come along:

cd ComfyUI/custom_nodes
git clone https://github.com/SonderSaid/ComfyUI-Sonder-Editor.git
cd ComfyUI-Sonder-Editor
pip install -r requirements.txt

Then restart ComfyUI. Manager search for Sonder Editor will work once the pack is on the Registry - the README flags that first publish as still pending, so the clone above is the sure route today. The pack-wide notes apply here too:

  • Needs a current ComfyUI - these Reference nodes use the newer V3 node API and don't register on older builds.
  • No model files, no torch install - nothing heavyweight; the pack's requirements are numpy, Pillow, OpenCV-headless, imageio and scipy. ffmpeg on your PATH is recommended for media features elsewhere in the editor.
  • GPLv3 if you plan to redistribute modified copies.

A few text-specific habits will save you confusion. Empty strings on reference_prompt mean no effective reference - check the lane verdicts (superseded, below threshold, outside window) rather than the node. And remember the aggregate is derived text: edit the item's override in the editor if you want bespoke wording, because the bridge faithfully reports whatever the timeline says.

CategorySonder

Inputs (1)

NameTypeDefaultDescription
reference_setSONDER_REFERENCE_SETWire from Sonder Reference Selector.

Outputs (18)

NameTypeDescription
reference_promptSTRINGPrompt derived from the staged members, or the item's override.
reference_namesSTRINGComma-separated Library names in staged order.
p01STRINGPrompt Reference payload 1. Slot order follows staged member order.
p02STRINGPrompt Reference payload 2. Slot order follows staged member order.
p03STRINGPrompt Reference payload 3. Slot order follows staged member order.
p04STRINGPrompt Reference payload 4. Slot order follows staged member order.
p05STRINGPrompt Reference payload 5. Slot order follows staged member order.
p06STRINGPrompt Reference payload 6. Slot order follows staged member order.
p07STRINGPrompt Reference payload 7. Slot order follows staged member order.
p08STRINGPrompt Reference payload 8. Slot order follows staged member order.
p09STRINGPrompt Reference payload 9. Slot order follows staged member order.
p10STRINGPrompt Reference payload 10. Slot order follows staged member order.
p11STRINGPrompt Reference payload 11. Slot order follows staged member order.
p12STRINGPrompt Reference payload 12. Slot order follows staged member order.
p13STRINGPrompt Reference payload 13. Slot order follows staged member order.
p14STRINGPrompt Reference payload 14. Slot order follows staged member order.
p15STRINGPrompt Reference payload 15. Slot order follows staged member order.
p16STRINGPrompt Reference payload 16. Slot order follows staged member order.