Skip to content

muunkky/PromptGallery-stable-diffusion-webui

 
 

Repository files navigation

Forks Stargazers Issues


Logo

Prompt Gallery

A prompt cookbook worked as stable-diffusion-webui extenstions.
Watch Demo »

Explore the docs · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. Contact
  6. Acknowledgments

About The Project

TLDR; Stable-diffusion is an AI model which can generate illustration based on text-based prompts. What does a prompt/prompt-set in AI's eyes? How do we do prompt combination like shopping?

This is an extension of stable-diffusion-webui. Checkout this powerful tool.

Use Prompt Gallery like a cookbook. Build your own prompt-set library and do illustration/creation. Life is that easy.

Please star the repo if you likes it :>

Cool Features:

  • Scalable Prompt Library
  • Stable-Diffusion-WebUI Integration
  • Avatar System (model/character presets)

Keep your pace. Let's start from building your prompt library. Build Library

(back to top)

Built With

  • Vue
  • JavaScript
  • Gradio
  • Pytorch
  • React

(back to top)

Getting Started

🐘 Good news: we now adapt to webui dark theme.

Prerequisites & Installation

Make sure you cloned the stable-diffusion-webui before. If not check out stable-diffusion-webui to install it first.

Make sure you add "--api --cors-allow-origins http://localhost:5173" as "COMMANDLINE_ARGS" in webui-user.bat (where you start webui) like this:

If using remotly add parmas like this: --cors-allow-origins http://remote-ip:5173 --api --listen --server-name remote-ip

install

Follow instructions on stable-diffusion-webui to start webui

Goto Tab extensions in the webui and paste:

  1. paste https://github.com/dr413677671/PromptGallery-stable-diffusion-webui.git into textbox "URL for extension's git repository"

  2. Set Prompt Gallery as "Local directory name"

install

(back to top)

Usage

After installation, try restart webui. You should see a initial frontpage like this.

preset

There is no preview pictures. Prompt Gallery works like a framework. You need to generate your own prompt-set library.

Please follow the instructions below to build your own prompt-set library: instead you could watch the video tutorial: View Demo

Don't be afraid to build the library. There are some cool repo help you browse the prompts.

E.g. If you love anime, goto github and search "tags" or "prompts".

You will see many cool repos like sd-danbooru-tags or DeepDanbooru.

Build library

Build up the prompt-set library and character library.

value negative param
Positive prompts Negative prompts Other params for webui image generation

Edit the teamplate at /extensions/your-prompt-gallery-extension-name/assets/avatars.yaml, and customize your avatars with prompts.

Teamplate:

 whiteHair: 
   value: "1 girl,  blush, White hair, Red eyes, animal ears,  looking at viewer, gothic lolita, dramatic angle, very beautiful, beautiful eyes, "
   negative: ""
 pinkGirl: 
   value: "petite, 1girl, solo, pink hair, very long hair, school uniform, happy,outdoors, flower field, excited"

See the teamplate at /extensions/your-prompt-gallery-extension-name/assets/tags.yaml, and create your own prompt-set library.

Categorized your prompt-set Hierarchyly. For example you can create tags.yaml like this:

 Figure:
   Hair:
     "ponny-tail":
       value: "ponny-tail"
       negative: "lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, "
       value: "short_hair"
       negative: "long_hair,lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, "
 Background:
   '':
     simple background:
       value: simple background
     sunburst background:
       value: sunburst background
   Nature:
     Space:
       value: "space background, space,"
     Startrails:
       value: colorful startrails
     Woods:
       value: "Woods background, fantacy background,"

Or do something like setup the webui parameters in "param":

 Style:
   General Effect:
     "General_ice_high_res":
       value: "flowing ice, portrait, focus on face, complex, extremely detailed , elegant, CG, (an extremely delicate and beautiful girl), incredibly absurdres, best quality,concept art"
       negative: "lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, "
       param: "Steps: 30, Sampler: Euler, CFG scale: 11.5, Seed: 1058629707, Size: 512x768, Variation seed: 1692844643, Variation seed strength: 0.27, Seed resize from: 1088x512"
 Background:
   '':
     simple background:
       value: simple background
     sunburst background:
       value: sunburst background
   Nature:
     Space:
       value: "space background, space,"
     Startrails:
       value: colorful startrails

Start Prompt Gallery

Refresh webui.

Slect tab "Prompt Gallery" on top navigation bar.

You should see your prompts in prompt-gallery.

Select avatar (model for demo) -> Select prompt-sets -> Click "send WebUI"

2-1

Checkout the downloaded Images

2-2

But just the prompt-set is not enough. Let's generate preview picture for them.

Populate previews and QC

For instance having added two new prompt-sets, there will be no preview pictures for them.

3-1

Goto tab "txt2img" and Select "Prompt Gallery" in tab "scripts"

3-2

Upload yaml library of avatar first and select avatar.

3-3

Add default prompts or default negative (prompt or negative prompt attach to each prompt-set), and upload prompt-set yaml library.

If you dont want to skip the prompt-set whose preview is already generated -> Uncheck "skip exists".

3-4

Wait for stable-diffusion-webui generate previews automatically.

3-5

Pick the best image for preview.

3-6

Reflesh. Check it out in Prompt Gallery.

3-7

You could always inspect you pictures manually in prompt-gallery-directory/assets/preview/

(back to top)

Cutomize default image generation parameters

Edit webui-directory/extension/prompt-gallery-extension-name/paste_this_to_webui_scripts_folder/prompt_gallery.py

You should see the customize setup at the top:

BATCH_SIZE = 4
N_ITER = 2
STEPS = 30
CFG_SCALE = 11.5
WIDTH = 512
HEIGHT = 768
SAMPLER_INDEX = 1
RESTORE_FACE = 'true'
TILING = 'false'
DO_NOT_SAVE_GRID = 'false'

Change the params if you need.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

(back to top)

Talk with me

(back to top)

Acknowledgments

(back to top)

About

Adding a feature for including models in the yaml params

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Python 98.9%
  • HTML 1.1%