diff --git a/javascript/style.css b/javascript/style.css index 1dbcea1b7..75cb34361 100644 --- a/javascript/style.css +++ b/javascript/style.css @@ -76,7 +76,7 @@ button.custom-button{ #txt2img_generate_line2, #img2img_generate_line2 { display: flex; } #txt2img_generate_line2 > button, #img2img_generate_line2 > button, #extras_generate_box > button { height: 2.2em; line-height: 0; min-width: unset; display: block !important; } #txt2img_tools > div, #img2img_tools > div { justify-content: space-around; margin-top: 0.5em; margin-bottom: 0em; } -#txt2img_tools > div > button, #img2img_tools > div > button { scale: 120%; } +#txt2img_tools > div > button, #img2img_tools > div > button { scale: 120%; min-width: 1em !important; min-height: 1em !important; } #txt2img_prompt, #txt2img_neg_prompt, #img2img_prompt, #img2img_neg_prompt { display: contents; } .interrogate-col{ min-width: 0 !important; max-width: fit-content; gap: 0.5em; } .interrogate-col > button{ flex: 1; } diff --git a/modules/sd_models.py b/modules/sd_models.py index 8cf20af56..2147e31db 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -736,7 +736,13 @@ def load_diffuser(checkpoint_info=None, already_loaded_state_dict=None, timer=No try: if model_type.startswith('Stable Diffusion'): diffusers_load_config['force_zeros_for_empty_prompt '] = shared.opts.diffusers_force_zeros - diffusers_load_config['requires_aesthetics_score '] = shared.opts.diffusers_aesthetics_score + diffusers_load_config['requires_aesthetics_score'] = shared.opts.diffusers_aesthetics_score + diffusers_load_config['config_files'] = { + 'v1': 'configs/v1-inference.yaml', + 'v2': 'configs/v2-inference-768-v.yaml', + 'xl': 'configs/sd_xl_base.yaml', + 'xl_refiner': 'configs/sd_xl_refiner.yaml', + } if hasattr(pipeline, 'from_single_file'): diffusers_load_config['use_safetensors'] = True sd_model = pipeline.from_single_file(checkpoint_info.path, **diffusers_load_config) diff --git a/modules/ui.py b/modules/ui.py index 6d86fdb84..c1154d9d9 100644 --- a/modules/ui.py +++ b/modules/ui.py @@ -389,30 +389,31 @@ def create_ui(startup_timer = None): tiling = gr.Checkbox(label='Tiling', value=False, elem_id="txt2img_tiling") with FormGroup(visible=show_second_pass.value, elem_id="txt2img_second_pass") as second_pass_group: - with FormRow(elem_id="sampler_selection_txt2img_alt_row1"): - latent_index = gr.Dropdown(label='Secondary sampler', elem_id="txt2img_sampling_alt", choices=[x.name for x in modules.sd_samplers.samplers], value='Default', type="index") - denoising_strength = gr.Slider(minimum=0.05, maximum=1.0, step=0.01, label='Denoising strength', value=0.5, elem_id="txt2img_denoising_strength") - with FormRow(elem_id="txt2img_hires_finalres", variant="compact"): - hr_final_resolution = FormHTML(value="", elem_id="txtimg_hr_finalres", label="Upscaled resolution", interactive=False) - with FormRow(elem_id="txt2img_hires_fix_row1", variant="compact"): - hr_upscaler = gr.Dropdown(label="Upscaler", elem_id="txt2img_hr_upscaler", choices=[*modules.shared.latent_upscale_modes, *[x.name for x in modules.shared.sd_upscalers]], value=modules.shared.latent_upscale_default_mode) - hr_force = gr.Checkbox(label='Force Hires', value=False, elem_id="txt2img_hr_force") - with FormRow(elem_id="txt2img_hires_fix_row2", variant="compact"): - hr_second_pass_steps = gr.Slider(minimum=0, maximum=99, step=1, label='Hires steps', elem_id="txt2img_steps_alt", value=20) - hr_scale = gr.Slider(minimum=1.0, maximum=4.0, step=0.05, label="Upscale by", value=2.0, elem_id="txt2img_hr_scale") - with FormRow(elem_id="txt2img_hires_fix_row3", variant="compact"): - hr_resize_x = gr.Slider(minimum=0, maximum=4096, step=8, label="Resize width to", value=0, elem_id="txt2img_hr_resize_x") - hr_resize_y = gr.Slider(minimum=0, maximum=4096, step=8, label="Resize height to", value=0, elem_id="txt2img_hr_resize_y") - - with FormRow(): - hr_refiner = FormHTML(value="Refiner", elem_id="txtimg_hr_refiner", interactive=False) - with FormRow(elem_id="txt2img_refiner_row1", variant="compact"): - refiner_start = gr.Slider(minimum=0.0, maximum=1.0, step=0.05, label='Refiner start', value=0.8, elem_id="txt2img_refiner_start") - refiner_steps = gr.Slider(minimum=0, maximum=99, step=1, label="Refiner steps", elem_id="txt2img_refiner_steps", value=5) - with FormRow(elem_id="txt2img_refiner_row3", variant="compact"): - refiner_prompt = gr.Textbox(value='', label='Secondary Prompt') - with FormRow(elem_id="txt2img_refiner_row4", variant="compact"): - refiner_negative = gr.Textbox(value='', label='Secondary negative prompt') + with FormGroup(): + with FormRow(elem_id="sampler_selection_txt2img_alt_row1"): + latent_index = gr.Dropdown(label='Secondary sampler', elem_id="txt2img_sampling_alt", choices=[x.name for x in modules.sd_samplers.samplers], value='Default', type="index") + denoising_strength = gr.Slider(minimum=0.05, maximum=1.0, step=0.01, label='Denoising strength', value=0.5, elem_id="txt2img_denoising_strength") + with FormRow(elem_id="txt2img_hires_finalres", variant="compact"): + hr_final_resolution = FormHTML(value="", elem_id="txtimg_hr_finalres", label="Upscaled resolution", interactive=False) + with FormRow(elem_id="txt2img_hires_fix_row1", variant="compact"): + hr_upscaler = gr.Dropdown(label="Upscaler", elem_id="txt2img_hr_upscaler", choices=[*modules.shared.latent_upscale_modes, *[x.name for x in modules.shared.sd_upscalers]], value=modules.shared.latent_upscale_default_mode) + hr_force = gr.Checkbox(label='Force Hires', value=False, elem_id="txt2img_hr_force") + with FormRow(elem_id="txt2img_hires_fix_row2", variant="compact"): + hr_second_pass_steps = gr.Slider(minimum=0, maximum=99, step=1, label='Hires steps', elem_id="txt2img_steps_alt", value=20) + hr_scale = gr.Slider(minimum=1.0, maximum=4.0, step=0.05, label="Upscale by", value=2.0, elem_id="txt2img_hr_scale") + with FormRow(elem_id="txt2img_hires_fix_row3", variant="compact"): + hr_resize_x = gr.Slider(minimum=0, maximum=4096, step=8, label="Resize width to", value=0, elem_id="txt2img_hr_resize_x") + hr_resize_y = gr.Slider(minimum=0, maximum=4096, step=8, label="Resize height to", value=0, elem_id="txt2img_hr_resize_y") + with FormGroup(visible=modules.shared.backend == modules.shared.Backend.DIFFUSERS): + with FormRow(): + hr_refiner = FormHTML(value="Refiner", elem_id="txtimg_hr_refiner", interactive=False) + with FormRow(elem_id="txt2img_refiner_row1", variant="compact"): + refiner_start = gr.Slider(minimum=0.0, maximum=1.0, step=0.05, label='Refiner start', value=0.8, elem_id="txt2img_refiner_start") + refiner_steps = gr.Slider(minimum=0, maximum=99, step=1, label="Refiner steps", elem_id="txt2img_refiner_steps", value=5) + with FormRow(elem_id="txt2img_refiner_row3", variant="compact"): + refiner_prompt = gr.Textbox(value='', label='Secondary Prompt') + with FormRow(elem_id="txt2img_refiner_row4", variant="compact"): + refiner_negative = gr.Textbox(value='', label='Secondary negative prompt') with FormRow(elem_id="txt2img_override_settings_row") as row: override_settings = create_override_settings_dropdown('txt2img', row)