Nodes/OpalSky Nodes/PromptAssistantOpalSky
ComfyUI Node

PromptAssistantOpalSky

The honest story of PromptAssistantOpalSky

By OpalSky-AI·Created 2 years ago·Updated 2 years ago· 2
PromptAssistantOpalSky
    • styled_positive
    • styled_negative
    text_positive
    text_negative
    Lighting_and_Atmospherenone
    Artistic_Medium_and_Texturenone
    Cultural_and_Genre_Influencesnone
    Composition_and_Style_Structurenone
    Photography_and_Realismnone

    PromptAssistantOpalSky is the "pick a mood, get a styled prompt" half of OpalSky Nodes, a two-node pack that started as one person's first custom node project. You paste in your positive and negative prompts, choose one option from each of five dropdowns - lighting, art medium, genre, composition, photography - and it hands back two strings: your prompt with the chosen style phrases bolted on, plus a matching negative that pushes away from the things that style isn't.

    Small thing, but the wiring is exactly what you'd guess. The five categories map straight to the five inputs: Lighting_and_Atmosphere, Artistic_Medium_and_Texture, Cultural_and_Genre_Influences, Composition_and_Style_Structure, and Photography_and_Realism. Each defaults to "none", which just means skip that category. Pick "Natural Light: Golden Hour" and "DSLR: Landscape" and you get warm golden-hour phrasing appended to your prompt; leave everything at none and it's a pass-through. The two text boxes you actually type into are text_positive and text_negative, both multiline.

    The mechanism is a style bank, not a model. The pack ships a JSON file where every style entry has a prompt template and a negative_prompt. The templates contain a {prompt} placeholder, and the node substitutes your text_positive into it before joining everything with ", ". So styled_positive is your prompt plus the selected style phrases, styled_negative is your negative plus each chosen style's negative. Both come out as plain strings, ready to wire into a CLIPTextEncode node - positive to positive, negative to negative. That's the whole job.

    Installing is the easiest part of the affair. The pack has zero Python dependencies: no requirements.txt, no model downloads, nothing beyond the standard library. Either

    cd ComfyUI/custom_nodes
    git clone https://github.com/OpalSky-AI/OpalSky_Nodes
    

    and restart ComfyUI, or search for "OpalSky" in ComfyUI Manager and click install. There is no extra setup step after that.

    Where people get burned: the style bank may simply not load. The repo ships the file as Styles_OpalSky.json, but the code opens styles_OpalSky.json - capital S versus lowercase. On Windows or macOS that mismatch is invisible, because those filesystems are case-insensitive. On Linux, Python can't find the file, the load silently returns nothing, and every dropdown only ever shows "none". This node's schema on comfy.icu shows each dropdown with exactly one choice, "none" - that's the empty-bank state, photographed. If your dropdowns only offer "none" on a Linux box, rename the file to styles_OpalSky.json and reload.

    Two honest caveats before you build a workflow around it. First, the negatives it appends are per-style boilerplate - fine if you're running real CFG, but mostly wasted on a guidance-distilled checkpoint at CFG 1, where the negative prompt does nothing at all. Second, this is a late-2024 hobbyist pack with effectively one commit. It works as shipped, but don't expect updates. It's a thirty-second way to dress up a prompt, not a permanent part of the toolchain.

    Categorysd

    Inputs (7)

    NameTypeDefaultDescription
    text_positiveSTRING
    text_negativeSTRING
    Lighting_and_AtmosphereCOMBOnone1 options: none
    Artistic_Medium_and_TextureCOMBOnone1 options: none
    Cultural_and_Genre_InfluencesCOMBOnone1 options: none
    Composition_and_Style_StructureCOMBOnone1 options: none
    Photography_and_RealismCOMBOnone1 options: none

    Outputs (2)

    NameTypeDescription
    styled_positiveSTRING
    styled_negativeSTRING