Nodes/ComfyUI-iTools/Prompt Styler πŸ–ŒοΈ
ComfyUI Node

Prompt Styler πŸ–ŒοΈ

YAML template packs for your prompt, no JSON required

By MohammadAboulElaΒ·Created 2 years agoΒ·Updated 7 days agoΒ· 236
Prompt Styler πŸ–ŒοΈ
    • positive_prompt
    • negative_prompt
    • used_template
    β—„text_positiveβ–Ί
    β—„text_negativeβ–Ί
    β—„style_filebasic.yamlβ–Ί
    β—„template_nameβ–Ύβ–Ί

    If you've used one of the old A1111-style "SDXL Prompt Styler" nodes - a dropdown that bolts a canned style onto your prompt - iTools Prompt Styler is the same idea, just backed by YAML instead of JSON. Pick a style file, pick a template inside it, type your subject, and the node splices your text into a pre-written template and hands back a finished prompt.

    The mechanism is straightforward once you see it: the pack ships a styles folder of .yaml files, and each one holds named templates that look roughly like {prompt}, cinematic lighting, 35mm film. You supply the {prompt} fragment, the node drops it into whichever template you picked, and out comes the full string. The author picked YAML over JSON specifically because it's easier to open in a text editor and extend - that's the whole point of this node existing rather than you just typing the style text yourself every time.

    The inputs and outputs that matter

    text_positive is your subject line - what you'd normally type straight into a CLIP Text Encode. text_negative lets you add your own negative text alongside whatever the chosen template contributes. style_file picks which of the six shipped YAML files to draw from (basic.yaml, camera.yaml, artist.yaml, nexus.yaml, mood.yaml, original.yaml), and template_name picks the specific template inside it - 68 across the set, from "3D Model" and "Anime" to entries buried in the mood and nexus files. Two values are worth knowing: none skips styling and passes your text straight through, and random rolls a different template every run - a genuinely useful way to browse a style file you haven't read yet.

    Outputs: positive_prompt and negative_prompt go straight to your two CLIP Text Encode nodes. used_template tells you which template actually fired, which matters mainly when you've left template_name on random and want to know afterward what you got - or if you're logging results with something like this pack's Add Text Overlay.

    Worth knowing before you lean on it: the shipped style files are built around tag-and-descriptor styling - camera makes, artist names, mood adjectives spliced onto your text. That's classic SDXL/CLIP-era prompting, and it works well on SDXL-lineage checkpoints - Illustrious, Pony, NoobAI, WAI. If you're on an LLM-encoded model like Z-Image or Anima, tag-stacking like this is a lot less reliable, because those models read your prompt as an instruction rather than a bag of tags. A template built for SDXL won't automatically transfer.

    Installing it

    Easiest path: open ComfyUI Manager, search "iTools" (or the full name, "ComfyUI-iTools"), install, restart. Manually, it's the standard drop-in:

    cd ComfyUI/custom_nodes
    git clone https://github.com/MohammadAboulEla/ComfyUI-iTools
    

    then restart ComfyUI. The README doesn't call out any unusual dependencies for this node - it's reading YAML off disk, nothing heavier - so a normal install gets you running.

    Troubleshooting

    The template list doesn't match a screenshot you're following. The node loads every .yaml file sitting in the pack's styles folder. If you or someone else on the machine has dropped in a custom file, your style_file dropdown will have more entries than the stock six, and template counts inside a file can shift too.

    Negative prompt comes back blank even though you expect one. Not every template defines a negative half - some style files are positive-only. That's the template, not a bug; type your own into text_negative if you need one regardless.

    You want your own styles. That's exactly why this is YAML instead of JSON. Open one of the shipped files as a reference for the structure, drop a new file into the same styles folder, and restart (or refresh via Manager) to pick it up - no code changes needed.

    Wondering why a style feels flat on a newer model. If you're on Z-Image, Anima, Flux 2, or anything else with an LLM text encoder, remember these templates were written for tag-based CLIP prompting. They'll still parse, but they won't carry the same weight they do on SDXL-lineage checkpoints.

    CategoryiTools

    Inputs (4)

    NameTypeDefaultDescription
    text_positiveSTRINGβ€”
    text_negativeSTRINGβ€”
    style_fileCOMBObasic.yaml6 options: camera.yaml, original.yaml, artist.yaml, nexus.yaml, mood.yaml, basic.yaml
    template_nameCOMBO68 options: none, random, 3D Model, Abstract, Analog, Anime, +62

    Outputs (3)

    NameTypeDescription
    positive_promptSTRINGβ€”
    negative_promptSTRINGβ€”
    used_templateSTRINGβ€”