ComfyUI Node

Character

Your character sheets, as dropdown items

By itom0717·Created 6 months ago·Updated 6 months ago· 0
Character
    • text
    • id
    character
    character_custom

    This is the node that makes the whole Prompt String Selector pack make sense. If you draw (generate) the same few characters over and over - different poses, outfits, backgrounds - then a character description is the one block you absolutely don't want to retype. The Character selector stores each character as a text file and hands it to you from a dropdown, which is exactly how the pack's author intended it: the README's example layout is organized around keeping character blocks separate from everything else.

    The honest framing first: this is a prompt management tool, not a consistency tool. It won't stop a character's face drifting between generations - that's a LoRA or an edit-model job, and no text file fixes it. What it does well is make the prompt side of consistency reproducible: the same character block goes into every image, spelled identically every time, which removes one whole class of "why does she look different now" - because you stopped hand-editing the description.

    How it works

    The node reads ComfyUI/custom_nodes/ComfyUI-Prompt-String-Selector/data/character/. Each .txt file is one dropdown option. The pack ships with four sample characters, which is more than any other selector in the pack ships with:

    • 01_Character1.txt, 02_Character1_Chibi.txt
    • 03_Character2.txt, 04_Character2_Chibi.txt

    That chibi pattern is worth copying: two files per character, one normal and one chibi, because the leading number (id) is what lets you switch between variants programmatically. Feed the id output into a Prompt Switch node or an Aggregator later and the whole graph can swap character sheets on one integer.

    Inputs and outputs

    • character - dropdown of your character sheets.
    • character_custom - multiline override; pick custom_input to use this box's text instead (useful mid-workflow for a throwaway character). id is 0 then.

    Outputs: text (STRING, comma-terminated) and id (INT, the file's leading number). Wire text into your CLIP text encode or the pack's Aggregator; id into an ID Select / Prompt Switch if you're building the switchable variant.

    Install

    ComfyUI Manager → search "Prompt String Selector", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/itom0717/ComfyUI-Prompt-String-Selector.git
    

    Restart. No dependencies, no model downloads - pure Python standard library.

    Gotchas

    New files only show up in the dropdown after a restart. And keep your character files tight: the model reads a comma-separated tag block, so a wall of prose in Character1.txt will dilute rather than help on tag-based checkpoints. Write the sheet once, use the variants (id) to switch, and let the character's identity come from the LoRA, not from re-describing her face every run.

    CategoryPrompt String Selector

    Inputs (2)

    NameTypeDefaultDescription
    characterCOMBO5 options: 01_Character1, 02_Character1_Chibi, 03_Character2, 04_Character2_Chibi, custom_input
    character_customSTRING

    Outputs (2)

    NameTypeDescription
    textSTRING
    idINT