19 Commits
Author SHA1 Message Date
mus-taches 4b7c68fef9 push: update workflows files 2025-12-18 01:25:14 +00:00
mus-taches 33653511e9 bump: v0.3.0 2025-12-17 23:49:48 +00:00
mus-taches 59a7a3c878 doc: detail breaking changes 2025-12-17 23:49:32 +00:00
mus-taches 08d3a9d6f3 Merge branch 'feat-improve-clothes' 2025-12-05 23:39:44 +00:00
mus-taches 9cfab48523 fix: typos and detailed for default config 2025-12-05 22:43:32 +00:00
mus-taches 76e0782ade fix: comma missing for jinx clothes 2025-11-26 02:31:06 +00:00
mus-taches 8c7126c22a fix: remove deprecated dpath package 2025-11-26 02:09:54 +00:00
--show-origin 9dae44569a minor changes in tag distribution and generation 2025-05-28 09:29:56 +02:00
--show-origin 6528e52b37 fix hide_input 2025-05-25 17:06:09 +02:00
--show-origin 1186b5a97d fix dress style to overwrite style 2025-05-25 13:57:49 +02:00
--show-origin 5f1d7b628c fixes inputs that didn't show 2025-05-25 13:55:56 +02:00
--show-origin 9c35fc88dd improve personas, add accessories 2025-05-25 13:23:45 +02:00
--show-origin 9a671b8634 add personas 2025-05-24 22:52:02 +02:00
--show-origin 2e60d72233 split clothes in different nodes 2025-05-24 18:48:17 +02:00
--show-origin 01ffe39508 tag process hotfixes 2025-05-24 18:48:05 +02:00
--show-origin 39bc22e213 fix: username in publish routine 2025-05-21 15:07:09 +02:00
--show-origin d172fdb606 improve giant male 2025-05-21 08:36:38 +02:00
--show-origin 5f8c7a1db3 improve sweat tags 2025-05-21 08:31:45 +02:00
--show-origin 230401c4cd improve disembodied 2025-05-21 08:31:35 +02:00
30 changed files with 30709 additions and 6419 deletions
+1 -1
View File
@@ -15,7 +15,7 @@ jobs:
publish-node:
name: Publish Custom Node to registry
runs-on: ubuntu-latest
if: ${{ github.repository_owner == 'taches-ai' }}
if: ${{ github.repository_owner == 'mus-taches' }}
steps:
- name: Check out code
uses: actions/checkout@v4
+1 -1
View File
@@ -1,5 +1,5 @@
>[!WARNING]
>Most of the nodes from v0.1.x are now deprecated. Please update your workflow with the new nodes from v0.2.x Check the [workflow.json](workflow.json) for an example of utilisation.
>`v0.3.x` use the new sub-graph system to simplify the workflow and avoid too much custom node dependencies. Old workflows are expected to break. Please, use the repo's [workflow.json](workflow.json) as a basis. Some features are not there anymore for now (e.g. CivitAI metadatas parser); they will be added over time.
# ComfyUI Scene Composer
+10 -2
View File
@@ -10,8 +10,16 @@
"tags": ["cum bubble", "cum string"]
},
"sweat": {
"number": [1, 3],
"tags": ["sweat", "sweating profusely", "wet"]
"number": [1, 4],
"tags": [
"sweat",
"very sweaty",
"sparkling sweat",
"sweating profusely",
"wet",
"hot",
"shiny skin"
]
},
"pussy_juice": {
"number": [1, 3],
@@ -36,7 +36,7 @@
"after": {
"number": 5,
"tags": {
"after_action": "after {penetration_type},",
"after_action": "after {penetration_type}, {pussy}",
"after_penis": "{penis},penis head,",
"after_penis_state": {
"number": [0, 2],
@@ -57,6 +57,11 @@
}
}
}
},
"breasts_out": {
"show": false,
"probability": 0.6,
"tags": "breasts out,{nipples}"
}
}
}
+1 -1
View File
@@ -7,7 +7,7 @@
"tags": {
"happy": {
"number": [1, 2],
"tags": ["happy", "smiling", "determined", "seductive smile"]
"tags": ["happy", "smiling", "determined", "seductive smile", ":3"]
},
"smirk": {
"number": [1, 4],
+30 -13
View File
@@ -1,16 +1,33 @@
{
"name": "👤 Character",
"output": {
"group_labels": true,
"tags": {
"generic": "{body},{hair},{eyes},{attitude}",
"princess_peach": "princess peach, {body}, blonde hair, blue eyes",
"princess_peach_char": {
"character": "princess peach, {body}, blonde hair, blue eyes",
"clothes": "pink dress, white gloves, crown"
}
},
"suffix": ",{attitude}"
"tags": {
"character_type": {
"group_labels": true,
"tags": {
"generic": "{body},{hair},{eyes}",
"2b": "2b, nier automata, small breasts, short hair, white hair, black hairband, black blindfold, mole under mouth",
"android_18": "android 18, small breasts, short hair, blonde hair, blue eyes, stud earrings",
"bowsette": "bowsette, large breast, blonde hair, ponytail, horns, blue eyes, crown, spiked choker, spiked bracelet, turtle shell, spiked tail, earrings",
"chel": "chel, el dorado, medium breasts, dark-skinned female, brown eyes, long hair, black hair, blunt bangs, blunt sidelocks, earrings, bracelet",
"chun-li": "chun-li, medium breasts, brown hair, double bun, brown eyes, spiked bracelets, earrings",
"hinata": "hinata hyuga, medium breasts, long hair, dark blue hair, white eyes, no pupils, headband around neck",
"jinx": "jinx, flat chest, blue hair, pink eyes, very long hair, twin braids, armwear, fingerless gloves, cloud tattoo, shoulder tattoo, choker",
"kim_possible": "kim possible, small breasts, ginger, long hair, green eyes",
"lara_croft": "lara croft, large breasts, long hair, brown hair, braided ponytail, parted bangs, brown eyes",
"princess_daisy": "princess daisy, medium breasts, brown hair, blue eyes, crown, flower earrings",
"princess_peach": "princess peach, medium breasts, blonde hair, blue eyes",
"princess_zelda": "princess zelda, medium breasts, blonde hair, long hair, blue eyes, pointy ears",
"raven": "raven, dc comics, pale skin, medium breasts, short hair, purple hair, purple eyes, forehead jewlery, red gem",
"sakura": "sakura haruno, medium breasts, pink hair, medium hair, green eyes, red headband",
"samus": "samus aran, medium breasts, long hair, blonde hair, ponytail, blue eyes",
"tsunade": "tsunade, large breasts, blonde hair, low ponytail, long hair, yellow eyes, forhead mark, purple mark",
"velma": "velma, large breasts, brown hair, short hair, freckles, glasses"
}
},
"costume": [
"official costume",
"{clothes}"
]
},
"custom_output": "{body},{hair},{eyes},{attitude}"
}
"output": "{character_type},{attitude},{costume}"
}
@@ -1,77 +0,0 @@
{
"name": "👕 Clothes",
"settings": {
"show_variables": true
},
"variables": {
"color_clothes_1": "{color}",
"color_clothes_2": "{color}",
"length_clothes": ["short", "medium", "long"],
"top_casual_clothes": [
"t-shirt",
"shirt",
"dress shirt",
"blouse",
"tank top",
"jacket",
"hoodie",
"sweater"
],
"bottom_casual_clothes": [
"jeans",
"shorts",
"{length_clothes} skirt",
"leggings"
],
"cleavage": {
"probability": 0.5,
"distribution": [0.5],
"tags": [
"cleavage",
"see-through cleavage",
"cleavage cutout",
"underboob",
"sideboob"
]
}
},
"tags": {
"type": {
"group_labels": true,
"tags": {
"casual": "{color_clothes_1} {top_casual_clothes}, {cleavage}, {color_clothes_2} {bottom_casual_clothes}",
"dress": {
"prefix": "{color_clothes_1} dress, {length_clothes} dress, {cleavage},",
"tags": [
"dress",
"sleeveless dress",
"off-shoulder dress",
"pleated dress"
]
},
"swimwear": {
"tags": ["bikini", "one-piece swimsuit"],
"suffix": ",{color_clothes_1} swimsuit"
},
"uniform": {
"tags": ["school", "police", "military", "gym"],
"suffix": " uniform, {color_clothes_1} uniform, {cleavage}"
},
"underwear": "{color_clothes_1} bra, {color_clothes_1} panties"
}
},
"headwear": {
"probability": 0.1,
"prefix": "{color_clothes_2} hat,",
"tags": [
"baseball cap",
"bucket hat",
"fedora",
"witch hat",
"beanie",
"cabbie cap",
"newsboy cap"
]
}
}
}
+27 -21
View File
@@ -1,39 +1,45 @@
{
"name": "👁️ Eyes",
"settings": {
"show_variables": true
},
"variables": {
"makeup-color": {
"hide": true,
"tags": ["black", "blue", "aqua", "red", "green", "purple"]
"makeup_type": ["eyeliner", "eyeshadow", "mascara"],
"makeup_color": ["{color}"],
"eyewear_color": {
"tags": ["{color}"],
"suffix": " eyewear"
},
"eyewear_shape": {
"probability": 0.1,
"tags": ["rectangular", "round"],
"suffix": " eyewear"
}
},
"tags": {
"eye_color": {
"tags": "{color}",
"tags": ["{color}"],
"suffix": " eyes"
},
"eyewear": {
"probability": 0.2,
"number": [1, 2],
"prefix": ", {color} eyewear, ",
"tags": {
"eyewear-style": {
"distribution": [0.8],
"tags": ["glasses", "sunglasses", "tinted glasses"]
},
"eyewear-shape": ["rectangular eyewear", "round eyewear"]
}
},
"makeup": {
"probability": 0.2,
"tags": { "makeup": "{makeup_color} {makeup_type}" }
},
"eyewear": {
"group_labels": true,
"probability": 0.2,
"distribution": [0.5, 0.3],
"tags": {
"eyeliner": "{makeup-color} eyeliner",
"eyeshadow": "{makeup-color} eyeshadow",
"mascara": "{makeup-color} mascara"
"regular": "glasses, {eyewear_color}, {eyewear_shape}",
"sunglasses": "sunglasses, {eyewear_color}, {eyewear_shape}",
"tinted_glasses": "glasses, tinted eyewear, {eyewear_color}, {eyewear_shape}",
"eyepatch": "eyepatch, {eyewear_color}",
"googles": ["googles on head", "googles around neck"]
}
},
"eye_effect": {
"probability": 0.05,
"tags": ["glowing eyes", "no pupils"]
"probability": 0.1,
"tags": { "eye_effect": ["glowing eyes", "no pupils", "sparkling eyes"] }
}
}
}
+19 -12
View File
@@ -1,25 +1,32 @@
{
"name": "🪮 Hair",
"tags": {
"hair-color": {
"tags": [
"blonde",
"ginger",
"{color}"
],
"settings": {
"show_variables": true
},
"variables": {
"hair_main_color": {
"output": true,
"tags": ["blonde", "ginger", "{color}"],
"suffix": " hair"
},
"multicolored": {
"hair_secondary_color": {
"tags": ["blonde", "ginger", "{color}"],
"suffix": " hair"
}
},
"tags": {
"hair_color": { "show": false, "tags": "{hair_main_color}" },
"multicolored_hair": {
"probability": 0.1,
"prefix": "{color} hair, multicolored hair,",
"tags": ["colored tips", "gradient hair"]
"prefix": "{hair_secondary_color} hair, multicolored hair,",
"tags": { "multicolored": ["colored tips", "gradient hair"] }
},
"hair-length": {
"hair_length": {
"distribution": [0.3, 0.3, 0.3, 0.1],
"tags": ["short", "medium", "long", "very long", "big"],
"suffix": " hair"
},
"hair-style": {
"hair_style": {
"probability": 0.4,
"tags": [
"afro",
@@ -1,40 +0,0 @@
{
"name": "👤 Persona",
"tags": {
"character": {
"probability": 0.05,
"tags": [
"2b, nier automata",
"android 18",
"bayonetta",
"bowsette",
"chel, el dorado",
"chun-li",
"daphne, scooby-doo",
"elsa, disney princess",
"harley quinn",
"hinata hyuga",
"ino yamanaka",
"jinx, league of legends",
"kim possible",
"lara croft",
"misty, pokemon",
"moana, vaiana",
"mulan, disney princess",
"pocahontas, disney princess",
"princess daisy",
"princess peach",
"princess zelda",
"rapunzel",
"raven, teen titans",
"sakura haruno",
"samus aran",
"starfire, teen titans",
"temari",
"tifa lockhart",
"tsunade",
"velma, scooby-doo"
]
}
}
}
@@ -0,0 +1,72 @@
{
"name": "🧢 Accessories",
"settings": {
"show_variables": true
},
"variables": {
"headwear_color": ["{color}"],
"hat": {
"group_labels": true,
"tags": {
"backwards cap": "baseball cap, backwards hat, {headwear_color}",
"bandana": "bandana, {headwear_color}",
"beanie": "beanie, {headwear_color}",
"bucket hat": "bucket hat, {headwear_color}",
"cap": "baseball cap, {headwear_color}",
"cowboy": "cowboy hat",
"diadem": {
"tags": ["diadem", "tiara"],
"suffix": ", {headwear_color}"
},
"fedora": "fedora, {headwear_color}",
"headphones (on)": "headphones, {headwear_color}",
"headphones (around neck)": "headphones around neck, {headwear_color}",
"newsboy": "newsboy cap, {headwear_color}",
"rice hat": "rice hat",
"straw hat": "straw hat"
}
},
"hairband": {
"group_labels": true,
"tags": {
"hairband": "{headwear_color} hairband",
"headband": "{headwear_color} headband",
"hair_bow": "hair bow, {headwear_color} bow",
"hair_ribbon": "hair ribbon, {headwear_color} ribbon",
"hair_stick": "hair stick",
"hairpin": ["hairpin", "hairclip"]
}
},
"earrings": [
"floating earring",
"hoop earring",
"stud earring",
"earpiercing"
],
"neckwear_color": ["{color}"],
"neckwear_type": {
"group_labels": true,
"tags": {
"choker": "{neckwear_color} choker",
"dog tags": "dog tags, {neckwear_color} neckwear",
"lace-trimmed": "lace-trimmed collar, {neckwear_color} neckwear",
"necklace (chain)": "chain necklace",
"necklace (tooth)": "tooth necklace",
"necklace": "necklace, {neckwear_color} neckwear",
"o-ring": "o-ring collar, {neckwear_color} neckwear",
"ribbon": "neck ribbon, {neckwear_color} ribbon",
"spiked": "spiked collar"
}
}
},
"tags": {
"headwear_type": {
"group_labels": true,
"probability": 0.2,
"tags": {
"hairband": "{hairband}",
"hat": "{headwear} headwear"
}
}
}
}
+62
View File
@@ -0,0 +1,62 @@
{
"name": "👕 Casual clothes",
"settings": {
"show_variables": true
},
"variables": {
"color_main": { "tags": ["{color}"] },
"color_secondary": { "tags": ["{color}"] },
"bottom_high": {
"probability": 0.5,
"tags": ["lowleg", "high-waist"]
},
"skirt_length": { "tags": ["microskirt", "short", "medium", "long"] },
"cleavage": {
"probability": 0.5,
"tags": { "cleavage": "cleavage" }
},
"no_bra": {
"probability": 0.2,
"number": [1, 2],
"tags": ["no bra", "covered nipples"]
}
},
"tags": {
"top": {
"prefix": "{color_main} ",
"tags": [
"shirt,{cleavage}",
"crew shirt",
"t-shirt",
"polo shirt",
"hawaiian shirt",
"oversized shirt",
"dress shirt,{cleavage}",
"blouse, {cleavage}",
"tank top, {cleavage}",
"tube top, {cleavage}",
"turtleneck",
"crop top, {cleavage}, ",
"hoodie",
"sweater"
],
"suffix": ",{no_bra}"
},
"bottom": {
"prefix": "{color_secondary} ",
"tags": [
"{bottom_high} pants",
"{bottom_high} shorts",
"jeans",
"{length_clothes} skirt",
"leggings",
"loincloth"
]
},
"vest": {
"probability": 0.1,
"prefix": "{color_secondary} ",
"tags": ["jacket", "suite jacket", "leather jacket", "blazer", "coat"]
}
}
}
+37
View File
@@ -0,0 +1,37 @@
{
"name": "👔 Clothes",
"settings": {
"show_variables": true
},
"variables": {
"clothes_type": {
"group_labels": true,
"tags": {
"casual": "{casual}",
"dress": "{dress}",
"swimsuit": "{swimsuit}",
"uniform": "{uniform}",
"underwear": "{underwear}"
}
},
"cleavage": {
"probability": 0.5,
"distribution": [0.5],
"tags": [
"cleavage",
"see-through cleavage",
"cleavage cutout",
"underboob",
"sideboob"
]
}
},
"output": {
"group_labels": true,
"distribution": [0.4, 0.6],
"tags": {
"generic": "{clothes_type}",
"persona": "official costume"
}
}
}
+45
View File
@@ -0,0 +1,45 @@
{
"name": "👗 Dress",
"tags": {
"dress_color": { "tags": ["{color}"], "suffix": " dress" },
"dress_length": ["microdress", "short dress", "medium dress", "long dress"],
"dress_style": [
"pleated dress",
"latex dress",
"lace-trimmed dress",
"layered dress",
"tight dress",
"taut dress",
"chinese dress"
],
"sleeves": {
"probability": 0.3,
"tags": ["sleeveless dress", "long sleeve", "short sleeve"]
},
"cut": {
"probability": 0.5,
"tags": [
"off-shoulder dress",
"strapless dress",
"plunging neckline",
"backless",
"side slit"
]
},
"cleavage": {
"probability": 0.5,
"distribution": [0.5],
"tags": [
"cleavage",
"see-through cleavage",
"cleavage cutout",
"sideboob"
]
},
"no_bra": {
"probability": 0.2,
"number": [1, 2],
"tags": ["no bra", "covered nipples"]
}
}
}
@@ -0,0 +1,16 @@
{
"name": "👙 Swimsuit",
"tags": {
"swimsuit_color": { "tags": ["{color}"], "suffix": " swimsuit" },
"bikini_type": [
"bikini",
"one-piece swimsuit",
"highleg bikini",
"highleg one-piece swimsuit",
"lowleg bikini",
"micro bikini",
"thong bikini",
"slingshot swimsuit"
]
}
}
@@ -0,0 +1,60 @@
{
"name": "🩲 Underwear",
"settings": {
"show_variables": true
},
"variables": {
"color_main": ["{color}"],
"cleavage": {
"probability": 0.75,
"tags": { "cleavage": "cleavage" }
}
},
"tags": {
"lingerie": {
"probability": 0.5,
"tags": { "lace": "lingerie,lace" }
},
"crotchless": {
"probability": 0.3,
"tags": { "crotchless": "crotchless,{pussy}" }
},
"bra": {
"group_labels": true,
"prefix": "{color_main} ",
"tags": {
"bra": "bra, {cleavage}",
"bustier": "bustier, {cleavage}",
"corset": "corset, {cleavage}"
}
},
"panties": {
"group_labels": true,
"prefix": "{color_main} ",
"tags": ["panties", "thong", "g-string"]
},
"leotard": {
"group_labels": true,
"tags": {
"colored": "{color_main} leotard",
"fishnet": "fishnet leotard"
},
"suffix": ", no neckwear, {cleavage}"
},
"legwear": {
"tags": ["lace-trimmed", "lace-up", "ribbon-trimmed"],
"suffix": " thighhighs"
},
"accessories": ["garter belt", "garter straps"]
},
"output": {
"group_labels": true,
"tags": {
"standard": "{panties}, {bra}",
"standard_with_legwear": "{panties}, {bra}, {legwear}, {accessories}",
"one-piece": "{leotard}",
"one-piece_with_legwear": "{leotard}, {legwear}, {accessories}"
}
},
"custom_output": "{panties}, {bra}, {legwear}, {accessories}"
}
+261
View File
@@ -0,0 +1,261 @@
{
"name": "🥋 Uniform",
"settings": {
"show_variables": true
},
"variables": {
"color_main": ["{color}"],
"color_secondary": ["{color}"],
"skirt_length": ["short", "medium", "long"],
"cleavage": {
"probability": 0.5,
"tags": { "cleavage": "cleavage" }
},
"vest": {
"show": false,
"tags": ["vest", "blazer", "waistcoat"]
}
},
"tags": {
"school_uniform_type": {
"group_labels": true,
"prefix": "school uniform,",
"tags": {
"sailor": "serafuku, {color_main} blouse, {color_secondary} skirt, {skirt_length} skirt, pleated skirt, sailor-style collar, {color_secondary} neckerchief",
"vest": "{color_main} {vest}, {color_secondary} skirt, {skirt_length} skirt, pleated skirt, white blouse, {color_secondary} necktie",
"sweater": {
"prefix": "{color_main} ",
"tags": ["sweater", "sweater vest"],
"suffix": ",{color_secondary} skirt, {skirt_length} skirt, pleated skirt, collared shirt"
}
},
"suffix": ",{cleavage}"
},
"gym_uniform_type": {
"show": false,
"number": 3,
"tags": {
"top": {
"prefix": "gym uniform,{color_main} ",
"tags": ["tank top,{cleavage}", "shirt, gym shirt"]
},
"bottom": {
"prefix": "{color_secondary} ",
"tags": [
"shorts, gym shorts",
"shorts, bururma",
"shorts, bike shorts",
"shorts, dolphin shorts",
"leggings",
"pants, yoga pants",
"pants, track pants",
"skirt, short skirt"
]
},
"accessories": {
"probability": 0.3,
"number": [1, 2],
"tags": ["{color_secondary} headband", "{color_secondary} wristband"]
}
}
},
"military_uniform_type": {
"group_labels": true,
"tags": {
"camo": {
"number": 7,
"tags": {
"prefix": "military fatigues,",
"camo_type": ["woodland", "desert", "urban", "snow"],
"camo_top": ["military jacket", "shirt"],
"camo_bottom": ["camouflage pants", "cargo shorts"],
"camo_shoes": {
"probability": 0.2,
"tags": "combat boots"
},
"camo_hat": {
"probability": 0.2,
"tags": ["field cap", "beret", "boonie hat", "aviator cap"]
},
"camo_accessories": {
"probability": 0.3,
"number": [1, 3],
"tags": ["dog tags", "military belt", "gloves"]
}
}
},
"formal": {
"number": 6,
"tags": {
"prefix": "military dress uniform, {color_main} uniform,",
"formal_top": ["military jacket", "military coat"],
"format_shirt": ["dress shirt", "collared shirt"],
"formal_bottom": [
"military pants",
"military skirt, {skirt_length} skirt"
],
"formal_hat": {
"probability": 0.2,
"suffix": "{color_secondary} ",
"tags": ["beret", "peaked cap"]
},
"formal_accessories": {
"probability": 0.3,
"number": [1, 3],
"tags": [
"medal",
"ribbon bar",
"epaulettes",
"{color_secondary} necktie"
]
}
}
}
}
},
"police_uniform_type": {
"show": false,
"number": 5,
"tags": {
"prefix": "police uniform,",
"top": ["collared shirt", "jacket", "utility vest"],
"bottom": ["pants", "skirt"],
"accessories": {
"probability": 0.3,
"number": [1, 3],
"tags": [
"{color_secondary} armband",
"holster",
"police badge",
"{color_secondary} necktie",
"utility belt"
]
},
"hat": { "probability": 0.3, "tags": ["police hat", "peaked cap"] }
}
},
"nurse_uniform_type": {
"group_labels": true,
"tags": {
"nurse": {
"uniform": "nurse, {color_main} uniform, {cleavage}",
"accessories": {
"probability": 0.3,
"number": [1, 2],
"tags": [
"nurse cap, red cross",
"nurse apron",
"armband, red cross",
"{color_secondary} stethoscope",
"surgical mask"
]
}
},
"lab_coat": {
"prefix": "white coat, lab coat,",
"tags": {
"under_lab": [
"{casual}",
"{dress}",
"{underwear}",
"naked lab coat,{nipples}"
]
},
"accessories": {
"probability": 0.3,
"number": [1, 2],
"tags": ["{color_secondary} stethoscope", "surgical mask"]
}
}
}
},
"maid_uniform_type": {
"group_labels": true,
"prefix": "maid,",
"tags": {
"standard": {
"number": 5,
"tags": {
"color": {
"distribution": [0.4],
"tags": ["black", "{color_main}"],
"suffix": " uniform"
},
"dress": "{skirt_length} dress,",
"sleeves": ["long sleeves", "short sleeves"],
"accessories": {
"probability": 0.3,
"number": [1, 2],
"tags": ["maid apron", "maid headdress"]
}
}
},
"lingerie": {
"number": 4,
"tags": {
"color": {
"distribution": [0.4],
"tags": ["black", "{color_main}"],
"suffix": " uniform"
},
"dress": "short dress, {cleavage},",
"bottom": "{panties},{legwear},{crotchless},{lingerie}",
"accessories": {
"probability": 0.3,
"number": [1, 2],
"tags": ["maid apron", "maid headdress"]
}
}
}
}
},
"animal_uniform_type": {
"group_labels": true,
"tags": {
"playboy": {
"prefix": "playboy bunny, strapless leotard, {color_main} leotard, bunny ears, bunny tail,",
"tags": {
"bottom": ["fishnet pantyhose", "thighhighs"],
"accessories": {
"probability": 0.3,
"number": [1, 2],
"tags": [
"{color_secondary} bowtie",
"{color_secondary} wrist cuffs",
"{color_secondary} colar, detached collar"
]
}
}
},
"kittysuit": {
"prefix": "kittysuit, strapless leotard, {color_main} leotard, cat ears, cat tail,",
"tags": {
"bottom": ["fishnet pantyhose", "thighhighs"],
"accessories": {
"probability": 0.3,
"number": [1, 2],
"tags": [
"{color_secondary} bowtie",
"{color_secondary} wrist cuffs",
"{color_secondary} colar, detached collar"
]
}
}
}
}
}
},
"output": {
"group_labels": true,
"tags": {
"school": "{school_uniform_type}",
"gym": "{gym_uniform_type}",
"military": "{military_uniform_type}",
"police": "{police_uniform_type}",
"nurse": "{nurse_uniform_type}",
"maid": "{maid_uniform_type}",
"animal": "{animal_uniform_type}"
}
},
"custom_output": "serafuku, white blouse, blue skirt, medium skirt, pleated skirt, sailor-style collar, red neckerchief"
}
@@ -25,8 +25,13 @@
"prefix": "1boy,{solo_focus},",
"tags": {
"standard": "",
"muscular": {
"prefix": "muscular male,",
"number": [0, 2],
"tags": ["thick arms", "large hands"]
},
"giant": {
"prefix": "giant male,",
"prefix": "giant male, size difference,",
"number": [0, 2],
"tags": ["thick arms", "large hands", "muscular male"]
},
+2 -2
View File
@@ -1,4 +1,4 @@
{
"name": "✅ Positive prompt",
"output": ""
}
"output": "{character},{clothes}"
}
+21
View File
@@ -0,0 +1,21 @@
[
{
"triggers": ["disembodied penis"],
"actions": [
{
"type": "remove",
"value": ["*male*"]
}
]
},
{
"triggers": ["giant male"],
"actions": [
{
"type": "replace",
"value": "small penis",
"new_value": "penis"
}
]
}
]
+214
View File
@@ -0,0 +1,214 @@
[
{
"triggers": ["original", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "{clothes_type}"
}
]
},
{
"triggers": ["original"],
"actions": [
{
"type": "remove",
"value": "original"
}
]
},
{
"triggers": ["2b", "nier automata", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "black dress, black thighhighs, high heel, thigh boots"
}
]
},
{
"triggers": ["android 18", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "blue jacket, denim jacket, black tank top, white sleeves, stripped sleeves, cleavage, blue jeans"
}
]
},
{
"triggers": ["bowsette", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "black dress, sleevless dress, off-shoulder dress, long dress"
}
]
},
{
"triggers": ["chel", "el dorado", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "pink tube top, loin cloth, pelvic curtain"
}
]
},
{
"triggers": ["chun-li", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "blue dress, china dress, puffy short sleeves, side slit, brown pantyhose"
}
]
},
{
"triggers": ["hinata hyuga", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "purple jacket, white sleeves, dark blue pants"
}
]
},
{
"triggers": ["jinx", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "brown crop top, purple pants, striped pants"
}
]
},
{
"triggers": ["kim possible", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "black crop top, long sleeve, gray gloves, green cargo pants"
}
]
},
{
"triggers": ["lara croft", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "cyan tank top, brown shorts, short shorts, brown belt, thigh straps, holster"
}
]
},
{
"triggers": ["princess daisy", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "yellow dress, white gloves"
}
]
},
{
"triggers": ["princess zelda", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": {
"tags": [
"blue shirt, white collar, golden belt, black pants",
"pink dress, white dress, long dress, bracelet"
]
}
}
]
},
{
"triggers": ["raven", "dc comics", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "purple cloak, hooded cloak, black leotard, long sleeves"
}
]
},
{
"triggers": ["sakura haruno", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "red dress, sleevless dress, short dress, black shorts, black gloves"
}
]
},
{
"triggers": ["samus aran", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "zero suit, blue bodysuit, long sleeve,"
}
]
},
{
"triggers": ["tsunade", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "green coat, gray kimono, cleavage, blue belt, blue shorts"
}
]
},
{
"triggers": ["velma", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "orange sweater, orange turtleneck, red skirt, short skirt, orange socks, kneehighs"
}
]
},
{
"triggers": ["princess peach", "official costume"],
"logic": "AND",
"actions": [
{
"type": "replace",
"value": "official costume",
"new_value": "pink dress, white gloves, crown"
}
]
}
]
+47 -3
View File
@@ -37,13 +37,57 @@
{
"type": "replace",
"value": "fellatio",
"new_value": ["irrumatio,deepthroat,{prelim_head_grab}"]
"new_value": {
"tags": {
"fellatio_state": ["fellatio", "irrumatio", "deepthroat"],
"head_gesture": {
"probability": 0.5,
"tags": "{prelim_head_grab}"
}
}
}
},
{
"type": "add",
"value": {
"number": [1, 2],
"tags": ["cum in throat", "x-ray"]
"number": 1,
"tags": {
"cum_inside": {
"prefix": "cum in mouth,",
"probability": 0.3,
"tags": "cum in nose"
},
"cum_outside": {
"prefix": "penis head",
"number": 3,
"tags": {
"handjob": "handjob,penis grab",
"ejaculation": {
"number": [1, 2],
"tags": ["ejaculation", "projectile cum"]
},
"facial": {
"number": [1, 3],
"distribution": [0.5, 0.25, 0.25],
"tags": ["facial", "cum on hair", "cum on tongue"]
}
}
}
}
}
}
]
},
{
"triggers": ["*paizuri*", "climax"],
"logic": "AND",
"actions": [
{
"type": "add",
"value": {
"number": [1, 3],
"distribution": [0.5, 0.25, 0.25],
"tags": ["cum on breasts", "cum on body", "cum on stomach"]
}
}
]
+1 -1
View File
@@ -2,10 +2,10 @@
"color": {
"fixed": false,
"tags": [
"aqua",
"black",
"blue",
"brown",
"aqua",
"gray",
"green",
"pink",
+1 -1
View File
@@ -55,7 +55,7 @@ def main(seed, verbose, with_inputs, with_rules, node_output):
prompt = output_node.build_prompt(
seed=seed, variables=nodes_variables)[0]
else:
prompt = " ".join(prompts)
prompt = ",".join(prompts)
if with_rules:
prompt = rules.apply_rules(prompt, "all", seed)
+2 -2
View File
@@ -54,7 +54,7 @@ class ApplyRules:
# Put prompt in a tag list
tags = [tag.strip() for tag in prompt.replace(
"\n", ", ").split(", ") if tag.strip()]
"\n", ", ").split(",") if tag.strip()]
# Merge rule config files
if ruleset == "all":
@@ -87,7 +87,7 @@ class ApplyRules:
if variables:
tags = apply_variables(rng, tags, variables)
tags = stringify_tags(tags, separator=", ")
return (tags,)
+9 -5
View File
@@ -1,4 +1,4 @@
import dpath.util as dpath
import dpath
from ._variables import spread_variables
@@ -113,6 +113,10 @@ def format_value(key, value):
updated_value = []
for item in value:
text_has_changed, processed_item = spread_variables(item)
if isinstance(processed_item, dict) and "tags" in processed_item:
processed_item = processed_item["tags"]
if isinstance(processed_item, list):
updated_value.extend(processed_item)
else:
@@ -157,15 +161,15 @@ def format_subtags(key, value):
# Display true/false checkbox as input
input = format_value(key, True)
# Display a custom probability is set, show a float as input
if probability_key != 1:
input = format_value(key, probability_key)
# Display subtags labels as input
if display_group_labels:
tags_keys = list(value["tags"].keys())
input = format_value(key, tags_keys)
# Display a custom probability is set, show a float as input
if probability_key != 1:
input = format_value(key, probability_key)
return input
+1 -1
View File
@@ -1,7 +1,7 @@
[project]
name = "comfyui-scene-composer"
description = "A collection of nodes to facilitate the creation of explicit NSFW scenes in ComfyUI."
version = "0.2.0"
version = "0.3.0"
license = { file = "LICENSE" }
dependencies = ["dpath", "numpy", "toml"]
+5 -3
View File
@@ -68,9 +68,11 @@ function toggleCustomOutput(node, widget) {
app.registerExtension({
name: "scenecomposer.widgethider",
nodeCreated(node) {
const customnodes_package_name = node.properties.cnr_id
if (customnodes_package_name == "comfyui-scene-composer") {
async nodeCreated(node) {
console.log(node)
const customnodes_package_name = node.properties.aux_id
console.log(customnodes_package_name)
if (customnodes_package_name == "mus-taches/comfyui-scene-composer") {
for (const widget of node.widgets || []) {
widget.callback = function () { widgetLogic(node, widget) }
}
+29752 -6231
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB