LayerUtility: Text Preseter
Text Preseter — save a title-and-content pair as a reusable preset
- text_preset
- text_preset
("Preseter" is the pack's own spelling, not a typo on our end - it shows up that way in the node's actual title.) This node bundles a title and a block of content into a single named unit - a text preset - instead of two loose strings floating around your graph. On its own it doesn't do much visually; its job is packaging text into a form other nodes in the pack can pick up, most likely the pack's Choice Text Preset node, which reads from a library of presets built this way.
How it works
You fill in title (a short label to identify the preset) and content (the actual multiline text), and the node outputs both bundled as one LS_TEXT_PRESET value. There's also an optional text_preset input of that same type - feed an existing preset in and this node can act as a link in a chain, taking a preset that already exists and handing out a new or modified one, rather than only ever building from scratch.
Think of it the way you'd think of naming and saving a text snippet: instead of five different String or TextJoin nodes scattered around holding pieces of prompt text with no label attached, Text Preseter gives each block a name and a defined shape, which matters once you're managing more than a couple of reusable captions or prompt fragments.
The inputs and outputs that matter
title- a short label identifying this preset.content- the actual text, multiline.text_preset(optional) - an existing preset you're chaining from, if you have one.
Output: text_preset, a LS_TEXT_PRESET value - a custom type specific to this pack, meant to be consumed by other LayerStyle nodes built to read it, not by a generic STRING input.
How to install it
Ships with LayerStyle. ComfyUI Manager: search ComfyUI Layer Style, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/chflame163/ComfyUI_LayerStyle
pip install -r ComfyUI_LayerStyle/requirements.txt
Restart, find it under 😺dzNodes → LayerUtility → Data. No model downloads for this one.
Common issues
Can't wire it into a plain text field. LS_TEXT_PRESET is a custom type - it won't connect to a node expecting a regular STRING input, by design. If you need the preset's text as a plain string somewhere, you need whatever node in the pack actually reads/resolves a preset back into text, not this node, which only builds them.
Not sure what's actually consuming the preset. This node has no visible effect by itself beyond bundling the values - check that something downstream (the Choice Text Preset node, most likely) is actually wired to its output; otherwise you've built a preset that's going nowhere.
Pack-wide caveat: if Text Preseter is missing from your node menu entirely, LayerStyle failed to import as a whole, not this node. That's almost always a transformers/tensorflow version conflict from another custom node pack, and it's especially common on installs from before the pack split into base LayerStyle and the heavier LayerStyle Advance repo. Reinstall clean or use Manager's "Try Fix" and read the actual traceback first.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| title | STRING | — | |
| content | STRING | — | |
| text_presetopt | LS_TEXT_PRESET | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text_preset | LS_TEXT_PRESET | — |