๐ Custom Text Node
A text box with wires
- STRING
Let's be honest about the CustomTextNode up front: it is a text input with an output. You type text, you get the same text back. Its default value is "Hello, World!", which is the author telling you exactly what he thinks of it. This is the "hello world" of the pack - the node that exists so there's at least one trivially obvious example of how a custom node is written.
But here's the thing: in ComfyUI, a text box with wires is not nothing. The base UI's built-in text handling is a known pain point - stock ComfyUI historically had no first-class "just let me type a string and pass it along" node, which is why so many packs ship one. A lot of your time in ComfyUI is spent moving text around - prompts, filenames, API keys, conditioners - and a node that hands you a clean multiline STRING output to wire anywhere is a genuinely useful plumbing piece. It's not glamorous, but plumbing never is.
What it does
One input: text, a multiline STRING defaulting to "Hello, World!". One output: STRING, which is the input passed through untouched. The node's function is literally display_text returning (text,).
That's the entire contract. No transformation, no token counting, no concatenation, no default-filling tricks. What you type is what you get, character for character. In a graph that's sometimes exactly what you want - a stable text source you can wire into a prompt encoder, a text-concat chain, a filename template, or a node that expects a STRING you'd rather edit in a dedicated box than buried in a widget.
Why it exists and when to use it
ComfyUI is a dataflow graph, and the cleanest way to inject a constant into a dataflow is a constant node. CustomTextNode is that constant node for strings. Use it when you want a prompt or parameter you can see and edit at a glance, when you're building a prompt from parts (concat several of these together for the classic "subject + style + location" builder), or when some third-party node wants a STRING input and you'd rather not fight its built-in widget. It's also, quietly, the best starting point for learning how to write your own ComfyUI node - the source is about fifteen lines, and understanding it teaches you the INPUT_TYPES / RETURN_TYPES / FUNCTION skeleton that every custom node in existence follows.
Caveats are honest and few. It doesn't do anything you couldn't do with a carefully placed primitive or another pack's text node - ComfyUI ships equivalents these days, so this is redundancy, not necessity. And if you're looking for a smart text node (regex, templating, dynamic output), this is emphatically not it; the pack's Mega Prompt V3 is the clever sibling, this is the blank page. Use it for what it is: a clear, simple, always-available text source.
Install
Standard for the pack: ComfyUI Manager โ search "Isulion", or git clone https://github.com/Isulion/ComfyUI_Isulion into custom_nodes/, restart. It's bundled with the pack - no separate install, no dependencies.
Verdict: it's a toy that happens to be useful. Don't build a workflow around it, but if a STRING is in your way and you want a clean box to type into, it's there, and it works.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Hello, World! | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | โ |