Placeholder (Texturaizer)
A scratchpad node that prints a message and otherwise does nothing
- output1
- output2
- output3
- output4
- output5
Some nodes are infrastructure. Placeholder (Texturaizer) is the pack's sticky note. It has one optional message input and five wildcard outputs that are always None. If you type something into message, it prints it to the ComfyUI console. That's the whole node - and if that sounds useless, you haven't spent an afternoon debugging a graph blind yet.
Context: Texturaizer is a paid Blender addon by Luke Kratsios (LatentSpaceDirective); these nodes are its free ComfyUI companion pack. Placeholder is a debugging/development utility, not part of the Blender data flow.
Inputs and outputs
message(STRING, optional, default empty) - whatever you type getsprint()ed to the console when the node executes. Leave it blank and nothing prints.output1throughoutput5(all*) - five wildcard outputs, every one returningNone.
What it's actually for
Two honest uses, both development-flavored.
As a "does this branch even run?" probe. ComfyUI's executor can be opaque about whether a node actually executed on a given pass. Drop a Placeholder with a message like "style branch reached" into a suspect branch; if the message appears in the console, the branch ran. That's a cheap, zero-setup tracer for the kind of "silent empty output" bugs this pack is prone to (empty strings when a directory isn't set, and so on).
As a scaffold. When you're laying out a graph before the real nodes exist, the five None outputs let you stub a connection and keep the wiring tidy until you're ready to drop in the real thing. It's the node you delete before you commit the workflow, not the one you ship.
Install
Pack-level, once:
cd ComfyUI/custom_nodes
git clone https://github.com/LatentSpaceDirective/ComfyUI-Texturaizer
or ComfyUI Manager → search "Texturaizer" → Install → restart. No extra dependencies, no models.
The honest take
This is a genuinely thin utility, so I'll keep the verdict short: it's fine for what it is, it's harmless, and the console-print trick is genuinely handy. But if you need real debugging, the ecosystem has better tools - the IS_CHANGED / data_hash outputs on every Get * Data node in this pack are a more reliable way to see why a graph re-ran, and a proper console or workflow-visualizer pack will tell you more than a print statement. Use Placeholder as the quick probe it is; don't build a workflow around it. And remember - it returns None from all five outputs, so if you wire one into something expecting a real value, you'll get a type error. That's a feature, honestly: it makes sure you can't accidentally ship the placeholder.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| messageopt | STRING | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| output1 | * | — |
| output2 | * | — |
| output3 | * | — |
| output4 | * | — |
| output5 | * | — |