Spaces:
Running
on
Zero
Running
on
Zero
Upload 6 files
Browse files- app.py +61 -85
- lora_dict.json +161 -0
- modutils.py +21 -18
- requirements.txt +1 -1
app.py
CHANGED
@@ -232,6 +232,7 @@ load_diffusers_format_model = [
|
|
232 |
'rubbrband/realcartoon3d_v16',
|
233 |
'rubbrband/realcartoonRealistic_v14',
|
234 |
'KBlueLeaf/Kohaku-XL-Epsilon-rev2',
|
|
|
235 |
'Raelina/Rae-Diffusion-XL-V2',
|
236 |
'Raelina/Raemu-XL-V4',
|
237 |
]
|
@@ -291,7 +292,7 @@ def get_my_lora(link_url):
|
|
291 |
from pathlib import Path
|
292 |
before = get_local_model_list(directory_loras)
|
293 |
for url in [url.strip() for url in link_url.split(',')]:
|
294 |
-
if not Path(f"
|
295 |
download_things(directory_loras, url, hf_token, CIVITAI_API_KEY)
|
296 |
after = get_local_model_list(directory_loras)
|
297 |
new_files = list_sub(after, before)
|
@@ -401,8 +402,6 @@ warnings.filterwarnings(action="ignore", category=FutureWarning, module="transfo
|
|
401 |
from stablepy import logger
|
402 |
logger.setLevel(logging.CRITICAL)
|
403 |
|
404 |
-
from transformers.utils.hub import move_cache
|
405 |
-
move_cache()
|
406 |
|
407 |
from v2 import (
|
408 |
V2UI,
|
@@ -475,7 +474,7 @@ def info_html(json_data, title, subtitle):
|
|
475 |
"""
|
476 |
|
477 |
class GuiSD:
|
478 |
-
def __init__(self
|
479 |
self.model = None
|
480 |
|
481 |
print("Loading model...")
|
@@ -487,6 +486,19 @@ class GuiSD:
|
|
487 |
retain_task_model_in_cache=False,
|
488 |
)
|
489 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
490 |
def load_new_model(self, model_name, vae_model, task, progress=gr.Progress(track_tqdm=True)):
|
491 |
|
492 |
yield f"Loading model: {model_name}"
|
@@ -512,7 +524,6 @@ class GuiSD:
|
|
512 |
)
|
513 |
yield f"Model loaded: {model_name}"
|
514 |
|
515 |
-
@spaces.GPU
|
516 |
def generate_pipeline(
|
517 |
self,
|
518 |
prompt,
|
@@ -616,8 +627,10 @@ class GuiSD:
|
|
616 |
model_ip2,
|
617 |
mode_ip2,
|
618 |
scale_ip2,
|
|
|
619 |
):
|
620 |
-
|
|
|
621 |
vae_model = vae_model if vae_model != "None" else None
|
622 |
loras_list = [lora1, lora2, lora3, lora4, lora5]
|
623 |
vae_msg = f"VAE: {vae_model}" if vae_model else ""
|
@@ -677,10 +690,10 @@ class GuiSD:
|
|
677 |
# First load
|
678 |
model_precision = torch.float16
|
679 |
if not self.model:
|
680 |
-
from
|
681 |
|
682 |
print("Loading model...")
|
683 |
-
self.model =
|
684 |
base_model_id=model_name,
|
685 |
task_name=task,
|
686 |
vae_model=vae_model if vae_model != "None" else None,
|
@@ -830,28 +843,15 @@ class GuiSD:
|
|
830 |
"ip_adapter_scale": params_ip_scale,
|
831 |
}
|
832 |
|
833 |
-
|
834 |
-
|
835 |
-
random_number = random.randint(1, 100)
|
836 |
-
if random_number < 25 and num_images < 3:
|
837 |
-
if not upscaler_model and steps < 45 and task in ["txt2img", "img2img"] and not adetailer_active_a and not adetailer_active_b:
|
838 |
-
num_images *=2
|
839 |
-
pipe_params["num_images"] = num_images
|
840 |
-
gr.Info("Num images x 2 🎉")
|
841 |
-
|
842 |
-
# Maybe fix lora issue: 'Cannot copy out of meta tensor; no data!''
|
843 |
-
self.model.pipe.to("cuda:0" if torch.cuda.is_available() else "cpu")
|
844 |
-
|
845 |
info_state = f"PROCESSING "
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
info_state = info_state + "<br>" + "<br>".join(msg_lora)
|
854 |
-
yield img, info_state
|
855 |
|
856 |
|
857 |
sd_gen = GuiSD()
|
@@ -899,7 +899,7 @@ with gr.Blocks(theme="NoCrypt/miku@>=1.2.2", elem_id="main", css=CSS) as app:
|
|
899 |
model_name_gui = gr.Dropdown(label="Model", info="You can enter a huggingface model repo_id to want to use.", choices=get_tupled_model_list(model_list), value="votepurchase/animagine-xl-3.1", allow_custom_value=True)
|
900 |
model_info_gui = gr.Markdown()
|
901 |
with gr.Row():
|
902 |
-
quick_model_type_gui = gr.Radio(label="Model Type", choices=["None", "Animagine", "Pony"], value="
|
903 |
quick_genre_gui = gr.Radio(label="Genre", choices=["Anime", "Photo"], value="Anime", interactive=True)
|
904 |
quick_speed_gui = gr.Radio(label="Speed", choices=["Fast", "Standard", "Heavy"], value="Standard", interactive=True)
|
905 |
quick_aspect_gui = gr.Radio(label="Aspect Ratio", choices=["1:1", "3:4"], value="1:1", interactive=True)
|
@@ -1259,17 +1259,17 @@ with gr.Blocks(theme="NoCrypt/miku@>=1.2.2", elem_id="main", css=CSS) as app:
|
|
1259 |
mask_padding_b_gui = gr.Number(label="Mask padding:", value=32, minimum=1)
|
1260 |
|
1261 |
with gr.Accordion("Other settings", open=False, visible=True) as menu_other:
|
1262 |
-
image_previews_gui = gr.Checkbox(value=
|
1263 |
hires_before_adetailer_gui = gr.Checkbox(value=False, label="Hires Before Adetailer")
|
1264 |
hires_after_adetailer_gui = gr.Checkbox(value=True, label="Hires After Adetailer")
|
1265 |
generator_in_cpu_gui = gr.Checkbox(value=False, label="Generator in CPU")
|
1266 |
|
1267 |
with gr.Accordion("More settings", open=False, visible=False):
|
1268 |
loop_generation_gui = gr.Slider(minimum=1, value=1, label="Loop Generation")
|
1269 |
-
retain_task_cache_gui = gr.Checkbox(value=
|
1270 |
leave_progress_bar_gui = gr.Checkbox(value=True, label="Leave Progress Bar")
|
1271 |
disable_progress_bar_gui = gr.Checkbox(value=False, label="Disable Progress Bar")
|
1272 |
-
display_images_gui = gr.Checkbox(value=
|
1273 |
save_generated_images_gui = gr.Checkbox(value=False, label="Save Generated Images")
|
1274 |
image_storage_location_gui = gr.Textbox(value="./images", label="Image Storage Location")
|
1275 |
retain_compel_previous_load_gui = gr.Checkbox(value=False, label="Retain Compel Previous Load")
|
@@ -1619,62 +1619,44 @@ with gr.Blocks(theme="NoCrypt/miku@>=1.2.2", elem_id="main", css=CSS) as app:
|
|
1619 |
)
|
1620 |
model_name_gui.change(get_t2i_model_info, [model_name_gui], [model_info_gui], queue=False)
|
1621 |
|
1622 |
-
|
1623 |
-
|
1624 |
-
|
1625 |
-
[
|
1626 |
-
|
1627 |
-
)
|
1628 |
-
quick_genre_gui.change(
|
1629 |
-
set_quick_presets,
|
1630 |
-
[quick_genre_gui, quick_model_type_gui, quick_speed_gui, quick_aspect_gui],
|
1631 |
-
[quality_selector_gui, style_selector_gui, sampler_selector_gui, optimization_gui],
|
1632 |
-
queue=False,
|
1633 |
-
)
|
1634 |
-
quick_speed_gui.change(
|
1635 |
-
set_quick_presets,
|
1636 |
-
[quick_genre_gui, quick_model_type_gui, quick_speed_gui, quick_aspect_gui],
|
1637 |
-
[quality_selector_gui, style_selector_gui, sampler_selector_gui, optimization_gui],
|
1638 |
-
queue=False,
|
1639 |
-
)
|
1640 |
-
quick_aspect_gui.change(
|
1641 |
-
set_quick_presets,
|
1642 |
-
[quick_genre_gui, quick_model_type_gui, quick_speed_gui, quick_aspect_gui],
|
1643 |
-
[quality_selector_gui, style_selector_gui, sampler_selector_gui, optimization_gui],
|
1644 |
-
queue=False,
|
1645 |
-
)
|
1646 |
-
quality_selector_gui.change(
|
1647 |
-
process_style_prompt,
|
1648 |
-
[prompt_gui, neg_prompt_gui, style_selector_gui, quality_selector_gui, insert_prompt_gui],
|
1649 |
-
[prompt_gui, neg_prompt_gui],
|
1650 |
queue=False,
|
|
|
1651 |
)
|
1652 |
-
|
1653 |
-
|
1654 |
-
|
1655 |
-
[prompt_gui, neg_prompt_gui],
|
|
|
1656 |
queue=False,
|
|
|
1657 |
)
|
1658 |
sampler_selector_gui.change(set_sampler_settings, [sampler_selector_gui], [sampler_gui, steps_gui, cfg_gui, clip_skip_gui, img_width_gui, img_height_gui, optimization_gui], queue=False)
|
1659 |
optimization_gui.change(set_optimization, [optimization_gui, steps_gui, cfg_gui, sampler_gui, clip_skip_gui, lora5_gui, lora_scale_5_gui], [steps_gui, cfg_gui, sampler_gui, clip_skip_gui, lora5_gui, lora_scale_5_gui], queue=False)
|
1660 |
|
1661 |
-
lora1_gui.change(set_lora_prompt, [prompt_gui, prompt_syntax_gui, lora1_gui, lora_scale_1_gui, lora2_gui, lora_scale_2_gui, lora3_gui, lora_scale_3_gui, lora4_gui, lora_scale_4_gui, lora5_gui, lora_scale_5_gui], [prompt_gui])\
|
1662 |
-
.success(set_lora_trigger, [lora1_gui], [lora1_trigger_gui, lora1_copy_button, lora1_desc_gui, lora1_gui], scroll_to_output=True)
|
1663 |
-
lora2_gui.change(set_lora_prompt, [prompt_gui, prompt_syntax_gui, lora1_gui, lora_scale_1_gui, lora2_gui, lora_scale_2_gui, lora3_gui, lora_scale_3_gui, lora4_gui, lora_scale_4_gui, lora5_gui, lora_scale_5_gui], [prompt_gui])\
|
1664 |
-
.success(set_lora_trigger, [lora2_gui], [lora2_trigger_gui, lora2_copy_button, lora2_desc_gui, lora2_gui], scroll_to_output=True)
|
1665 |
-
lora3_gui.change(set_lora_prompt, [prompt_gui, prompt_syntax_gui, lora1_gui, lora_scale_1_gui, lora2_gui, lora_scale_2_gui, lora3_gui, lora_scale_3_gui, lora4_gui, lora_scale_4_gui, lora5_gui, lora_scale_5_gui], [prompt_gui])\
|
1666 |
-
.success(set_lora_trigger, [lora3_gui], [lora3_trigger_gui, lora3_copy_button, lora3_desc_gui, lora3_gui], scroll_to_output=True)
|
1667 |
-
lora4_gui.change(set_lora_prompt, [prompt_gui, prompt_syntax_gui, lora1_gui, lora_scale_1_gui, lora2_gui, lora_scale_2_gui, lora3_gui, lora_scale_3_gui, lora4_gui, lora_scale_4_gui, lora5_gui, lora_scale_5_gui], [prompt_gui])\
|
1668 |
-
.success(set_lora_trigger, [lora4_gui], [lora4_trigger_gui, lora4_copy_button, lora4_desc_gui, lora4_gui], scroll_to_output=True)
|
1669 |
-
lora5_gui.change(set_lora_prompt, [prompt_gui, prompt_syntax_gui, lora1_gui, lora_scale_1_gui, lora2_gui, lora_scale_2_gui, lora3_gui, lora_scale_3_gui, lora4_gui, lora_scale_4_gui, lora5_gui, lora_scale_5_gui], [prompt_gui])\
|
1670 |
-
.success(set_lora_trigger, [lora5_gui], [lora5_trigger_gui, lora5_copy_button, lora5_desc_gui, lora5_gui], scroll_to_output=True)
|
1671 |
gr.on(
|
1672 |
-
triggers=[lora_scale_1_gui.change, lora_scale_2_gui.change, lora_scale_3_gui.change
|
1673 |
lora_scale_4_gui.change, lora_scale_5_gui.change, prompt_syntax_gui.change],
|
1674 |
fn=set_lora_prompt,
|
1675 |
-
inputs=[prompt_gui, prompt_syntax_gui, lora1_gui, lora_scale_1_gui, lora2_gui, lora_scale_2_gui
|
1676 |
lora3_gui, lora_scale_3_gui, lora4_gui, lora_scale_4_gui, lora5_gui, lora_scale_5_gui],
|
1677 |
outputs=[prompt_gui],
|
|
|
|
|
1678 |
)
|
1679 |
lora1_copy_button.click(apply_lora_prompt, [prompt_gui, lora1_trigger_gui], [prompt_gui], queue=False)
|
1680 |
lora2_copy_button.click(apply_lora_prompt, [prompt_gui, lora2_trigger_gui], [prompt_gui], queue=False)
|
@@ -1712,12 +1694,6 @@ with gr.Blocks(theme="NoCrypt/miku@>=1.2.2", elem_id="main", css=CSS) as app:
|
|
1712 |
v2b.input_components = [model_name_dbt, series_dbt, character_dbt, prompt_gui,
|
1713 |
rating_dbt, aspect_ratio_dbt, length_dbt, identity_dbt, ban_tags_dbt]
|
1714 |
|
1715 |
-
insert_prompt_gui.change(
|
1716 |
-
process_style_prompt,
|
1717 |
-
[prompt_gui, neg_prompt_gui, style_selector_gui, quality_selector_gui, insert_prompt_gui],
|
1718 |
-
[prompt_gui, neg_prompt_gui],
|
1719 |
-
queue=False,
|
1720 |
-
)
|
1721 |
prompt_type_button.click(convert_danbooru_to_e621_prompt, [prompt_gui, prompt_type_gui], [prompt_gui], queue=False)
|
1722 |
random_character_gui.click(select_random_character, [series_dbt, character_dbt], [series_dbt, character_dbt], queue=False)
|
1723 |
generate_db_random_button.click(
|
@@ -1845,9 +1821,9 @@ with gr.Blocks(theme="NoCrypt/miku@>=1.2.2", elem_id="main", css=CSS) as app:
|
|
1845 |
mode_ip2,
|
1846 |
scale_ip2,
|
1847 |
],
|
1848 |
-
outputs=[result_images, actual_task_info],
|
1849 |
queue=True,
|
1850 |
-
show_progress="
|
1851 |
).success(save_gallery_images, [result_images], [result_images, result_images_files, result_images_files], queue=False)
|
1852 |
|
1853 |
with gr.Tab("Danbooru Tags Transformer with WD Tagger", render=True):
|
|
|
232 |
'rubbrband/realcartoon3d_v16',
|
233 |
'rubbrband/realcartoonRealistic_v14',
|
234 |
'KBlueLeaf/Kohaku-XL-Epsilon-rev2',
|
235 |
+
'KBlueLeaf/Kohaku-XL-Epsilon-rev3',
|
236 |
'Raelina/Rae-Diffusion-XL-V2',
|
237 |
'Raelina/Raemu-XL-V4',
|
238 |
]
|
|
|
292 |
from pathlib import Path
|
293 |
before = get_local_model_list(directory_loras)
|
294 |
for url in [url.strip() for url in link_url.split(',')]:
|
295 |
+
if not Path(f"{directory_loras}/{url.split('/')[-1]}").exists():
|
296 |
download_things(directory_loras, url, hf_token, CIVITAI_API_KEY)
|
297 |
after = get_local_model_list(directory_loras)
|
298 |
new_files = list_sub(after, before)
|
|
|
402 |
from stablepy import logger
|
403 |
logger.setLevel(logging.CRITICAL)
|
404 |
|
|
|
|
|
405 |
|
406 |
from v2 import (
|
407 |
V2UI,
|
|
|
474 |
"""
|
475 |
|
476 |
class GuiSD:
|
477 |
+
def __init__(self):
|
478 |
self.model = None
|
479 |
|
480 |
print("Loading model...")
|
|
|
486 |
retain_task_model_in_cache=False,
|
487 |
)
|
488 |
|
489 |
+
@spaces.GPU
|
490 |
+
def infer_short(self, model, pipe_params, progress=gr.Progress(track_tqdm=True)):
|
491 |
+
# Maybe fix lora issue: 'Cannot copy out of meta tensor; no data!''
|
492 |
+
model.pipe.to("cuda:0" if torch.cuda.is_available() else "cpu")
|
493 |
+
progress(0, desc="Start inference...")
|
494 |
+
images, image_list = model(**pipe_params)
|
495 |
+
progress(1, desc="Inference completed.")
|
496 |
+
if not isinstance(images, list): images = [images]
|
497 |
+
img = []
|
498 |
+
for image in images:
|
499 |
+
img.append((image, None))
|
500 |
+
return img
|
501 |
+
|
502 |
def load_new_model(self, model_name, vae_model, task, progress=gr.Progress(track_tqdm=True)):
|
503 |
|
504 |
yield f"Loading model: {model_name}"
|
|
|
524 |
)
|
525 |
yield f"Model loaded: {model_name}"
|
526 |
|
|
|
527 |
def generate_pipeline(
|
528 |
self,
|
529 |
prompt,
|
|
|
627 |
model_ip2,
|
628 |
mode_ip2,
|
629 |
scale_ip2,
|
630 |
+
progress=gr.Progress(track_tqdm=True),
|
631 |
):
|
632 |
+
progress(0, desc="Preparing inference...")
|
633 |
+
|
634 |
vae_model = vae_model if vae_model != "None" else None
|
635 |
loras_list = [lora1, lora2, lora3, lora4, lora5]
|
636 |
vae_msg = f"VAE: {vae_model}" if vae_model else ""
|
|
|
690 |
# First load
|
691 |
model_precision = torch.float16
|
692 |
if not self.model:
|
693 |
+
from stablepy import Model_Diffusers
|
694 |
|
695 |
print("Loading model...")
|
696 |
+
self.model = Model_Diffusers(
|
697 |
base_model_id=model_name,
|
698 |
task_name=task,
|
699 |
vae_model=vae_model if vae_model != "None" else None,
|
|
|
843 |
"ip_adapter_scale": params_ip_scale,
|
844 |
}
|
845 |
|
846 |
+
progress(1, desc="Preparing completed.")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
847 |
info_state = f"PROCESSING "
|
848 |
+
info_state += ">"
|
849 |
+
info_state = f"COMPLETED. Seeds: {str(seed)}"
|
850 |
+
if vae_msg:
|
851 |
+
info_state = info_state + "<br>" + vae_msg
|
852 |
+
if msg_lora:
|
853 |
+
info_state = info_state + "<br>" + "<br>".join(msg_lora)
|
854 |
+
return self.infer_short(self.model, pipe_params), info_state
|
|
|
|
|
855 |
|
856 |
|
857 |
sd_gen = GuiSD()
|
|
|
899 |
model_name_gui = gr.Dropdown(label="Model", info="You can enter a huggingface model repo_id to want to use.", choices=get_tupled_model_list(model_list), value="votepurchase/animagine-xl-3.1", allow_custom_value=True)
|
900 |
model_info_gui = gr.Markdown()
|
901 |
with gr.Row():
|
902 |
+
quick_model_type_gui = gr.Radio(label="Model Type", choices=["None", "Auto", "Animagine", "Pony"], value="Auto", interactive=True)
|
903 |
quick_genre_gui = gr.Radio(label="Genre", choices=["Anime", "Photo"], value="Anime", interactive=True)
|
904 |
quick_speed_gui = gr.Radio(label="Speed", choices=["Fast", "Standard", "Heavy"], value="Standard", interactive=True)
|
905 |
quick_aspect_gui = gr.Radio(label="Aspect Ratio", choices=["1:1", "3:4"], value="1:1", interactive=True)
|
|
|
1259 |
mask_padding_b_gui = gr.Number(label="Mask padding:", value=32, minimum=1)
|
1260 |
|
1261 |
with gr.Accordion("Other settings", open=False, visible=True) as menu_other:
|
1262 |
+
image_previews_gui = gr.Checkbox(value=False, label="Image Previews")
|
1263 |
hires_before_adetailer_gui = gr.Checkbox(value=False, label="Hires Before Adetailer")
|
1264 |
hires_after_adetailer_gui = gr.Checkbox(value=True, label="Hires After Adetailer")
|
1265 |
generator_in_cpu_gui = gr.Checkbox(value=False, label="Generator in CPU")
|
1266 |
|
1267 |
with gr.Accordion("More settings", open=False, visible=False):
|
1268 |
loop_generation_gui = gr.Slider(minimum=1, value=1, label="Loop Generation")
|
1269 |
+
retain_task_cache_gui = gr.Checkbox(value=True, label="Retain task model in cache")
|
1270 |
leave_progress_bar_gui = gr.Checkbox(value=True, label="Leave Progress Bar")
|
1271 |
disable_progress_bar_gui = gr.Checkbox(value=False, label="Disable Progress Bar")
|
1272 |
+
display_images_gui = gr.Checkbox(value=False, label="Display Images")
|
1273 |
save_generated_images_gui = gr.Checkbox(value=False, label="Save Generated Images")
|
1274 |
image_storage_location_gui = gr.Textbox(value="./images", label="Image Storage Location")
|
1275 |
retain_compel_previous_load_gui = gr.Checkbox(value=False, label="Retain Compel Previous Load")
|
|
|
1619 |
)
|
1620 |
model_name_gui.change(get_t2i_model_info, [model_name_gui], [model_info_gui], queue=False)
|
1621 |
|
1622 |
+
gr.on(
|
1623 |
+
triggers=[quick_model_type_gui.change, quick_genre_gui.change, quick_speed_gui.change, quick_aspect_gui.change],
|
1624 |
+
fn=set_quick_presets,
|
1625 |
+
inputs=[quick_genre_gui, quick_model_type_gui, quick_speed_gui, quick_aspect_gui],
|
1626 |
+
outputs=[quality_selector_gui, style_selector_gui, sampler_selector_gui, optimization_gui, insert_prompt_gui],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1627 |
queue=False,
|
1628 |
+
trigger_mode="once",
|
1629 |
)
|
1630 |
+
gr.on(
|
1631 |
+
triggers=[quality_selector_gui.change, style_selector_gui.change, insert_prompt_gui.change],
|
1632 |
+
fn=process_style_prompt,
|
1633 |
+
inputs=[prompt_gui, neg_prompt_gui, style_selector_gui, quality_selector_gui, insert_prompt_gui],
|
1634 |
+
outputs=[prompt_gui, neg_prompt_gui, quick_model_type_gui],
|
1635 |
queue=False,
|
1636 |
+
trigger_mode="once",
|
1637 |
)
|
1638 |
sampler_selector_gui.change(set_sampler_settings, [sampler_selector_gui], [sampler_gui, steps_gui, cfg_gui, clip_skip_gui, img_width_gui, img_height_gui, optimization_gui], queue=False)
|
1639 |
optimization_gui.change(set_optimization, [optimization_gui, steps_gui, cfg_gui, sampler_gui, clip_skip_gui, lora5_gui, lora_scale_5_gui], [steps_gui, cfg_gui, sampler_gui, clip_skip_gui, lora5_gui, lora_scale_5_gui], queue=False)
|
1640 |
|
1641 |
+
lora1_gui.change(set_lora_prompt, [prompt_gui, prompt_syntax_gui, lora1_gui, lora_scale_1_gui, lora2_gui, lora_scale_2_gui, lora3_gui, lora_scale_3_gui, lora4_gui, lora_scale_4_gui, lora5_gui, lora_scale_5_gui], [prompt_gui], queue=False)\
|
1642 |
+
.success(set_lora_trigger, [lora1_gui], [lora1_trigger_gui, lora1_copy_button, lora1_desc_gui, lora1_gui], scroll_to_output=True, queue=False)
|
1643 |
+
lora2_gui.change(set_lora_prompt, [prompt_gui, prompt_syntax_gui, lora1_gui, lora_scale_1_gui, lora2_gui, lora_scale_2_gui, lora3_gui, lora_scale_3_gui, lora4_gui, lora_scale_4_gui, lora5_gui, lora_scale_5_gui], [prompt_gui], queue=False)\
|
1644 |
+
.success(set_lora_trigger, [lora2_gui], [lora2_trigger_gui, lora2_copy_button, lora2_desc_gui, lora2_gui], scroll_to_output=True, queue=False)
|
1645 |
+
lora3_gui.change(set_lora_prompt, [prompt_gui, prompt_syntax_gui, lora1_gui, lora_scale_1_gui, lora2_gui, lora_scale_2_gui, lora3_gui, lora_scale_3_gui, lora4_gui, lora_scale_4_gui, lora5_gui, lora_scale_5_gui], [prompt_gui], queue=False)\
|
1646 |
+
.success(set_lora_trigger, [lora3_gui], [lora3_trigger_gui, lora3_copy_button, lora3_desc_gui, lora3_gui], scroll_to_output=True, queue=False)
|
1647 |
+
lora4_gui.change(set_lora_prompt, [prompt_gui, prompt_syntax_gui, lora1_gui, lora_scale_1_gui, lora2_gui, lora_scale_2_gui, lora3_gui, lora_scale_3_gui, lora4_gui, lora_scale_4_gui, lora5_gui, lora_scale_5_gui], [prompt_gui], queue=False)\
|
1648 |
+
.success(set_lora_trigger, [lora4_gui], [lora4_trigger_gui, lora4_copy_button, lora4_desc_gui, lora4_gui], scroll_to_output=True, queue=False)
|
1649 |
+
lora5_gui.change(set_lora_prompt, [prompt_gui, prompt_syntax_gui, lora1_gui, lora_scale_1_gui, lora2_gui, lora_scale_2_gui, lora3_gui, lora_scale_3_gui, lora4_gui, lora_scale_4_gui, lora5_gui, lora_scale_5_gui], [prompt_gui], queue=False)\
|
1650 |
+
.success(set_lora_trigger, [lora5_gui], [lora5_trigger_gui, lora5_copy_button, lora5_desc_gui, lora5_gui], scroll_to_output=True, queue=False)
|
1651 |
gr.on(
|
1652 |
+
triggers=[lora_scale_1_gui.change, lora_scale_2_gui.change, lora_scale_3_gui.change,
|
1653 |
lora_scale_4_gui.change, lora_scale_5_gui.change, prompt_syntax_gui.change],
|
1654 |
fn=set_lora_prompt,
|
1655 |
+
inputs=[prompt_gui, prompt_syntax_gui, lora1_gui, lora_scale_1_gui, lora2_gui, lora_scale_2_gui,
|
1656 |
lora3_gui, lora_scale_3_gui, lora4_gui, lora_scale_4_gui, lora5_gui, lora_scale_5_gui],
|
1657 |
outputs=[prompt_gui],
|
1658 |
+
trigger_mode="once",
|
1659 |
+
queue=False,
|
1660 |
)
|
1661 |
lora1_copy_button.click(apply_lora_prompt, [prompt_gui, lora1_trigger_gui], [prompt_gui], queue=False)
|
1662 |
lora2_copy_button.click(apply_lora_prompt, [prompt_gui, lora2_trigger_gui], [prompt_gui], queue=False)
|
|
|
1694 |
v2b.input_components = [model_name_dbt, series_dbt, character_dbt, prompt_gui,
|
1695 |
rating_dbt, aspect_ratio_dbt, length_dbt, identity_dbt, ban_tags_dbt]
|
1696 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1697 |
prompt_type_button.click(convert_danbooru_to_e621_prompt, [prompt_gui, prompt_type_gui], [prompt_gui], queue=False)
|
1698 |
random_character_gui.click(select_random_character, [series_dbt, character_dbt], [series_dbt, character_dbt], queue=False)
|
1699 |
generate_db_random_button.click(
|
|
|
1821 |
mode_ip2,
|
1822 |
scale_ip2,
|
1823 |
],
|
1824 |
+
outputs=[result_images, actual_task_info],
|
1825 |
queue=True,
|
1826 |
+
show_progress="full",
|
1827 |
).success(save_gallery_images, [result_images], [result_images, result_images_files, result_images_files], queue=False)
|
1828 |
|
1829 |
with gr.Tab("Danbooru Tags Transformer with WD Tagger", render=True):
|
lora_dict.json
CHANGED
@@ -587,6 +587,13 @@
|
|
587 |
"https://civitai.com/models/534612",
|
588 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ba21785e-9a19-4fb7-944b-2651a36cb0c9/width=450/16953072.jpeg"
|
589 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
590 |
"Fine_Anime_Screencap-PonyV2": [
|
591 |
"fine anime screencap_xl, anime screencap",
|
592 |
"Pony",
|
@@ -741,6 +748,13 @@
|
|
741 |
"https://civitai.com/models/537014",
|
742 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/7370deac-a20d-4229-91e8-07950973d8d5/width=450/17133393.jpeg"
|
743 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
744 |
"Hentai_Pussy_inspection_Pony_V1": [
|
745 |
"(Multiple layers), multiple views, simple bacground, Character profile, radar chart,zoom layer, close-up layer, breasts out, nippleless clothes, crotch cutout, breastless clothes, no panties, torn clothes, breasts, nipples, puffy nipples, pussy, fat mons, anus, clitoris, gaping, erect clitoris, large CLITORIS, Clitoral hood,",
|
746 |
"Pony",
|
@@ -790,6 +804,13 @@
|
|
790 |
"https://civitai.com/models/495860",
|
791 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/913dfaaa-3959-4def-83e9-991112db2782/width=450/14638692.jpeg"
|
792 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
793 |
"Hyper-SDXL-12steps-CFG-lora": [
|
794 |
"",
|
795 |
"SDXL Hyper",
|
@@ -1049,6 +1070,13 @@
|
|
1049 |
"https://civitai.com/models/544619",
|
1050 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/50c852ef-82ad-49f5-b5e0-f7ff3548c155/width=450/17631835.jpeg"
|
1051 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1052 |
"MiniAXV9XLScreencap": [
|
1053 |
"Anime Screencap",
|
1054 |
"Pony",
|
@@ -1098,6 +1126,13 @@
|
|
1098 |
"https://civitai.com/models/558150",
|
1099 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/e903e134-ad96-4c65-93b5-50b6f7aefd24/width=450/18695088.jpeg"
|
1100 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1101 |
"Nimura_YuujiXL": [
|
1102 |
"",
|
1103 |
"SDXL 1.0",
|
@@ -1182,6 +1217,13 @@
|
|
1182 |
"https://civitai.com/models/345352",
|
1183 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/2fc201a9-840c-4c7d-a648-db2cd3639ac3/width=450/16860750.jpeg"
|
1184 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1185 |
"PaiControlPdxlDwnsty-000005": [
|
1186 |
"paizuri motion / motion line, motion blur, speed lines",
|
1187 |
"Pony",
|
@@ -1343,6 +1385,13 @@
|
|
1343 |
"https://civitai.com/models/540624",
|
1344 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/f15654c4-f436-42f4-8334-b8ec45e9ccb1/width=450/17379632.jpeg"
|
1345 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1346 |
"Reverse_Fellatio_LoRa__PonyXL": [
|
1347 |
"1girl, 1boy, reverse fellatio, head back, deepthroat, uncensored",
|
1348 |
"Pony",
|
@@ -1595,6 +1644,13 @@
|
|
1595 |
"https://civitai.com/models/563212",
|
1596 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/02536d33-fce2-4f1b-988e-a02517591fe2/width=450/18850029.jpeg"
|
1597 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1598 |
"Tribadism_for_Pony": [
|
1599 |
"tribadism / scissoring / tribbing / trib / vaginal rubbing / pussies grinding",
|
1600 |
"Pony",
|
@@ -1665,6 +1721,13 @@
|
|
1665 |
"https://civitai.com/models/504990",
|
1666 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/708e949d-7dfd-473b-952a-e09317b679ca/width=450/15176927.jpeg"
|
1667 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1668 |
"WatashiHentaiPony": [
|
1669 |
"",
|
1670 |
"Pony",
|
@@ -1700,6 +1763,13 @@
|
|
1700 |
"https://civitai.com/models/570360",
|
1701 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/af88a2b0-ab45-4e67-a03f-ce3f8d3befce/width=450/19316294.jpeg"
|
1702 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1703 |
"X-ray_Ver_2_0": [
|
1704 |
"x-ray / x-ray-blowjob / x-ray, anal",
|
1705 |
"Pony",
|
@@ -1791,6 +1861,13 @@
|
|
1791 |
"https://civitai.com/models/476605",
|
1792 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/9015abba-f2a7-4a37-bae5-5b80e37ebba1/width=450/13607816.jpeg"
|
1793 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1794 |
"_sdxl-effectnewtype-pony": [
|
1795 |
"effectnewtype",
|
1796 |
"Pony",
|
@@ -2148,6 +2225,13 @@
|
|
2148 |
"https://civitai.com/models/474245",
|
2149 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/004510d3-810d-41b2-85f3-9cf3dc3f84d9/width=450/16422785.jpeg"
|
2150 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2151 |
"bioluminescence_monmusu_v15": [
|
2152 |
"bioluminescence / blue glow / cyan glow / green glow / red glow / monster girl / monster girl encyclopedia / scylla / shoggoth / shark girl / mind flayer girl / kraken girl / anglerfish girl / sea slug girl / mermaid / xeno'jiiva / sangonomiya kokomi / skadi dragenfelt / firefly / jellyfish / mushroom / glowworm / phytoplankton / swell shark",
|
2153 |
"Pony",
|
@@ -2547,6 +2631,13 @@
|
|
2547 |
"https://civitai.com/models/145887",
|
2548 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/d5944f71-a1a7-4dcc-927b-5ea70aa1ca5f/width=450/10955692.jpeg"
|
2549 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2550 |
"crimepreventionbuzzer_Pony_v1": [
|
2551 |
"crime prevention buzzer",
|
2552 |
"Pony",
|
@@ -3030,6 +3121,13 @@
|
|
3030 |
"https://civitai.com/models/568857",
|
3031 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ed855025-54e5-4dae-bc62-bd18a546a993/width=450/19208208.jpeg"
|
3032 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3033 |
"hair_ribbon_pony_V1_0": [
|
3034 |
"hair ribbon",
|
3035 |
"Pony",
|
@@ -3037,6 +3135,34 @@
|
|
3037 |
"https://civitai.com/models/568857",
|
3038 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/b66e4ada-d395-4d06-a6fe-50d2b12008bf/width=450/19226354.jpeg"
|
3039 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3040 |
"hamipan_XL_V1_0": [
|
3041 |
" hamipan, panties under clothes / buruma / shorts",
|
3042 |
"SDXL 1.0",
|
@@ -3646,6 +3772,13 @@
|
|
3646 |
"https://civitai.com/models/320709",
|
3647 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/121cc0d1-e20f-460d-b27d-e4dae494976f/width=450/7081151.jpeg"
|
3648 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3649 |
"multi_prolapse_ponyXL_v1": [
|
3650 |
"anal prolapse / uterine prolapse / double prolapse / ovary prolapse",
|
3651 |
"Pony",
|
@@ -4185,6 +4318,13 @@
|
|
4185 |
"https://civitai.com/models/541663",
|
4186 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/f4a1ad57-1835-4088-9ed1-8772d802c249/width=450/17440119.jpeg"
|
4187 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4188 |
"pubic_tattoo_Pony_V1_0": [
|
4189 |
"pubic tattoo,tattoo / heart",
|
4190 |
"Pony",
|
@@ -4584,6 +4724,13 @@
|
|
4584 |
"https://civitai.com/models/542280",
|
4585 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/98ef287c-0e72-4582-b5af-ed200c8e2824/width=450/17471785.jpeg"
|
4586 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4587 |
"splitXL2": [
|
4588 |
"split",
|
4589 |
"SDXL 1.0",
|
@@ -4675,6 +4822,13 @@
|
|
4675 |
"https://civitai.com/models/544991",
|
4676 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/731ad22b-7f48-46a2-b071-653d6f35baf0/width=450/17658185.jpeg"
|
4677 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4678 |
"sukumizu_Pony_V1_1": [
|
4679 |
"swimsuit,school swimsuit / blue one-piece swimsuit / white one-piece swimsuit",
|
4680 |
"Pony",
|
@@ -5095,6 +5249,13 @@
|
|
5095 |
"https://civitai.com/models/557389",
|
5096 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/deedeed2-8c1a-4121-8036-5c7e984c40e7/width=450/18485212.jpeg"
|
5097 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5098 |
"wadingpool_Pony_v1": [
|
5099 |
"wading pool",
|
5100 |
"Pony",
|
|
|
587 |
"https://civitai.com/models/534612",
|
588 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ba21785e-9a19-4fb7-944b-2651a36cb0c9/width=450/16953072.jpeg"
|
589 |
],
|
590 |
+
"Female_Cunnilingus_POV": [
|
591 |
+
"female cunnilingus POV, female, cunnilingus, POV, Nostra666, visible viewer breasts, female pov,",
|
592 |
+
"Pony",
|
593 |
+
"Female Cunnilingus POV Helper",
|
594 |
+
"https://civitai.com/models/573102",
|
595 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/6d84052f-fa1a-40cf-963b-c9417187139b/width=450/19517005.jpeg"
|
596 |
+
],
|
597 |
"Fine_Anime_Screencap-PonyV2": [
|
598 |
"fine anime screencap_xl, anime screencap",
|
599 |
"Pony",
|
|
|
748 |
"https://civitai.com/models/537014",
|
749 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/7370deac-a20d-4229-91e8-07950973d8d5/width=450/17133393.jpeg"
|
750 |
],
|
751 |
+
"Hentai_Pussy_inspection2_Pony_V1": [
|
752 |
+
"solo, multiple views, close-up, looking at viewer, cowboy shot, nude, female masturbation, (perfect hand), presenting, anus, clitoris, urethra, pussy, spread pussy, breasts, nipples, pussy juice, cervix, collarbone, sweat, navel, ass, clitoral hood, shiny, gaping, fingernails, shiny skin, stomach, nude, lying, on back, simple background, on bed, blush, smile, full body, standing, ",
|
753 |
+
"Pony",
|
754 |
+
"Hentai Pussy inspection 2shot Pony XL",
|
755 |
+
"https://civitai.com/models/573817",
|
756 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/e7545528-96c3-4eea-a546-c39d54b11f2c/width=450/19551004.jpeg"
|
757 |
+
],
|
758 |
"Hentai_Pussy_inspection_Pony_V1": [
|
759 |
"(Multiple layers), multiple views, simple bacground, Character profile, radar chart,zoom layer, close-up layer, breasts out, nippleless clothes, crotch cutout, breastless clothes, no panties, torn clothes, breasts, nipples, puffy nipples, pussy, fat mons, anus, clitoris, gaping, erect clitoris, large CLITORIS, Clitoral hood,",
|
760 |
"Pony",
|
|
|
804 |
"https://civitai.com/models/495860",
|
805 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/913dfaaa-3959-4def-83e9-991112db2782/width=450/14638692.jpeg"
|
806 |
],
|
807 |
+
"Hussy_in_Phone": [
|
808 |
+
"2GIRLS, HUSSY IN PHONE",
|
809 |
+
"SDXL 1.0",
|
810 |
+
"Hussy in Phone",
|
811 |
+
"https://civitai.com/models/571833",
|
812 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a091138c-3be3-4475-b70f-fe927558392f/width=450/19533815.jpeg"
|
813 |
+
],
|
814 |
"Hyper-SDXL-12steps-CFG-lora": [
|
815 |
"",
|
816 |
"SDXL Hyper",
|
|
|
1070 |
"https://civitai.com/models/544619",
|
1071 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/50c852ef-82ad-49f5-b5e0-f7ff3548c155/width=450/17631835.jpeg"
|
1072 |
],
|
1073 |
+
"MilkCharacterMeme": [
|
1074 |
+
"pi-mlk-chr-mm, inset, holding",
|
1075 |
+
"Pony",
|
1076 |
+
"Character on Milk Carton Meme",
|
1077 |
+
"https://civitai.com/models/562753",
|
1078 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/6f136e74-5105-4fc8-9970-8601566df7d1/width=450/18834618.jpeg"
|
1079 |
+
],
|
1080 |
"MiniAXV9XLScreencap": [
|
1081 |
"Anime Screencap",
|
1082 |
"Pony",
|
|
|
1126 |
"https://civitai.com/models/558150",
|
1127 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/e903e134-ad96-4c65-93b5-50b6f7aefd24/width=450/18695088.jpeg"
|
1128 |
],
|
1129 |
+
"Neoteny": [
|
1130 |
+
"neoteny / large eyes / small nose / small mouth / plump lips",
|
1131 |
+
"Pony",
|
1132 |
+
"Neoteny (Youthful Facial Features)",
|
1133 |
+
"https://civitai.com/models/568847",
|
1134 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/d560bb85-4916-42d6-8276-d984857089a0/width=450/19494094.jpeg"
|
1135 |
+
],
|
1136 |
"Nimura_YuujiXL": [
|
1137 |
"",
|
1138 |
"SDXL 1.0",
|
|
|
1217 |
"https://civitai.com/models/345352",
|
1218 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/2fc201a9-840c-4c7d-a648-db2cd3639ac3/width=450/16860750.jpeg"
|
1219 |
],
|
1220 |
+
"PVC": [
|
1221 |
+
"PVC",
|
1222 |
+
"SDXL 1.0",
|
1223 |
+
"PVC LoRA/PVC style/PVC\u30b9\u30bf\u30a4\u30eb/PVC \uc2a4\ud0c0\uc77c",
|
1224 |
+
"https://civitai.com/models/572550",
|
1225 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/f6721ee0-5f8e-4029-bdb7-12a049f141c3/width=450/19473087.jpeg"
|
1226 |
+
],
|
1227 |
"PaiControlPdxlDwnsty-000005": [
|
1228 |
"paizuri motion / motion line, motion blur, speed lines",
|
1229 |
"Pony",
|
|
|
1385 |
"https://civitai.com/models/540624",
|
1386 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/f15654c4-f436-42f4-8334-b8ec45e9ccb1/width=450/17379632.jpeg"
|
1387 |
],
|
1388 |
+
"RealisticSkinv1_ponyv6_loraplus": [
|
1389 |
+
"<lora:RealisticSkinv1_ponyv6_loraplus:1.15:step=15-28>real skin, freckles, mole, dirty skin, ",
|
1390 |
+
"Pony",
|
1391 |
+
"Realistic Skin for pony",
|
1392 |
+
"https://civitai.com/models/572899",
|
1393 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/453eb876-a8dd-45ab-aba5-e56c88595d3a/width=450/19501372.jpeg"
|
1394 |
+
],
|
1395 |
"Reverse_Fellatio_LoRa__PonyXL": [
|
1396 |
"1girl, 1boy, reverse fellatio, head back, deepthroat, uncensored",
|
1397 |
"Pony",
|
|
|
1644 |
"https://civitai.com/models/563212",
|
1645 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/02536d33-fce2-4f1b-988e-a02517591fe2/width=450/18850029.jpeg"
|
1646 |
],
|
1647 |
+
"Transparent_Male_PXL": [
|
1648 |
+
"transparent male / disembodied transparent limb / disembodied transparent penis",
|
1649 |
+
"Pony",
|
1650 |
+
"Transparent Male [PonyXL]",
|
1651 |
+
"https://civitai.com/models/573936",
|
1652 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/84262209-e3e2-4821-84a5-bdf564e5ff6f/width=450/19557719.jpeg"
|
1653 |
+
],
|
1654 |
"Tribadism_for_Pony": [
|
1655 |
"tribadism / scissoring / tribbing / trib / vaginal rubbing / pussies grinding",
|
1656 |
"Pony",
|
|
|
1721 |
"https://civitai.com/models/504990",
|
1722 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/708e949d-7dfd-473b-952a-e09317b679ca/width=450/15176927.jpeg"
|
1723 |
],
|
1724 |
+
"VibingDance_(frieren_vibing)_LoRA_PDXL_Anzhc": [
|
1725 |
+
"vibingdance, animation sheet, chibi, dancing / simple background, white background",
|
1726 |
+
"Pony",
|
1727 |
+
"Vibing Dance (Frieren Vibing meme) PDXL",
|
1728 |
+
"https://civitai.com/models/571967",
|
1729 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a2a343d6-9357-46fb-9865-a00de2e6b39a/width=450/19429555.jpeg"
|
1730 |
+
],
|
1731 |
"WatashiHentaiPony": [
|
1732 |
"",
|
1733 |
"Pony",
|
|
|
1763 |
"https://civitai.com/models/570360",
|
1764 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/af88a2b0-ab45-4e67-a03f-ce3f8d3befce/width=450/19316294.jpeg"
|
1765 |
],
|
1766 |
+
"X-Ray_Phone": [
|
1767 |
+
"X-RAY PHONE",
|
1768 |
+
"Pony",
|
1769 |
+
"X-Ray Phone",
|
1770 |
+
"https://civitai.com/models/570386",
|
1771 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/4807350e-69af-48d8-806d-e3d5f5ca5bbb/width=450/19421507.jpeg"
|
1772 |
+
],
|
1773 |
"X-ray_Ver_2_0": [
|
1774 |
"x-ray / x-ray-blowjob / x-ray, anal",
|
1775 |
"Pony",
|
|
|
1861 |
"https://civitai.com/models/476605",
|
1862 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/9015abba-f2a7-4a37-bae5-5b80e37ebba1/width=450/13607816.jpeg"
|
1863 |
],
|
1864 |
+
"_sdxl-dontstop-pony": [
|
1865 |
+
"dontstop",
|
1866 |
+
"Pony",
|
1867 |
+
"for PONY, don't_you_ever_stop_(meme) - \u6b62\u307e\u308b\u3093\u3058\u3083\u306d\u3048\u305e LoRA",
|
1868 |
+
"https://civitai.com/models/573722",
|
1869 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/345f8f21-c9af-4faf-83c6-2b5c6cce261a/width=450/19545975.jpeg"
|
1870 |
+
],
|
1871 |
"_sdxl-effectnewtype-pony": [
|
1872 |
"effectnewtype",
|
1873 |
"Pony",
|
|
|
2225 |
"https://civitai.com/models/474245",
|
2226 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/004510d3-810d-41b2-85f3-9cf3dc3f84d9/width=450/16422785.jpeg"
|
2227 |
],
|
2228 |
+
"bind_four_sdxl": [
|
2229 |
+
"1girl, solo, bind_all, machine, spread legs, bdsm",
|
2230 |
+
"Pony",
|
2231 |
+
"Hands and legs are bound by the machine",
|
2232 |
+
"https://civitai.com/models/572367",
|
2233 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/65cc350f-a83f-49af-a098-03843d14658b/width=450/19460194.jpeg"
|
2234 |
+
],
|
2235 |
"bioluminescence_monmusu_v15": [
|
2236 |
"bioluminescence / blue glow / cyan glow / green glow / red glow / monster girl / monster girl encyclopedia / scylla / shoggoth / shark girl / mind flayer girl / kraken girl / anglerfish girl / sea slug girl / mermaid / xeno'jiiva / sangonomiya kokomi / skadi dragenfelt / firefly / jellyfish / mushroom / glowworm / phytoplankton / swell shark",
|
2237 |
"Pony",
|
|
|
2631 |
"https://civitai.com/models/145887",
|
2632 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/d5944f71-a1a7-4dcc-927b-5ea70aa1ca5f/width=450/10955692.jpeg"
|
2633 |
],
|
2634 |
+
"creepydoll": [
|
2635 |
+
"doll / long arms, long legs",
|
2636 |
+
"Pony",
|
2637 |
+
"Creepy Doll",
|
2638 |
+
"https://civitai.com/models/570966",
|
2639 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/054ce404-1106-4c7e-a459-d90d670aaac2/width=450/19380314.jpeg"
|
2640 |
+
],
|
2641 |
"crimepreventionbuzzer_Pony_v1": [
|
2642 |
"crime prevention buzzer",
|
2643 |
"Pony",
|
|
|
3121 |
"https://civitai.com/models/568857",
|
3122 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ed855025-54e5-4dae-bc62-bd18a546a993/width=450/19208208.jpeg"
|
3123 |
],
|
3124 |
+
"hair_ribbon_braid_XL_V1_0": [
|
3125 |
+
"hair ribbon braid,hair ribbon / braid",
|
3126 |
+
"SDXL 1.0",
|
3127 |
+
"\u7de8\u307f\u8fbc\u307f\u30ea\u30dc\u30f3/hair ribbon braid",
|
3128 |
+
"https://civitai.com/models/572391",
|
3129 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/8e51c565-3c37-4525-88fc-b24b72246d81/width=450/19462384.jpeg"
|
3130 |
+
],
|
3131 |
"hair_ribbon_pony_V1_0": [
|
3132 |
"hair ribbon",
|
3133 |
"Pony",
|
|
|
3135 |
"https://civitai.com/models/568857",
|
3136 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/b66e4ada-d395-4d06-a6fe-50d2b12008bf/width=450/19226354.jpeg"
|
3137 |
],
|
3138 |
+
"hairless_pussy_baihu": [
|
3139 |
+
"Heimuerbaihu Pussy / Pussy / heibaihu pussy",
|
3140 |
+
"Pony",
|
3141 |
+
"Shaved Pussy\u65e0\u6bdb\u7a74Pony",
|
3142 |
+
"https://civitai.com/models/573028",
|
3143 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a09bdec1-7f00-451a-8437-8ded4af989cd/width=450/19511290.jpeg"
|
3144 |
+
],
|
3145 |
+
"hairy_pussy": [
|
3146 |
+
"hairy pussy / maomao / heimuer",
|
3147 |
+
"Pony",
|
3148 |
+
"hairy pussy\u9ed1\u6728\u8033\u9c8d\u9c7cPony",
|
3149 |
+
"https://civitai.com/models/572312",
|
3150 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/953380b7-3116-42cb-950d-c47b50ad8fa3/width=450/19465465.jpeg"
|
3151 |
+
],
|
3152 |
+
"hairy_pussystanding": [
|
3153 |
+
"Hairy Pussy / yingmao",
|
3154 |
+
"Pony",
|
3155 |
+
"Hairy Pussy(Standing)",
|
3156 |
+
"https://civitai.com/models/572665",
|
3157 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/d666c491-d65f-49e5-bfe2-b0658ed035df/width=450/19485170.jpeg"
|
3158 |
+
],
|
3159 |
+
"hairywomenxl": [
|
3160 |
+
"1woman, excessive pubic hair, pussy juice, hairy anus, anus, hairy arms, hairy legs, hairy thighs, hairy stomach, hairy armpits, happy trail, (Pubic Hair:1.4), large breasts / hairywomenxl",
|
3161 |
+
"SDXL 1.0",
|
3162 |
+
"hairy_womenXL",
|
3163 |
+
"https://civitai.com/models/572643",
|
3164 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ca34c1d0-9cb4-4c0b-b572-e0bd50327080/width=450/19481548.jpeg"
|
3165 |
+
],
|
3166 |
"hamipan_XL_V1_0": [
|
3167 |
" hamipan, panties under clothes / buruma / shorts",
|
3168 |
"SDXL 1.0",
|
|
|
3772 |
"https://civitai.com/models/320709",
|
3773 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/121cc0d1-e20f-460d-b27d-e4dae494976f/width=450/7081151.jpeg"
|
3774 |
],
|
3775 |
+
"mugshot_pony_ver1": [
|
3776 |
+
"mugshot / holding sign",
|
3777 |
+
"Pony",
|
3778 |
+
"(Pony) mugshot",
|
3779 |
+
"https://civitai.com/models/573056",
|
3780 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/c3c99a9a-f2cf-4c20-ae4b-a03ded327311/width=450/19512503.jpeg"
|
3781 |
+
],
|
3782 |
"multi_prolapse_ponyXL_v1": [
|
3783 |
"anal prolapse / uterine prolapse / double prolapse / ovary prolapse",
|
3784 |
"Pony",
|
|
|
4318 |
"https://civitai.com/models/541663",
|
4319 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/f4a1ad57-1835-4088-9ed1-8772d802c249/width=450/17440119.jpeg"
|
4320 |
],
|
4321 |
+
"pubic_hair_XL_V1_0": [
|
4322 |
+
"pubic hair",
|
4323 |
+
"SDXL 1.0",
|
4324 |
+
"\u30de\u30f3\u6bdb/pubic hair",
|
4325 |
+
"https://civitai.com/models/572782",
|
4326 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/bf9525c7-e755-475d-86d6-c958af21be24/width=450/19491907.jpeg"
|
4327 |
+
],
|
4328 |
"pubic_tattoo_Pony_V1_0": [
|
4329 |
"pubic tattoo,tattoo / heart",
|
4330 |
"Pony",
|
|
|
4724 |
"https://civitai.com/models/542280",
|
4725 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/98ef287c-0e72-4582-b5af-ed200c8e2824/width=450/17471785.jpeg"
|
4726 |
],
|
4727 |
+
"spfigmaFigurineXLPony2": [
|
4728 |
+
"3d, figma, depth of field, blurry background",
|
4729 |
+
"Pony",
|
4730 |
+
"[PonyXL] Figma Figurines \u30d5\u30a3\u30b0\u30de || Concept / Style",
|
4731 |
+
"https://civitai.com/models/573646",
|
4732 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/99afd187-fba0-443b-b34b-63060541789b/width=450/19544489.jpeg"
|
4733 |
+
],
|
4734 |
"splitXL2": [
|
4735 |
"split",
|
4736 |
"SDXL 1.0",
|
|
|
4822 |
"https://civitai.com/models/544991",
|
4823 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/731ad22b-7f48-46a2-b071-653d6f35baf0/width=450/17658185.jpeg"
|
4824 |
],
|
4825 |
+
"suction_dildo_masturbation": [
|
4826 |
+
"fuckingherself, 1woman, suction_dildo, suction_cup_dildo, dildo, female_masturbation, vaginal, uncensored pussy, looking_back, ahegao, pussy juice, / against_glass, glass_wall, / against wall, wall, ",
|
4827 |
+
"SDXL 1.0",
|
4828 |
+
"suction_dildo_masturbation",
|
4829 |
+
"https://civitai.com/models/572613",
|
4830 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ad3ce7ac-af94-412d-9c1a-de186f8b9df9/width=450/19479975.jpeg"
|
4831 |
+
],
|
4832 |
"sukumizu_Pony_V1_1": [
|
4833 |
"swimsuit,school swimsuit / blue one-piece swimsuit / white one-piece swimsuit",
|
4834 |
"Pony",
|
|
|
5249 |
"https://civitai.com/models/557389",
|
5250 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/deedeed2-8c1a-4121-8036-5c7e984c40e7/width=450/18485212.jpeg"
|
5251 |
],
|
5252 |
+
"vore_frog": [
|
5253 |
+
"vored / frog / ass / breast",
|
5254 |
+
"Pony",
|
5255 |
+
"[PonyXL] Vored by Frog",
|
5256 |
+
"https://civitai.com/models/572375",
|
5257 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/0b409539-77e6-494e-b5fd-c4266a8cc7e1/width=450/19460494.jpeg"
|
5258 |
+
],
|
5259 |
"wadingpool_Pony_v1": [
|
5260 |
"wading pool",
|
5261 |
"Pony",
|
modutils.py
CHANGED
@@ -224,8 +224,7 @@ def get_tupled_model_list(model_list):
|
|
224 |
|
225 |
def save_gallery_images(images):
|
226 |
from datetime import datetime, timezone, timedelta
|
227 |
-
|
228 |
-
dt_now = datetime.utcnow().replace(tzinfo=timezone.utc).astimezone(japan_tz)
|
229 |
basename = dt_now.strftime('%Y%m%d_%H%M%S_')
|
230 |
i = 1
|
231 |
if not images: return images
|
@@ -234,7 +233,7 @@ def save_gallery_images(images):
|
|
234 |
for image in images:
|
235 |
from pathlib import Path
|
236 |
filename = basename + str(i) + ".png"
|
237 |
-
oldpath = Path(image[0])
|
238 |
newpath = oldpath.resolve().rename(Path(filename).resolve())
|
239 |
output_paths.append(str(newpath))
|
240 |
output_images.append((str(newpath), str(filename)))
|
@@ -261,7 +260,7 @@ optimization_list = {
|
|
261 |
}
|
262 |
|
263 |
|
264 |
-
def set_optimization(opt, steps_gui, cfg_gui, sampler_gui, clip_skip_gui,
|
265 |
if not opt in list(optimization_list.keys()): opt = "None"
|
266 |
def_steps_gui = 28
|
267 |
def_cfg_gui = 7.
|
@@ -269,8 +268,8 @@ def set_optimization(opt, steps_gui, cfg_gui, sampler_gui, clip_skip_gui, lora1_
|
|
269 |
cfg = optimization_list.get(opt, "None")[1]
|
270 |
sampler = optimization_list.get(opt, "None")[2]
|
271 |
clip_skip = optimization_list.get(opt, "None")[3]
|
272 |
-
|
273 |
-
|
274 |
if opt == "None":
|
275 |
steps = max(steps_gui, def_steps_gui)
|
276 |
cfg = max(cfg_gui, def_cfg_gui)
|
@@ -280,7 +279,7 @@ def set_optimization(opt, steps_gui, cfg_gui, sampler_gui, clip_skip_gui, lora1_
|
|
280 |
cfg = max(cfg_gui, def_cfg_gui)
|
281 |
|
282 |
return gr.update(value=steps), gr.update(value=cfg), gr.update(value=sampler),\
|
283 |
-
gr.update(value=clip_skip), gr.update(value=
|
284 |
|
285 |
|
286 |
def set_lora_prompt(prompt_gui, prompt_syntax_gui, lora1_gui, lora_scale_1_gui, lora2_gui, lora_scale_2_gui,\
|
@@ -460,8 +459,10 @@ def apply_lora_prompt(prompt_gui: str, lora_trigger_gui: str):
|
|
460 |
return gr.update(value=prompt)
|
461 |
|
462 |
|
463 |
-
def upload_file_lora(files):
|
|
|
464 |
file_paths = [file.name for file in files]
|
|
|
465 |
return gr.update(value=file_paths, visible=True), gr.update(visible=True)
|
466 |
|
467 |
|
@@ -686,7 +687,7 @@ preset_styles = {k["name"]: (k["prompt"], k["negative_prompt"]) for k in style_l
|
|
686 |
preset_quality = {k["name"]: (k["prompt"], k["negative_prompt"]) for k in quality_prompt_list}
|
687 |
|
688 |
|
689 |
-
def process_style_prompt(prompt: str, neg_prompt: str, styles_key: str = "None", quality_key: str = "None", type: str = "
|
690 |
def to_list(s):
|
691 |
return [x.strip() for x in s.split(",") if not s == ""]
|
692 |
|
@@ -723,8 +724,8 @@ def process_style_prompt(prompt: str, neg_prompt: str, styles_key: str = "None",
|
|
723 |
prompts = list_sub(prompts, animagine_ps + pony_ps + all_styles_ps + all_quality_ps)
|
724 |
neg_prompts = list_sub(neg_prompts, animagine_nps + pony_nps + all_styles_nps + all_quality_nps)
|
725 |
|
726 |
-
last_empty_p = [""] if not prompts and type != "None" and styles_key != "None" and quality_key != "None" else []
|
727 |
-
last_empty_np = [""] if not neg_prompts and type != "None" and styles_key != "None" and quality_key != "None" else []
|
728 |
|
729 |
if type == "Animagine":
|
730 |
prompts = prompts + animagine_ps
|
@@ -739,17 +740,17 @@ def process_style_prompt(prompt: str, neg_prompt: str, styles_key: str = "None",
|
|
739 |
prompt = ", ".join(list_uniq(prompts) + last_empty_p)
|
740 |
neg_prompt = ", ".join(list_uniq(neg_prompts) + last_empty_np)
|
741 |
|
742 |
-
return prompt, neg_prompt
|
743 |
|
744 |
|
745 |
-
def set_quick_presets(genre:str = "None", type:str = "
|
746 |
quality = "None"
|
747 |
style = "None"
|
748 |
sampler = "None"
|
749 |
opt = "None"
|
750 |
|
751 |
if genre == "Anime":
|
752 |
-
style = "Anime"
|
753 |
if aspect == "1:1":
|
754 |
if speed == "Heavy":
|
755 |
sampler = "Anime 1:1 Heavy"
|
@@ -766,10 +767,12 @@ def set_quick_presets(genre:str = "None", type:str = "None", speed:str = "None",
|
|
766 |
sampler = "Anime 3:4 Standard"
|
767 |
if type == "Pony":
|
768 |
quality = "Pony Anime Common"
|
769 |
-
|
770 |
quality = "Animagine Common"
|
|
|
|
|
771 |
elif genre == "Photo":
|
772 |
-
style = "Photographic"
|
773 |
if aspect == "1:1":
|
774 |
if speed == "Heavy":
|
775 |
sampler = "Photo 1:1 Heavy"
|
@@ -791,9 +794,9 @@ def set_quick_presets(genre:str = "None", type:str = "None", speed:str = "None",
|
|
791 |
|
792 |
if speed == "Fast":
|
793 |
opt = "DPO Turbo"
|
794 |
-
if genre == "Anime" and type != "Pony": quality = "Animagine Light v3.1"
|
795 |
|
796 |
-
return gr.update(value=quality), gr.update(value=style), gr.update(value=sampler), gr.update(value=opt)
|
797 |
|
798 |
|
799 |
textual_inversion_dict = {}
|
|
|
224 |
|
225 |
def save_gallery_images(images):
|
226 |
from datetime import datetime, timezone, timedelta
|
227 |
+
dt_now = datetime.now(timezone(timedelta(hours=9)))
|
|
|
228 |
basename = dt_now.strftime('%Y%m%d_%H%M%S_')
|
229 |
i = 1
|
230 |
if not images: return images
|
|
|
233 |
for image in images:
|
234 |
from pathlib import Path
|
235 |
filename = basename + str(i) + ".png"
|
236 |
+
oldpath = Path(image[0]) # Path(image[0])
|
237 |
newpath = oldpath.resolve().rename(Path(filename).resolve())
|
238 |
output_paths.append(str(newpath))
|
239 |
output_images.append((str(newpath), str(filename)))
|
|
|
260 |
}
|
261 |
|
262 |
|
263 |
+
def set_optimization(opt, steps_gui, cfg_gui, sampler_gui, clip_skip_gui, lora_gui, lora_scale_gui):
|
264 |
if not opt in list(optimization_list.keys()): opt = "None"
|
265 |
def_steps_gui = 28
|
266 |
def_cfg_gui = 7.
|
|
|
268 |
cfg = optimization_list.get(opt, "None")[1]
|
269 |
sampler = optimization_list.get(opt, "None")[2]
|
270 |
clip_skip = optimization_list.get(opt, "None")[3]
|
271 |
+
lora = optimization_list.get(opt, "None")[4]
|
272 |
+
lora_scale = optimization_list.get(opt, "None")[5]
|
273 |
if opt == "None":
|
274 |
steps = max(steps_gui, def_steps_gui)
|
275 |
cfg = max(cfg_gui, def_cfg_gui)
|
|
|
279 |
cfg = max(cfg_gui, def_cfg_gui)
|
280 |
|
281 |
return gr.update(value=steps), gr.update(value=cfg), gr.update(value=sampler),\
|
282 |
+
gr.update(value=clip_skip), gr.update(value=lora), gr.update(value=lora_scale),
|
283 |
|
284 |
|
285 |
def set_lora_prompt(prompt_gui, prompt_syntax_gui, lora1_gui, lora_scale_1_gui, lora2_gui, lora_scale_2_gui,\
|
|
|
459 |
return gr.update(value=prompt)
|
460 |
|
461 |
|
462 |
+
def upload_file_lora(files, progress=gr.Progress(track_tqdm=True)):
|
463 |
+
progress(0, desc="Uploading...")
|
464 |
file_paths = [file.name for file in files]
|
465 |
+
progress(1, desc="Uploaded.")
|
466 |
return gr.update(value=file_paths, visible=True), gr.update(visible=True)
|
467 |
|
468 |
|
|
|
687 |
preset_quality = {k["name"]: (k["prompt"], k["negative_prompt"]) for k in quality_prompt_list}
|
688 |
|
689 |
|
690 |
+
def process_style_prompt(prompt: str, neg_prompt: str, styles_key: str = "None", quality_key: str = "None", type: str = "Auto"):
|
691 |
def to_list(s):
|
692 |
return [x.strip() for x in s.split(",") if not s == ""]
|
693 |
|
|
|
724 |
prompts = list_sub(prompts, animagine_ps + pony_ps + all_styles_ps + all_quality_ps)
|
725 |
neg_prompts = list_sub(neg_prompts, animagine_nps + pony_nps + all_styles_nps + all_quality_nps)
|
726 |
|
727 |
+
last_empty_p = [""] if not prompts and type != "None" and type != "Auto" and styles_key != "None" and quality_key != "None" else []
|
728 |
+
last_empty_np = [""] if not neg_prompts and type != "None" and type != "Auto" and styles_key != "None" and quality_key != "None" else []
|
729 |
|
730 |
if type == "Animagine":
|
731 |
prompts = prompts + animagine_ps
|
|
|
740 |
prompt = ", ".join(list_uniq(prompts) + last_empty_p)
|
741 |
neg_prompt = ", ".join(list_uniq(neg_prompts) + last_empty_np)
|
742 |
|
743 |
+
return gr.update(value=prompt), gr.update(value=neg_prompt), gr.update(value=type)
|
744 |
|
745 |
|
746 |
+
def set_quick_presets(genre:str = "None", type:str = "Auto", speed:str = "None", aspect:str = "None"):
|
747 |
quality = "None"
|
748 |
style = "None"
|
749 |
sampler = "None"
|
750 |
opt = "None"
|
751 |
|
752 |
if genre == "Anime":
|
753 |
+
if type != "None" and type != "Auto": style = "Anime"
|
754 |
if aspect == "1:1":
|
755 |
if speed == "Heavy":
|
756 |
sampler = "Anime 1:1 Heavy"
|
|
|
767 |
sampler = "Anime 3:4 Standard"
|
768 |
if type == "Pony":
|
769 |
quality = "Pony Anime Common"
|
770 |
+
elif type == "Animagine":
|
771 |
quality = "Animagine Common"
|
772 |
+
else:
|
773 |
+
quality = "None"
|
774 |
elif genre == "Photo":
|
775 |
+
if type != "None" and type != "Auto": style = "Photographic"
|
776 |
if aspect == "1:1":
|
777 |
if speed == "Heavy":
|
778 |
sampler = "Photo 1:1 Heavy"
|
|
|
794 |
|
795 |
if speed == "Fast":
|
796 |
opt = "DPO Turbo"
|
797 |
+
if genre == "Anime" and type != "Pony" and type != "Auto": quality = "Animagine Light v3.1"
|
798 |
|
799 |
+
return gr.update(value=quality), gr.update(value=style), gr.update(value=sampler), gr.update(value=opt), gr.update(value=type)
|
800 |
|
801 |
|
802 |
textual_inversion_dict = {}
|
requirements.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
git+https://github.com/R3gm/stablepy.git@
|
2 |
torch==2.2.0
|
3 |
gdown
|
4 |
opencv-python
|
|
|
1 |
+
git+https://github.com/R3gm/stablepy.git@dev2
|
2 |
torch==2.2.0
|
3 |
gdown
|
4 |
opencv-python
|