Nodes/Identity Forge/Identity Forge
ComfyUI Node

Identity Forge

Randomize a detailed character description across many lockable fields with a constraint engine, producing natural-language prose and structured JSON.

By EnragedAntelope·Created 2 months ago·Updated 26 days ago· 11
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)

    NameTypeDefaultDescription
    seedINT00–18446744073709550000Seed for reproducible randomization. The control below defaults to 'randomize' so every run differs; set it to 'fixed' to reproduce a character.
    genderCOMBOAnySteers 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.
    wardrobeCOMBOMatch genderWhich 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_scopeCOMBONatural onlyDefaults to realistic hair colours; choose 'Full spectrum' to allow fantasy shades (pink, blue, …).
    accessory_densityCOMBOBalancedHow often random characters carry bags / jewellery / accessories. 'Balanced' keeps it tasteful, 'None' strips them, 'Maximal' decks everyone out. (Fields you lock are unaffected.)
    location_settingCOMBOAny indoor/outdoorRestrict 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_fieldsCOMBOOffQuick 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.
    ageCOMBORandomDemographics · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    ethnicityCOMBORandomDemographics · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    skin_toneCOMBORandomBody · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    body_typeCOMBORandomBody · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    heightCOMBORandomBody · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    bustCOMBORandomBody · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    waistCOMBORandomBody · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    hipsCOMBORandomBody · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    face_shapeCOMBORandomFace · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    foreheadCOMBORandomFace · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    cheekbonesCOMBORandomFace · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    eyebrowsCOMBORandomFace · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    eye_colorCOMBORandomFace · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    eye_shapeCOMBORandomFace · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    noseCOMBORandomFace · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    lipsCOMBORandomFace · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    smile_typeCOMBORandomFace · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    jawlineCOMBORandomFace · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    chinCOMBORandomFace · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    complexionCOMBORandomFace · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    skin_detailsCOMBORandomFace · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    freckles_densityCOMBORandomFace · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    hair_colorCOMBORandomHair · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    hair_lengthCOMBORandomHair · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    hair_textureCOMBORandomHair · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    hair_styleCOMBORandomHair · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    facial_hairCOMBORandomHair · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    hair_accessoryCOMBORandomHair · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    makeup_styleCOMBORandomMakeup · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    eyebrow_makeupCOMBORandomMakeup · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    eye_makeupCOMBORandomMakeup · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    eyelinerCOMBORandomMakeup · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    lashesCOMBORandomMakeup · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    contourCOMBORandomMakeup · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    highlightCOMBORandomMakeup · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    blushCOMBORandomMakeup · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    lips_makeupCOMBORandomMakeup · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    skin_finishCOMBORandomMakeup · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    earringsCOMBORandomJewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    necklaceCOMBORandomJewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    other_jewelryCOMBORandomJewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    piercingsCOMBORandomJewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    nailsCOMBORandomJewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    outfit_styleCOMBORandomClothing · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    bagCOMBORandomClothing · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    accessoriesCOMBORandomClothing · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    expressionCOMBORandomSetting & Shot · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    locationCOMBORandomSetting & Shot · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    lightingCOMBORandomSetting & Shot · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    shot_typeCOMBORandomSetting & Shot · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    shoulder_widthCOMBORandomBody · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    neck_lengthCOMBORandomBody · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    postureCOMBORandomBody · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    fitness_levelCOMBORandomBody · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    hair_partCOMBORandomHair · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    hair_highlightsCOMBORandomHair · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    ringsCOMBORandomJewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    braceletCOMBORandomJewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    watch_typeCOMBORandomJewelry & Nails · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    footwearCOMBORandomClothing · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    clothing_colorCOMBORandomClothing · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    clothing_patternCOMBORandomClothing · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    seasonCOMBORandomSetting & Shot · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    moodCOMBORandomSetting & Shot · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    poseCOMBORandomSetting & Shot · 'Random' = randomize, a value = lock, 'None' = omit from the output.
    archetype_jsonoptSTRINGConnect 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)

    NameTypeDescription
    prompt_textSTRING
    prompt_jsonSTRING