Nodes/ComfyUI-Variationator/Smart Variation (NLP)
ComfyUI Node

Smart Variation (NLP)

'NLP' is doing heavy lifting in this name

By MushroomFleet·Created 9 months ago·Updated 5 months ago· 3
Smart Variation (NLP)
    • smart_prompt
    textSubject description here
    intentmake it golden hour

    The name is a lie, and knowing that up front saves you an afternoon of disappointment: Smart Variation does not call any API, loads no LLM, and needs no key. It's a small lookup table of keyword mappings dressed up in NLP clothes. But once you accept that, it's actually a convenient little node - the right words trigger the right modifiers, and you never touch a modifier_id number again.

    Here's exactly what happens when you run it. The node takes your text and an intent string, lowercases the intent, and checks it against a hardcoded dictionary of time-of-day keywords: "morning" maps to modifiers 1–3, "golden hour" to 7, "sunset" to 8, "blue hour" to 10/17/18, "wet" to 17–20, and so on. First keyword that appears in your intent wins, and the corresponding lighting modifier gets applied. So "make it golden hour" becomes {your prompt}, golden hour, warm low-angle side-light, clear sky. If your intent mentions "style" or "aesthetic" and names one of the ten built-in styles, it runs a style transformation instead. And if nothing matches at all, the fallback is to treat your whole intent as a custom style description and append it.

    That's the whole "smart" part. It's pattern matching with a graceful fallback, not comprehension.

    Only two inputs, both strings: text (your base prompt) and intent (one line, e.g. "make it golden hour wet road cyberpunk style"). One output, smart_prompt, a plain STRING for any prompt input. Because the matching is literal, the README's own troubleshooting tip is the real rule of thumb: use the words that actually appear in modifier descriptions - golden hour, wet, night, blue hour - and don't get poetic. "make it moody at dusk" will miss every mapping and just get appended as a style phrase, which honestly still works okay on modern models.

    Install is identical to the rest of this pack: it's a zero-dependency pure-Python node. ComfyUI Manager → search "Variationator" → install → restart, or cd ComfyUI/custom_nodes && git clone https://github.com/MushroomFleet/ComfyUI-Variationator.git then restart. The repo has no requirements.txt despite an install-portable.bat referencing one - skip that. It shows up under Prompt Orchestration.

    Where it shines: quick one-off experimentation, especially on a phone or when you're mid-workflow and don't want to go hunting for modifier IDs. Where it'll annoy you: it's lighting- and style-centric. Say "make it a snowy mountain town" and it won't reach for the weather or location dimensions - it just doesn't know them. And the matching is order-dependent, so a badly phrased intent silently does the fallback thing instead of erroring. Both are worth knowing before you trust it with a full pipeline. For precise multi-dimension control, the single modifier nodes are the better tool; for "I want golden hour" in two seconds, this is fine.

    CategoryPrompt Orchestration

    Inputs (2)

    NameTypeDefaultDescription
    textSTRINGSubject description here
    intentSTRINGmake it golden hour

    Outputs (1)

    NameTypeDescription
    smart_promptSTRING