Nodes/Bjornulf_custom_nodes/๐Ÿ‘พ๐Ÿ“ Text Generator (Character Creature)
ComfyUI Node

๐Ÿ‘พ๐Ÿ“ Text Generator (Character Creature)

Build a monster from parts, not adjectives

By justUmenยทCreated 2 years agoยทUpdated about a year agoยท 545
๐Ÿ‘พ๐Ÿ“ Text Generator (Character Creature)
  • add_GEN_CHARACTER
  • GEN_CHARACTER
โ—„enabledtrueโ–บ
โ—„number_of_creatures1โ–บ
โ—„seed0โ–บ
โ—„location_on_imageโ–พโ–บ
โ—„creature_typeโ–พโ–บ
โ—„show_creature_descriptionfalseโ–บ
โ—„land_animalโ–พโ–บ
โ—„water_animalโ–พโ–บ
โ—„sizeโ–พโ–บ
โ—„temperamentโ–พโ–บ
โ—„special_abilityโ–พโ–บ
โ—„featuresโ–พโ–บ
โ—„magical_propertiesโ–พโ–บ
โ—„CUSTOM_PROMPTโ–บ

Writing a good monster description by hand takes a while - you're juggling body type, temperament, special ability, and whether it should look more like a dragon or a hybrid of a jellyfish and a scorpion. This node turns that into a set of dropdowns: pick a base creature type (135 options, from Dragon and Phoenix down through Werewolf and Vampire), or skip the preset entirely and build a hybrid from a land animal and a water animal instead, then layer on size, temperament, special ability, and physical features.

It's one of three character generators in the pack (alongside Female and Male), and it plugs into the same place they do - the main Image Text Generator's GEN_CHARACTER input is where any of this actually becomes part of your prompt.

How it works

creature_type gives you a straight preset - set it and you're describing a specific named creature. Leave it NONE and use land_animal / water_animal instead, and you're building something more original by combining animal traits (each list runs to about 70 entries). Layer size, temperament, special_ability, features, and magical_properties on top of either approach - these apply regardless of whether you picked a preset creature type or built a hybrid from animal parts.

number_of_creatures lets you describe more than one at once (up to 10), and they'll share the same characteristics rather than getting independently randomized details - useful for "a pack of three" rather than three distinct individuals. location_on_image places the creature spatially (left, right, top-left, and so on) - the same spatial-placement feature the author notes works reliably on Flux and less reliably on other checkpoints.

Like the other Character nodes in the pack, this one is chainable: add_GEN_CHARACTER lets you connect another Character node in, so you can describe a dragon and a separate humanoid character in the same scene by linking them together rather than trying to cram both into one node.

The inputs and outputs that matter

  • creature_type - a direct preset, or NONE to build from animal parts instead.
  • land_animal / water_animal - the hybrid-building path, each with roughly 70 options.
  • size, temperament, special_ability, features, magical_properties - the layered modifiers that turn a base creature into something specific.
  • number_of_creatures (1โ€“10) and enabled (a toggle to disable the node without unplugging it) - quick on/off and quantity controls.
  • CUSTOM_PROMPT - freeform text for anything the menus don't cover.
  • Output GEN_CHARACTER - connect it to the main Text Generator's GEN_CHARACTER input, or to another Character node's add_GEN_CHARACTER to keep chaining.

How to install it

ComfyUI Manager โ†’ search Bjornulf_custom_nodes โ†’ install โ†’ restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/justUmen/Bjornulf_custom_nodes
pip install -r Bjornulf_custom_nodes/requirements.txt

Pure text assembly, no special dependency - it's the shared pack's requirements.txt you're installing, not anything specific to this node.

Common issues & troubleshooting

Nothing shows up in the final image. This node only writes a GEN_CHARACTER string; it doesn't render anything on its own. Confirm it's actually wired into the main Image Text Generator node, and that node's output is going into your CLIP Text Encode.

The creature comes out generic despite a specific special_ability or magical_properties pick. This is a checkpoint-comprehension issue shared by the whole Text Generator subsystem - it's built with Flux in mind, and older or smaller checkpoints tend to drop the less common descriptive terms in favor of something generic.

Multiple creatures all look identical when I wanted variety. That's expected with number_of_creatures above 1 - they share one set of characteristics rather than rolling independently. If you want visually distinct creatures, use separate Character Creature nodes chained via add_GEN_CHARACTER instead of bumping the count on one.

I set land_animal and water_animal but also picked a creature_type - which wins? Don't set both at once; they're two different ways to define the base creature, and combining them just muddies the prompt with contradictory descriptions. Pick one path and leave the other on NONE.

CategoryBjornulf

Inputs (15)

NameTypeDefaultDescription
enabledBOOLEANtrueโ€”
number_of_creaturesINT11โ€“10โ€”
seedINT00โ€“18446744073709550000โ€”
location_on_imageCOMBO11 options: NONE, RANDOM, on the left, in the center, on the right, at the top, +5
creature_typeCOMBO135 options: RANDOM, NONE, Dragon, Phoenix, Unicorn, Griffin, +129
show_creature_descriptionBOOLEANfalseโ€”
land_animalCOMBO72 options: NONE, RANDOM, Mouse, Hamster, Ant, Gecko, +66
water_animalCOMBO72 options: NONE, RANDOM, Guppy, Seahorse, Clownfish, Shrimp, +66
sizeCOMBO9 options: NONE, RANDOM, Tiny, Small, Medium, Large, +3
temperamentCOMBO13 options: NONE, RANDOM, Aggressive, Peaceful, Territorial, Friendly, +7
special_abilityCOMBO15 options: NONE, RANDOM, Fire-breathing, Ice-spawning, Lightning-wielding, Poison-secreting, +9
featuresCOMBO15 options: NONE, RANDOM, Scales, Fur, Feathers, Chitin, +9
magical_propertiesCOMBO11 options: NONE, RANDOM, Elemental power, Ancient magic, Cursed, Blessed, +5
CUSTOM_PROMPTSTRINGโ€”
add_GEN_CHARACTERoptGEN_CHARACTER,STRINGโ€”

Outputs (1)

NameTypeDescription
GEN_CHARACTERGEN_CHARACTER,STRINGโ€”