mirror of
https://github.com/vladmandic/automatic
synced 2026-09-19 17:24:32 +02:00
allow custom detailer resolution
Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
@@ -81,6 +81,8 @@ Also, there are quite a few offloading improvements and many quality-of-life cha
|
||||
- disallow `zluda` and `directml` on non-windows platforms
|
||||
- update openvino to `openvino==2025.3.0`
|
||||
- add deprecation warning for `python==3.9`
|
||||
- **Detailer** allow manually setting processing resolution
|
||||
*note*: this does not impact the actual image resolution, only the resolution at which detailer internally operates
|
||||
- **Fixes**
|
||||
- normalize path hanlding when deleting images
|
||||
- unified compile upscalers
|
||||
|
||||
@@ -11,12 +11,10 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladma
|
||||
- Refactor: [GGUF](https://huggingface.co/docs/diffusers/main/en/quantization/gguf)
|
||||
- Feature: Diffusers [group offloading](https://github.com/vladmandic/sdnext/issues/4049)
|
||||
- Feature: LoRA add OMI format support for SD35/FLUX.1
|
||||
- Video: Generic API support
|
||||
- Video: LTX TeaCache and others
|
||||
- Video: LTX API
|
||||
- Video: LTX PromptEnhance
|
||||
- Video: LTX Conditioning preprocess
|
||||
- [Cosmos-Predict2-Video](https://huggingface.co/nvidia/Cosmos-Predict2-2B-Video2World)(https://github.com/huggingface/diffusers/pull/11695)
|
||||
- Video Core: API
|
||||
- Video LTX: TeaCache and others, API, Conditioning preprocess Video: LTX API
|
||||
- <https://huggingface.co/tencent/HunyuanImage-2.1>
|
||||
- <https://huggingface.co/Alpha-VLLM/Lumina-DiMOO>
|
||||
|
||||
### Blocked items
|
||||
|
||||
|
||||
@@ -256,7 +256,7 @@ def control_run(state: str = '', # pylint: disable=keyword-arg-before-vararg
|
||||
seed: int = -1, subseed: int = -1, subseed_strength: float = 0, seed_resize_from_h: int = -1, seed_resize_from_w: int = -1,
|
||||
cfg_scale: float = 6.0, clip_skip: float = 1.0, image_cfg_scale: float = 6.0, diffusers_guidance_rescale: float = 0.7, pag_scale: float = 0.0, pag_adaptive: float = 0.5, cfg_end: float = 1.0,
|
||||
vae_type: str = 'Full', tiling: bool = False, hidiffusion: bool = False,
|
||||
detailer_enabled: bool = True, detailer_prompt: str = '', detailer_negative: str = '', detailer_steps: int = 10, detailer_strength: float = 0.3,
|
||||
detailer_enabled: bool = True, detailer_prompt: str = '', detailer_negative: str = '', detailer_steps: int = 10, detailer_strength: float = 0.3, detailer_resolution: int = 1024,
|
||||
hdr_mode: int = 0, hdr_brightness: float = 0, hdr_color: float = 0, hdr_sharpen: float = 0, hdr_clamp: bool = False, hdr_boundary: float = 4.0, hdr_threshold: float = 0.95,
|
||||
hdr_maximize: bool = False, hdr_max_center: float = 0.6, hdr_max_boundary: float = 1.0, hdr_color_picker: str = None, hdr_tint_ratio: float = 0,
|
||||
resize_mode_before: int = 0, resize_name_before: str = 'None', resize_context_before: str = 'None', width_before: int = 512, height_before: int = 512, scale_by_before: float = 1.0, selected_scale_tab_before: int = 0,
|
||||
@@ -360,6 +360,7 @@ def control_run(state: str = '', # pylint: disable=keyword-arg-before-vararg
|
||||
detailer_negative = detailer_negative,
|
||||
detailer_steps = detailer_steps,
|
||||
detailer_strength = detailer_strength,
|
||||
detailer_resolution = detailer_resolution,
|
||||
# inpaint
|
||||
inpaint_full_res = masking.opts.mask_only,
|
||||
inpainting_mask_invert = 1 if masking.opts.invert else 0,
|
||||
|
||||
+2
-1
@@ -159,7 +159,7 @@ def img2img(id_task: str, state: str, mode: int,
|
||||
sampler_index,
|
||||
mask_blur, mask_alpha,
|
||||
vae_type, tiling, hidiffusion,
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength,
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength, detailer_resolution,
|
||||
n_iter, batch_size,
|
||||
cfg_scale, image_cfg_scale,
|
||||
diffusers_guidance_rescale,
|
||||
@@ -268,6 +268,7 @@ def img2img(id_task: str, state: str, mode: int,
|
||||
detailer_negative=detailer_negative,
|
||||
detailer_steps=detailer_steps,
|
||||
detailer_strength=detailer_strength,
|
||||
detailer_resolution=detailer_resolution,
|
||||
init_images=[image],
|
||||
mask=mask,
|
||||
mask_blur=mask_blur,
|
||||
|
||||
+20
-17
@@ -270,7 +270,6 @@ class YoloRestorer(Detailer):
|
||||
items = self.merge(items)
|
||||
|
||||
shared.opts.data['mask_apply_overlay'] = True
|
||||
resolution = 512 if shared.sd_model_type in ['none', 'sd', 'lcm', 'unknown'] else 1024
|
||||
orig_prompt: str = orig_p.get('all_prompts', [''])[0]
|
||||
orig_negative: str = orig_p.get('all_negative_prompts', [''])[0]
|
||||
prompt: str = orig_p.get('detailer_prompt', '')
|
||||
@@ -304,8 +303,8 @@ class YoloRestorer(Detailer):
|
||||
'inpainting_mask_invert': 0,
|
||||
'mask_blur': shared.opts.detailer_blur,
|
||||
'inpaint_full_res_padding': shared.opts.detailer_padding,
|
||||
'width': resolution,
|
||||
'height': resolution,
|
||||
'width': p.detailer_resolution,
|
||||
'height': p.detailer_resolution,
|
||||
'vae_type': orig_p.get('vae_type', 'Full'),
|
||||
}
|
||||
args.update(model_args)
|
||||
@@ -335,6 +334,7 @@ class YoloRestorer(Detailer):
|
||||
p.state = ''
|
||||
prev_state = shared.state.job
|
||||
pc = copy(p)
|
||||
pc.ops.append('detailer')
|
||||
|
||||
orig_sigma_adjust: float = shared.opts.schedulers_sigma_adjust
|
||||
orig_sigma_end: float = shared.opts.schedulers_sigma_adjust_max
|
||||
@@ -390,7 +390,7 @@ class YoloRestorer(Detailer):
|
||||
return gr.update(visible=False), gr.update(visible=True, value=value), gr.update(visible=False)
|
||||
|
||||
def ui(self, tab: str):
|
||||
def ui_settings_change(merge, detailers, text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end):
|
||||
def ui_settings_change(merge, detailers, text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end, resolution):
|
||||
shared.opts.detailer_merge = merge
|
||||
shared.opts.detailer_models = detailers
|
||||
shared.opts.detailer_args = text if not self.ui_mode else ''
|
||||
@@ -404,8 +404,9 @@ class YoloRestorer(Detailer):
|
||||
shared.opts.detailer_iou = iou
|
||||
shared.opts.detailer_sigma_adjust = renoise_value
|
||||
shared.opts.detailer_sigma_adjust_max = renoise_end
|
||||
# shared.opts.detailer_resolution = resolution
|
||||
shared.opts.save(shared.config_filename, silent=True)
|
||||
shared.log.debug(f'Detailer settings: models={detailers} classes={classes} strength={strength} conf={min_confidence} max={max_detected} iou={iou} size={min_size}-{max_size} padding={padding} steps={steps}')
|
||||
shared.log.debug(f'Detailer settings: models={detailers} classes={classes} strength={strength} conf={min_confidence} max={max_detected} iou={iou} size={min_size}-{max_size} padding={padding} steps={steps} resolution={resolution}')
|
||||
|
||||
with gr.Accordion(open=False, label="Detailer", elem_id=f"{tab}_detailer_accordion", elem_classes=["small-accordion"]):
|
||||
with gr.Row():
|
||||
@@ -427,6 +428,7 @@ class YoloRestorer(Detailer):
|
||||
steps = gr.Slider(label="Detailer steps", elem_id=f"{tab}_detailer_steps", value=10, minimum=0, maximum=99, step=1)
|
||||
strength = gr.Slider(label="Detailer strength", elem_id=f"{tab}_detailer_strength", value=0.3, minimum=0, maximum=1, step=0.01)
|
||||
with gr.Row():
|
||||
resolution = gr.Slider(label="Detailer resolution", elem_id=f"{tab}_detailer_resolution", value=1024, minimum=256, maximum=4096, step=8)
|
||||
max_detected = gr.Slider(label="Max detected", elem_id=f"{tab}_detailer_max", value=shared.opts.detailer_max, minimum=1, maximum=10, step=1)
|
||||
with gr.Row():
|
||||
padding = gr.Slider(label="Edge padding", elem_id=f"{tab}_detailer_padding", value=shared.opts.detailer_padding, minimum=0, maximum=100, step=1)
|
||||
@@ -443,18 +445,19 @@ class YoloRestorer(Detailer):
|
||||
renoise_value = gr.Slider(minimum=0.5, maximum=1.5, step=0.01, label='Renoise', value=shared.opts.detailer_sigma_adjust, elem_id=f"{tab}_detailer_renoise")
|
||||
renoise_end = gr.Slider(minimum=0.0, maximum=1.0, step=0.01, label='Renoise end', value=shared.opts.detailer_sigma_adjust_max, elem_id=f"{tab}_detailer_renoise_end")
|
||||
|
||||
merge.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end], outputs=[])
|
||||
detailers.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end], outputs=[])
|
||||
detailers_text.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end], outputs=[])
|
||||
classes.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end], outputs=[])
|
||||
padding.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end], outputs=[])
|
||||
blur.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end], outputs=[])
|
||||
min_confidence.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end], outputs=[])
|
||||
max_detected.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end], outputs=[])
|
||||
min_size.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end], outputs=[])
|
||||
max_size.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end], outputs=[])
|
||||
iou.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end], outputs=[])
|
||||
return enabled, prompt, negative, steps, strength
|
||||
merge.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end, resolution], outputs=[])
|
||||
detailers.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end, resolution], outputs=[])
|
||||
detailers_text.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end, resolution], outputs=[])
|
||||
classes.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end, resolution], outputs=[])
|
||||
padding.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end, resolution], outputs=[])
|
||||
blur.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end, resolution], outputs=[])
|
||||
min_confidence.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end, resolution], outputs=[])
|
||||
max_detected.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end, resolution], outputs=[])
|
||||
min_size.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end, resolution], outputs=[])
|
||||
max_size.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end, resolution], outputs=[])
|
||||
iou.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end, resolution], outputs=[])
|
||||
resolution.change(fn=ui_settings_change, inputs=[merge, detailers, detailers_text, classes, strength, padding, blur, min_confidence, max_detected, min_size, max_size, iou, steps, renoise_value, renoise_end, resolution], outputs=[])
|
||||
return enabled, prompt, negative, steps, strength, resolution
|
||||
|
||||
|
||||
def initialize():
|
||||
|
||||
@@ -57,6 +57,7 @@ class StableDiffusionProcessing:
|
||||
detailer_negative: str = '',
|
||||
detailer_steps: int = 10,
|
||||
detailer_strength: float = 0.3,
|
||||
detailer_resolution: int = 1024,
|
||||
# hdr corrections
|
||||
hdr_mode: int = 0,
|
||||
hdr_brightness: float = 0,
|
||||
@@ -204,6 +205,7 @@ class StableDiffusionProcessing:
|
||||
self.detailer_negative = detailer_negative
|
||||
self.detailer_steps = detailer_steps
|
||||
self.detailer_strength = detailer_strength
|
||||
self.detailer_resolution = detailer_resolution
|
||||
self.restore_faces = restore_faces
|
||||
self.init_images = init_images
|
||||
self.resize_mode = resize_mode
|
||||
|
||||
@@ -126,6 +126,9 @@ def process_base(p: processing.StableDiffusionProcessing):
|
||||
update_sampler(p, shared.sd_model)
|
||||
timer.process.record('prepare')
|
||||
process_pre(p)
|
||||
desc = 'Base'
|
||||
if 'detailer' in p.ops:
|
||||
desc = 'Detail'
|
||||
base_args = set_pipeline_args(
|
||||
p=p,
|
||||
model=shared.sd_model,
|
||||
@@ -143,7 +146,7 @@ def process_base(p: processing.StableDiffusionProcessing):
|
||||
num_frames=getattr(p, 'frames', 1),
|
||||
output_type='latent',
|
||||
clip_skip=p.clip_skip,
|
||||
desc='Base',
|
||||
desc=desc,
|
||||
)
|
||||
base_steps = base_args.get('prior_num_inference_steps', None) or p.steps or base_args.get('num_inference_steps', None)
|
||||
shared.state.update(get_job_name(p, shared.sd_model), base_steps, 1)
|
||||
|
||||
@@ -143,6 +143,7 @@ def create_infotext(p: StableDiffusionProcessing, all_prompts=None, all_seeds=No
|
||||
args["Detailer"] = ', '.join(shared.opts.detailer_models) if len(shared.opts.detailer_args) == 0 else shared.opts.detailer_args
|
||||
args["Detailer steps"] = p.detailer_steps
|
||||
args["Detailer strength"] = p.detailer_strength
|
||||
args["Detailer resolution"] = p.detailer_resolution if p.detailer_resolution != 1024 else None
|
||||
args["Detailer prompt"] = p.detailer_prompt if len(p.detailer_prompt) > 0 else None
|
||||
args["Detailer negative"] = p.detailer_negative if len(p.detailer_negative) > 0 else None
|
||||
if 'color' in p.ops:
|
||||
|
||||
@@ -592,6 +592,7 @@ options_templates.update(options_section(('postprocessing', "Postprocessing"), {
|
||||
"detailer_iou": OptionInfo(0.5, "Max overlap", gr.Slider, {"minimum": 0, "maximum": 1.0, "step": 0.05, "visible": False}),
|
||||
"detailer_sigma_adjust": OptionInfo(1.0, "Detailer sigma adjust", gr.Slider, {"minimum": 0, "maximum": 1.0, "step": 0.05, "visible": False}),
|
||||
"detailer_sigma_adjust_max": OptionInfo(1.0, "Detailer sigma end", gr.Slider, {"minimum": 0, "maximum": 1.0, "step": 0.05, "visible": False}),
|
||||
# "detailer_resolution": OptionInfo(1024, "Detailer resolution", gr.Slider, {"minimum": 256, "maximum": 4096, "step": 8, "visible": False}),
|
||||
"detailer_min_size": OptionInfo(0.0, "Min object size", gr.Slider, {"minimum": 0.0, "maximum": 1.0, "step": 0.05, "visible": False}),
|
||||
"detailer_max_size": OptionInfo(1.0, "Max object size", gr.Slider, {"minimum": 0.0, "maximum": 1.0, "step": 0.05, "visible": False}),
|
||||
"detailer_padding": OptionInfo(20, "Item padding", gr.Slider, {"minimum": 0, "maximum": 100, "step": 1, "visible": False}),
|
||||
|
||||
+2
-1
@@ -12,7 +12,7 @@ def txt2img(id_task, state,
|
||||
prompt, negative_prompt, prompt_styles,
|
||||
steps, sampler_index, hr_sampler_index,
|
||||
vae_type, tiling, hidiffusion,
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength,
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength, detailer_resolution,
|
||||
n_iter, batch_size,
|
||||
cfg_scale, image_cfg_scale, diffusers_guidance_rescale, pag_scale, pag_adaptive, cfg_end,
|
||||
clip_skip,
|
||||
@@ -70,6 +70,7 @@ def txt2img(id_task, state,
|
||||
detailer_negative=detailer_negative,
|
||||
detailer_steps=detailer_steps,
|
||||
detailer_strength=detailer_strength,
|
||||
detailer_resolution=detailer_resolution,
|
||||
tiling=tiling,
|
||||
hidiffusion=hidiffusion,
|
||||
enable_hr=enable_hr,
|
||||
|
||||
@@ -174,7 +174,7 @@ def create_ui(_blocks: gr.Blocks=None):
|
||||
video_type, video_duration, video_loop, video_pad, video_interpolate = create_video_inputs(tab='control')
|
||||
|
||||
enable_hr, hr_sampler_index, hr_denoising_strength, hr_resize_mode, hr_resize_context, hr_upscaler, hr_force, hr_second_pass_steps, hr_scale, hr_resize_x, hr_resize_y, refiner_steps, refiner_start, refiner_prompt, refiner_negative = ui_sections.create_hires_inputs('control')
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength = shared.yolo.ui('control')
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength, detailer_resolution = shared.yolo.ui('control')
|
||||
|
||||
with gr.Row():
|
||||
override_settings = ui_common.create_override_inputs('control')
|
||||
@@ -584,7 +584,7 @@ def create_ui(_blocks: gr.Blocks=None):
|
||||
steps, sampler_index,
|
||||
seed, subseed, subseed_strength, seed_resize_from_h, seed_resize_from_w,
|
||||
cfg_scale, clip_skip, image_cfg_scale, guidance_rescale, pag_scale, pag_adaptive, cfg_end, vae_type, tiling, hidiffusion,
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength,
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength, detailer_resolution,
|
||||
hdr_mode, hdr_brightness, hdr_color, hdr_sharpen, hdr_clamp, hdr_boundary, hdr_threshold, hdr_maximize, hdr_max_center, hdr_max_boundary, hdr_color_picker, hdr_tint_ratio,
|
||||
resize_mode_before, resize_name_before, resize_context_before, width_before, height_before, scale_by_before, selected_scale_tab_before,
|
||||
resize_mode_after, resize_name_after, resize_context_after, width_after, height_after, scale_by_after, selected_scale_tab_after,
|
||||
@@ -679,6 +679,7 @@ def create_ui(_blocks: gr.Blocks=None):
|
||||
(detailer_negative, "Detailer negative"),
|
||||
(detailer_steps, "Detailer steps"),
|
||||
(detailer_strength, "Detailer strength"),
|
||||
(detailer_resolution, "Detailer resolution"),
|
||||
# second pass
|
||||
(enable_hr, "Second pass"),
|
||||
(enable_hr, "Refine"),
|
||||
|
||||
@@ -135,7 +135,7 @@ def create_ui():
|
||||
vae_type, tiling, hidiffusion, cfg_scale, clip_skip, image_cfg_scale, diffusers_guidance_rescale, pag_scale, pag_adaptive, cfg_end = ui_sections.create_advanced_inputs('img2img')
|
||||
hdr_mode, hdr_brightness, hdr_color, hdr_sharpen, hdr_clamp, hdr_boundary, hdr_threshold, hdr_maximize, hdr_max_center, hdr_max_boundary, hdr_color_picker, hdr_tint_ratio = ui_sections.create_correction_inputs('img2img')
|
||||
enable_hr, hr_sampler_index, hr_denoising_strength, hr_resize_mode, hr_resize_context, hr_upscaler, hr_force, hr_second_pass_steps, hr_scale, hr_resize_x, hr_resize_y, refiner_steps, hr_refiner_start, refiner_prompt, refiner_negative = ui_sections.create_hires_inputs('txt2img')
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength = shared.yolo.ui('img2img')
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength, detailer_resolution = shared.yolo.ui('img2img')
|
||||
|
||||
# with gr.Group(elem_id="inpaint_controls", visible=False) as inpaint_controls:
|
||||
with gr.Accordion(open=False, label="Mask", elem_classes=["small-accordion"], elem_id="img2img_mask_group") as inpaint_controls:
|
||||
@@ -174,7 +174,7 @@ def create_ui():
|
||||
sampler_index,
|
||||
mask_blur, mask_alpha,
|
||||
vae_type, tiling, hidiffusion,
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength,
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength, detailer_resolution,
|
||||
batch_count, batch_size,
|
||||
cfg_scale, image_cfg_scale,
|
||||
diffusers_guidance_rescale, pag_scale, pag_adaptive, cfg_end,
|
||||
@@ -270,6 +270,7 @@ def create_ui():
|
||||
(detailer_negative, "Detailer negative"),
|
||||
(detailer_steps, "Detailer steps"),
|
||||
(detailer_strength, "Detailer strength"),
|
||||
(detailer_resolution, "Detailer resolution"),
|
||||
# second pass
|
||||
(enable_hr, "Second pass"),
|
||||
(enable_hr, "Refine"),
|
||||
|
||||
@@ -37,7 +37,7 @@ def create_ui():
|
||||
vae_type, tiling, hidiffusion, _cfg_scale, clip_skip, image_cfg_scale, diffusers_guidance_rescale, pag_scale, pag_adaptive, _cfg_end = ui_sections.create_advanced_inputs('txt2img', base=False)
|
||||
hdr_mode, hdr_brightness, hdr_color, hdr_sharpen, hdr_clamp, hdr_boundary, hdr_threshold, hdr_maximize, hdr_max_center, hdr_max_boundary, hdr_color_picker, hdr_tint_ratio = ui_sections.create_correction_inputs('txt2img')
|
||||
enable_hr, hr_sampler_index, denoising_strength, hr_resize_mode, hr_resize_context, hr_upscaler, hr_force, hr_second_pass_steps, hr_scale, hr_resize_x, hr_resize_y, refiner_steps, refiner_start, refiner_prompt, refiner_negative = ui_sections.create_hires_inputs('txt2img')
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength = shared.yolo.ui('txt2img')
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength, detailer_resolution = shared.yolo.ui('txt2img')
|
||||
override_settings = ui_common.create_override_inputs('txt2img')
|
||||
state = gr.Textbox(value='', visible=False)
|
||||
|
||||
@@ -55,7 +55,7 @@ def create_ui():
|
||||
txt2img_prompt, txt2img_negative_prompt, txt2img_prompt_styles,
|
||||
steps, sampler_index, hr_sampler_index,
|
||||
vae_type, tiling, hidiffusion,
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength,
|
||||
detailer_enabled, detailer_prompt, detailer_negative, detailer_steps, detailer_strength, detailer_resolution,
|
||||
batch_count, batch_size,
|
||||
cfg_scale, image_cfg_scale, diffusers_guidance_rescale, pag_scale, pag_adaptive, cfg_end,
|
||||
clip_skip,
|
||||
@@ -123,6 +123,7 @@ def create_ui():
|
||||
(detailer_negative, "Detailer negative"),
|
||||
(detailer_steps, "Detailer steps"),
|
||||
(detailer_strength, "Detailer strength"),
|
||||
(detailer_resolution, "Detailer resolution"),
|
||||
# second pass
|
||||
(enable_hr, "Second pass"),
|
||||
(enable_hr, "Refine"),
|
||||
|
||||
Reference in New Issue
Block a user