ComfyUI Node

Style Applier

Spray 'cinematic' onto any prompt — deterministic, offline, no LLM

By Limbicnation·Created 9 months ago·Updated 2 months ago· 10
Style Applier
    • styled_prompt
    • style_keywords
    prompt
    stylecinematic
    positionsuffix
    emphasismedium
    include_technicaltrue

    Style Applier is the cheat code of this pack, in the good way: no LLM, no Ollama, no waiting, no randomness. You give it a prompt and a style, and it returns the prompt with a fixed set of style keywords bolted on - plus a second output with just those keywords. Same idea as the generator's presets, but done with pure string logic, so it's instant and fully reproducible.

    How it works

    The node keeps a keyword catalog per style (in style_presets.py): primary descriptors, lighting, composition, texture, and technical terms. For cinematic that's the dramatic-lighting/color-palette/atmosphere vocabulary; for photorealistic it's the DSLR/85mm/camera-language set; video_wan gets video-relevant framing. Depending on the emphasis level and the include_technical toggle, it assembles a keyword string, then places it relative to your prompt based on position:

    • suffix (default) - your prompt, <style keywords>
    • prefix - <style keywords>, your prompt
    • wrap - keywords on both sides

    That's it. No model inference, no interpretation. If your prompt is empty, it just returns the keywords themselves.

    Inputs and outputs

    • prompt (required) - your base prompt.
    • style - nine presets, the same list as the rest of the pack.
    • position - suffix / prefix / wrap.
    • emphasis - medium (default) / low / high. Note this is a keyword-detail level, not a numerical weight - don't expect it to scale emphasis the way a sampler weight would.
    • include_technical (default on) - whether to include the camera/lens specs.

    Two outputs:

    • styled_prompt (STRING) - the finished prompt, straight into your text encoder.
    • style_keywords (STRING) - just the keyword list, handy if you want to inspect it, save it, or wire it into another node without the full prompt.

    Install

    Same pack, same steps:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Limbicnation/ComfyUI-PromptGenerator.git
    cd ComfyUI-PromptGenerator
    pip install -r requirements.txt
    

    Under text/generationStyle Applier. Because it never calls Ollama, it works even if Ollama isn't installed at all - the one node in this pack you can add to a workflow without any LLM prerequisites.

    When to reach for it (and when not to)

    Reach for it when you want consistency - same style applied to a hundred prompts, identically, every run. The generator is a dice roll that occasionally gives you a beautiful surprise; Style Applier is a stamp. It's also the right tool when you already have a good prompt and just want the "cinematic" seasoning without a full re-roll.

    The caveat is the same one that runs through this whole pack's era gap: keyword-append lands cleanly on SDXL-lineage models that parse a tag list, and much more weakly on LLM-encoded models (Flux, Z-Image, Anima), where a paragraph is an instruction and "8k, masterpiece" style tags are largely inert filler. On those models, position matters more than the vocabulary - a suffix is fine, but a wrap that fences your actual instruction with style keywords is the least likely to hurt. If you're on an anime SDXL model, this node is near-perfect: the tags are exactly the dialect those models speak.

    Categorytext/generation

    Inputs (5)

    NameTypeDefaultDescription
    promptSTRING
    styleCOMBOcinematic9 options: cinematic, still_image, anime, photorealistic, fantasy, abstract, +3
    positionoptCOMBOsuffix3 options: suffix, prefix, wrap
    emphasisoptCOMBOmedium3 options: medium, low, high
    include_technicaloptBOOLEANtrue

    Outputs (2)

    NameTypeDescription
    styled_promptSTRING
    style_keywordsSTRING