* read infotext from gif images ([#13068](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13068))
* allow configuring the initial state of InputAccordion in ui-config.json ([#13189](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13189))
* allow editing whitespace delimiters for ctrl+up/ctrl+down prompt editing ([#13444](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13444))
* added option to play notification sound or not ([#13631](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13631))
* show the preview image in the full screen image viewer if available ([#13459](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13459))
* support for webui.settings.bat ([#13638](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13638))
* add an option to not print stack traces on ctrl+c
* start/restart generation by Ctrl (Alt) + Enter ([#13644](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13644))
* update prompts_from_file script to allow concatenating entries with the general prompt ([#13733](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13733))
* added a visible checkbox to input accordion
* added an option to hide all txt2img/img2img parameters in an accordion ([#13826](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13826))
* added 'Path' sorting option for Extra network cards ([#13968](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13968))
* enable prompt hotkeys in style editor ([#13931](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13931))
* option to show batch img2img results in UI ([#14009](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14009))
* infotext updates: add option to disregard certain infotext fields, add option to not include VAE in infotext, add explanation to infotext settings page, move some options to infotext settings page
* add FP32 fallback support on sd_vae_approx ([#14046](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14046))
* support XYZ scripts / split hires path from unet ([#14126](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14126))
* allow use of mutiple styles csv files ([#14125](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14125))
### Extensions and API:
* update gradio to 3.41.2
* support installed extensions list api ([#12774](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/12774))
* update pnginfo API to return dict with parsed values
* add noisy latent to `ExtraNoiseParams` for callback ([#12856](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/12856))
* show extension datetime in UTC ([#12864](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/12864), [#12865](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/12865), [#13281](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13281))
* add an option to choose how to combine hires fix and refiner
* include program version in info response. ([#13135](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13135))
* sd_unet support for SDXL
* patch DDPM.register_betas so that users can put given_betas in model yaml ([#13276](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13276))
* allow multiple localization files with same language in extensions ([#13077](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13077))
* add onEdit function for js and rework token-counter.js to use it
* fix the key error exception when processing override_settings keys ([#13567](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13567))
* ability for extensions to return custom data via api in response.images ([#13463](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13463))
* call state.jobnext() before postproces*() ([#13762](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13762))
* add option to set notification sound volume ([#13884](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13884))
* update Ruff to 0.1.6 ([#14059](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14059))
* catch uncaught exception with ui creation scripts ([#14120](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14120))
* use extension name for determining an extension is installed in the index ([#14063](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14063))
* update is_installed() from launch_utils.py to fix reinstalling already installed packages ([#14192](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14192))
### Bug Fixes:
* fix pix2pix producing bad results
* fix defaults settings page breaking when any of main UI tabs are hidden
* fix error that causes some extra networks to be disabled if both <lora:> and <lyco:> are present in the prompt
* fix for Reload UI function: if you reload UI on one tab, other opened tabs will no longer stop working
* update card on correct tab when editing metadata ([#13411](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13411))
* fix viewing/editing metadata when filename contains an apostrophe ([#13395](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13395))
* fix: --sd_model in "Prompts from file or textbox" script is not working ([#13302](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13302))
* better Support for Portable Git ([#13231](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13231))
* fix issues when webui_dir is not work_dir ([#13210](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13210))
* account for customizable extra network separators whyen removing extra network text from the prompt ([#12877](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/12877))
* re fix batch img2img output dir with script ([#13170](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13170))
* fix `--ckpt-dir` path separator and option use `short name` for checkpoint dropdown ([#13139](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13139))
* consolidated allowed preview formats, Fix extra network `.gif` not woking as preview ([#13121](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13121))
* fix venv_dir=- environment variable not working as expected on linux ([#13469](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13469))
* fix bug when using --gfpgan-models-path ([#13718](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13718))
* properly apply sort order for extra network cards when selected from dropdown
* fixes generation restart not working for some users when 'Ctrl+Enter' is pressed ([#13962](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13962))
* thread safe extra network list_items ([#13014](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13014))
* fix not able to exit metadata popup when pop up is too big ([#14156](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14156))
* fix auto focal point crop for opencv >= 4.8 ([#14121](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14121))
* make 'use-cpu all' actually apply to 'all' ([#14131](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14131))
* extras tab batch: actually use original filename
* make webui not crash when running with --disable-all-extensions option
* revert SGM noise multiplier change for img2img because it breaks hires fix
* do not change quicksettings dropdown option when value returned is `None` ([#12854](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/12854))
*[RC 1.6.0 - zoom is partly hidden] Update style.css ([#12839](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/12839))
* chore: change extension time format ([#12851](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/12851))
* WEBUI.SH - Use torch 2.1.0 release candidate for Navi 3 ([#12929](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/12929))
* add Fallback at images.read_info_from_image if exif data was invalid ([#13028](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13028))
* fix: checkpoints_loaded:{checkpoint:state_dict}, model.load_state_dict issue in dict value empty ([#13535](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13535))
* dir buttons start with / so only the correct dir will be shown and no… ([#13957](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/13957))
* alternate implementation for unet forward replacement that does not depend on hijack being applied
* re-add `keyedit_delimiters_whitespace` setting lost as part of commit e294e46 ([#14178](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14178))
* fix `save_samples` being checked early when saving masked composite ([#14177](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14177))
* slight optimization for mask and mask_composite ([#14181](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14181))
* add import_hook hack to work around basicsr/torchvision incompatibility ([#14186](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/14186))
shared.options_templates.update(shared.options_section(('settings_in_ui',"Settings in UI","ui"),{
"extra_options_txt2img":shared.OptionInfo([],"Options in main UI - txt2img",ui_components.DropdownMulti,lambda:{"choices":list(shared.opts.data_labels.keys())}).js("info","settingsHintsShowQuicksettings").info("setting entries that also appear in txt2img interfaces").needs_reload_ui(),
"settings_in_ui":shared.OptionHTML("""
"extra_options_img2img":shared.OptionInfo([],"Options in main UI - img2img",ui_components.DropdownMulti,lambda:{"choices":list(shared.opts.data_labels.keys())}).js("info","settingsHintsShowQuicksettings").info("setting entries that also appear in img2img interfaces").needs_reload_ui(),
This page allows you to add some settings to the main interface of txt2img and img2img tabs.
"extra_options_cols":shared.OptionInfo(1,"Options in main UI - number of columns",gr.Number,{"precision":0}).needs_reload_ui(),
"""),
"extra_options_accordion":shared.OptionInfo(False,"Options in main UI - place into an accordion").needs_reload_ui()
"extra_options_txt2img":shared.OptionInfo([],"Settings for txt2img",ui_components.DropdownMulti,lambda:{"choices":list(shared.opts.data_labels.keys())}).js("info","settingsHintsShowQuicksettings").info("setting entries that also appear in txt2img interfaces").needs_reload_ui(),
"extra_options_img2img":shared.OptionInfo([],"Settings for img2img",ui_components.DropdownMulti,lambda:{"choices":list(shared.opts.data_labels.keys())}).js("info","settingsHintsShowQuicksettings").info("setting entries that also appear in img2img interfaces").needs_reload_ui(),
"extra_options_cols":shared.OptionInfo(1,"Number of columns for added settings",gr.Number,{"precision":0}).needs_reload_ui(),
"extra_options_accordion":shared.OptionInfo(False,"Place added settings into an accordion").needs_reload_ui()
"hypertile_enable_unet":shared.OptionInfo(False,"Enable Hypertile U-Net").info("noticeable change in details of the generated picture; if enabled, overrides the setting below"),
"hypertile_enable_unet":shared.OptionInfo(False,"Enable Hypertile U-Net",infotext="Hypertile U-Net").info("enables hypertile for all modes, including hires fix second pass; noticeable change in details of the generated picture"),
"hypertile_enable_unet_secondpass":shared.OptionInfo(False,"Enable Hypertile U-Net for hires fix second pass"),
"hypertile_enable_unet_secondpass":shared.OptionInfo(False,"Enable Hypertile U-Net for hires fix second pass",infotext="Hypertile U-Net second pass").info("enables hypertile just for hires fix second pass - regardless of whether the above setting is enabled"),
"hypertile_max_depth_unet":shared.OptionInfo(3,"Hypertile U-Net max depth",gr.Slider,{"minimum":0,"maximum":3,"step":1}),
"hypertile_max_depth_unet":shared.OptionInfo(3,"Hypertile U-Net max depth",gr.Slider,{"minimum":0,"maximum":3,"step":1},infotext="Hypertile U-Net max depth").info("larger = more neural network layers affected; minor effect on performance"),
"hypertile_max_tile_unet":shared.OptionInfo(256,"Hypertile U-net max tile size",gr.Slider,{"minimum":0,"maximum":512,"step":16}),
"hypertile_max_tile_unet":shared.OptionInfo(256,"Hypertile U-Net max tile size",gr.Slider,{"minimum":0,"maximum":512,"step":16},infotext="Hypertile U-Net max tile size").info("larger = worse performance"),
"hypertile_enable_vae":shared.OptionInfo(False,"Enable Hypertile VAE").info("minimal change in the generated picture"),
"hypertile_enable_vae":shared.OptionInfo(False,"Enable Hypertile VAE",infotext="Hypertile VAE").info("minimal change in the generated picture"),
"hypertile_max_depth_vae":shared.OptionInfo(3,"Hypertile VAE max depth",gr.Slider,{"minimum":0,"maximum":3,"step":1}),
"hypertile_max_depth_vae":shared.OptionInfo(3,"Hypertile VAE max depth",gr.Slider,{"minimum":0,"maximum":3,"step":1},infotext="Hypertile VAE max depth"),
"hypertile_max_tile_vae":shared.OptionInfo(128,"Hypertile VAE max tile size",gr.Slider,{"minimum":0,"maximum":512,"step":16}),
"hypertile_max_tile_vae":shared.OptionInfo(128,"Hypertile VAE max tile size",gr.Slider,{"minimum":0,"maximum":512,"step":16},infotext="Hypertile VAE max tile size"),
Returns a function that applies the given value to the given value_name in opts.data.
"""
defvalidate(value_name:str,value:str):
value=int(value)
# validate value
ifnotmin_range==-1:
assertvalue>=min_range,f"Value {value} for {value_name} must be greater than or equal to {min_range}"
ifnotmax_range==-1:
assertvalue<=max_range,f"Value {value} for {value_name} must be less than or equal to {max_range}"
defapply_int(p,x,xs):
validate(value_name,x)
opts.data[value_name]=int(x)
returnapply_int
defbool_applier(value_name:str):
"""
Returns a function that applies the given value to the given value_name in opts.data.
"""
defvalidate(value_name:str,value:str):
assertvalue.lower()in["true","false"],f"Value {value} for {value_name} must be either true or false"
defapply_bool(p,x,xs):
validate(value_name,x)
value_boolean=x.lower()=="true"
opts.data[value_name]=value_boolean
returnapply_bool
defadd_axis_options():
extra_axis_options=[
xyz_grid.AxisOption("[Hypertile] Unet First pass Enabled",str,bool_applier("hypertile_enable_unet"),choices=xyz_grid.boolean_choice(reverse=True)),
xyz_grid.AxisOption("[Hypertile] Unet Second pass Enabled",str,bool_applier("hypertile_enable_unet_secondpass"),choices=xyz_grid.boolean_choice(reverse=True)),
xyz_grid.AxisOption("[Hypertile] Unet Max Depth",int,int_applier("hypertile_max_depth_unet",0,3),choices=lambda:[str(x)forxinrange(4)]),
xyz_grid.AxisOption("[Hypertile] Unet Max Tile Size",int,int_applier("hypertile_max_tile_unet",0,512)),
parser.add_argument("--disable-opt-split-attention",action='store_true',help="prefer no cross-attention layer optimization for automatic choice of optimization")
parser.add_argument("--disable-opt-split-attention",action='store_true',help="prefer no cross-attention layer optimization for automatic choice of optimization")
parser.add_argument("--disable-nan-check",action='store_true',help="do not check if produced images/latent spaces have nans; useful for running without a checkpoint in CI")
parser.add_argument("--disable-nan-check",action='store_true',help="do not check if produced images/latent spaces have nans; useful for running without a checkpoint in CI")
parser.add_argument("--use-cpu",nargs='+',help="use CPU as torch device for specified modules",default=[],type=str.lower)
parser.add_argument("--use-cpu",nargs='+',help="use CPU as torch device for specified modules",default=[],type=str.lower)
parser.add_argument("--use-ipex",action="store_true",help="use Intel XPU as torch device")
parser.add_argument("--disable-model-loading-ram-optimization",action='store_true',help="disable an optimization that reduces RAM use when loading a model")
parser.add_argument("--disable-model-loading-ram-optimization",action='store_true',help="disable an optimization that reduces RAM use when loading a model")
parser.add_argument("--listen",action='store_true',help="launch gradio with 0.0.0.0 as server name, allowing to respond to network requests")
parser.add_argument("--listen",action='store_true',help="launch gradio with 0.0.0.0 as server name, allowing to respond to network requests")
parser.add_argument("--port",type=int,help="launch gradio with given server port, you need root/admin rights for ports < 1024, defaults to 7860 if available",default=None)
parser.add_argument("--port",type=int,help="launch gradio with given server port, you need root/admin rights for ports < 1024, defaults to 7860 if available",default=None)
# The "Nuullll/intel-extension-for-pytorch" wheels were built from IPEX source for Intel Arc GPU: https://github.com/intel/intel-extension-for-pytorch/tree/xpu-main
# This is NOT an Intel official release so please use it at your own risk!!
# See https://github.com/Nuullll/intel-extension-for-pytorch/releases/tag/v2.0.110%2Bxpu-master%2Bdll-bundle for details.
#
# Strengths (over official IPEX 2.0.110 windows release):
"extra_networks_show_hidden_directories":OptionInfo(True,"Show hidden directories").info("directory is hidden if its name starts with \".\"."),
"extra_networks_show_hidden_directories":OptionInfo(True,"Show hidden directories").info("directory is hidden if its name starts with \".\"."),
"extra_networks_dir_button_function":OptionInfo(False,"Add a '/' to the beginning of directory buttons").info("Buttons will display the contents of the selected directory without acting as a search filter."),
"extra_networks_hidden_models":OptionInfo("When searched","Show cards for models in hidden directories",gr.Radio,{"choices":["Always","When searched","Never"]}).info('"When searched" option will only show the item when the search string has 4 characters or more'),
"extra_networks_hidden_models":OptionInfo("When searched","Show cards for models in hidden directories",gr.Radio,{"choices":["Always","When searched","Never"]}).info('"When searched" option will only show the item when the search string has 4 characters or more'),
"extra_networks_default_multiplier":OptionInfo(1.0,"Default multiplier for extra networks",gr.Slider,{"minimum":0.0,"maximum":2.0,"step":0.01}),
"extra_networks_default_multiplier":OptionInfo(1.0,"Default multiplier for extra networks",gr.Slider,{"minimum":0.0,"maximum":2.0,"step":0.01}),
"extra_networks_card_width":OptionInfo(0,"Card width for Extra Networks").info("in pixels"),
"extra_networks_card_width":OptionInfo(0,"Card width for Extra Networks").info("in pixels"),
"sd_hypernetwork":OptionInfo("None","Add hypernetwork to prompt",gr.Dropdown,lambda:{"choices":["None",*shared.hypernetworks]},refresh=shared_items.reload_hypernetworks),
"sd_hypernetwork":OptionInfo("None","Add hypernetwork to prompt",gr.Dropdown,lambda:{"choices":["None",*shared.hypernetworks]},refresh=shared_items.reload_hypernetworks),
"keyedit_precision_attention":OptionInfo(0.1,"Precision for (attention:1.1) when editing the prompt with Ctrl+up/down",gr.Slider,{"minimum":0.01,"maximum":0.2,"step":0.001}),
"gradio_theme":OptionInfo("Default","Gradio theme",ui_components.DropdownEditable,lambda:{"choices":["Default"]+shared_gradio_themes.gradio_hf_hub_themes}).info("you can also manually enter any of themes from the <a href='https://huggingface.co/spaces/gradio/theme-gallery'>gallery</a>.").needs_reload_ui(),
"keyedit_precision_extra":OptionInfo(0.05,"Precision for <extra networks:0.9> when editing the prompt with Ctrl+up/down",gr.Slider,{"minimum":0.01,"maximum":0.2,"step":0.001}),
"gradio_themes_cache":OptionInfo(True,"Cache gradio themes locally").info("disable to update the selected Gradio theme"),
"keyedit_delimiters":OptionInfo(r".,\/!?%^*;:{}=`~() ","Word delimiters when editing the prompt with Ctrl+up/down"),
"gallery_height":OptionInfo("","Gallery height",gr.Textbox).info("an be any valid CSS value").needs_reload_ui(),
"compact_prompt_box":OptionInfo(False,"Compact prompt layout").info("puts prompt and negative prompt inside the Generate tab, leaving more vertical space for the image on the right").needs_reload_ui(),
"samplers_in_dropdown":OptionInfo(True,"Use dropdown for sampler selection instead of radio group").needs_reload_ui(),
"samplers_in_dropdown":OptionInfo(True,"Use dropdown for sampler selection instead of radio group").needs_reload_ui(),
"dimensions_and_batch_together":OptionInfo(True,"Show Width/Height and Batch sliders in same row").needs_reload_ui(),
"dimensions_and_batch_together":OptionInfo(True,"Show Width/Height and Batch sliders in same row").needs_reload_ui(),
"keyedit_precision_attention":OptionInfo(0.1,"Ctrl+up/down precision when editing (attention:1.1)",gr.Slider,{"minimum":0.01,"maximum":0.2,"step":0.001}),
"keyedit_precision_extra":OptionInfo(0.05,"Ctrl+up/down precision when editing <extra networks:0.9>",gr.Slider,{"minimum":0.01,"maximum":0.2,"step":0.001}),
"keyedit_delimiters":OptionInfo(r".,\/!?%^*;:{}=`~() ","Ctrl+up/down word delimiters"),
"quicksettings_list":OptionInfo(["sd_model_checkpoint"],"Quicksettings list",ui_components.DropdownMulti,lambda:{"choices":list(shared.opts.data_labels.keys())}).js("info","settingsHintsShowQuicksettings").info("setting entries that appear at the top of page rather than in settings tab").needs_reload_ui(),
"sd_checkpoint_dropdown_use_short":OptionInfo(False,"Checkpoint dropdown: use filenames without paths").info("models in subdirectories like photo/sd15.ckpt will be listed as just sd15.ckpt"),
"sd_checkpoint_dropdown_use_short":OptionInfo(False,"Checkpoint dropdown: use filenames without paths").info("models in subdirectories like photo/sd15.ckpt will be listed as just sd15.ckpt"),
"hires_fix_show_sampler":OptionInfo(False,"Hires fix: show hires checkpoint and sampler selection").needs_reload_ui(),
"hires_fix_show_sampler":OptionInfo(False,"Hires fix: show hires checkpoint and sampler selection").needs_reload_ui(),
"hires_fix_show_prompts":OptionInfo(False,"Hires fix: show hires prompt and negative prompt").needs_reload_ui(),
"hires_fix_show_prompts":OptionInfo(False,"Hires fix: show hires prompt and negative prompt").needs_reload_ui(),
"txt2img_settings_accordion":OptionInfo(False,"Settings in txt2img hidden under Accordion").needs_reload_ui(),
"txt2img_settings_accordion":OptionInfo(False,"Settings in txt2img hidden under Accordion").needs_reload_ui(),
"img2img_settings_accordion":OptionInfo(False,"Settings in img2img hidden under Accordion").needs_reload_ui(),
"img2img_settings_accordion":OptionInfo(False,"Settings in img2img hidden under Accordion").needs_reload_ui(),
"compact_prompt_box":OptionInfo(False,"Compact prompt layout").info("puts prompt and negative prompt inside the Generate tab, leaving more vertical space for the image on the right").needs_reload_ui(),
"quicksettings_list":OptionInfo(["sd_model_checkpoint"],"Quicksettings list",ui_components.DropdownMulti,lambda:{"choices":list(shared.opts.data_labels.keys())}).js("info","settingsHintsShowQuicksettings").info("setting entries that appear at the top of page rather than in settings tab").needs_reload_ui(),
"ui_reorder_list":OptionInfo([],"UI item order for txt2img/img2img tabs",ui_components.DropdownMulti,lambda:{"choices":list(shared_items.ui_reorder_categories())}).info("selected items appear first").needs_reload_ui(),
"gradio_theme":OptionInfo("Default","Gradio theme",ui_components.DropdownEditable,lambda:{"choices":["Default"]+shared_gradio_themes.gradio_hf_hub_themes}).info("you can also manually enter any of themes from the <a href='https://huggingface.co/spaces/gradio/theme-gallery'>gallery</a>.").needs_reload_ui(),
"gradio_themes_cache":OptionInfo(True,"Cache gradio themes locally").info("disable to update the selected Gradio theme"),
"show_progress_in_title":OptionInfo(True,"Show generation progress in window title."),
"send_seed":OptionInfo(True,"Send seed when sending prompt or image to other interface"),
"send_size":OptionInfo(True,"Send size when sending prompt or image to another interface"),
"add_model_hash_to_info":OptionInfo(True,"Add model hash to generation information"),
"infotext_explanation":OptionHTML("""
"add_model_name_to_info":OptionInfo(True,"Add model name to generation information"),
Infotext is what this software calls the text that contains generation parameters and can be used to generate the same picture again.
"add_user_name_to_info":OptionInfo(False,"Add user name to generation information when authenticated"),
It is displayed in UI below the image. To use infotext, paste it into the prompt and click the ↙️ paste button.
"add_version_to_infotext":OptionInfo(True,"Add program version to generation information"),
"""),
"enable_pnginfo":OptionInfo(True,"Write infotext to metadata of the generated image"),
"save_txt":OptionInfo(False,"Create a text file with infotext next to every generated image"),
"add_model_name_to_info":OptionInfo(True,"Add model name to infotext"),
"add_model_hash_to_info":OptionInfo(True,"Add model hash to infotext"),
"add_vae_name_to_info":OptionInfo(True,"Add VAE name to infotext"),
"add_vae_hash_to_info":OptionInfo(True,"Add VAE hash to infotext"),
"add_user_name_to_info":OptionInfo(False,"Add user name to infotext when authenticated"),
"add_version_to_infotext":OptionInfo(True,"Add program version to infotext"),
"disable_weights_auto_swap":OptionInfo(True,"Disregard checkpoint information from pasted infotext").info("when reading generation parameters from text into UI"),
"disable_weights_auto_swap":OptionInfo(True,"Disregard checkpoint information from pasted infotext").info("when reading generation parameters from text into UI"),
"infotext_skip_pasting":OptionInfo([],"Disregard fields from pasted infotext",ui_components.DropdownMulti,lambda:{"choices":shared_items.get_infotext_names()}),
"infotext_styles":OptionInfo("Apply if any","Infer styles from prompts of pasted infotext",gr.Radio,{"choices":["Ignore","Apply","Discard","Apply if any"]}).info("when reading generation parameters from text into UI)").html("""<ul style='margin-left: 1.5em'>
"infotext_styles":OptionInfo("Apply if any","Infer styles from prompts of pasted infotext",gr.Radio,{"choices":["Ignore","Apply","Discard","Apply if any"]}).info("when reading generation parameters from text into UI)").html("""<ul style='margin-left: 1.5em'>
<li>Ignore: keep prompt and styles dropdown as it is.</li>
<li>Ignore: keep prompt and styles dropdown as it is.</li>
<li>Apply: remove style text from prompt, always replace styles dropdown value with found styles (even if none are found).</li>
<li>Apply: remove style text from prompt, always replace styles dropdown value with found styles (even if none are found).</li>
'postprocessing_enable_in_main_ui':OptionInfo([],"Enable postprocessing operations in txt2img and img2img tabs",ui_components.DropdownMulti,lambda:{"choices":[x.nameforxinshared_items.postprocessing_scripts()]}),
'postprocessing_enable_in_main_ui':OptionInfo([],"Enable postprocessing operations in txt2img and img2img tabs",ui_components.DropdownMulti,lambda:{"choices":[x.nameforxinshared_items.postprocessing_scripts()]}),
'upscaling_max_images_in_cache':OptionInfo(5,"Maximum number of images in upscaling cache",gr.Slider,{"minimum":0,"maximum":10,"step":1}),
'upscaling_max_images_in_cache':OptionInfo(5,"Maximum number of images in upscaling cache",gr.Slider,{"minimum":0,"maximum":10,"step":1}),
'postprocessing_existing_caption_action':OptionInfo("Ignore","Action for existing captions",gr.Radio,{"choices":["Ignore","Keep","Prepend","Append"]}).info("when generating captions using postprocessing; Ignore = use generated; Keep = use original; Prepend/Append = combine both"),
process_focal_crop_face_weight=gr.Slider(label='Focal point face weight',value=0.9,minimum=0.0,maximum=1.0,step=0.05,elem_id="train_process_focal_crop_face_weight")
process_focal_crop_entropy_weight=gr.Slider(label='Focal point entropy weight',value=0.15,minimum=0.0,maximum=1.0,step=0.05,elem_id="train_process_focal_crop_entropy_weight")
process_focal_crop_edges_weight=gr.Slider(label='Focal point edges weight',value=0.5,minimum=0.0,maximum=1.0,step=0.05,elem_id="train_process_focal_crop_edges_weight")
extras_batch_output_dir=gr.Textbox(label="Output directory",**shared.hide_dirs,placeholder="Leave blank to save images to the default path.",elem_id="extras_batch_output_dir")
extras_batch_output_dir=gr.Textbox(label="Output directory",**shared.hide_dirs,placeholder="Leave blank to save images to the default path.",elem_id="extras_batch_output_dir")
show_extras_results=gr.Checkbox(label='Show result images',value=True,elem_id="extras_show_extras_results")
show_extras_results=gr.Checkbox(label='Show result images',value=True,elem_id="extras_show_extras_results")
withui_components.InputAccordion(False,label="Auto focal point crop")asenable:
face_weight=gr.Slider(label='Focal point face weight',value=0.9,minimum=0.0,maximum=1.0,step=0.05,elem_id="postprocess_focal_crop_face_weight")
entropy_weight=gr.Slider(label='Focal point entropy weight',value=0.15,minimum=0.0,maximum=1.0,step=0.05,elem_id="postprocess_focal_crop_entropy_weight")
edges_weight=gr.Slider(label='Focal point edges weight',value=0.5,minimum=0.0,maximum=1.0,step=0.05,elem_id="postprocess_focal_crop_edges_weight")