Text
A text box on the canvas that behaves like a text box
- text
This one is the least exciting node in the pack and I use it constantly. Text (QG_TextEditOutput) is a multiline box on the canvas whose contents come out as a STRING. That's it. No model, no state, no cleverness.
Why it exists when CLIP Text Encode already has a prompt field: because you want a piece of text to live on its own and fan out. A character description that feeds three encoders and a filename. A negative prompt you reuse across two sampling stages. A block of instructions destined for an LLM node and also for a note card. Once the text has one source, editing it once edits everywhere - and that's the entire justification for value nodes existing.
How it works
Type in the box, get the text out. The whole thing is a five-row multiline input, no splitting, no trimming, no newline gymnastics: newlines stay newlines, and the entire block is one string element.
The output is declared as a one-element list, not a bare string. That's worth understanding rather than tripping over, because it's deliberate: list-typed outputs are what the batch-aware text nodes in this pack consume. Feed the output of Text into 批量文本替换's texts input, or into 文本按分隔符分割's external-list mode, and you get one item being processed - which is exactly what you want, and it means you can swap a single string for a real batch upstream without rewiring anything downstream.
The node is also flagged as an output node. There's nothing to save, so the practical consequence is that it always executes, and its value is always live in the queued prompt rather than being skipped by the cache.
Inputs and outputs
text(required, multiline STRING, default empty) - the text.- Output
text(STRING, declared as a list) - the whole thing, as one element.
Destinations that make sense: a converted prompt input on a CLIP Text Encode, an LLM node's instruction field, a SaveImage filename (prefix) input, 展示任意 if you just want to read it back, and anything else in this pack's text group.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/live1617/ComfyUI-QG-tools
Restart ComfyUI fully - the console should report [QG-tools] v0.9.2 加载完成 | 节点数 24, and a page refresh alone won't register a new backend node. Manager search for ComfyUI-QG-Tools where the registry entry is published. This node has zero dependencies: the pack's requirements file is comments-only on purpose, and nothing here even imports torch.
Ported from ComfyUI_Muye (MIT). It's registered as Text, searchable under text, note, prompt.
Where people get burned
Name collision. A node called Text in a search box that returns hundreds of text nodes is a needle - this is precisely why the pack registers English aliases and nudges matching nodes up to two places in the search results. Search QG alongside it, or find it under the QG-tools/文本 category instead of typing "text" and scrolling.
List-typed output into a single-value input. If a downstream node hasn't declared its input as list-aware, handing it a list is at best friction and at worst a type error you'll blame on the text. When in doubt, check what arrives with a preview node before rebuilding the graph around a guess.
Expecting it to be a note card. There's a separate Workflow Note node in this pack for documentation that nobody has to wire. This one is a data source. Use the note when you're writing about the workflow; use this when the words need to reach a model.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Manually entered text |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |