ComfyUI Node
Identity Forge
Randomize a detailed character description across many lockable fields with a constraint engine, producing natural-language prose and structured JSON.
Identity Forge
- prompt_text
- prompt_json
◄seed0►
◄genderAny►
◄wardrobeMatch gender►
◄hair_color_scopeNatural only►
◄accessory_densityBalanced►
◄location_settingAny indoor/outdoor►
◄set_all_fieldsOff►
◄ageRandom►
◄ethnicityRandom►
◄skin_toneRandom►
◄body_typeRandom►
◄heightRandom►
◄bustRandom►
◄waistRandom►
◄hipsRandom►
◄face_shapeRandom►
◄foreheadRandom►
◄cheekbonesRandom►
◄eyebrowsRandom►
◄eye_colorRandom►
◄eye_shapeRandom►
◄noseRandom►
◄lipsRandom►
◄smile_typeRandom►
◄jawlineRandom►
◄chinRandom►
◄complexionRandom►
◄skin_detailsRandom►
◄freckles_densityRandom►
◄hair_colorRandom►
◄hair_lengthRandom►
◄hair_textureRandom►
◄hair_styleRandom►
◄facial_hairRandom►
◄hair_accessoryRandom►
◄makeup_styleRandom►
◄eyebrow_makeupRandom►
◄eye_makeupRandom►
◄eyelinerRandom►
◄lashesRandom►
◄contourRandom►
◄highlightRandom►
◄blushRandom►
◄lips_makeupRandom►
◄skin_finishRandom►
◄earringsRandom►
◄necklaceRandom►
◄other_jewelryRandom►
◄piercingsRandom►
◄nailsRandom►
◄outfit_styleRandom►
◄bagRandom►
◄accessoriesRandom►
◄expressionRandom►
◄locationRandom►
◄lightingRandom►
◄shot_typeRandom►
◄shoulder_widthRandom►
◄neck_lengthRandom►
◄postureRandom►
◄fitness_levelRandom►
◄hair_partRandom►
◄hair_highlightsRandom►
◄ringsRandom►
◄braceletRandom►
◄watch_typeRandom►
◄footwearRandom►
◄clothing_colorRandom►
◄clothing_patternRandom►
◄seasonRandom►
◄moodRandom►
◄poseRandom►
◄archetype_json►
Categoryconditioning/character
Inputs (73)
| Name | Type | Default | Description |
|---|---|---|---|
| seed | INT | 00–18446744073709550000 | Seed for reproducible randomization. The control below defaults to 'randomize' so every run differs; set it to 'fixed' to reproduce a character. |
| gender | COMBO | Any | Steers gender-specific presentation and pronouns: 'Male' keeps the random fill masculine (no makeup, polish, feminine jewellery or hairstyles), 'Female' allows them. 'Any' rolls a coherent man OR woman each run (set wardrobe to 'Any' to instead unlock every mixed-gender combination). Locked / archetype / cosplayer values are always respected; 'Any' defers to a connected archetype's gender. |
| wardrobe | COMBO | Match gender | Which outfit wardrobe to draw from. 'Match gender' keeps outfits typical for the chosen gender; 'Feminine' / 'Masculine' force a wardrobe (e.g. a man in feminine outfits). 'Any' mixes outfits -- and, when gender is also 'Any', unlocks fully mixed-gender features too. |
| hair_color_scope | COMBO | Natural only | Defaults to realistic hair colours; choose 'Full spectrum' to allow fantasy shades (pink, blue, …). |
| accessory_density | COMBO | Balanced | How often random characters carry bags / jewellery / accessories. 'Balanced' keeps it tasteful, 'None' strips them, 'Maximal' decks everyone out. (Fields you lock are unaffected.) |
| location_setting | COMBO | Any indoor/outdoor | Restrict the random location. 'Any indoor/outdoor' (default) picks any real scene but never a studio. 'Studio / solid backdrop' forces a plain, easily-maskable background (grey, white, black, or chroma-key green screen) and a clean studio light. A locked location overrides this. |
| set_all_fields | COMBO | Off | Quick reset for the fields below. 'All to None' omits every field left on 'Random', so only the fields you lock to a specific value appear in the output. A wired costume and the character's signature look (hair, eyes, physique) are kept. Handy for tweaking a cosplay: blank the random-person noise, then enable just the fields you want. |
| age | COMBO | Random | Demographics · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| ethnicity | COMBO | Random | Demographics · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| skin_tone | COMBO | Random | Body · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| body_type | COMBO | Random | Body · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| height | COMBO | Random | Body · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| bust | COMBO | Random | Body · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| waist | COMBO | Random | Body · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| hips | COMBO | Random | Body · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| face_shape | COMBO | Random | Face · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| forehead | COMBO | Random | Face · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| cheekbones | COMBO | Random | Face · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| eyebrows | COMBO | Random | Face · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| eye_color | COMBO | Random | Face · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| eye_shape | COMBO | Random | Face · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| nose | COMBO | Random | Face · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| lips | COMBO | Random | Face · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| smile_type | COMBO | Random | Face · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| jawline | COMBO | Random | Face · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| chin | COMBO | Random | Face · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| complexion | COMBO | Random | Face · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| skin_details | COMBO | Random | Face · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| freckles_density | COMBO | Random | Face · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| hair_color | COMBO | Random | Hair · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| hair_length | COMBO | Random | Hair · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| hair_texture | COMBO | Random | Hair · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| hair_style | COMBO | Random | Hair · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| facial_hair | COMBO | Random | Hair · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| hair_accessory | COMBO | Random | Hair · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| makeup_style | COMBO | Random | Makeup · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| eyebrow_makeup | COMBO | Random | Makeup · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| eye_makeup | COMBO | Random | Makeup · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| eyeliner | COMBO | Random | Makeup · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| lashes | COMBO | Random | Makeup · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| contour | COMBO | Random | Makeup · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| highlight | COMBO | Random | Makeup · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| blush | COMBO | Random | Makeup · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| lips_makeup | COMBO | Random | Makeup · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| skin_finish | COMBO | Random | Makeup · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| earrings | COMBO | Random | Jewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| necklace | COMBO | Random | Jewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| other_jewelry | COMBO | Random | Jewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| piercings | COMBO | Random | Jewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| nails | COMBO | Random | Jewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| outfit_style | COMBO | Random | Clothing · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| bag | COMBO | Random | Clothing · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| accessories | COMBO | Random | Clothing · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| expression | COMBO | Random | Setting & Shot · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| location | COMBO | Random | Setting & Shot · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| lighting | COMBO | Random | Setting & Shot · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| shot_type | COMBO | Random | Setting & Shot · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| shoulder_width | COMBO | Random | Body · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| neck_length | COMBO | Random | Body · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| posture | COMBO | Random | Body · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| fitness_level | COMBO | Random | Body · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| hair_part | COMBO | Random | Hair · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| hair_highlights | COMBO | Random | Hair · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| rings | COMBO | Random | Jewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| bracelet | COMBO | Random | Jewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| watch_type | COMBO | Random | Jewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| footwear | COMBO | Random | Clothing · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| clothing_color | COMBO | Random | Clothing · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| clothing_pattern | COMBO | Random | Clothing · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| season | COMBO | Random | Setting & Shot · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| mood | COMBO | Random | Setting & Shot · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| pose | COMBO | Random | Setting & Shot · 'Random' = randomize, a value = lock, 'None' = omit from the output. |
| archetype_jsonopt | STRING | Connect an IdentityForgeArchetype, IdentityForgeCosplayer or IdentityForgeCreature here (chain several via their 'upstream' inputs). Its fields seed the character; explicit non-'Random' widgets still override it. Leave unconnected (or use 'None') for no override. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prompt_text | STRING | — |
| prompt_json | STRING | — |