ComfyUI Node

Character Preset

Your cast of characters, as dropdowns that output ready-made tag strings

By mudknight·Created 8 months ago·Updated 2 months ago· 1
Character Preset
    • positive
    • negative
    characternone
    use_default_outfittrue
    use_bottomtrue

    Reusing the same character across renders should be easy, but in practice it means copy-pasting the same 15 tags into every prompt and hoping you didn't fat-finger one. Character Preset is the pack's solution: define a character once in a config file, and this node hands it to you as a dropdown that outputs the positive and negative tag strings.

    Here's the shape of the idea: instead of re-typing 1girl, blonde hair, blue eyes, white shirt, red tie every time, you define that once in a characters.jsonc file. The node reads that file, populates its character dropdown with every entry, and when you pick one it returns the assembled positive and negative strings. It's a prompt-consistency node - the same category of tool as the character-LoRA ecosystem, but for plain tag strings rather than trained weights. Small characters, quick to edit, no training run needed.

    The inputs

    • character - dropdown of characters from the config, plus none (returns empty strings).
    • use_default_outfit - whether to include the character's top/bottom outfit tags. Turn it off and you get the character's identity tags without the outfit, so you can dress them differently without editing the file.
    • use_bottom - when the outfit is on, controls just the bottom piece (relevant for characters where the bottom half varies a lot).

    Outputs are positive and negative strings, which you can feed into any prompt or conditioning node - they're plain strings, so they work outside the full-pipe convention too.

    Editing the config

    The file lives at custom_nodes/comfyui-mudknight-utils/config/characters.jsonc and is created with defaults on first run. It's JSONC, so comments are allowed. Each entry looks like:

    {
      "my_character": {
        "character": "1girl, blonde hair, blue eyes",
        "top": "white shirt, red tie",
        "bottom": "black skirt",
        "neg": "some negative tag"
      }
    }
    

    The node watches the file's modification time and reloads it, so edits show up on the next run without restarting ComfyUI - the dropdown re-populates with your new characters. That's the whole workflow: edit JSON, hit run, pick the character.

    Installing it

    Part of mudknight-utils - ComfyUI Manager (search comfyui-mudknight-utils) or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/mudknight/comfyui-mudknight-utils
    

    No extra dependencies, no model files.

    Where people get burned

    Two gotchas. First, malformed JSONC - a missing comma or a stray comment will make the node fall back to an empty character list, so the dropdown just shows none. The pack does its best to tolerate comments, but valid JSON is still on you. Second, there's no per-character negative in the dropdown until you add one: entries without a neg field output an empty negative, which is fine for most anime models but means you're relying on your base negative. Keep the config in the pack's own folder - a common mistake is editing a copy elsewhere and wondering why nothing changes.

    Categorymudknight/presets

    Inputs (3)

    NameTypeDefaultDescription
    characterCOMBOnone3 options: none, anime, realistic
    use_default_outfitBOOLEANtrue
    use_bottomBOOLEANtrue

    Outputs (2)

    NameTypeDescription
    positiveSTRING
    negativeSTRING