Nodes/ComfyUI-RMAutomation/RM Styles Full (Display)
ComfyUI Node

RM Styles Full (Display)

The style shelf that shows its work before you hit generate

By Moser9815·Created 7 months ago·Updated 7 days ago· 0
RM Styles Full (Display)
    • Positive
    • Negative
    • Motion Prompt
    • Image Loras
    • Motion Loras High
    • Motion Loras Low
    • Prompt Number
    • Prompt Name
    mode
    previous_prompt1
    next_prompt1
    minimum1
    maximum100
    use_prefixfalse
    custom_json_path

    If you keep a library of prompts - character sheets, scene types, the ten variations of "this but moodier" - you've probably been copy-pasting from a text file or A1111's styles pane for years. This node is that library, but it lives inside your graph and can shuffle through entries for you. It's the "(Display)" flavor of the pack's RM Styles Full loader, meaning it does the same job as the plain version and then renders the selected prompt right on the node body, so you can see exactly what's about to run before you commit.

    It comes from ComfyUI-RMAutomation by Moser9815, a grab-bag of workflow-automation nodes. Like most of the pack, it's deceptively simple: one JSON file of styles, one node, zero Python dependencies. The whole pack installs in seconds and has no model downloads at all - no requirements.txt, nothing to compile.

    How it works

    Everything is driven by data/styles.json inside the pack (or a file you point at with custom_json_path). The format is a flat list of styles, each with a unique number plus name, positive, negative, an optional motion prompt for video, and LoRA lists. The node loads that file on the server side, keyed by number, and caches it by file mtime - so editing the JSON on disk gets picked up on the very next run with no restart. No server to run, no API key, nothing external. The name might sound like a service; it's just JSON.

    The four mode choices are the real feature, and they split between Python and the frontend:

    • Manual - uses next_prompt exactly as typed.
    • Random - Python picks, and it keeps an anti-repeat history so you don't draw the same style twice in the last 30 runs. That's a thoughtful touch for batch work.
    • Increment / Decrement - after each generation, the frontend JS bumps next_prompt by one, wrapping at your minimum/maximum bounds. Perfect for churning through a numbered set.

    If the number you ask for doesn't exist in the file, the node doesn't error - it snaps to the closest available number and tells you in the console. And if you manually edit next_prompt, the node quietly flips you back to Manual mode, which stops you from fighting the increment logic.

    The inputs that matter

    You mostly set three things: mode, the minimum/maximum range (it's both the Random pool and the wrap bounds for increment/decrement), and next_prompt for which style runs next. previous_prompt is updated for you after each run. custom_json_path is how you point at your own file instead of the bundled one.

    One honest gotcha: use_prefix exists on the input list, but in the shipped code the base node's quality-prefix strings are empty, so toggling it does nothing on this node today. Prefix handling actually lives on the sibling RMStylesPipeOut, where the Pony tag toggle really works.

    The outputs

    Eight outputs: Positive and Negative (plain strings - wire them into CLIP Text Encode), Motion Prompt for video backends like Wan or AnimateDiff, Image Loras, Motion Loras High and Motion Loras Low (already formatted as <lora:path:weight> strings for the pack's RM Power LoRA Loader / RM LoRA Apply chain), plus Prompt Number and Prompt Name so downstream nodes know which style fired.

    Installing

    Via ComfyUI Manager, search "RMAutomation" and install. Or the manual way:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Moser9815/ComfyUI-RMAutomation
    

    Then restart ComfyUI. There are no extra packages to install and no models to fetch.

    Where people get burned

    First: the bundled styles.json is the author's own personal library, and it is not work-safe. Replace it or set custom_json_path to your own file before you show anyone your screen. Second, styles are keyed by number, and entries with missing or zero numbers are silently skipped - keep your numbers unique and above zero. Third, a missing file doesn't crash; it just returns empty strings and logs [RMStylesFull] Styles file not found to the console, which is easy to miss when your output suddenly turns blank. And since this is an output node, the prompt display only populates after the first execution - don't expect the text on the node before you hit Queue.

    For batch work it's genuinely the node to reach for: define your styles once, set Increment, and let the graph grind through the shelf.

    CategoryRMAutomation/Styles

    Inputs (7)

    NameTypeDefaultDescription
    modeCOMBO4 options: Manual, Random, Increment, Decrement
    previous_promptINT11–9999
    next_promptINT11–9999
    minimumINT11–9999
    maximumINT1001–9999
    use_prefixBOOLEANfalse
    custom_json_pathSTRING

    Outputs (8)

    NameTypeDescription
    PositiveSTRING
    NegativeSTRING
    Motion PromptSTRING
    Image LorasSTRING
    Motion Loras HighSTRING
    Motion Loras LowSTRING
    Prompt NumberINT
    Prompt NameSTRING