CivArchive
    Wildcard Gallery - Extension - v2.0
    NSFW
    Preview 91564530
    Preview 91564633
    Preview 91564634
    Preview 91564630
    Preview 91564625
    Preview 91564636
    Preview 91564628

    Wildcard Gallery V2 [Github]

    What is this

    This Automatic1111 extension primary adds a new extra networks gallery for wildcards along with preview thumbnails and other features for an enhanced wildcards management and user experience.

    Installation

    • git clone this repo to the extensions folder in your Web UI installation, or paste the its link to the extensions/Install form URL tab in WebUi

    • if you have the old Wildcard Gallery V1 extention consider removing before installing the new one (this a whole rebase from V1 so a clean reinstall is remcommended)

      • make sure to backup a copy the folders metadata and cards if you already have those populated then copy them back to the new extension folder afterward

    requirements

    • This extension extends on the wildcard functionality so it goes without saying that you already have the sd-dynamic-prompts extension in your WebUi ecosystem if not then you'll need to install the .

    • This extension was made with Gradio 3.x in mind things may break with higher versions

    Settings

    • to limit indexation to specific wildcard branches you can add the parent activation path wildcard to the Whitelist (default behavior)

    • important!! you wont see any wildcard in the gallery unless you add its file name to whitelist in the webui settings and restart it

    • to exclude wildcards from indexation you can add their activation path to the Blacklist

    • you can toggle the Downscale preview images to resize and compress generated previews to take far less size on the disk

    Wildcard Filter Tab

    Overview

    The Wildcard Filter Tab is the most notable addition in Version 2 of the Wildcard Gallery addon. Without the limitations of the previous Extra Network subtab, this tab introduces a wide range of powerful features, such as:

    • More advanced card filtering options

    • A cleaner, more resource-efficient viewer

    • Real-time preview channel switching

    • Card tagging support

    • Live card selection for operations (e.g., export, preview generation, tag editing)

    • Wildcard creation directly from within the WebUI


    Tab Layout

    The layout is intentionally simple and includes:

    • Filtering Options
      Handles the creation and execution of filtering queries.

    • Cards Viewer

      Displays filter results as cards, paginated (typically 25 per page).

      • Allows card selection for future operations

      • Enables card creation

      • Includes a Viewer Options subsection for tag visibility, preview cycling, and card grouping

    • Operations Sections
      Contains actions for selected cards or the entire wildcard dictionary.


    Terminology

    • Preview Channel: A named profile that contains a different set of preview images for the wildcard dictionary. Used to visualize how wildcards behave in various prompt scenarios.

    • Tag Group: A logical collection of tags that share display properties (e.g., color, masking behavior).

    • Wildcard Sequence: An ordered set of wildcards under a shared parent, executed in a chained manner. Designed for niche cases like prompt-based storytelling.


    Filter Modes

    Mode: wildcard

    • The simplest mode. Displays a searchable dropdown of all wildcards in the dictionary.

    • You can select one or multiple cards.

    • Optionally extend the filter to include all cards with the same parent as the selected one.

    Mode: selector text

    • Uses selector-style input (e.g., __parentA/parentB/exampleCard__) to filter results.

    • Wildcards can be targeted directly or via wildcard globbing:

      • __parentA/parentB/*__ will show all cards under parentB.

    • Supports multiple comma-separated selectors (e.g., __x/y/*__, __z/card__).

    Mode: tags

    • Filters cards based on custom user-defined tags.

    • Supports Inclusion Logic:

      • AND: All specified tags must be present in a card.

      • OR: Any of the specified tags can be present.

    • Tags placed in the Excluded dropdown will be used to reject cards with those tags.

    Mode: prompt search

    • The most specific and niche mode.
      Filters based on the card’s internal prompt text.

    • Supports Included and Excluded comma-separated terms (unordered).


    Cards Viewer

    This is where you'll interact with filtered results in the form of cards.

    • Uses pagination to ensure performance even with large datasets.

    • Selection mode defaults to Stacked, but can be changed to Single in the top-right corner of the viewer.


    Viewer Options

    Additional utilities can be accessed from the collapsed section above the card viewer:

    • Card Stacking Level
      Groups cards based on their parent rank.

      • E.g., setting stacking to 3 will group parentA/parentB/parentC/Card1 and .../Card2 under a shared parentC/* stack.

      • Selecting a stack selects all cards within it.

      • Changing stacking level does not reset card selections.

    • Tag Masking
      Allows hiding or decluttering tags on cards based on their tag group settings.

    • Selected Preview Channel
      Lets you cycle through different preview images per card based on the chosen channel.


    Card Detail Panel

    When you select a card, details and actions become available on the left-side panel.

    Actions (available for single or multiple selections):

    • Copy to Clipboard: Copies the wildcard activation text for manual prompt use.

    • Edit Card Tags:

      • Add/remove tags using the dropdown or by typing a new one.

      • "Add Tag" attaches the tag; "Remove Tag" detaches it.

    • Favorite: Adds cards to your favorites list.

    • Remove: Currently disabled until card editing is fully implemented.

    Information:

    • Tags: Full list of card tags (ignores masking).

    • Card Path: The virtual path of the card in the dictionary.

    • Prompt: The raw prompt text embedded in the wildcard.

    • File: The physical location of the wildcard file.

    • Protected: Indicates whether the card is protected from editing (feature not yet implemented).

    • Channels: Lists which preview channels contain this card.


    Operations Sections

    • Import Wildcard Pack: Imports a Wildcard Pack zip into the dictionary (including all of it metadata and perviews)

    • Export as Wildcard Pack: Export the selected cards (or all filtered results) as a valid Wildcard Pack

    • Tag Groups: Create new Tag Groups or edit existing ones by adding member tags and setting tag colors

    • Misc Actions

      • Rebuild Wildcard Dictionary: rescan for changes and builds an up to date wildcard dictionary (think of it as a refresh action)

      • Collect Redundant Thumbnails Files: round up all images that don’t correspond to any existing entry in the "USER_OUTPUT/STRAY_RESOURCES" folder.

      • Collect Thumbnails: collects copies of selected cards thumbnails from the active channel in "USER_OUTPUT" folder.

      • Nullify Thumbnails: Sets the thumbnails for selected cards thumbnails in the active channel so that they can be skipped with batch generating perviews.

      • Remove Thumbnails: Clears the thumbnails for selected cards thumbnails in the active channel.

    Wildcard Preview Utils

    This is a txt2img script used in conjunction with the Wildcard Filter Tab to automate preview generation and deployment for multiple wildcards within the dictionary. It also provides additional utilities depending on the selected script mode.

    • Disabled: Bypasses script logic and generates images normally.

    • Batch Prompting: Uses the selected (or filtered) wildcards from the Wildcard Filter Tab to generate images for each wildcard individually.

      • Setting Prompt Usage Mode to Combine Cards will instead generate a single image using all selected wildcards.

    • Sequence Generation: Generates all images for a sequence-type wildcard in the correct order.

      • Simply select any wildcard that belongs to the sequence — the entire sequence will be generated automatically.

    • Preview Generation: Generates and assigns preview images to the selected (or filtered) wildcards.

      • Make sure to switch to the channel where you want the resulting image(s) to be saved.

      • Enabling Override Existing Previews will force regeneration and replacement of previews for all selected wildcards, even if they already have a preview in the chosen channel.

      • Simplified Usage Steps:

        1. Select the desired cards in the Wildcard Filter Tab.

        1. Add the base positive and negative prompts for image generation.

        1. Activate the Wildcard Preview Utils script, choose Preview Generation, and set the desired channel for output.

          • You can also check how many cards are included in the generation queue by clicking Count Selected Cards.

        1. Click Generate and wait for the generation queue to finish.

        2. Back in Wildcard Filter Tab, confirm that previews were assigned by switching to the correct channel.

          • (Sometimes you may need to deselect and reselect a card for the info to refresh.)

    Description

    FAQ

    Comments (42)

    asslampJul 31, 2025· 1 reaction
    CivitAI

    I was literally just looking at this yesterday and was sad that it didn't function anymore. What a treat, thanks! This is the only decent way to keep wildcards organized in a way I want

    EDIT: I don't understand at all how I'm supposed to whitelist wildcards inside of subfolders or why whitelist is the default and unchangeable way of doing this

    EDIT: nvm it just doesn't work on forge

    sekimiriJul 31, 2025
    CivitAI

    there is no tab wildcard filters

    navimixu
    Author
    Aug 1, 2025

    imma need more context then that, like any errors logged on console and what fork of webui ur using

    sekimiriAug 1, 2025

    navimixu I use forge, automatic f2.0.1v1.10.1-1.10.

    1

    navimixu
    Author
    Aug 1, 2025

    sekimiri yee forge is an odd one it uses Gradio 4, while this addon was written with Gradio 3 in mind

    navimixu
    Author
    Aug 1, 2025

    sekimiri tho "it might" be the simple case of the wildcards directory not being automatically picked up , if that's the case u might have to specify it manually in the addon's settings section

    sekimiriAug 1, 2025

    navimixu tab i had was wildcard manager, but i downloaded the version from dualdragoon and now it works for me

    DualdragoonAug 2, 2025· 1 reaction

    sekimiri Speaking of I literally just fixed the search issue I was having a few days ago and uploaded it to my github fork.

    yla683Aug 4, 2025

    Dualdragoon I tried installing your fork and still am not able to see the gallery extension. I'm also running forge. Though someone I know who had it all working beforehand isn't having any issues at all despite being on the same gradio version as me (3.41.2). Do I have to do something with your fork to get it to work? I installed the extension by using your git's URL

    DualdragoonAug 4, 2025

    yla683 How old is the version of forge you're using? The whole reason I made the fork I did is that the existing version didn't work in forge after they updated to Gradio 4. If you're using a version that still uses Gradio 3 I'd recommend either trying to use the new official version of the extension or upgrading to a much newer version of forge for the overall code improvements.

    yla683Aug 5, 2025

    Dualdragoon My forge version is "f1.0.0v2dev-v1.10.1RC-latest-2443-gd6f13b7d" which seems to be from a commit from last week? Unless this is incompatible with reForge?

    DualdragoonAug 5, 2025

    yla683 I wasn't even aware that reForge was a thing until just now. I'm not really sure why my modifications would fail to work in Gradio 3 but according to another comment chain on here it seems like the new version of the official extension should work now since a new fix was applied.

    yla683Aug 5, 2025

    Dualdragoon Seems like it won't even let me install the extension anymore. Simply keeps spitting out fatal: repository 'https://github.com/navimixu/wildcard-gallery/tree/main/' not found

    DualdragoonAug 7, 2025

    yla683 Pretty sure it needs to be https://github.com/navimixu/wildcard-gallery.git

    astral_divaAug 2, 2025
    CivitAI

    Unfortunately, I also can't get the v2 Wildcard Filters tab to show up in my UI. I am using the forge classic fork, which is built on Gradio 3. The only version of this extension that seems to work (i.e., show up) is Wildcard Gallery v1. Any help would be appreciated!

    After a fresh install, I get these errors (and the extension doesn't show up at all in the UI):

    *** Error loading script: extra_cards.py

    Traceback (most recent call last):

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\modules\scripts.py", line 536, in load_scripts

    script_module = script_loading.load_module(scriptfile.path)

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\modules\script_loading.py", line 10, in load_module

    module_spec.loader.exec_module(module)

    File "<frozen importlib._bootstrap_external>", line 940, in exec_module

    File "<frozen importlib._bootstrap>", line 241, in callwith_frames_removed

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\extensions\sd-wildcard-gallery_v2\scripts\extra_cards.py", line 5, in <module>

    from scripts.misc_utils import (

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\extensions\sd-wildcard-gallery_v2\scripts\misc_utils.py", line 37, in <module>

    WILDCARDS_FOLDER = fetch_wilcards_dir()

    ^^^^^^^^^^^^^^^^^^^^

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\extensions\sd-wildcard-gallery_v2\scripts\misc_utils.py", line 25, in fetch_wilcards_dir

    setattr(shared.opts,"wcc_wildcards_directory",found_path)

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\modules\options.py", line 109, in setattr

    if info.do_not_save:

    ^^^^^^^^^^^^^^^^

    AttributeError: 'NoneType' object has no attribute 'do_not_save'

    ---

    *** Error loading script: misc_utils.py

    Traceback (most recent call last):

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\modules\scripts.py", line 536, in load_scripts

    script_module = script_loading.load_module(scriptfile.path)

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\modules\script_loading.py", line 10, in load_module

    module_spec.loader.exec_module(module)

    File "<frozen importlib._bootstrap_external>", line 940, in exec_module

    File "<frozen importlib._bootstrap>", line 241, in callwith_frames_removed

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\extensions\sd-wildcard-gallery_v2\scripts\misc_utils.py", line 37, in <module>

    WILDCARDS_FOLDER = fetch_wilcards_dir()

    ^^^^^^^^^^^^^^^^^^^^

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\extensions\sd-wildcard-gallery_v2\scripts\misc_utils.py", line 25, in fetch_wilcards_dir

    setattr(shared.opts,"wcc_wildcards_directory",found_path)

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\modules\options.py", line 109, in setattr

    if info.do_not_save:

    ^^^^^^^^^^^^^^^^

    AttributeError: 'NoneType' object has no attribute 'do_not_save'

    ---

    *** Error loading script: preview_processing.py

    Traceback (most recent call last):

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\modules\scripts.py", line 536, in load_scripts

    script_module = script_loading.load_module(scriptfile.path)

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\modules\script_loading.py", line 10, in load_module

    module_spec.loader.exec_module(module)

    File "<frozen importlib._bootstrap_external>", line 940, in exec_module

    File "<frozen importlib._bootstrap>", line 241, in callwith_frames_removed

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\extensions\sd-wildcard-gallery_v2\scripts\preview_processing.py", line 7, in <module>

    from scripts.misc_utils import (

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\extensions\sd-wildcard-gallery_v2\scripts\misc_utils.py", line 37, in <module>

    WILDCARDS_FOLDER = fetch_wilcards_dir()

    ^^^^^^^^^^^^^^^^^^^^

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\extensions\sd-wildcard-gallery_v2\scripts\misc_utils.py", line 25, in fetch_wilcards_dir

    setattr(shared.opts,"wcc_wildcards_directory",found_path)

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\modules\options.py", line 109, in setattr

    if info.do_not_save:

    ^^^^^^^^^^^^^^^^

    AttributeError: 'NoneType' object has no attribute 'do_not_save'

    ---

    *** Error loading script: wg_filter_tab.py

    Traceback (most recent call last):

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\modules\scripts.py", line 536, in load_scripts

    script_module = script_loading.load_module(scriptfile.path)

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\modules\script_loading.py", line 10, in load_module

    module_spec.loader.exec_module(module)

    File "<frozen importlib._bootstrap_external>", line 940, in exec_module

    File "<frozen importlib._bootstrap>", line 241, in callwith_frames_removed

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\extensions\sd-wildcard-gallery_v2\scripts\wg_filter_tab.py", line 3, in <module>

    from scripts.misc_utils import ( load_tags, save_tags, save_tag_config, process_selector,WildcardEntry, TagConfig,update_wildcard_yaml,create_dir_and_file, unpack_wildcard_pack,

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\extensions\sd-wildcard-gallery_v2\scripts\misc_utils.py", line 37, in <module>

    WILDCARDS_FOLDER = fetch_wilcards_dir()

    ^^^^^^^^^^^^^^^^^^^^

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\extensions\sd-wildcard-gallery_v2\scripts\misc_utils.py", line 25, in fetch_wilcards_dir

    setattr(shared.opts,"wcc_wildcards_directory",found_path)

    File "C:\Users\Me\Pictures\sd-webui-forge-classic\webui\modules\options.py", line 109, in setattr

    if info.do_not_save:

    ^^^^^^^^^^^^^^^^

    AttributeError: 'NoneType' object has no attribute 'do_not_save'

    navimixu
    Author
    Aug 2, 2025

    have u tried checking the wildcard directory setting in the extension's section on settings tab and see if the correct path was set ?

    DarkShadow_45Aug 2, 2025

    I have the same problem (I am using Reforge which use Gradio 3). The wildcard directory setting doesn't appear as well.

    EDIT : Found a way to make it work by modifying those lines in misc_utils.py:

    if os.path.isdir(found_path):
    setattr(shared.opts, "wcc_wildcards_directory", found_path)
    return found_path
    else:
    print("No wilcards directory was found, make sure you have the sd-dynamic-prompts extension installed, if you have a custom directory make sure to set it manually in the settings")
    return None


    To this :

    if os.path.isdir(found_path): if hasattr(shared.opts, "data_labels") and "wcc_wildcards_directory" in shared.opts.data_labels: setattr(shared.opts, "wcc_wildcards_directory", found_path) return found_path else: print("No wilcards directory was found, make sure you have the sd-dynamic-prompts extension installed, if you have a custom directory make sure to set it manually in the settings") return None

    navimixu
    Author
    Aug 2, 2025

    DarkShadow_45 I've updated the github repository with a potential fix, can you confirm if it solves ur problem ?

    navimixu
    Author
    Aug 2, 2025

    DarkShadow_45 ye that also works xD

    DarkShadow_45Aug 2, 2025

    I tried your fix and it seems to work

    astral_divaAug 2, 2025

    navimixu Hi! I checked and the wildcard directory was correct. So I tried the fix you just added to the GitHub repo and it worked! Thanks for the fast response! 💙

    navimixu
    Author
    Aug 2, 2025

    astral_diva glad it did :D

    astral_divaAug 2, 2025

    navimixu Wait, I may have spoken too soon. 😅 The extension is showing up now, but I can't get any wildcards to show up. In the settings I put the folder where my wildcards are listed my wildcards, but it still says:

    Nothing here... Add some contents to the following folder(s):

    C:\Users\Me\Pictures\sd-webui-forge-classic\webui\extensions\sd-wildcard-gallery\cards

    I have my cards in the sd-wildcard-gallery\cards folder and my wildcards txt files in the sd-dynamic-prompts\wildcards\ folder, and in the settings I added my wildcards folder, but it's not finding them. (The cards were preexisting from v1, which I just copied over to v2.)

    Am I typing these in incorrectly?
    https://ibb.co/hx93y0BN

    https://ibb.co/zT4d5kPT

    https://ibb.co/gLXDDNLN

    https://ibb.co/j9QTQnQj

    navimixu
    Author
    Aug 4, 2025

    astral_diva you need to put the names of yaml files containing the wildcards (no need for the path just the name of the file is enough) as the extension will go though every file in the wildcard directory any ways an avoids any file that aint in the whitelist

    astral_divaAug 4, 2025

    navimixu Oh, so it looks like it can only read yaml and not txt files. All my wildcards are txt, so I have to convert them all the yaml for the extension to see them?

    ViennarAug 4, 2025
    CivitAI

    to which folder for the new version should I move .yaml files from the previous version?

    navimixu
    Author
    Aug 4, 2025

    they .yaml files stays in the wildcards directory (managed by the dynamic prompts extension), and this extension with pickup on them if they're whitelisted in settings tab.

    ViennarAug 4, 2025

    navimixu thanks, everything worked

    Superfi24Sep 16, 2025· 3 reactions
    CivitAI

    tbh, I don't like this update at all.
    Why do I have to type out all single wildcards I already have (which are a lot) in the settings just for them to show up in the gallery? Previous versions did that automatically, so Imma stick with those for now

    astral_divaOct 5, 2025

    Update: I got the wildcards to show up, but they will not stay in their subfolders. It saves the cards again outside their folders, in the parent cards folder, and seems to ignore the thumbnails I already generated from v1.
    Going back to v1 for now, I guess.

    naughtyAIGirlOct 4, 2025
    CivitAI

    how to delete tags?

    navimixu
    Author
    Oct 4, 2025

    some of them or all ?

    naughtyAIGirlOct 5, 2025

    @navimixu some of them, or edit them

    navimixu
    Author
    Oct 5, 2025

    @kjw4ckuaxw790 select the card or cards, on the side nav click on the pen icon to edit , you type or select the tags u want and click add/ remove .

    maybellesunFeb 16, 2026
    CivitAI

    Sadly does not seem to work with last Stable Diffusion Forge Release.
    The Tab between "txt to img" and "Settings" is missing.

    navimixu
    Author
    Feb 17, 2026

    yeah the newer releases moved too fast that I stopped updating for a while, I'll take a look once i update my own webui

    maybellesunFeb 18, 2026

    @navimixu  thank you very much - don't feel obliged. It's just I tried quiet long to get it running - i wanted to let others now that they do not waste their time. Sadly I am so much not of a programmer, I always have to look up what git clone and stuff means and how it's done ^^

    compliantelfMar 17, 2026

    not to stick my nose into other peoples business but the fix for me is just changing ='file' to ='filepath' in wildcard-gallery\scripts\wg_filter_tab.py

    1175948430luo942Feb 23, 2026· 1 reaction
    CivitAI

    6hrs experimenting, here's solution for a couple of versions:

    1.Put all your .yaml files to extensions\sd-dynamic-prompts\wildcards\wildcard_gallery\imported

    for example: put XXX.yaml, XXX2.yaml, XXX3.yaml file to the above-mentioned folder.

    2.Set all your yaml file to the whitelist, for example: Go to setting, select Wildcard Gallery, type the name of the .yaml to the whitelist, like:

    1.XXX1

    2.XXX2

    3.XXX3

    This corresponds to the aforementioned 3.yaml files.

    3.Go to Wildcard Filter, which is next to txt2image, select Misc Action, select Rebuild Wildcards Dictionary. After this action, you will see a text: Dictionay have been rebuilt with a total of [XXX] Entries.

    4.Go to extensions\wildcard-gallery\cards, you will see all the .card files in folders.

    5.Put the preview image corresponding to the file into the folder, like: XXX1.card and XXX1.png/XXX2.card and XXX2.png.

    6.Restart, if images aren't show, then refresh the UI.

    1175948430luo942Mar 19, 2026
    CivitAI

    Hi there, I got a problem of deleting card. The button doesn't work. How to fix it?

    navimixu
    Author
    Mar 19, 2026

    its a placeholder button, that i ended up not implementing at the end.

    1175948430luo942Mar 20, 2026· 1 reaction

    @navimixu OK, thank you for the progress. Great mod.

    Other
    Other

    Details

    Downloads
    971
    Platform
    CivitAI
    Platform Status
    Available
    Created
    7/31/2025
    Updated
    6/16/2026
    Deleted
    -

    Files

    wildcardGallery_v20.zip

    Mirrors

    CivitAI (1 mirrors)