CRZ Label
A text label on the canvas so your dashboard actually makes sense
CRZ Label is the simplest node in the ComfyUI-CRZnodes pack, and possibly the most useful one once your dashboard actually exists. It's a piece of text sitting on the canvas. No inputs, no outputs, no computation - the source's own docstring says it plainly: "displays text only, no processing." You double-click it, type a heading, and suddenly your row of sliders and toggles has a title.
If that sounds too trivial to bother with, you haven't yet stared at a workflow with six anonymous CRZ nodes and tried to remember which toggle kills the upscaler. Dashboards are communication devices - they're how you hand a workflow to someone who isn't a node-nerd - and headings are what make them legible. This node is the glue.
How it works
The Python class is about ten lines: empty INPUT_TYPES, no return types, a label() function that returns nothing. Everything is the frontend - the node draws a small pill with your text, gives it a semi-transparent background so it reads as a title rather than a node, and offers no sockets at all (the JS literally empties this.inputs and this.outputs). Since it has no connections and no outputs, it never participates in execution; it's pure canvas furniture.
To set the text, double-click the label and type. It's persistent - it saves into the workflow like any other node property, so your headings survive reloads and file transfers.
What you configure
- Label text - set by double-clicking. There's no input field and no output; the text is the entire node.
That's the whole schema: no required or optional inputs, no outputs. The only "parameter" is the text itself.
Installing it
Standard pack install: ComfyUI Manager → search ComfyUI-CRZnodes → install → restart. No requirements, no models.
cd ComfyUI/custom_nodes
git clone https://github.com/CoreyCorza/ComfyUI-CRZnodes.git
Using it well
Labels earn their keep as section headers on a control panel: "Upscale", "Face Detail", "Batch Controls" above the relevant clusters. They also shine in shared workflows - when you drag a downloaded workflow around, the author's CRZ labels are often the only thing telling you what each control does. If you're sharing a workflow that uses the CRZ pack, dropping a few labels in is the difference between "nice nodes" and "I know exactly what to touch."
One tip: because labels have no sockets, you can place them anywhere without worrying about wires, and they won't clutter the connection graph. Group a cluster of controls under a label and it reads like a real UI instead of a node soup. That's the entire pitch, and it's a good one.
Anything to watch?
Not really - this is the least likely node in the pack to break, because there's nothing to break. The only behavior that can surprise anyone is that it deliberately has no outputs, so you can't wire a label to anything. That's not a bug; it's the design. If you wanted text you could feed into a prompt, that's the pack's CRZ String node - the label is strictly for looking at.
Inputs (0)
No inputs
Outputs (0)
No outputs