Character Constructor
Turn ten dropdowns into a full character prompt
- prompt
- selected_values
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-separatedKey: valuesummary 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.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| gender | COMBO | 2 options: Male, Female | |
| fighting_style | COMBO | 10 options: Judo, Karate, Boxing, Kung Fu, Muay Thai, Capoeira, +4 | |
| nationality | COMBO | 10 options: Japanese, Brazilian, American, Chinese, Thai, Russian, +4 | |
| personality | COMBO | 8 options: Disciplined and Serious, Arrogant and Competitive, Playful and Easygoing, Mysterious and Reserved, Honorable and Traditional, Rebellious and Impulsive, +2 | |
| occupation | COMBO | 8 options: Martial Arts Student, Traditional Master, Street Fighter, Special Agent, Performance Artist, Mercenary, +2 | |
| special_power | COMBO | 8 options: Ki Energy, Elemental Manipulation, Superhuman Strength, Extraordinary Speed, Secret Ancestral Techniques, Beast Transformation, +2 | |
| weapon | COMBO | 8 options: None, Traditional Sword, Fighting Gauntlets, Energy-infused Staff, Chain Weapons, Combat Fans, +2 | |
| clothing | COMBO | 8 options: Traditional Martial Arts Gi, Modern Street Fashion, Cultural Traditional Attire, Military-inspired Outfit, Ceremonial Combat Robes, Urban Fighting Gear, +2 | |
| makeup | COMBO | 8 options: None, Traditional Face Paint, Ritual Markings, Modern Stylish, War Paint, Stage Performance, +2 | |
| accessories | COMBO | 8 options: Sacred Beads, Power-limiting Bracers, Family Heirloom, Tech Gadgets, Mystical Ornaments, Traditional Jewelry, +2 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| selected_values | STRING | — |