ComfyUI Node

Character Constructor

Turn ten dropdowns into a full character prompt

By marcoc2·Created 2 years ago·Updated 5 months ago· 1
Character Constructor
    • prompt
    • selected_values
    gender
    fighting_style
    nationality
    personality
    occupation
    special_power
    weapon
    clothing
    makeup
    accessories

    Character Constructor is the "authoring" half of a two-node fighting-game character pipeline in the AnotherUtils pack. It takes ten attribute dropdowns - gender, fighting style, nationality, personality, occupation, special power, weapon, clothing, makeup, accessories - and stitches them into one ready-to-paste English paragraph describing a fighter. You get a coherent prompt without ever writing a sentence. If that sounds like a toy, it sort of is, and that's fine: it's genuinely handy for generating character sheets, concept batches, or card-game style iterations where you want variety without retyping the boilerplate.

    The prompt it builds is structured and image-generation-friendly. The template reads roughly: A [nationality] [gender] who is a [occupation], practitioner of [fighting style], with a [personality] personality, possessing [special power], wielding [weapon], wearing [clothing], featuring [makeup], adorned with [accessories]. It's a complete, comma-free block that CLIP-style encoders handle fine. Wire it into a CLIP Text Encode and you're generating.

    How it works

    Mechanically it's trivial: every dropdown is populated from fixed lists baked into the pack (CharacterAttributes in character_generator.py), and the node joins the chosen values into a formatted string. The same lists power its sibling Character Randomizer, which is the intended partner - the randomizer picks the attributes, you eyeball them here, tweak what you don't like, and hit generate.

    The two outputs matter:

    • prompt - the assembled description, ready for a CLIP Text Encode.
    • selected_values - a newline-separated Key: value summary of everything chosen. Think of it as a spec sheet you can save, log, or feed to a debug/text display node. Useful when you're iterating and want to remember exactly which combo produced which result.

    There are no optional inputs and no model files involved. It's a string builder, full stop.

    Where it fits

    The full loop is: Character Randomizer (seeded) → Character Constructor (dropdowns) → CLIP Text Encode → sampler. Because the whole thing is deterministic once you fix the seed and the dropdowns, you can batch out a roster of fighters and keep every generation reproducible. If you're not into the fighting-game theme, the node is still a neat example of the pattern - enumerated attributes in, structured prompt out - and you can just treat its output as an input to any text-heavy workflow.

    Install

    Same as everything in this pack. ComfyUI Manager, search AnotherUtils, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/marcoc2/ComfyUI-AnotherUtils.git
    

    Restart ComfyUI and it shows up under prompt/generators. No dependencies, no weights, nothing to download.

    Common issues

    There's not much to break here. The most common stumble is expecting it to do image generation itself - it doesn't, it outputs a string. And if you feed the prompt output into a node that expects a different type, that's on you; prompt and selected_values are both STRING. Otherwise the only real "issue" is thematic: the vocabulary is fixed, so if you want a character outside this pack's ten-style canon, you'll be editing the result by hand anyway.

    Categoryprompt/generators

    Inputs (10)

    NameTypeDefaultDescription
    genderCOMBO2 options: Male, Female
    fighting_styleCOMBO10 options: Judo, Karate, Boxing, Kung Fu, Muay Thai, Capoeira, +4
    nationalityCOMBO10 options: Japanese, Brazilian, American, Chinese, Thai, Russian, +4
    personalityCOMBO8 options: Disciplined and Serious, Arrogant and Competitive, Playful and Easygoing, Mysterious and Reserved, Honorable and Traditional, Rebellious and Impulsive, +2
    occupationCOMBO8 options: Martial Arts Student, Traditional Master, Street Fighter, Special Agent, Performance Artist, Mercenary, +2
    special_powerCOMBO8 options: Ki Energy, Elemental Manipulation, Superhuman Strength, Extraordinary Speed, Secret Ancestral Techniques, Beast Transformation, +2
    weaponCOMBO8 options: None, Traditional Sword, Fighting Gauntlets, Energy-infused Staff, Chain Weapons, Combat Fans, +2
    clothingCOMBO8 options: Traditional Martial Arts Gi, Modern Street Fashion, Cultural Traditional Attire, Military-inspired Outfit, Ceremonial Combat Robes, Urban Fighting Gear, +2
    makeupCOMBO8 options: None, Traditional Face Paint, Ritual Markings, Modern Stylish, War Paint, Stage Performance, +2
    accessoriesCOMBO8 options: Sacred Beads, Power-limiting Bracers, Family Heirloom, Tech Gadgets, Mystical Ornaments, Traditional Jewelry, +2

    Outputs (2)

    NameTypeDescription
    promptSTRING
    selected_valuesSTRING