Materials Styler (Advanced)
Give a subject a surface, from 1,200+ materials
- text_positive_g
- text_positive_l
- text_positive
- text_negative_g
- text_negative_l
- text_negative
MaterialsStyler (Advanced) answers the question "what is this thing made of?" Its dropdown is a big material catalog - 1,237 entries - and if you scroll the top of it you'll notice it leans hard into wood species (Abachi, Acacia, African blackwood, African mahogany, and on and on). Pick a material and it folds that surface into your prompt. It's the node you reach for on object and product renders, sculptures, furniture, "a dragon carved from ebony" type prompts - anywhere the substance of the subject is the point.
It's Advanced-only in this set, so it's built for SDXL's dual encoders from the jump. SDXL encodes through OpenCLIP-ViT/bigG and CLIP-ViT/L together, and the second encoder helps carry material and texture detail, which makes a materials styler a sensible fit for the dual-encode path.
How it works
Same substitution engine as every MileHighStyler node: the chosen material goes into a template with a {prompt} placeholder, your text drops in, and the material language gets automatically weighted up (around 2.0) so the surface reads strongly while your subject stays at normal strength.
What you set
text_positive_g/text_positive_l- your prompt for the G and L encoders; usually the same text in both.text_negative- your negative prompt.materials- the 1,237-item dropdown.nonecontributes nothing.negative_prompt_to-Both,G only, orL only. DefaultBoth.log_prompt- prints the assembled prompt to the console.
Outputs: text_positive_g, text_positive_l, merged text_positive, and the three negatives (text_negative_g, text_negative_l, text_negative). Send _g and _l into CLIPTextEncodeSDXL; on a plain CLIP Text Encode, use the merged pair.
Installing it
ComfyUI Manager, search ComfyUI_MileHighStyler. If Manager doesn't list it (coverage is spotty on this pack), clone it:
cd ComfyUI/custom_nodes
git clone https://github.com/TripleHeadedMonkey/ComfyUI_MileHighStyler
Restart ComfyUI. No models, no dependencies - JSON templates, lightweight even with the long list.
Common snags
The dropdown skews so far toward wood that it's easy to assume that's all it has - dig past the A's and there's more, but if you want a metal or a stone specifically, type to filter rather than trusting the visible top of the list. And a material cue fights the subject if they disagree: asking for a "glass sculpture of a bear" made of Oak will give the model a contradiction to average out. Keep log_prompt on and make sure the material and the subject agree.
Pack-wide caveat: the two-encoder design is SDXL-only, so this node belongs on the SDXL lineage - Juggernaut, RealVis, Illustrious, Pony. On a 2026 LLM-encoded model (Flux 2, Z-Image, Anima) there's no G/L to split and the weighting is discarded, so "carved from weathered oak" written plainly will do the job better.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| text_positive_g | STRING | — | |
| text_positive_l | STRING | — | |
| text_negative | STRING | — | |
| materials | COMBO | 1237 options: none, , Abachi, Abaci, Acacia, African blackwood, +1231 | |
| negative_prompt_to | COMBO | Both | 3 options: Both, G only, L only |
| log_prompt | BOOLEAN | true | — |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| text_positive_g | STRING | — |
| text_positive_l | STRING | — |
| text_positive | STRING | — |
| text_negative_g | STRING | — |
| text_negative_l | STRING | — |
| text_negative | STRING | — |