ProtoTeller Card Reading
The reveal node
- image
The pay-off node
PreviewTextImage is where a reading stops being data and becomes a deliverable. It's the pack's output node - the one that turns a finished card image plus its reading text into something you can actually show someone. The class name says "PreviewTextImage"; the menu label says "ProtoTeller Card Reading," and the label tells you everything about its role. This is the reveal.
What it does
It's an OUTPUT_NODE - a terminal in the graph. Nothing comes out of it, and it should be the last stop for a card. It takes the card IMAGE and the reading STRING, and on execution:
- Saves the image to
ComfyUI/output/ProtoTeller/cardreading_<timestamp>.png - Writes the reading beside it as
cardreading_<timestamp>.txt - Returns a UI payload that the pack's bundled web extension (
web/prototeller.js) turns into a custom in-node panel: the card image on top, the reading in a scrollable monospace box below.
That extension also hides the native text widget and replaces ComfyUI's default image renderer for this node, so it sits in your graph looking like a clean "card + reading" card rather than a plain preview.
Inputs
- image - the finished card.
- text - the reading, STRING, multiline.
No outputs. That's deliberate - it's a sink.
Why it matters
The .png + .txt pair is the point. Every execution gets a fresh timestamp, so you walk away with a browsable session folder: drawn cards, meanings, and the LLM's reading all matched by filename. If you're not running the full ProtoTeller generation workflow, this is still the pack's nicest way to see "what did we draw and what does it say" side by side without bolting on a separate text display node.
Gotchas
- Outputs accumulate forever in
output/ProtoTeller/- one timestamped pair per run, and there's no cleanup logic. Prune it when it gets noisy. - The custom panel only fills after the node has executed once. Before the first run it's an empty box; that's not a bug.
- If you loaded the bundled workflow and no card shows up at all, that's almost always upstream: the author's own troubleshooting is to check the subgraph isn't flagged red (re-select the model, VAE, text encoders and LoRAs) and make sure the primitive number nodes are set to "random" rather than "fixed" - the saved workflow has a habit of pinning them to fixed.
- It's pure UI plus file I/O: no model, no dependencies, and it works with any image and text you feed it regardless of which model drew the art.
Install
Same as the rest of the pack: ComfyUI Manager → search "ProtoTeller", or
cd ComfyUI/custom_nodes
git clone https://github.com/DoctorDiffusion/ComfyUI-ProtoTeller
then restart. The web extension loads automatically from the pack's web/ directory; nothing extra to configure.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| text | STRING | — |
Outputs (0)
No outputs