124 lines
3.8 KiB
Python
124 lines
3.8 KiB
Python
import gradio as gr
|
|
from modules import shared
|
|
|
|
from sd_dynamic_prompts.helpers import load_magicprompt_models
|
|
|
|
|
|
def on_ui_settings():
|
|
section = "dynamicprompts", "Dynamic Prompts"
|
|
shared.opts.add_option(
|
|
key="dp_ignore_whitespace",
|
|
info=shared.OptionInfo(
|
|
False,
|
|
label="Ignore whitespace in prompts: All newlines, tabs, and multiple spaces are replaced by a single space",
|
|
section=section,
|
|
),
|
|
)
|
|
shared.opts.add_option(
|
|
key="dp_write_raw_template",
|
|
info=shared.OptionInfo(
|
|
False,
|
|
label="Save template to metadata: Write prompt template into the PNG metadata",
|
|
section=section,
|
|
),
|
|
)
|
|
shared.opts.add_option(
|
|
key="dp_write_prompts_to_file",
|
|
info=shared.OptionInfo(
|
|
False,
|
|
label="Write prompts to file: Create a new .txt file for every batch containing the prompt template as well as the generated prompts.",
|
|
section=section,
|
|
),
|
|
)
|
|
shared.opts.add_option(
|
|
key="dp_parser_variant_start",
|
|
info=shared.OptionInfo(
|
|
"{",
|
|
label="String to use as left bracket for parser variants, .e.g {variant1|variant2|variant3}",
|
|
section=section,
|
|
),
|
|
)
|
|
shared.opts.add_option(
|
|
key="dp_parser_variant_end",
|
|
info=shared.OptionInfo(
|
|
"}",
|
|
label="String to use as right bracket for parser variants, .e.g {variant1|variant2|variant3}",
|
|
section=section,
|
|
),
|
|
)
|
|
shared.opts.add_option(
|
|
key="dp_parser_wildcard_wrap",
|
|
info=shared.OptionInfo(
|
|
"__",
|
|
label="String to use as wrap for parser wildcard, .e.g __wildcard__",
|
|
section=section,
|
|
),
|
|
)
|
|
shared.opts.add_option(
|
|
key="dp_limit_jinja_prompts",
|
|
info=shared.OptionInfo(
|
|
False,
|
|
label="Limit Jinja prompts: Limit the number of prompts to batch_count * batch_size. The default is to generate batch_count * batch_size * number of prompts generated by Jinja",
|
|
section=section,
|
|
),
|
|
)
|
|
|
|
shared.opts.add_option(
|
|
key="dp_auto_purge_cache",
|
|
info=shared.OptionInfo(
|
|
False,
|
|
label="Automatically purge wildcard cache on every generation.",
|
|
section=section,
|
|
),
|
|
)
|
|
|
|
shared.opts.add_option(
|
|
key="dp_wildcard_manager_no_dedupe",
|
|
info=shared.OptionInfo(
|
|
False,
|
|
label="Disable de-duplication of wildcards before processing.",
|
|
section=section,
|
|
),
|
|
)
|
|
|
|
shared.opts.add_option(
|
|
key="dp_wildcard_manager_no_sort",
|
|
info=shared.OptionInfo(
|
|
False,
|
|
label="Disable sorting of wildcards before processing.",
|
|
section=section,
|
|
),
|
|
)
|
|
|
|
shared.opts.add_option(
|
|
key="dp_wildcard_manager_shuffle",
|
|
info=shared.OptionInfo(
|
|
False,
|
|
label="Shuffle wildcards before use for more random outputs",
|
|
section=section,
|
|
),
|
|
)
|
|
|
|
magic_models = load_magicprompt_models()
|
|
shared.opts.add_option(
|
|
key="dp_magicprompt_default_model",
|
|
info=shared.OptionInfo(
|
|
magic_models[0] if magic_models else "",
|
|
label="Default magic prompt model",
|
|
component=gr.Dropdown,
|
|
component_args={"choices": magic_models},
|
|
section=section,
|
|
),
|
|
)
|
|
|
|
shared.opts.add_option(
|
|
key="dp_magicprompt_batch_size",
|
|
info=shared.OptionInfo(
|
|
1,
|
|
label="Magic Prompt batch size (higher is faster but uses more memory)",
|
|
component=gr.Slider,
|
|
component_args={"minimum": 1, "maximum": 64, "step": 1},
|
|
section=section,
|
|
),
|
|
)
|