Nodes/ComfyUI-Texturaizer/Get Style Data (Texturaizer)
ComfyUI Node

Get Style Data (Texturaizer)

The style preset you saved in Blender, reloaded for every object

By LatentSpaceDirective·Created 2 years ago·Updated 8 months ago· 22
Get Style Data (Texturaizer)
  • data_optional
  • use_style
  • style
  • style_pos
  • style_neg
  • data_hash
directory_optional

If you've ever tried to keep a consistent look across a whole scene - same art style on every object, same mood in every pass - you know the pain of copy-pasting a style prompt into twenty nodes. Texturaizer's answer is to store the style once in Blender and have Get Style Data read it back out per object. It's the style half of the pack's prompt architecture: where Get Prompt Data gives you the object's own prompt, this node adds the shared style layer on top.

Texturaizer is the paid Blender addon by Luke Kratsios (LatentSpaceDirective); these nodes are the free open-source ComfyUI side that reads its exported JSON.

What comes out

Four outputs plus the usual hash:

  • use_style (BOOLEAN) - whether the scene has style enabled at all. This is your on/off switch; wire it through a switch node (or just ignore the style branch) when it's false.
  • style (STRING) - the style name/label you configured in Blender.
  • style_pos (STRING) - the positive style prompt to append to conditioning.
  • style_neg (STRING) - the corresponding negative, for clamping unwanted artifacts that come with the style.
  • data_hash (STRING) - change detection.

Mechanically it's the family pattern: read ai_data.json from directory_optional (or the Set Global Dir fallback), grab use_style, style, style_pos, style_neg from scene_info, hash them, and return. The IS_CHANGED hook re-runs the downstream graph when the hash moves, so editing the style in Blender and re-exporting propagates instantly.

How to use it

The obvious wiring: take style_pos and append it to your positive conditioning, style_neg to the negative. The typical Texturaizer graph uses an "apply conditioning" / combine step for this, and many users concatenate the style string onto the main prompt before encoding - either works.

The use_style flag is the part people sleep on. Rather than toggling nodes by hand, feed it into a switch (the pack ships Switch Any) so the style conditioning is applied when use_style is true and skipped when it's not. That's how the batch loop stays self-service: you enable style on some objects in Blender, not others, and the graph adapts per object without you touching anything.

Install

Same as the whole pack - there's no separate download:

cd ComfyUI/custom_nodes
git clone https://github.com/LatentSpaceDirective/ComfyUI-Texturaizer

or search "Texturaizer" in ComfyUI Manager and restart. Dependencies are already in ComfyUI (torch, numpy, scipy, Pillow, torchvision), and there are no model files to fetch - the style lives in the JSON, not in weights.

Where people get tripped up

Two things. First, style (the name) and style_pos (the actual prompt text) are different outputs - don't plug the name into a text encoder and wonder why nothing changes. Second, remember this node returns strings, not conditioning. It feeds text encoders or string-concatenation nodes; it doesn't apply anything itself. If you see empty strings, check that use_style is true in the scene and that you set the global directory - an unset directory silently yields blanks. If your "style" is really an image reference rather than text, that's what the pack's IP-Adapter data path is for (style-from-image via an IPAdapter), not this node.

CategoryTexturaizer

Inputs (2)

NameTypeDefaultDescription
directory_optionaloptSTRING
data_optionaloptDICTIONARY[object Object]

Outputs (5)

NameTypeDescription
use_styleBOOLEANTexturaizer JSON data.
styleSTRINGHash value for debugging purposes.
style_posSTRING
style_negSTRING
data_hashSTRING