CivArchive
    UW Modular NSFW Wildcards — Photoreal · Agent-Ready · Optional Integration w/ Aspect Node - v1.1 - Char Pack Release
    NSFW
    Preview 137833051
    Preview 137832973
    Preview 137833063
    Preview 137833014
    Preview 137833035
    Preview 137832923
    Preview 137832927
    Preview 137832944
    Preview 137832951
    Preview 137832961

    v3.0.0 all-in-one bundle (wildcards + Wildcard Clause Expander)

    Adults 18+ only. NSFW photoreal Krea 2.

    One zip installs the wildcard pack, three companion nodes, and starter Turbo / Raw workflows. After that you lock a subject and steer the scene inside ComfyUI. No YAML editing. No character-kit rebuild. No ComfyUI relaunch just to change hair, body, wardrobe, or lighting.


    What v3.0 actually is

    This is a feature release, not a patch. If you only used v2 (or the old split downloads), almost everything below is new.

    Custom character and scene, on the node

    v2 made you pick a subject and a wardrobe, then live with whatever the YAML rolled. Want a specific adult look? You built a character kit, edited files under custom_wildcards, or ran a twin-YAML compile, then restarted ComfyUI before the next queue.

    v3 puts that work on Wildcard Clause Expander. Age, hair, body, skin, face, nationality, wardrobe, room, medium, lighting, treatment (17 override fields) sit on the node. Type a clause, queue again. The wildcard corpus on disk does not change.

    Empty fields still roll from the pack (italic ghost text in the UI). Pin copies a ghost into a real override so that slot stays put. Skip drops the clause from populated text. rerolls one slot without rerolling the rest of the prompt.

    That is the point of this version. Keep the same router or template, swap the person and the room from the node, generate.

    Three downloads on v3.0.0

    | Zip | Use when | |-----|----------| | uwModularNSFWWildcardsPhotoreal_v30AllInOne.zip (full) | Embedded <lora:…> in wildcards + photoreal workflows + 358 Krea 2 catalog thumbs. Download companion LoRAs below. | | uwModularNSFWWildcardsPhotoreal_v30AllInOne_noLora.zip (no embedded LoRA) | Same nodes, YAML, and catalog thumbs; all <lora:…> embeds stripped. Queue without companion LoRA files. | | uwModularNSFWWildcardsPhotoreal_v30CatalogThumbs.zip (thumbs only) | You already installed YAML from an earlier drop and only need Browse-modal preview PNGs. See placement steps below. |

    Install one wildcard YAML variant (do not merge both full and no-Lora YAML sets into user-wildcards/). Extract anywhere, run install.bat at the root of the extracted folder (full or no-Lora zip), paste your ComfyUI path.

    That copies:

    • Wildcard Clause Expander, PromptAspectSize, PromptLoraExtractor → custom_nodes/
    • wildcards/shared + wildcards/krea2 → Impact Pack custom_wildcards/user-wildcards/ (merge, does not wipe other packs)
    • Example graphs → user/default/workflows/UW-Modular-Wildcards/

    Engine 3.1.0 lives in this same download

    CivitAI and the zip are v3.0.0. The node reports API engine_version 3.1.0. Same file. There is no second CivitAI version to grab.

    3.1.0 is the regenerate button, skip punctuation cleanup (no more , . , or BODY., holes), live preview, and the template catalog. Treat it as the node build inside v3.0, not a separate drop.

    What you can do with it

    • Lock an adult subject with character atom fields (age_override, hair_override, body_override, …). There is no subject_override blob anymore.
    • Steer the shot with scene fields (wardrobe_override, environment_override, medium_override, lighting_override, treatment_override).
    • Pick a router (__uw-krea2-nsfw/router/…__) or a single template (__uw-krea2-nsfw/template/…__) from the catalog, or paste a tag yourself.
    • Iterate: preview → pin / skip / regenerate one clause → queue. Trailing [3:4] / [9:16] markers are stripped by PromptAspectSize and used as latent width/height.
    • Optional: PromptLoraExtractor pulls <lora:…> tags out of the expanded text into LoRA Manager when that node is in the graph.

    Install

    Requires ComfyUI with custom_nodes/ and ComfyUI-Impact-Pack already installed.

    Windows:

    1. Extract the zip anywhere (Desktop is fine).
    2. Double-click install.bat at the top of that folder.
    3. Paste your ComfyUI folder path (you can drag the folder onto the window).
    4. Confirm replace prompts if you already have any of these nodes.
    5. Restart ComfyUI, then Impact → Refresh Wildcard.

    Install-bat-install-example1.png

    Agents / non-interactive:

    install.bat --yes

    or, from the extracted folder:

    <ComfyUI>\venv\Scripts\python.exe -B install.py --comfyui "<ComfyUI>" --yes

    --skip-workflows skips copying the example graphs. On Linux/macOS, run install.py the same way.

    If the installer warns about wildcard_cache_limit_mb, raise that value in Impact Pack’s impact-pack.ini so the YAML corpus stays in full cache mode.

    After install, Wildcard Clause Expander is under utils/prompt. Open the example workflows from UW-Modular-Wildcards in the ComfyUI sidebar.

    Full copy: INSTALL.txt in the zip.


    What’s in the zip

    | Piece | What it does | |-------|----------------| | wildcards/ | Modular __uw-krea2-nsfw/* and __uw-shared/* YAML | | wildcards/krea2/*.catalog/ | 358 template thumbnail PNGs (+ catalog.json) for Browse modal previews | | Wildcard Clause Expander | In-node overrides, live preview, catalog, pin / skip / regenerate | | PromptAspectSize | Strip trailing [W:H], emit width/height for Empty Latent | | PromptLoraExtractor | Pull <lora:…> tags out of expanded text | | workflows/ | krea2-custom-char-turbo.json, krea2-custom-char-raw.json |


    Wildcard Clause UI

    Graph order in the bundled workflows:

    Wildcard Clause → Prompt LoRA Extractor → PromptAspectSizeResolver → CLIP encode (Empty Latent width/height from the resolver).

    wildcard-clause-expansion-node-example1.png

    Scene group (wardrobe, environment, medium, lighting, treatment). Collapse it when you are only changing the person.

    Character group (age, hair, body, face, skin tone, and the rest of the atom fields). This is the replacement for the old subject blob and the old rebuild loop.

    Live preview is structural (routers/templates unwrap, terminal pools stay as tags until populate). Populated text is the fully expanded prompt for the current seed.

    wildcard-clause-expansion-node-example2.png

    Browse templates & routers opens a catalog with preview thumbnails when the matching *.catalog/template/*.png files are installed (bundled in the full / no-Lora zips, or via the separate thumbs-only zip). Picking a card replaces wildcard_text. There is also a starter search and the full Impact-style insert-at-cursor list.

    Each override field has Skip, Pin, and . Skip omits the clause. Pin locks the ghost. ↻ draws a new line from that slot’s wildcard pool only.

    wildcard-clause-expansion-node-example3.png

    First open: load the Turbo workflow, leave the default bedroom router, fill two or three character atoms (age, hair, body), queue. Then hit ↻ on lighting or wardrobe and queue again.


    How prompting works

    Router (__uw-krea2-nsfw/router/portrait-bedroom-pics__) picks among templates in that room/theme. Single template (__uw-krea2-nsfw/template/bedroom-portrait-standing-mirror__) locks one scene shape. Theme routers such as lingerie and swimsuit keep wardrobe in a tighter pool.

    Overrides replace individual clauses in the expanded prose. They do not rewrite the YAML files.

    If a template ends with [3:4] or [9:16], PromptAspectSize strips that marker and sets latent size. Do not leave the marker in CLIP text.

    Identity is atom fields only. One long “a japanese woman in her twenties with …” string is the v2 subject_override pattern. Split it:

    age_override = a woman in her twenties nationality_override = japanese hair_override = Her long straight black hair falls past her shoulders eye_color_override = green


    Breaking changes from v2 (re-save workflows)

    • subject_override removed. Use character atom fields.
    • shot_override removed. Use medium_override for selfie / candid / portrait / illustration openers.
    • Re-save any graph that still shows a stale widget for those names.
    • The old sidecar / twin-YAML character-kit path is not how this pack works anymore. Overrides live on the node (or as Scene / Character JSON presets under Impact custom_wildcards if you want named libraries on disk).

    Starter workflows and LoRAs

    Installer drops graphs into user/default/workflows/UW-Modular-Wildcards/.

    • Turbo (krea2-custom-char-turbo.json) for fast Krea 2 Turbo queues.
    • Raw (krea2-custom-char-raw.json) for the higher-quality stack. Raw also expects the extra nodes/VAE listed in the graph Note (rgthree, RES4LYF, LoRA Manager, RealVAE).

    Full zip: both graphs prepend five photoreal <lora:…> tags in wildcard_text. PromptLoraExtractor sends them to LoRA Text Loader — missing files error.

    No-Lora zip: workflows start with the router tag only. No companion LoRA files required.

    Wildcard YAML (full zip only): solo fingering / toy / masturbating templates embed two sex-act LoRAs (table below). The no-Lora zip removes those embeds.

    Companion LoRA download table (full zip)

    Download from CivitAI, then rename to the filename in Place as (paths relative to your ComfyUI models/loras/ or Stability Matrix Data/Models/Lora/).

    | Used in | <lora:…> path | Strength | Trigger | Place as | CivitAI model | Version | |---------|-----------------|----------|---------|----------|---------------|---------| | Workflow photoreal stack | krea2/nsfw/snofs_krea_v1_3D | 0.6 | — | krea2/nsfw/snofs_krea_v1_3D.safetensors | SNOFS | Krea 2 v1.3D | | Workflow photoreal stack | krea2/styles/photoreal/style-photoreal__Realism_Engine_Ideogram_4_Krea_2 | 0.5 | — | krea2/styles/photoreal/style-photoreal__Realism_Engine_Ideogram_4_Krea_2.safetensors | Realism Engine Ideogram 4 + Krea 2 | Krea2 v3.0 | | Workflow photoreal stack | krea2/sliders/slider-photo__Photo_Detail_Slider_for_SNOFS_Krea | 0.5 | — | krea2/sliders/slider-photo__Photo_Detail_Slider_for_SNOFS_Krea.safetensors | Photo/Detail Slider for SNOFS Krea | v1.0 | | Workflow photoreal stack | krea2/styles/photoreal/style-photoreal__Mrpopo_Photoreal_Enhanced | 0.6 | — | krea2/styles/photoreal/style-photoreal__Mrpopo_Photoreal_Enhanced.safetensors | Mrpopo's Krea2 photoreal enhanced | Mrpopo photoreal ultimate | | Workflow photoreal stack | krea2/face/face-expression__Snapchat_Face_Helper | 0.5 | snapchat_style_pose (prompt body) | krea2/face/face-expression__Snapchat_Face_Helper.safetensors | Snapchat Face Helper | v1.0 | | Wildcard solo fingering / masturbating | krea2/nsfw/acts/nsfw-act-masturbation__krea2_sex | 0.75 | zitmast | krea2/nsfw/acts/nsfw-act-masturbation__krea2_sex.safetensors | krea2 sex 淫模 | mast | | Wildcard solo toy | krea2/nsfw/acts/nsfw-act__krea2_sex_淫模_krea2_dildo_in_pussy | 0.75 | kreadildoinpussy | krea2/nsfw/acts/nsfw-act__krea2_sex_淫模_krea2_dildo_in_pussy.safetensors | same model ↑ | ldo | | Casting router (manual load) | (not embedded) | ~0.8 | — | krea2/detail/detail-casting__Casting_Photo_Character_Sheet.safetensors | Casting Photo / Character Sheet | v3 |

    CivitAI download filenames differ (e.g. krea2 masturbation.safetensors, snofs_photoSlider_000000200.safetensors). Rename after download so the <lora:path> in the pack matches the file on disk.

    Templates that pull embedded act LoRAs (full zip): action-solo-fingering, action-solo-fingering-mirror-selfie, fantasy-action-solo-fingering, fantasy-action-solo-masturbating (masturbation LoRA); action-solo-toy, fantasy-action-solo-toy (dildo LoRA). Routers such as portrait-intimate-action-pics can hit these.

    If a LoRA is missing: LoRA Text Loader errors on the path. Fix: install + rename, use the no-Lora zip, avoid those templates, or delete the <lora:…> lines from wildcard_text (workflows only).


    Catalog thumbnails (optional separate download)

    Full and no-Lora all-in-one zips now ship 358 pre-generated Krea 2 template thumbs (~228 MB) under wildcards/krea2/*.catalog/. install.bat merges them next to each *-templates.yaml so Wildcard Clause Browse shows preview cards instead of striped placeholders.

    Thumbs-only zip (uwModularNSFWWildcardsPhotoreal_v30CatalogThumbs.zip) — if you already installed YAML and only need images:

    1. Extract the thumbs zip.
    2. Merge each krea2/*.catalog/ folder into Impact Pack custom_wildcards/user-wildcards/krea2/ (sibling to the matching YAML).
    3. Restart ComfyUI (or refresh the catalog index).
    4. Open Browse — cards should show images.

    Example:

    From zip: krea2/krea2-nsfw-templates.catalog/template/bedroom-portrait-standing-mirror.png On disk: .../user-wildcards/krea2/krea2-nsfw-templates.catalog/template/bedroom-portrait-standing-mirror.png Sibling: .../user-wildcards/krea2/krea2-nsfw-templates.yaml

    Router cover PNGs are not in this release; template thumbs only. Missing PNG → striped placeholder for that card.

    To regenerate thumbs yourself (FinePorn v4 on ComfyUI-Clean), see ComfyUI-WildcardClause/README.md → Generating thumbnails.


    Starter tags

    Routers (mixed templates per room):

    __uw-krea2-nsfw/router/portrait-bedroom-pics__ __uw-krea2-nsfw/router/portrait-intimate-action-pics__

    Theme routers (wardrobe locked to lingerie / swimsuit):

    __uw-krea2-nsfw/router/portrait-lingerie-pics__ __uw-krea2-nsfw/router/portrait-swimsuit-pics__

    One template:

    __uw-krea2-nsfw/template/bedroom-portrait-standing-mirror__

    Paste into wildcard_text on Wildcard Clause, or pick the same names from the catalog.


    Showcase images

    The two images on this version are FinePorn v4 Turbo, in-node character overrides (catalog-girl atoms, including the chest tattoo), and light skin-beauty post. One is a balcony railing selfie, the other a boudoir vanity portrait. PNG metadata is the expanded prompt plus a short generation footer, not a dumped ComfyUI workflow graph.


    Requirements

    • ComfyUI
    • ComfyUI-Impact-Pack
    • Krea 2 Turbo or Raw models for the bundled graphs
    • Full zip: companion LoRAs in the table above (or use the no-Lora zip)
    • Windows install.bat, or install.py --comfyui … --yes on any OS
    • Adults 18+ only

    Files: uwModularNSFWWildcardsPhotoreal_v30AllInOne.zip (full) · uwModularNSFWWildcardsPhotoreal_v30AllInOne_noLora.zip (no embedded LoRA) · uwModularNSFWWildcardsPhotoreal_v30CatalogThumbs.zip (thumbs only)

    Questions and breakage reports in the comments.

    Description

    v1.1.0 — Actions Update (+ Character Expansion announcement)

    What's new — Actions

    - Intimate-action pose pools: hotter partner penetration wording across existing doggy / missionary / cowgirl / standing / spooning / prone / POV / scene-locked pools (clearer genital + position language)

    - New harder partner L2s (hot routers only): anal doggystyle / anal missionary / creampie missionary / creampie doggystyle (+ wide twins where applicable)

    - Soft / tease split: portrait-intimate-action-soft-pics + landscape-intimate-action-soft-pics (massage / implied-oral demoted off the hot master playlist)

    - Hot router sizes (approx): portrait master ~40 · partner ~33 · landscape ~16

    What's new — packaging / related posts

    - Check description

    FAQ

    Comments (17)

    BuzzThursdayJul 27, 2026
    CivitAI

    I'm confused about something. A couple of places in your documentation you say to invoke Impact → Refresh Wildcard. I have the latest Impact node pack, but I don't see a Refresh Wildcard function anywhere. I looked in the main menus, the canvas right-click menu, the node's custom menu, the node's info panel, looked all around for new buttons, and I really don't think it's there. How do I Refresh Wildcard?

    Vesperra
    Author
    Jul 27, 2026

    Hey! Refresh Wildcard just means to restart your comfyUI :)

    Im not sure if there is a way to natively force Impace Pack to refresh the wildcards without also just fully restarting ComfyUI but thats what it is.

    The idea is that anytime you make a change to your physical wildcard files, ComfyUI has to reload those files from Disk and process them into the wildcards that you can call.

    BuzzThursdayJul 28, 2026

    Ah OK. So by Impact → Refresh Wildcard you mean restart ComfyUI. Got it.

    @BuzzThursday For me, the new wildcards didn't show up until like 2-4 relaunches, I dunno what glitched. But worked great at the end.

    Vesperra
    Author
    Jul 30, 2026

    @Pitiful_Season42942867 Yeah all of the wildcard importing is functioning off of the normal Impact Packs Wildcard engine... So I cant think of any reason why it would require multiple relaunches, Ive never had that problem... But if you do find out anymore info let me know and Ill try to add a fix xD

    bogglin1292Aug 8, 2026

    The impact pack should add an "refresh wildcards" option in the edit-menu and a keybind that is unassagined by default. While it works great for reloading edited files, finding new files can be iffy sometimes, then its best to com.pletly close comfui and start it fresh, in my experience.

    Vesperra
    Author
    Aug 8, 2026

    @bogglin1292 That's a good recommendation! I have a complete like V3 now that I finished last night thats way better. Im super proud. You can easily replace single string values in the template within the comfyui node

    stellarfantasy1788495Jul 27, 2026
    CivitAI

    Really great works with the customer wildcards. Is there a way to define ethnicity, hair color or eye color without them being randomized? I want action, location and other to be randomized but not the character as it doesn't match my character lora.

    Vesperra
    Author
    Jul 27, 2026

    Funny you say that. Just yesterday I released the Character expansion pack for this.

    You can see examples over there but I have a custom identity prompt setup that defines a "Starfire" and "Poison Ivy" character description in a short file, then you run the build script and it will create the template files for your custom character...

    Im gonna end up rewriting that solution using a Custom Node so you dont have to deal with that rebuild process, but for now that is what I have.

    https://civitai.red/models/2807882/custom-character-uw-expansion-pack-nsfw-modular-natural-language-wildcards

    stellarfantasy1788495Jul 27, 2026· 1 reaction

    @Vesperra Thanks..Just saw that after I posted it. Going to give it a try. Thanks again for this great tool. It's exactly what I have been looking for..

    Vesperra
    Author
    Jul 27, 2026· 2 reactions

    @stellarfantasy1788495 Im actually working on a complete rewrite that will just be a replacement for Impact Packs wildcard node entirely. I realized that this whole building script solution for handling the custom characters is way overcomplicated and there is a simpler way to do it that just requires adding a new custom node. So lookout for V2 within the next few days lol.

    pogoAug 3, 2026
    CivitAI

    I notice a lot of ambiguous language that doesn't work with Krea at all. like "aftermath fluids" lmao

    im assuming you used a language model to generate all these?

    Vesperra
    Author
    Aug 3, 2026

    Yup. Yeah I have been going through and actually pruning things over the last few days to reduce 'ambiguous' wordage like that and also increase the 'actions' templates.

    when I first worked on this project I got the framework all established and working and then I went through a large scale process of making 'improvements' to the existing templates...

    Some of those Improvements actually hurt the outcomes, so now I am going through one by one through my Action templates and generating images with each of the templates and making critiques to it.

    So fixing the Actions templates + reducing some of that ambiguous wording is on my list of things to do!

    pogoAug 3, 2026

    @Vesperra Sweet, looking forward to the finished product.

    TBH. I'm new to using wildcards, and I want to use that one PromptPalette thing some user made. I'm a sucker for good UI.

    Is there any way to make your set usable with that? I know many of your wildcards have their own wildcards within them, and that seems to be what breaks.

    Vesperra
    Author
    Aug 3, 2026

    @pogo ahhh yeah this was on my list also to look at.

    Do you mean this? https://github.com/z3rofeels/comfyui-promptpalette

    So I would view it like this. The intention of my wildcards are meant to be a 1 time install and once you do that, to generate Krea2 images all you have to do is put the template wildcard into the wildcard node and that will result in a full workable prompt.

    So if I want to generate:

    "a hot girl in a bikini" all I have to do is call the NSFW swimsuit template...

    If you have certain personal preferences (Like I dont really like short hair for example) then you should just manually edit the wildcard shared data files to comment out the short haired references.

    The PromptPallete thing is very different. The PromptPallete essentially is: you have a ton of base elements, and now you the user need to manually construct a prompt using all of those various base elements.

    So it is just two very different use cases IMO (you can still do the same thing that PromptPallete does with my wildcards pack if you reference the correct Leaf wildcard tag for example, you just wont have as nice of a UI like PromptPallete has)

    pogoAug 3, 2026

    @Vesperra That makes sense. Having the templates run the show seems limiting though. I honestly deleted all the multi-wildcard thingies in your set and have started going through and taking every subject into its own file.

    But I'm not sure there is a real solution to the problem I have. What I really want is to be able to just click a button and reroll all the details of an image while keeping most of the foundation.

    Vesperra
    Author
    Aug 3, 2026

    @pogo Yeah Im not sure what you mean at all lol.

    If you are saying that you want to be able to randomize other things about an image but keep the Subject identity locked (or the wardrobe) then that is actually something I recently added a solution for on another post.

    But if not then Im not sure I understand what you are desiring.

    Wildcards
    Krea 2

    Details

    Downloads
    871
    Platform
    CivitAI
    Platform Status
    Available
    Created
    7/26/2026
    Updated
    9/11/2026
    Deleted
    -

    Files

    uwModularNSFWWildcardsPhotoreal_v11CharPackRelease_3046848.zip

    uwModularNSFWWildcardsPhotoreal_v11CharPackRelease_3046846.zip