PillarTextMultLine
Read long text on the canvas, not buried in a sidebar
- text
- unique_id
ComfyUI's built-in text preview is a one-line widget, and captions are not one line. The Pillar pack exists to caption images and translate the results - long, multi-sentence strings that the stock UI squishes into a tiny box you have to squint at. PillarTextMultLine is that pack's answer: a preview node that renders any string you feed it in a read-only, multi-line widget that auto-resizes to fit, right on the canvas.
That's the whole job, and it's worth having. If you're chaining PillarJoyCaption → Pillar_Translation → this node to build an img2img caption loop, this is the display end where you actually read what the model produced before you feed it back into a prompt. It's the node the pack's own example workflow ends on.
How it works
It's about as simple as a node gets: one text input, and a small JavaScript extension (ext_text_mult_line.js) that swaps the stock widget for a multiline, read-only preview and grows the node's height to fit the content whenever new text arrives. Nothing runs a model, nothing is downloaded, no VRAM touched.
Inputs and outputs
text(STRING, required) - the string to display.- Outputs:
text- the string passes straight through unchanged, so you can fork it off to a Save Text node or a prompt encoder after previewing it.unique_id- the node's internal ID, mainly bookkeeping for the UI; ignore it unless you're scripting.
So it doubles as a passthrough, not just a dead-end display - drop it in the middle of a text flow to inspect a caption without breaking the wiring.
Installing it
There's nothing separate to install - this ships in the same Pillar_For_ComfyUI pack. ComfyUI Manager, search the pack name, or:
cd ComfyUI/custom_nodes
git clone https://github.com/aicoder-max/Pillar_For_ComfyUI
cd Pillar_For_ComfyUI
pip install -r requirements.txt
Then restart ComfyUI. No model files, no extra dependencies beyond what the pack already pulls in.
Gotchas
Honestly, there are almost none - it's a display node. One thing to know: the input widget shows placeholder Chinese text (请输入文本...), and the pack is Chinese-authored, so don't read anything into that. The text input doesn't need to be typed in - you'll almost always wire it from another node's string output. And because it's an output node, it'll show up in the queue as a step that does nothing except render - that's expected.
If all you need is "show me this caption," it's the node to grab. It won't change your life, but it'll save you from another "why is my caption in one line" scroll-session.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| unique_id | STRING | — |