Preview Any Bridge (Output) (Yogurt Nodes)
Preview Any Data as Text (While It Passes Through)
- data
- data
- text
Debugging ComfyUI workflows means staring at things that aren't images: dicts, lists, JSON payloads, whatever a node quietly produced. ComfyUI gives you almost no way to look at those. YogurtPreviewAnyBridgeOutput is the fix - it takes any data, shows you a text representation of it, and passes the original through unchanged.
datain - any type at all (*).dataout - the original value, untouched.textout - a string rendering of what you fed in.
It's the "print() for your graph" node. Feed it a dict from a JSON-parsing node and you'll finally see the keys and values. Feed it an LLM payload and you can check what's actually in there before it hits the next node. The original data keeps flowing, so you can drop this node into a pipeline without changing anything except your visibility.
Where it earns its keep
The text output is the interesting part. It's not just a debug window - that text is a real STRING you can wire onward. Pipe it into a save-text node to log what happened, or use it as input to a conditional that branches on a value you can actually read. Debugging and logging in one node.
It's also a genuinely cheap diagnostic habit: when a workflow misbehaves and you can't tell which node is lying, dropping these in at a few points and running once shows you exactly where the data stops being what you expected. It's the ComfyUI equivalent of print-debugging, and it beats guessing.
Install
Part of ComfyUI-YogurtNodes. ComfyUI Manager → search ComfyUI-YogurtNodes → install, or clone it:
cd ComfyUI/custom_nodes
git clone https://github.com/yogurt7771/ComfyUI-YogurtNodes.git
cd ComfyUI-YogurtNodes
pip install -r requirements.txt
Restart ComfyUI; it sits under "Yogurt Nodes" with the " (Yogurt Nodes)" suffix. No models, no keys.
Two small notes. First, "preview as text" means exactly that - for a giant dict or image tensor the text representation gets long, so expect noise for big payloads. Second, this is marked as an output node in the pack, which is why the "(Output)" suffix is baked into the name - treat it as the natural end of a debug branch, even though its data output keeps the line alive if you want it to.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| data | * | The data to be returned. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| data | * | — |
| text | STRING | — |