Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -314,11 +314,11 @@ upscaler_dict_gui = {
|
|
314 |
"realesr-animevideov3": "https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesr-animevideov3.pth",
|
315 |
"realesr-general-x4v3": "https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesr-general-x4v3.pth",
|
316 |
"realesr-general-wdn-x4v3": "https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesr-general-wdn-x4v3.pth",
|
317 |
-
"4x-UltraSharp"
|
318 |
"4x_foolhardy_Remacri": "https://huggingface.co/FacehugmanIII/4x_foolhardy_Remacri/resolve/main/4x_foolhardy_Remacri.pth",
|
319 |
"Remacri4xExtraSmoother": "https://huggingface.co/hollowstrawberry/upscalers-backup/resolve/main/ESRGAN/Remacri%204x%20ExtraSmoother.pth",
|
320 |
"AnimeSharp4x": "https://huggingface.co/hollowstrawberry/upscalers-backup/resolve/main/ESRGAN/AnimeSharp%204x.pth",
|
321 |
-
"lollypop"
|
322 |
"RealisticRescaler4x": "https://huggingface.co/hollowstrawberry/upscalers-backup/resolve/main/ESRGAN/RealisticRescaler%204x.pth",
|
323 |
"NickelbackFS4x": "https://huggingface.co/hollowstrawberry/upscalers-backup/resolve/main/ESRGAN/NickelbackFS%204x.pth"
|
324 |
}
|
@@ -750,13 +750,6 @@ class GuiSD:
|
|
750 |
"ip_adapter_scale": params_ip_scale,
|
751 |
}
|
752 |
|
753 |
-
random_number = random.randint(1, 100)
|
754 |
-
if random_number < 25 and num_images < 3:
|
755 |
-
if not upscaler_model and steps < 45 and task in ["txt2img", "img2img"] and not adetailer_active_a and not adetailer_active_b:
|
756 |
-
num_images *=2
|
757 |
-
pipe_params["num_images"] = num_images
|
758 |
-
gr.Info("Num images x 2 🎉")
|
759 |
-
|
760 |
info_state = "PROCESSING "
|
761 |
for img, seed, image_path, metadata in self.model(**pipe_params):
|
762 |
info_state += ">"
|
@@ -775,7 +768,8 @@ class GuiSD:
|
|
775 |
for i, path in enumerate(image_path)
|
776 |
]
|
777 |
)
|
778 |
-
|
|
|
779 |
|
780 |
yield img, info_state
|
781 |
|
@@ -791,7 +785,7 @@ sdxl_task = [k for k, v in task_stablepy.items() if v in SDXL_TASKS ]
|
|
791 |
sd_task = [k for k, v in task_stablepy.items() if v in SD15_TASKS ]
|
792 |
def update_task_options(model_name, task_name):
|
793 |
if model_name in model_list:
|
794 |
-
if "xl" in model_name.lower():
|
795 |
new_choices = sdxl_task
|
796 |
else:
|
797 |
new_choices = sd_task
|
@@ -803,6 +797,7 @@ def update_task_options(model_name, task_name):
|
|
803 |
else:
|
804 |
return gr.update(value=task_name, choices=task_model_list)
|
805 |
|
|
|
806 |
|
807 |
with gr.Blocks(theme="NoCrypt/miku", css=CSS) as app:
|
808 |
gr.Markdown("# 🧩 DiffuseCraft")
|
@@ -950,7 +945,7 @@ with gr.Blocks(theme="NoCrypt/miku", css=CSS) as app:
|
|
950 |
esrgan_tile_overlap_gui = gr.Slider(minimum=1, maximum=200, step=1, value=10, label="ESRGAN Tile Overlap")
|
951 |
hires_steps_gui = gr.Slider(minimum=0, value=30, maximum=100, step=1, label="Hires Steps")
|
952 |
hires_denoising_strength_gui = gr.Slider(minimum=0.1, maximum=1.0, step=0.01, value=0.55, label="Hires Denoising Strength")
|
953 |
-
hires_sampler_gui = gr.Dropdown(label="Hires Sampler", choices=
|
954 |
hires_prompt_gui = gr.Textbox(label="Hires Prompt", placeholder="Main prompt will be use", lines=3)
|
955 |
hires_negative_prompt_gui = gr.Textbox(label="Hires Negative Prompt", placeholder="Main negative prompt will be use", lines=3)
|
956 |
|
@@ -1077,8 +1072,7 @@ with gr.Blocks(theme="NoCrypt/miku", css=CSS) as app:
|
|
1077 |
adetailer_verbose_gui = gr.Checkbox(label="Verbose", value=False)
|
1078 |
|
1079 |
# Adetailer Sampler
|
1080 |
-
|
1081 |
-
adetailer_sampler_gui = gr.Dropdown(label="Adetailer sampler:", choices=adetailer_sampler_options, value="Use same sampler")
|
1082 |
|
1083 |
with gr.Accordion("Detailfix A", open=False, visible=True):
|
1084 |
# Adetailer A
|
@@ -1107,7 +1101,7 @@ with gr.Blocks(theme="NoCrypt/miku", css=CSS) as app:
|
|
1107 |
mask_padding_b_gui = gr.Number(label="Mask padding:", value=32, minimum=1)
|
1108 |
|
1109 |
with gr.Accordion("Other settings", open=False, visible=True):
|
1110 |
-
|
1111 |
hires_before_adetailer_gui = gr.Checkbox(value=False, label="Hires Before Adetailer")
|
1112 |
hires_after_adetailer_gui = gr.Checkbox(value=True, label="Hires After Adetailer")
|
1113 |
generator_in_cpu_gui = gr.Checkbox(value=False, label="Generator in CPU")
|
@@ -1118,7 +1112,7 @@ with gr.Blocks(theme="NoCrypt/miku", css=CSS) as app:
|
|
1118 |
leave_progress_bar_gui = gr.Checkbox(value=True, label="Leave Progress Bar")
|
1119 |
disable_progress_bar_gui = gr.Checkbox(value=False, label="Disable Progress Bar")
|
1120 |
display_images_gui = gr.Checkbox(value=True, label="Display Images")
|
1121 |
-
|
1122 |
image_storage_location_gui = gr.Textbox(value="./images", label="Image Storage Location")
|
1123 |
retain_compel_previous_load_gui = gr.Checkbox(value=False, label="Retain Compel Previous Load")
|
1124 |
retain_detailfix_model_previous_load_gui = gr.Checkbox(value=False, label="Retain Detailfix Model Previous Load")
|
@@ -1516,7 +1510,7 @@ with gr.Blocks(theme="NoCrypt/miku", css=CSS) as app:
|
|
1516 |
def send_img(img_source, img_result):
|
1517 |
return img_source, img_result
|
1518 |
btn_send.click(send_img, [img_source, img_result], [image_control, image_mask_gui])
|
1519 |
-
|
1520 |
generate_button.click(
|
1521 |
fn=sd_gen.load_new_model,
|
1522 |
inputs=[
|
|
|
314 |
"realesr-animevideov3": "https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesr-animevideov3.pth",
|
315 |
"realesr-general-x4v3": "https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesr-general-x4v3.pth",
|
316 |
"realesr-general-wdn-x4v3": "https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesr-general-wdn-x4v3.pth",
|
317 |
+
"4x-UltraSharp": "https://huggingface.co/Shandypur/ESRGAN-4x-UltraSharp/resolve/main/4x-UltraSharp.pth",
|
318 |
"4x_foolhardy_Remacri": "https://huggingface.co/FacehugmanIII/4x_foolhardy_Remacri/resolve/main/4x_foolhardy_Remacri.pth",
|
319 |
"Remacri4xExtraSmoother": "https://huggingface.co/hollowstrawberry/upscalers-backup/resolve/main/ESRGAN/Remacri%204x%20ExtraSmoother.pth",
|
320 |
"AnimeSharp4x": "https://huggingface.co/hollowstrawberry/upscalers-backup/resolve/main/ESRGAN/AnimeSharp%204x.pth",
|
321 |
+
"lollypop": "https://huggingface.co/hollowstrawberry/upscalers-backup/resolve/main/ESRGAN/lollypop.pth",
|
322 |
"RealisticRescaler4x": "https://huggingface.co/hollowstrawberry/upscalers-backup/resolve/main/ESRGAN/RealisticRescaler%204x.pth",
|
323 |
"NickelbackFS4x": "https://huggingface.co/hollowstrawberry/upscalers-backup/resolve/main/ESRGAN/NickelbackFS%204x.pth"
|
324 |
}
|
|
|
750 |
"ip_adapter_scale": params_ip_scale,
|
751 |
}
|
752 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
753 |
info_state = "PROCESSING "
|
754 |
for img, seed, image_path, metadata in self.model(**pipe_params):
|
755 |
info_state += ">"
|
|
|
768 |
for i, path in enumerate(image_path)
|
769 |
]
|
770 |
)
|
771 |
+
if save_generated_images:
|
772 |
+
info_state += f"<br>{download_links}"
|
773 |
|
774 |
yield img, info_state
|
775 |
|
|
|
785 |
sd_task = [k for k, v in task_stablepy.items() if v in SD15_TASKS ]
|
786 |
def update_task_options(model_name, task_name):
|
787 |
if model_name in model_list:
|
788 |
+
if "xl" in model_name.lower() or "pony" in model_name.lower():
|
789 |
new_choices = sdxl_task
|
790 |
else:
|
791 |
new_choices = sd_task
|
|
|
797 |
else:
|
798 |
return gr.update(value=task_name, choices=task_model_list)
|
799 |
|
800 |
+
POST_PROCESSING_SAMPLER = ["Use same sampler"] + scheduler_names[:-2]
|
801 |
|
802 |
with gr.Blocks(theme="NoCrypt/miku", css=CSS) as app:
|
803 |
gr.Markdown("# 🧩 DiffuseCraft")
|
|
|
945 |
esrgan_tile_overlap_gui = gr.Slider(minimum=1, maximum=200, step=1, value=10, label="ESRGAN Tile Overlap")
|
946 |
hires_steps_gui = gr.Slider(minimum=0, value=30, maximum=100, step=1, label="Hires Steps")
|
947 |
hires_denoising_strength_gui = gr.Slider(minimum=0.1, maximum=1.0, step=0.01, value=0.55, label="Hires Denoising Strength")
|
948 |
+
hires_sampler_gui = gr.Dropdown(label="Hires Sampler", choices=POST_PROCESSING_SAMPLER, value=POST_PROCESSING_SAMPLER[0])
|
949 |
hires_prompt_gui = gr.Textbox(label="Hires Prompt", placeholder="Main prompt will be use", lines=3)
|
950 |
hires_negative_prompt_gui = gr.Textbox(label="Hires Negative Prompt", placeholder="Main negative prompt will be use", lines=3)
|
951 |
|
|
|
1072 |
adetailer_verbose_gui = gr.Checkbox(label="Verbose", value=False)
|
1073 |
|
1074 |
# Adetailer Sampler
|
1075 |
+
adetailer_sampler_gui = gr.Dropdown(label="Adetailer sampler:", choices=POST_PROCESSING_SAMPLER, value=POST_PROCESSING_SAMPLER[0])
|
|
|
1076 |
|
1077 |
with gr.Accordion("Detailfix A", open=False, visible=True):
|
1078 |
# Adetailer A
|
|
|
1101 |
mask_padding_b_gui = gr.Number(label="Mask padding:", value=32, minimum=1)
|
1102 |
|
1103 |
with gr.Accordion("Other settings", open=False, visible=True):
|
1104 |
+
save_generated_images_gui = gr.Checkbox(value=True, label="Create a download link for the images")
|
1105 |
hires_before_adetailer_gui = gr.Checkbox(value=False, label="Hires Before Adetailer")
|
1106 |
hires_after_adetailer_gui = gr.Checkbox(value=True, label="Hires After Adetailer")
|
1107 |
generator_in_cpu_gui = gr.Checkbox(value=False, label="Generator in CPU")
|
|
|
1112 |
leave_progress_bar_gui = gr.Checkbox(value=True, label="Leave Progress Bar")
|
1113 |
disable_progress_bar_gui = gr.Checkbox(value=False, label="Disable Progress Bar")
|
1114 |
display_images_gui = gr.Checkbox(value=True, label="Display Images")
|
1115 |
+
image_previews_gui = gr.Checkbox(value=True, label="Image Previews")
|
1116 |
image_storage_location_gui = gr.Textbox(value="./images", label="Image Storage Location")
|
1117 |
retain_compel_previous_load_gui = gr.Checkbox(value=False, label="Retain Compel Previous Load")
|
1118 |
retain_detailfix_model_previous_load_gui = gr.Checkbox(value=False, label="Retain Detailfix Model Previous Load")
|
|
|
1510 |
def send_img(img_source, img_result):
|
1511 |
return img_source, img_result
|
1512 |
btn_send.click(send_img, [img_source, img_result], [image_control, image_mask_gui])
|
1513 |
+
|
1514 |
generate_button.click(
|
1515 |
fn=sd_gen.load_new_model,
|
1516 |
inputs=[
|