Nodes/comfyui_character_selector/Character Selector (positive only)
ComfyUI Node

Character Selector (positive only)

Character × Action dropdowns that build your prompt for you

By 552023587·Created 8 months ago·Updated 8 months ago· 0
Character Selector (positive only)
    • positive
    characterAyanami Rei
    actiondefault

    This node is a glorified text replacer, and that's exactly what you want it for. Pick a character from one dropdown, pick an action from another, and out pops a ready-made positive prompt string you can drop straight into CLIPTextEncode. If you batch-generate the same character in half a dozen poses, it saves you the grunt work of typing the same tag block into every prompt. The official display name is "Character Selector (positive only)" - note the "positive only" - because there's no negative output, no CLIP handling, no API call. It takes two strings and glues them together.

    It comes from a tiny personal pack (552023587/comfyui_character_selector, README in Chinese) that's clearly built for anime SDXL workflows. The bundled characters and quality tags - masterpiece, best quality, ultra-detailed, danbooru-style hu tao (genshin impact) - are exactly the vocabulary that's still alive on Illustrious/Pony-style checkpoints. So treat it as an anime-tag automation tool, not a general-purpose prompt engine.

    How it works

    Under the hood it's almost nothing, which is a good thing for a node this boring. At load time it reads two JSON files sitting next to the code: characters.json (a list of name → positive-tag-string pairs) and actions.json (name → prompt template). When you hit Generate, it takes the chosen action's template and does a literal string replace of the {character} placeholder with the chosen character's tags. The result is your positive output.

    That mechanism explains the one surprising bit of behavior: the default action template is the only one that carries the quality boilerplate. Pick sitting and you get {character}, sitting on chair, crossed legs... - the masterpiece, best quality tags vanish because they're only in default. If you like the results you're getting on default, that drop is real. Worth knowing before you wonder why jumping looks flat.

    Inputs and output

    Just two inputs, both dropdowns populated at startup from those JSON files:

    • character - which character's tag block gets injected. Ships with Ayanami Rei and Hu Tao.
    • action - the pose/template. Ships with default, standing, sitting, running, jumping, holding plush.

    The single output is positive (STRING), which wires into the text input of CLIPTextEncode. Because there's no negative output, your negative encode is a separate CLIPTextEncode - leave its text empty or type it yourself.

    Installing

    Either route works, and there are no dependencies to sweat:

    cd ComfyUI/custom_nodes
    git clone https://github.com/552023587/comfyui_character_selector
    

    Restart ComfyUI (or hit Refresh in Manager). You can also search "comfyui_character_selector" in ComfyUI Manager. The pack ships no requirements.txt and downloads no models - it's pure Python stdlib, so it can't break your environment the way heavier node packs do.

    Troubleshooting

    The dropdowns are frozen at startup, and this is where people get bitten. Edit characters.json or actions.json to add your own character or pose, and the node won't see it until you fully restart ComfyUI - the maps are built when the module imports, not when the node runs. Also keep the structure valid: if you break the JSON, the node fails to load at all and vanishes from the menu until you fix the file.

    Two more quirks from reading the code. If an action template forgets the {character} placeholder, the character tags are silently dropped - no warning. And duplicate name keys in characters.json silently overwrite each other, last one wins. Neither is a trap you're likely to hit, but they're the kind of thing that makes you think you've lost your mind on a bad day.

    Honest verdict: this is a convenience node for a specific habit - spamming the same character across poses on an anime checkpoint. If that's you, it's a pleasant five-minute install. If you want actual identity consistency across generations, this won't give it to you; that's a LoRA job. It just saves you from retyping "blue hair, red eyes, plugsuit" sixteen times.

    Categoryconditioning

    Inputs (2)

    NameTypeDefaultDescription
    characterCOMBOAyanami Rei2 options: Ayanami Rei, Hu Tao
    actionCOMBOdefault6 options: default, standing, sitting, running, jumping, holding plush

    Outputs (1)

    NameTypeDescription
    positiveSTRING