Nodes/ComfyUI-CharacterArchitect/Character Architect
ComfyUI Node

Character Architect

Builds a structured character prompt with independent deterministic randomization, guided clothing families, and compatibility-aware layering. Hover individual controls for their hidden rules.

By InspectaGadget·Created 25 days ago·Updated 23 days ago· 0
Character Architect
    • Prompt
    • Face Prompt
    • Inspected Value
    media_typephotograph
    genderwoman
    content_ratingnormal
    portrait_styleNone
    settingNone
    lens_styleNone
    shot_compositionNone
    pose_moodNone
    poseNone
    camera_directionNone
    lighting_styleNone
    optical_effectNone
    origin_ageNone
    origin_ethnicityNone
    body_typeNone
    body_physiqueNone
    body_feminine_curvesNone
    body_hairNone
    skin_finishNone
    bustNone
    cleavage_depthNone
    cleavage_typeNone
    butt_shapeNone
    thigh_shapeNone
    expressionNone
    eye_expressionNone
    face_shapeNone
    jawlineNone
    chin_shapeNone
    eye_shapeNone
    eye_colorNone
    eyelashesNone
    eyebrowsNone
    nose_shapeNone
    lip_shapeNone
    facial_hairNone
    hair_colorNone
    hair_textureNone
    hair_styleNone
    hair_cutNone
    hair_lengthNone
    bangs_styleNone
    tattoo_styleNone
    makeup_eyeNone
    makeup_complexionNone
    makeup_lipsNone
    nail_styleNone
    clothing_archetypeNone
    outfit_styleNone
    top_typeNone
    top_colorNone
    bottom_typeNone
    bottom_lengthNone
    bottom_colorNone
    lingerie_typeNone
    lingerie_colorNone
    sleepwear_typeNone
    sleepwear_colorNone
    cosplay_typeNone
    cosplay_franchise_westernNone
    cosplay_franchise_asianNone
    cosplay_colorNone
    hosieryNone
    hosiery_colorNone
    dress_typeNone
    dress_colorNone
    outerwearNone
    outerwear_colorNone
    outerwear_wearing_styleNone
    beltNone
    belt_colorNone
    footwearNone
    footwear_colorNone
    head_accessoryNone
    accessories_scarfNone
    accessories_jewelryNone
    accessories_necklaceNone
    accessories_earringsNone
    accessories_braceletNone
    accessories_ringsNone
    accessories_glassesNone
    armwearNone
    accessories_bagNone
    lock_media_typetrue
    lock_gendertrue
    lock_content_ratingtrue
    ethnicity_guidancefalse
    enhance_realismfalse
    species_modeHuman
    seed0
    control_after_generaterandomize
    free_prompt
    free_prompt_positionAfter introduction
    override_fieldNone
    override_text
    inspect_propertyNone
    Categoryprompt

    Inputs (96)

    NameTypeDefaultDescription
    media_typeCOMBOphotographDefines the base medium at the very beginning of the prompt. Lock it to protect it from section and global randomization.
    genderCOMBOwomanDefines the subject wording. It never hides or forbids body, clothing, makeup, or facial-hair choices.
    content_ratingCOMBOnormalAdds a styling direction only; it does not hide categories or prohibit manual choices.
    portrait_styleCOMBONoneControls framing and portrait intent. Under ordinary Random, close-up and headshot receive one-third weight when body details call for visibility. Close-up, headshot, bust, and half-body framing suppress ordinary Random footwear; manual and Forced Random footwear remain free.
    settingCOMBONoneAdds a contextual environment. Ordinary Random is suppressed when a bicycle, horse, car, carousel, or skateboard pose already supplies its own scene context. Manual choices, Forced Random, and text override remain authoritative.
    lens_styleCOMBONoneAdds optical and depth-of-field characteristics after the scene description. Ordinary Random only softens a few known harsh lens/lighting collisions; 20% remain deliberately wild.
    shot_compositionCOMBONoneControls spatial framing and subject placement. Tight crop suppresses ordinary Random footwear to avoid detached shoes; manual and Forced Random footwear remain free.
    pose_moodCOMBONoneAdds the overall attitude of the pose without replacing the concrete body position.
    poseCOMBONoneDefines a concrete body action or position. Cycling, horse riding, driving, carousel riding, and skateboarding suppress an ordinary Random setting to prevent incompatible scenery; manual settings, Forced Random, and text override still apply. Dancing keeps its normal setting. Gaze wording is minimized to avoid contradicting Eye expression.
    camera_directionCOMBONoneControls the camera-facing angle. Complex back-facing directions live in Pose to reduce random contradictions.
    lighting_styleCOMBONoneDescribes the light independently from the setting. Ordinary Random softens a few known clashes with duotone, infrared, disposable, and cheap-digital treatments while preserving a 20% wild-card share.
    optical_effectCOMBONoneOpt-in photographic treatment placed before Media type for stronger adherence. Protected from global random buttons; manual Random yields no effect 70% of the time, while Forced Random always selects an effect.
    origin_ageCOMBONoneAdds an adult age range near the subject introduction.
    origin_ethnicityCOMBONoneWith Ethnicity guidance enabled, this supplies the phenotype anchor and weighted eye, hair, and skin pools. Manual and Forced Random choices remain free.
    body_typeCOMBONoneGeneral stature and frame. Combine it with Body physique for independent weight or muscularity, such as very petite + plump physique.
    body_physiqueCOMBONoneWeight, softness, fitness, or muscular development. It is independent from Body type and feminine curves.
    body_feminine_curvesCOMBONoneAdds a curve distribution independently from stature and physique. It is never restricted by gender.
    body_hairCOMBONoneProtected from one-click randomization because explicit presence or absence strongly changes the result. Manual Random and Forced Random remain available.
    skin_finishCOMBONoneProtected from one-click randomization. Ethnicity guidance may use a neutral compatible pool when this field is manually set to Random.
    bustCOMBONoneIndependent morphological descriptor; no gender or content-rating restriction is applied.
    cleavage_depthCOMBONoneWorks with Cleavage type and clothing. When either neckline field is on ordinary Random, compatible depth/type pairs are favored 90% of the time; manual and Forced Random choices stay free.
    cleavage_typeCOMBONoneNeckline shape combined with Neckline depth. Ordinary Random favors coherent pairs; halter and off-shoulder are also suppressed when a complete cosplay already specifies a structured jacket, coat, blazer, uniform, or robe. Manual and Forced Random remain free.
    butt_shapeCOMBONoneIndependent lower-body descriptor; combines with Body type, physique, curves, and thighs.
    thigh_shapeCOMBONoneIndependent thigh descriptor; combines with the other body controls.
    expressionCOMBONoneGeneral facial expression. Keep Eye expression separate when you want a specific gaze quality.
    eye_expressionCOMBONoneAdds only the gaze quality; pose descriptions avoid duplicating it wherever possible.
    face_shapeCOMBONoneWith Ethnicity guidance enabled, Random is drawn from the selected ethnicity's compatible pool.
    jawlineCOMBONoneWith Ethnicity guidance enabled, Random is drawn from a compatible pool. Manual values are never overridden.
    chin_shapeCOMBONoneWith Ethnicity guidance enabled, Random is drawn from a compatible pool. Manual values are never overridden.
    eye_shapeCOMBONoneMorphological eye shape. Ethnicity guidance can constrain Random; Eye expression remains independent.
    eye_colorCOMBONoneWith Ethnicity guidance active, None and Random use a weighted ethnicity-specific pool. Forced Random or a manual color deliberately overrides that pool.
    eyelashesCOMBONoneIndependent from eye shape, color, and makeup.
    eyebrowsCOMBONoneEthnicity guidance can constrain Random. Manual eyebrow choices remain untouched.
    nose_shapeCOMBONoneEthnicity guidance can constrain Random. Manual nose choices remain untouched.
    lip_shapeCOMBONoneEthnicity guidance can constrain Random. Manual lip choices remain untouched.
    facial_hairCOMBONoneProtected from one-click randomization because it strongly changes identity. Manual Random and Forced Random remain available.
    hair_colorCOMBONoneEthnicity guidance can constrain Random. Manual hair colors remain untouched.
    hair_textureCOMBONoneEthnicity guidance can constrain Random. Ordinary Random softly reduces only the strongest material clashes; 25% of unusual combinations remain untouched.
    hair_styleCOMBONoneCombined with texture, cut, length, and bangs. Length-dependent styles are softly guided, while experimental undercuts and mixed constructions remain possible.
    hair_cutCOMBONoneIndependent from length and styling. Ordinary Random favors workable geometry 75% of the time rather than forbidding unconventional cuts.
    hair_lengthCOMBONoneModifies cut and styling. Ordinary Random usually supplies enough length for buns, ponytails, braids, and locs, but keeps a deliberate wild-card share.
    bangs_styleCOMBONoneOptional fringe descriptor. Ordinary Random only reduces the clearest cropped-hair conflicts; manual and Forced Random choices are untouched.
    tattoo_styleCOMBONoneTattoo coverage and style; independent from clothing and content rating.
    makeup_eyeCOMBONoneEye makeup is independent from eye expression and eyelashes.
    makeup_complexionCOMBONoneProtected from one-click randomization to avoid forcing makeup onto every subject. Manual Random remains available.
    makeup_lipsCOMBONoneLip makeup is independent from lip shape.
    nail_styleCOMBONoneAutomatically suppressed when the resolved outfit contains full hand-covering gloves. Fingerless gloves and open handwear keep nail prompts.
    clothing_archetypeCOMBONoneGuides only fields left on Random and silently casts a compatible Outfit style. Manual choices are never overwritten; cosplay is not selected automatically by archetypes.
    outfit_styleCOMBONoneWhen Random under an archetype, it uses that archetype's style pool. A fixed manual value remains authoritative.
    top_typeCOMBONoneA concrete top activates the separates family and suppresses competing ordinary Random garment families. Forced Random bypasses that protection.
    top_colorCOMBONoneColors modify an active top; a color alone does not activate the separates family.
    bottom_typeCOMBONoneA concrete bottom activates the separates family. Ordinary Random softly favors a workable length for that garment while retaining 15% atypical combinations.
    bottom_lengthCOMBONoneControls leg coverage. Ordinary Random uses hidden type-compatible pools; manual and Forced Random lengths remain unrestricted. Long and mid-length bottoms partially conceal hosiery.
    bottom_colorCOMBONoneColors modify an active bottom; a color alone does not activate the separates family.
    lingerie_typeCOMBONoneCan be the main outfit or a rare underlayer. Ordinary/Casual/most archetype Random layering is 10%; Emo is 50%; Forced Random is always honored. Under cosplay, automatic layering is limited to Casual and Emo.
    lingerie_colorCOMBONoneColors the selected lingerie or swimwear. A color alone does not activate lingerie.
    sleepwear_typeCOMBONoneA complete main garment family. When selected, ordinary Random dress, separates, lingerie, and cosplay families are suppressed.
    sleepwear_colorCOMBONoneColors active sleepwear; a color alone does not activate it.
    cosplay_typeCOMBONoneComplete generic costume. Its source draw is weighted for fair per-costume probability. Ordinary Random hosiery, outfit styling, outerwear, belts, and footwear are suppressed; manual choices, Forced Random, and text override remain available.
    cosplay_franchise_westernCOMBONoneComplete Western franchise outfit. All cosplay sources share one family and are weighted for fair per-costume probability.
    cosplay_franchise_asianCOMBONoneComplete Asian franchise outfit. All cosplay sources share one family and are weighted for fair per-costume probability.
    cosplay_colorCOMBONoneApplies only to generic cosplay. Franchise costumes keep their authored colors unless you make an explicit manual color choice elsewhere.
    hosieryCOMBONoneLayers beneath bottoms when both are active. Ordinary Random is suppressed under cosplay; Forced Random bypasses this rule.
    hosiery_colorCOMBONoneColors active hosiery. Long and mid-length bottoms mark it as partly visible. Every cosplay suppresses ordinary Random hosiery and its color; manual and Forced Random remain valid.
    dress_typeCOMBONoneA concrete dress activates the dress family and suppresses competing ordinary Random main garments.
    dress_colorCOMBONoneColors an active dress; a color alone does not activate the dress family.
    outerwearCOMBONoneAn optional layer placed over the resolved main outfit. Ordinary Random is suppressed for every cosplay; manual, Forced Random, and override remain available.
    outerwear_colorCOMBONoneColors active outerwear. Every cosplay neutralizes ordinary Random outerwear and its color unless explicitly forced or selected.
    outerwear_wearing_styleCOMBONoneControls how active outerwear is worn. New nodes start on None; an active outerwear without a selected style is worn conventionally. Ordinary Random favors conventional wear, while Forced Random gives every supported position an equal chance.
    beltCOMBONoneAn optional accessory layer. Ordinary Random is suppressed for every cosplay; manual, Forced Random, and override remain available.
    belt_colorCOMBONoneColors an active belt. Every cosplay suppresses an ordinary Random belt and its color; manual and Forced Random choices remain valid.
    footwearCOMBONoneOptional footwear. Ordinary Random is suppressed for every cosplay and through three-quarter framing; it remains probabilistic in wider portraits. Manual, Forced Random, franchise-authored footwear, and text override remain valid.
    footwear_colorCOMBONoneColors active footwear. When probabilistic Random footwear is omitted, its Random color is removed atomically. Manual footwear/colors, Forced Random, and text override remain valid.
    head_accessoryCOMBONoneOptional hair/head item. Ordinary Random is suppressed when a complete cosplay already specifies headwear; manual and Forced Random can deliberately layer both. Loc cuffs remain possible everywhere and receive a gentle boost with dreadlocks and braids.
    accessories_scarfCOMBONoneProtected from one-click randomization. When deliberately left on ordinary Random, a scarf appears about 30% of the time; Forced Random always adds one.
    accessories_jewelryCOMBONoneGeneral jewelry styling; combines with the more specific necklace, earrings, bracelet, and rings fields.
    accessories_necklaceCOMBONoneSpecific necklace choice; can be combined deliberately with general jewelry styling.
    accessories_earringsCOMBONoneSpecific earrings choice; independent from other jewelry.
    accessories_braceletCOMBONoneSpecific wrist jewelry; full gloves may visually obscure it but do not silently remove a manual choice.
    accessories_ringsCOMBONoneSpecific hand jewelry; full gloves may visually obscure it but do not silently remove a manual choice.
    accessories_glassesCOMBONoneOrdinary Random produces no glasses 67% of the time and a concrete pair 33% of the time. Forced Random always selects concrete glasses.
    armwearCOMBONoneFull hand-covering gloves automatically suppress Random nail styling. Fingerless and transparent/open armwear do not.
    accessories_bagCOMBONoneOptional bag. Ordinary Random adds one about 40% of the time; archetypes guide its type. Forced Random and manual choices remain authoritative.
    lock_media_typeoptBOOLEANtrueProtects Media type from the global and section randomization buttons.
    lock_genderoptBOOLEANtrueProtects Gender from the global and section randomization buttons.
    lock_content_ratingoptBOOLEANtrueProtects Content rating from the global and section randomization buttons.
    ethnicity_guidanceoptBOOLEANfalseWhen activated, facial anatomy uses a strong anchor; Eye color on None or Random uses its weighted ethnicity pool. Forced Random and manual values deliberately override guidance.
    enhance_realismoptBOOLEANfalseAppends a realism suffix about plausible lighting, exposure, texture, composition, and natural photographic imperfections.
    species_modeoptCOMBOHumanAnthro Furry adds a furry subject prefix. It does not remove human-oriented clothing or morphology controls.
    seedoptINT00–18446744073709550000Every Random field has its own deterministic stream derived from this seed. Fixing one field no longer changes unrelated random fields.
    control_after_generateoptCOMBOrandomizeComfyUI seed behavior after each run. Use fixed to preserve all resolved Random choices while editing selected fields.
    free_promptoptSTRINGFree text inserted at the selected position without changing any structured category.
    free_prompt_positionoptCOMBOAfter introductionPlaces Free prompt after the introduction, after makeup, or at the very end.
    override_fieldoptCOMBONoneSelects the structured property replaced by Override text. A non-empty connected string has absolute priority over manual choices, Forced Random, guidance, archetypes, probabilities, and compatibility rules. Overriding a main garment type also clears competing main garment families so the text is guaranteed to appear.
    override_textoptSTRINGConnect one STRING here. When non-empty, it replaces the property selected by Override field exactly as written.
    inspect_propertyoptCOMBONoneSelects one resolved property to expose through Inspected Value for overlays, comparisons, and statistics. It reports the final value after every rule and override.

    Outputs (3)

    NameTypeDescription
    PromptSTRING
    Face PromptSTRING
    Inspected ValueSTRING