Nodes/Factory Prompt Generator/Factory Prompts Generator (Positive)
ComfyUI Node

Factory Prompts Generator (Positive)

This is the main Factory Prompts node

By HWDigi·Created about a year ago·Updated about a year ago· 2
Factory Prompts Generator (Positive)
    • positive_prompt
    • selection_summary
    quality_levelhigh
    source_styleanime
    character_count1girl
    character_preferencesingle
    clothing_stylecasual
    location_typeindoor
    include_artisttrue
    seed0
    hair_colorrandom
    hair_lengthrandom
    hair_stylerandom
    eye_colorrandom
    skin_colorrandom
    expressionrandom
    body_typerandom
    chest_typerandom
    hip_typerandom
    leg_typerandom
    poserandom
    multi_char_positionrandom
    character_1_actionrandom
    character_2_actionrandom
    character_3_actionrandom
    camera_shotrandom
    indoor_locationrandom
    outdoor_locationrandom
    fantasy_locationrandom
    lightingrandom
    emotionrandom
    school_uniform_toprandom
    school_uniform_bottomrandom
    school_uniform_footwearrandom
    casual_toprandom
    casual_bottomrandom
    casual_dressrandom
    formal_toprandom
    formal_bottomrandom
    formal_dressrandom
    accessoriesrandom
    underwear_toprandom
    underwear_top_colorrandom
    underwear_bottomrandom
    underwear_bottom_colorrandom
    qualityrandom
    compositionrandom
    color_schemerandom
    time_periodrandom
    weatherrandom
    special_effectsrandom
    image_stylerandom
    character_emphasismedium
    pose_emphasismedium
    clothing_emphasismedium
    location_emphasismedium
    art_style_emphasismedium
    custom_elements

    This is the node the whole pack is named after. FactoryPromptsPositive is a tag accumulator: you pick a character count, a hair color, a pose, a location, and it assembles a comma-joined booru-style prompt for you. Think of it as a visual "prompt roulette" for anime SDXL - you build a scene by choosing from dropdowns instead of remembering what the hundredth Danbooru tag is called. On its own it won't fix your hands, but it's genuinely good at removing the friction of a blank prompt box when you're sketching ideas.

    How it works

    At load time the node reads a bundled factory_tags.json file and turns every list into a dropdown, each starting with random. When you run it, every dropdown you left on random is filled with a pick from its list - and the whole thing is seeded, so a non-zero seed reproduces the same prompt every time. That's the killer feature for variation: same node, different seeds, endless scene sketches.

    The required inputs are the skeleton of any prompt: quality_level (high/medium/varied), source_style (anime/cartoon/realistic/photorealistic/furry/mixed), character_count (1girl, 1boy, 2girls, and on up to crowd), clothing_style, location_type, include_artist, and seed. Then a wall of optional dropdowns: hair, eyes, skin, expression, body type, pose, locations, lighting, clothing categories, accessories, plus five *_emphasis controls (low/medium/high/very_high) that wrap their tags in (), ((())) style brackets, and a custom_elements multiline box for your own tags.

    It returns two STRINGs: positive_prompt (wire it into CLIPTextEncode) and selection_summary, a line-by-line log of everything it picked - a built-in "what did I just generate" answer.

    The quirks the README won't tell you

    This is where the pack gets honest, and it's worth knowing before you trust a dropdown. The emphasis system works (low (tag), medium plain, high ((tag)), very_high (((tag)))), and the core character tags work. But a real chunk of the panel is cosmetic in this build:

    • photorealistic source style maps to the tag source_pony - straight out of the code. If that surprises you, you're not alone; it's clearly a leftover from the Pony lineage this pack descended from.
    • include_artist defaults to on but there's no artist dropdown wired anywhere. Nothing to include, so it currently does nothing. The README advertises artist styles; the shipped node doesn't ship them.
    • The technical dropdowns (camera_shot, quality, color_scheme, time_period, weather, special_effects, image_style) and the underwear dropdowns only offer random, because the JSON keys they read don't exist in factory_tags.json. Left on random, they add nothing to your prompt.
    • The location dropdowns are populated from the JSON's environments section, but the random pick reads a locations section that doesn't exist - so indoor_location and outdoor_location on random also come up empty. Pick an explicit location if you want one.

    None of this crashes; it just silently contributes nothing. The reliable core is character features, poses, clothing, lighting, and emotion.

    Install

    Zero dependencies, no model downloads, no requirements.txt:

    cd ComfyUI/custom_nodes
    git clone https://github.com/HWDigi/Factory-Prompts_comfyui
    # restart ComfyUI
    

    Or via ComfyUI Manager, search "Factory Prompt Generator", nodes under "Prompt Factory".

    Who this is for

    Honestly? The tag vocabulary here is built for the anime SDXL world - Illustrious and NoobAI will read these tags like a native speaker, and the masterpiece, best_quality quality strings are exactly their convention. On Pony it's weaker (Pony wants score_x tags, which this node never emits), and on Flux the whole tag-bag paradigm mostly evaporates. If you generate a lot of anime characters and want a fast, seedable scene generator, this is a fun one. If you're on Flux or Pony, you'll be fighting it more than it helps - and you can find that out cheaply, since install takes thirty seconds.

    CategoryPrompt Factory

    Inputs (56)

    NameTypeDefaultDescription
    quality_levelCOMBOhigh3 options: high, medium, varied
    source_styleCOMBOanime6 options: anime, cartoon, realistic, photorealistic, furry, mixed
    character_countCOMBO1girl18 options: 1girl, 1boy, 2girls, 2boys, 1girl_1boy, 3girls, +12
    character_preferenceCOMBOsingle4 options: single, couple, group, crowd
    clothing_styleCOMBOcasual6 options: school, casual, formal, traditional, fantasy, mixed
    location_typeCOMBOindoor3 options: indoor, outdoor, mixed
    include_artistBOOLEANtrue
    seedINT00–18446744073709550000
    hair_coloroptCOMBOrandom42 options: random, blonde_hair, brown_hair, black_hair, white_hair, silver_hair, +36
    hair_lengthoptCOMBOrandom17 options: random, long_hair, short_hair, medium_hair, very_long_hair, shoulder_length_hair, +11
    hair_styleoptCOMBOrandom41 options: random, twintails, ponytail, side_ponytail, twin_braids, single_braid, +35
    eye_coloroptCOMBOrandom25 options: random, blue_eyes, brown_eyes, green_eyes, red_eyes, purple_eyes, +19
    skin_coloroptCOMBOrandom61 options: random, none, pale_skin, fair_skin, light_skin, medium_skin, +55
    expressionoptCOMBOrandom43 options: random, smile, grin, laugh, giggle, smirk, +37
    body_typeoptCOMBOrandom46 options: random, petite, slim, slender, thin, skinny, +40
    chest_typeoptCOMBOrandom17 options: random, small_chest, medium_chest, large_chest, flat_chest, modest_chest, +11
    hip_typeoptCOMBOrandom13 options: random, narrow_hips, wide_hips, curvy_hips, straight_hips, athletic_hips, +7
    leg_typeoptCOMBOrandom21 options: random, long_legs, short_legs, slender_legs, athletic_legs, toned_legs, +15
    poseoptCOMBOrandom63 options: random, standing, sitting, walking, running, jumping, +57
    multi_char_positionoptCOMBOrandom133 options: random, standing_together, sitting_together, walking_side_by_side, talking, chatting, +127
    character_1_actionoptCOMBOrandom52 options: random, leading, following, initiating, responding, dominant_pose, +46
    character_2_actionoptCOMBOrandom52 options: random, following, leading, responding, initiating, submissive_pose, +46
    character_3_actionoptCOMBOrandom31 options: random, watching, participating, waiting_turn, assisting, supporting, +25
    camera_shotoptCOMBOrandom1 options: random
    indoor_locationoptCOMBOrandom21 options: random, bedroom, living_room, kitchen, bathroom, office, +15
    outdoor_locationoptCOMBOrandom19 options: random, park, garden, beach, forest, mountain, +13
    fantasy_locationoptCOMBOrandom15 options: random, castle, dungeon, tower, throne_room, magical_forest, +9
    lightingoptCOMBOrandom24 options: random, natural_light, sunlight, moonlight, starlight, candlelight, +18
    emotionoptCOMBOrandom33 options: random, happy, sad, angry, surprised, disgusted, +27
    school_uniform_topoptCOMBOrandom17 options: random, school_uniform_top, sailor_uniform_top, blazer, cardigan, sweater_vest, +11
    school_uniform_bottomoptCOMBOrandom9 options: random, school_skirt, pleated_skirt, school_shorts, uniform_pants, dress_pants, +3
    school_uniform_footwearoptCOMBOrandom10 options: random, school_shoes, loafers, mary_janes, sneakers, dress_shoes, +4
    casual_topoptCOMBOrandom13 options: random, t_shirt, tank_top, blouse, sweater, hoodie, +7
    casual_bottomoptCOMBOrandom12 options: random, jeans, shorts, skirt, dress, pants, +6
    casual_dressoptCOMBOrandom10 options: random, sundress, maxi_dress, mini_dress, cocktail_dress, shift_dress, +4
    formal_topoptCOMBOrandom9 options: random, dress_shirt, blouse, blazer, suit_jacket, vest, +3
    formal_bottomoptCOMBOrandom5 options: random, dress_pants, pencil_skirt, a_line_skirt, formal_shorts
    formal_dressoptCOMBOrandom7 options: random, evening_gown, cocktail_dress, formal_dress, ball_gown, business_dress, +1
    accessoriesoptCOMBOrandom21 options: random, hat, cap, beanie, headband, hair_clip, +15
    underwear_topoptCOMBOrandom1 options: random
    underwear_top_coloroptCOMBOrandom1 options: random
    underwear_bottomoptCOMBOrandom1 options: random
    underwear_bottom_coloroptCOMBOrandom1 options: random
    qualityoptCOMBOrandom1 options: random
    compositionoptCOMBOrandom1 options: random
    color_schemeoptCOMBOrandom1 options: random
    time_periodoptCOMBOrandom1 options: random
    weatheroptCOMBOrandom1 options: random
    special_effectsoptCOMBOrandom1 options: random
    image_styleoptCOMBOrandom1 options: random
    character_emphasisoptCOMBOmedium4 options: low, medium, high, very_high
    pose_emphasisoptCOMBOmedium4 options: low, medium, high, very_high
    clothing_emphasisoptCOMBOmedium4 options: low, medium, high, very_high
    location_emphasisoptCOMBOmedium4 options: low, medium, high, very_high
    art_style_emphasisoptCOMBOmedium4 options: low, medium, high, very_high
    custom_elementsoptSTRING

    Outputs (2)

    NameTypeDescription
    positive_promptSTRING
    selection_summarySTRING