Spaces:
Running
on
Zero
Running
on
Zero
Upload 18 files
Browse files- README.md +2 -3
- app.py +26 -26
- lora_dict.json +203 -0
- modutils.py +11 -8
- requirements.txt +2 -1
- tagger.py +2 -6
- v2.py +0 -1
README.md
CHANGED
|
@@ -1,13 +1,12 @@
|
|
| 1 |
---
|
| 2 |
-
title:
|
| 3 |
-
emoji:
|
| 4 |
colorFrom: red
|
| 5 |
colorTo: pink
|
| 6 |
sdk: gradio
|
| 7 |
sdk_version: 4.37.2
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
-
header: mini
|
| 11 |
license: mit
|
| 12 |
short_description: Stunning images using stable diffusion.
|
| 13 |
---
|
|
|
|
| 1 |
---
|
| 2 |
+
title: test
|
| 3 |
+
emoji: 🧩
|
| 4 |
colorFrom: red
|
| 5 |
colorTo: pink
|
| 6 |
sdk: gradio
|
| 7 |
sdk_version: 4.37.2
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
|
|
|
| 10 |
license: mit
|
| 11 |
short_description: Stunning images using stable diffusion.
|
| 12 |
---
|
app.py
CHANGED
|
@@ -267,12 +267,12 @@ for url_embed in download_embeds:
|
|
| 267 |
embed_list = get_model_list(directory_embeds)
|
| 268 |
model_list = get_model_list(directory_models)
|
| 269 |
model_list = load_diffusers_format_model + model_list
|
|
|
|
| 270 |
lora_model_list = list_uniq(get_private_lora_model_lists() + get_model_list(directory_loras))
|
| 271 |
lora_model_list.insert(0, "None")
|
| 272 |
vae_model_list = get_model_list(directory_vaes)
|
| 273 |
vae_model_list.insert(0, "None")
|
| 274 |
|
| 275 |
-
## BEGIN MOD
|
| 276 |
directory_embeds_sdxl = 'embedings_xl'
|
| 277 |
os.makedirs(directory_embeds_sdxl, exist_ok=True)
|
| 278 |
download_private_repo('John6666/embeddingstest', directory_embeds_sdxl, False)
|
|
@@ -411,7 +411,7 @@ from tagger import (
|
|
| 411 |
remove_specific_prompt,
|
| 412 |
insert_recom_prompt,
|
| 413 |
compose_prompt_to_copy,
|
| 414 |
-
|
| 415 |
select_random_character,
|
| 416 |
)
|
| 417 |
from modutils import (
|
|
@@ -905,7 +905,7 @@ with gr.Blocks(theme="NoCrypt/miku", elem_id="main", css=CSS) as app:
|
|
| 905 |
prompt_gui = gr.Textbox(lines=6, placeholder="1girl, solo, ...", label="Prompt", show_copy_button=True)
|
| 906 |
with gr.Accordion("Negative prompt, etc.", open=False) as menu_negative:
|
| 907 |
neg_prompt_gui = gr.Textbox(lines=3, placeholder="lowres, (bad), ...", label="Negative prompt", show_copy_button=True)
|
| 908 |
-
|
| 909 |
insert_prompt_gui = gr.Radio(label="Insert reccomended positive / negative prompt", choices=["None", "Animagine", "Pony"], value="None", interactive=True, scale=2)
|
| 910 |
with gr.Accordion(label="Advanced options", open=False):
|
| 911 |
prompt_type_gui = gr.Radio(label="Convert tags to", choices=["danbooru", "e621"], value="e621", visible=False)
|
|
@@ -1048,11 +1048,11 @@ with gr.Blocks(theme="NoCrypt/miku", elem_id="main", css=CSS) as app:
|
|
| 1048 |
("None", "None"),
|
| 1049 |
]
|
| 1050 |
prompt_syntax_gui = gr.Dropdown(label="Prompt Syntax", choices=prompt_s_options, value=prompt_s_options[1][1])
|
| 1051 |
-
vae_model_gui = gr.Dropdown(label="VAE Model", choices=vae_model_list)
|
| 1052 |
|
| 1053 |
with gr.Accordion("Hires fix", open=False, visible=True) as menu_hires:
|
| 1054 |
upscaler_keys = list(upscaler_dict_gui.keys())
|
| 1055 |
-
upscaler_model_path_gui = gr.Dropdown(label="Upscaler", choices=upscaler_keys, value=
|
| 1056 |
upscaler_increases_size_gui = gr.Slider(minimum=1.1, maximum=6., step=0.1, value=1.0, label="Upscale by")
|
| 1057 |
esrgan_tile_gui = gr.Slider(minimum=0, value=100, maximum=500, step=1, label="ESRGAN Tile")
|
| 1058 |
esrgan_tile_overlap_gui = gr.Slider(minimum=1, maximum=200, step=1, value=10, label="ESRGAN Tile Overlap")
|
|
@@ -1063,35 +1063,35 @@ with gr.Blocks(theme="NoCrypt/miku", elem_id="main", css=CSS) as app:
|
|
| 1063 |
hires_negative_prompt_gui = gr.Textbox(label="Hires Negative Prompt", placeholder="Main negative prompt will be use", lines=3)
|
| 1064 |
|
| 1065 |
with gr.Accordion("LoRA", open=False, visible=True) as menu_lora:
|
| 1066 |
-
lora1_gui = gr.Dropdown(label="Lora1", choices=get_lora_tupled_list(lora_model_list),
|
| 1067 |
lora_scale_1_gui = gr.Slider(minimum=-2, maximum=2, step=0.01, value=1.00, label="Lora Scale 1")
|
| 1068 |
with gr.Row():
|
| 1069 |
with gr.Group():
|
| 1070 |
lora1_trigger_gui = gr.Textbox(label="Lora1 prompts", info="Example of prompt:", value="", show_copy_button=True, interactive=False, visible=False)
|
| 1071 |
lora1_copy_button = gr.Button(value="Copy example to prompt", visible=False)
|
| 1072 |
lora1_desc_gui = gr.Markdown(value="", visible=False)
|
| 1073 |
-
lora2_gui = gr.Dropdown(label="Lora2", choices=get_lora_tupled_list(lora_model_list),
|
| 1074 |
lora_scale_2_gui = gr.Slider(minimum=-2, maximum=2, step=0.01, value=1.00, label="Lora Scale 2")
|
| 1075 |
with gr.Row():
|
| 1076 |
with gr.Group():
|
| 1077 |
lora2_trigger_gui = gr.Textbox(label="Lora2 prompts", info="Example of prompt:", value="", show_copy_button=True, interactive=False, visible=False)
|
| 1078 |
lora2_copy_button = gr.Button(value="Copy example to prompt", visible=False)
|
| 1079 |
lora2_desc_gui = gr.Markdown(value="", visible=False)
|
| 1080 |
-
lora3_gui = gr.Dropdown(label="Lora3", choices=get_lora_tupled_list(lora_model_list),
|
| 1081 |
lora_scale_3_gui = gr.Slider(minimum=-2, maximum=2, step=0.01, value=1.00, label="Lora Scale 3")
|
| 1082 |
with gr.Row():
|
| 1083 |
with gr.Group():
|
| 1084 |
lora3_trigger_gui = gr.Textbox(label="Lora3 prompts", info="Example of prompt:", value="", show_copy_button=True, interactive=False, visible=False)
|
| 1085 |
lora3_copy_button = gr.Button(value="Copy example to prompt", visible=False)
|
| 1086 |
lora3_desc_gui = gr.Markdown(value="", visible=False)
|
| 1087 |
-
lora4_gui = gr.Dropdown(label="Lora4", choices=get_lora_tupled_list(lora_model_list),
|
| 1088 |
lora_scale_4_gui = gr.Slider(minimum=-2, maximum=2, step=0.01, value=1.00, label="Lora Scale 4")
|
| 1089 |
with gr.Row():
|
| 1090 |
with gr.Group():
|
| 1091 |
lora4_trigger_gui = gr.Textbox(label="Lora4 prompts", info="Example of prompt:", value="", show_copy_button=True, interactive=False, visible=False)
|
| 1092 |
lora4_copy_button = gr.Button(value="Copy example to prompt", visible=False)
|
| 1093 |
lora4_desc_gui = gr.Markdown(value="", visible=False)
|
| 1094 |
-
lora5_gui = gr.Dropdown(label="Lora5", choices=get_lora_tupled_list(lora_model_list),
|
| 1095 |
lora_scale_5_gui = gr.Slider(minimum=-2, maximum=2, step=0.01, value=1.00, label="Lora Scale 5")
|
| 1096 |
with gr.Row():
|
| 1097 |
with gr.Group():
|
|
@@ -1099,14 +1099,14 @@ with gr.Blocks(theme="NoCrypt/miku", elem_id="main", css=CSS) as app:
|
|
| 1099 |
lora5_copy_button = gr.Button(value="Copy example to prompt", visible=False)
|
| 1100 |
lora5_desc_gui = gr.Markdown(value="", visible=False)
|
| 1101 |
with gr.Accordion("From URL", open=True, visible=True):
|
| 1102 |
-
text_lora = gr.Textbox(label="URL", placeholder="http://...my_lora_url.safetensors", lines=1)
|
| 1103 |
-
button_lora = gr.Button("Get and update lists of LoRAs")
|
| 1104 |
with gr.Row():
|
| 1105 |
search_civitai_query_lora = gr.Textbox(label="Query", placeholder="oomuro sakurako...", lines=1)
|
| 1106 |
search_civitai_basemodel_lora = gr.CheckboxGroup(label="Search LoRA for", choices=["Pony", "SD 1.5", "SDXL 1.0"], value=["Pony", "SDXL 1.0"])
|
| 1107 |
search_civitai_button_lora = gr.Button("Search on Civitai")
|
| 1108 |
-
search_civitai_result_lora = gr.Dropdown(label="Search Results", choices=[("", "")], value="",
|
| 1109 |
search_civitai_desc_lora = gr.Markdown(value="", visible=False)
|
|
|
|
|
|
|
| 1110 |
with gr.Accordion("From Local", open=True, visible=True):
|
| 1111 |
file_output_lora = gr.File(label="Uploaded LoRA", file_types=['.ckpt', '.pt', '.pth', '.safetensors', '.bin'], file_count="multiple", interactive=False, visible=False)
|
| 1112 |
upload_button_lora = gr.UploadButton(label="Upload LoRA from your disk (very slow)", file_types=['.ckpt' , '.pt', '.pth', '.safetensors', '.bin'], file_count="multiple")
|
|
@@ -1137,7 +1137,7 @@ with gr.Blocks(theme="NoCrypt/miku", elem_id="main", css=CSS) as app:
|
|
| 1137 |
info="This option adjusts the level of changes for img2img and inpainting."
|
| 1138 |
)
|
| 1139 |
image_resolution_gui = gr.Slider(minimum=64, maximum=2048, step=64, value=1024, label="Image Resolution")
|
| 1140 |
-
preprocessor_name_gui = gr.Dropdown(label="Preprocessor Name", choices=preprocessor_controlnet["canny"])
|
| 1141 |
|
| 1142 |
def change_preprocessor_choices(task):
|
| 1143 |
task = task_stablepy[task]
|
|
@@ -1660,15 +1660,15 @@ with gr.Blocks(theme="NoCrypt/miku", elem_id="main", css=CSS) as app:
|
|
| 1660 |
fn=search_civitai_lora,
|
| 1661 |
inputs=[search_civitai_query_lora, search_civitai_basemodel_lora],
|
| 1662 |
outputs=[search_civitai_result_lora, search_civitai_desc_lora, search_civitai_button_lora, search_civitai_query_lora],
|
| 1663 |
-
|
| 1664 |
)
|
| 1665 |
-
search_civitai_result_lora.change(select_civitai_lora, [search_civitai_result_lora], [text_lora, search_civitai_desc_lora])
|
| 1666 |
-
button_lora.click(get_my_lora, [text_lora], [lora1_gui, lora2_gui, lora3_gui, lora4_gui, lora5_gui])
|
| 1667 |
-
upload_button_lora.upload(upload_file_lora, [upload_button_lora], [file_output_lora, upload_button_lora]
|
| 1668 |
move_file_lora,
|
| 1669 |
[file_output_lora],
|
| 1670 |
[lora1_gui, lora2_gui, lora3_gui, lora4_gui, lora5_gui],
|
| 1671 |
-
|
| 1672 |
)
|
| 1673 |
|
| 1674 |
use_textual_inversion_gui.change(set_textual_inversion_prompt, [use_textual_inversion_gui, prompt_gui, neg_prompt_gui, prompt_syntax_gui], [prompt_gui, neg_prompt_gui])
|
|
@@ -1712,9 +1712,9 @@ with gr.Blocks(theme="NoCrypt/miku", elem_id="main", css=CSS) as app:
|
|
| 1712 |
[prompt_gui, elapsed_time_dbt, copy_button_dbt, copy_button_dbt],
|
| 1713 |
)
|
| 1714 |
|
| 1715 |
-
|
| 1716 |
-
|
| 1717 |
-
|
| 1718 |
|
| 1719 |
generate_button.click(
|
| 1720 |
fn=sd_gen.load_new_model,
|
|
@@ -1857,7 +1857,7 @@ with gr.Blocks(theme="NoCrypt/miku", elem_id="main", css=CSS) as app:
|
|
| 1857 |
input_general = gr.TextArea(label="General tags", lines=4, placeholder="1girl, ...", value="")
|
| 1858 |
input_tags_to_copy = gr.Textbox(value="", visible=False)
|
| 1859 |
copy_input_btn = gr.Button(value="Copy to clipboard", size="sm", interactive=False)
|
| 1860 |
-
|
| 1861 |
tag_type = gr.Radio(label="Output tag conversion", info="danbooru for Animagine, e621 for Pony.", choices=["danbooru", "e621"], value="e621", visible=False)
|
| 1862 |
input_rating = gr.Radio(label="Rating", choices=list(V2_RATING_OPTIONS), value="explicit")
|
| 1863 |
with gr.Accordion(label="Advanced options", open=False):
|
|
@@ -1895,9 +1895,9 @@ with gr.Blocks(theme="NoCrypt/miku", elem_id="main", css=CSS) as app:
|
|
| 1895 |
input_ban_tags,
|
| 1896 |
]
|
| 1897 |
|
| 1898 |
-
|
| 1899 |
-
|
| 1900 |
-
|
| 1901 |
|
| 1902 |
generate_from_image_btn.click(
|
| 1903 |
predict_tags_wd,
|
|
|
|
| 267 |
embed_list = get_model_list(directory_embeds)
|
| 268 |
model_list = get_model_list(directory_models)
|
| 269 |
model_list = load_diffusers_format_model + model_list
|
| 270 |
+
## BEGIN MOD
|
| 271 |
lora_model_list = list_uniq(get_private_lora_model_lists() + get_model_list(directory_loras))
|
| 272 |
lora_model_list.insert(0, "None")
|
| 273 |
vae_model_list = get_model_list(directory_vaes)
|
| 274 |
vae_model_list.insert(0, "None")
|
| 275 |
|
|
|
|
| 276 |
directory_embeds_sdxl = 'embedings_xl'
|
| 277 |
os.makedirs(directory_embeds_sdxl, exist_ok=True)
|
| 278 |
download_private_repo('John6666/embeddingstest', directory_embeds_sdxl, False)
|
|
|
|
| 411 |
remove_specific_prompt,
|
| 412 |
insert_recom_prompt,
|
| 413 |
compose_prompt_to_copy,
|
| 414 |
+
translate_prompt,
|
| 415 |
select_random_character,
|
| 416 |
)
|
| 417 |
from modutils import (
|
|
|
|
| 905 |
prompt_gui = gr.Textbox(lines=6, placeholder="1girl, solo, ...", label="Prompt", show_copy_button=True)
|
| 906 |
with gr.Accordion("Negative prompt, etc.", open=False) as menu_negative:
|
| 907 |
neg_prompt_gui = gr.Textbox(lines=3, placeholder="lowres, (bad), ...", label="Negative prompt", show_copy_button=True)
|
| 908 |
+
translate_prompt_button = gr.Button(value="Translate prompt to English", size="sm", variant="secondary")
|
| 909 |
insert_prompt_gui = gr.Radio(label="Insert reccomended positive / negative prompt", choices=["None", "Animagine", "Pony"], value="None", interactive=True, scale=2)
|
| 910 |
with gr.Accordion(label="Advanced options", open=False):
|
| 911 |
prompt_type_gui = gr.Radio(label="Convert tags to", choices=["danbooru", "e621"], value="e621", visible=False)
|
|
|
|
| 1048 |
("None", "None"),
|
| 1049 |
]
|
| 1050 |
prompt_syntax_gui = gr.Dropdown(label="Prompt Syntax", choices=prompt_s_options, value=prompt_s_options[1][1])
|
| 1051 |
+
vae_model_gui = gr.Dropdown(label="VAE Model", choices=vae_model_list, value=vae_model_list[0])
|
| 1052 |
|
| 1053 |
with gr.Accordion("Hires fix", open=False, visible=True) as menu_hires:
|
| 1054 |
upscaler_keys = list(upscaler_dict_gui.keys())
|
| 1055 |
+
upscaler_model_path_gui = gr.Dropdown(label="Upscaler", choices=upscaler_keys, value=upscaler_dict_gui[upscaler_keys[0]])
|
| 1056 |
upscaler_increases_size_gui = gr.Slider(minimum=1.1, maximum=6., step=0.1, value=1.0, label="Upscale by")
|
| 1057 |
esrgan_tile_gui = gr.Slider(minimum=0, value=100, maximum=500, step=1, label="ESRGAN Tile")
|
| 1058 |
esrgan_tile_overlap_gui = gr.Slider(minimum=1, maximum=200, step=1, value=10, label="ESRGAN Tile Overlap")
|
|
|
|
| 1063 |
hires_negative_prompt_gui = gr.Textbox(label="Hires Negative Prompt", placeholder="Main negative prompt will be use", lines=3)
|
| 1064 |
|
| 1065 |
with gr.Accordion("LoRA", open=False, visible=True) as menu_lora:
|
| 1066 |
+
lora1_gui = gr.Dropdown(label="Lora1", choices=get_lora_tupled_list(lora_model_list), value="None", filterable=True)
|
| 1067 |
lora_scale_1_gui = gr.Slider(minimum=-2, maximum=2, step=0.01, value=1.00, label="Lora Scale 1")
|
| 1068 |
with gr.Row():
|
| 1069 |
with gr.Group():
|
| 1070 |
lora1_trigger_gui = gr.Textbox(label="Lora1 prompts", info="Example of prompt:", value="", show_copy_button=True, interactive=False, visible=False)
|
| 1071 |
lora1_copy_button = gr.Button(value="Copy example to prompt", visible=False)
|
| 1072 |
lora1_desc_gui = gr.Markdown(value="", visible=False)
|
| 1073 |
+
lora2_gui = gr.Dropdown(label="Lora2", choices=get_lora_tupled_list(lora_model_list), value="None", filterable=True)
|
| 1074 |
lora_scale_2_gui = gr.Slider(minimum=-2, maximum=2, step=0.01, value=1.00, label="Lora Scale 2")
|
| 1075 |
with gr.Row():
|
| 1076 |
with gr.Group():
|
| 1077 |
lora2_trigger_gui = gr.Textbox(label="Lora2 prompts", info="Example of prompt:", value="", show_copy_button=True, interactive=False, visible=False)
|
| 1078 |
lora2_copy_button = gr.Button(value="Copy example to prompt", visible=False)
|
| 1079 |
lora2_desc_gui = gr.Markdown(value="", visible=False)
|
| 1080 |
+
lora3_gui = gr.Dropdown(label="Lora3", choices=get_lora_tupled_list(lora_model_list), value="None", filterable=True)
|
| 1081 |
lora_scale_3_gui = gr.Slider(minimum=-2, maximum=2, step=0.01, value=1.00, label="Lora Scale 3")
|
| 1082 |
with gr.Row():
|
| 1083 |
with gr.Group():
|
| 1084 |
lora3_trigger_gui = gr.Textbox(label="Lora3 prompts", info="Example of prompt:", value="", show_copy_button=True, interactive=False, visible=False)
|
| 1085 |
lora3_copy_button = gr.Button(value="Copy example to prompt", visible=False)
|
| 1086 |
lora3_desc_gui = gr.Markdown(value="", visible=False)
|
| 1087 |
+
lora4_gui = gr.Dropdown(label="Lora4", choices=get_lora_tupled_list(lora_model_list), value="None", filterable=True)
|
| 1088 |
lora_scale_4_gui = gr.Slider(minimum=-2, maximum=2, step=0.01, value=1.00, label="Lora Scale 4")
|
| 1089 |
with gr.Row():
|
| 1090 |
with gr.Group():
|
| 1091 |
lora4_trigger_gui = gr.Textbox(label="Lora4 prompts", info="Example of prompt:", value="", show_copy_button=True, interactive=False, visible=False)
|
| 1092 |
lora4_copy_button = gr.Button(value="Copy example to prompt", visible=False)
|
| 1093 |
lora4_desc_gui = gr.Markdown(value="", visible=False)
|
| 1094 |
+
lora5_gui = gr.Dropdown(label="Lora5", choices=get_lora_tupled_list(lora_model_list), value="None", filterable=True)
|
| 1095 |
lora_scale_5_gui = gr.Slider(minimum=-2, maximum=2, step=0.01, value=1.00, label="Lora Scale 5")
|
| 1096 |
with gr.Row():
|
| 1097 |
with gr.Group():
|
|
|
|
| 1099 |
lora5_copy_button = gr.Button(value="Copy example to prompt", visible=False)
|
| 1100 |
lora5_desc_gui = gr.Markdown(value="", visible=False)
|
| 1101 |
with gr.Accordion("From URL", open=True, visible=True):
|
|
|
|
|
|
|
| 1102 |
with gr.Row():
|
| 1103 |
search_civitai_query_lora = gr.Textbox(label="Query", placeholder="oomuro sakurako...", lines=1)
|
| 1104 |
search_civitai_basemodel_lora = gr.CheckboxGroup(label="Search LoRA for", choices=["Pony", "SD 1.5", "SDXL 1.0"], value=["Pony", "SDXL 1.0"])
|
| 1105 |
search_civitai_button_lora = gr.Button("Search on Civitai")
|
| 1106 |
+
search_civitai_result_lora = gr.Dropdown(label="Search Results", choices=[("", "")], value="", filterable=True, visible=False)
|
| 1107 |
search_civitai_desc_lora = gr.Markdown(value="", visible=False)
|
| 1108 |
+
text_lora = gr.Textbox(label="URL", placeholder="http://...my_lora_url.safetensors", lines=1)
|
| 1109 |
+
button_lora = gr.Button("Get and update lists of LoRAs")
|
| 1110 |
with gr.Accordion("From Local", open=True, visible=True):
|
| 1111 |
file_output_lora = gr.File(label="Uploaded LoRA", file_types=['.ckpt', '.pt', '.pth', '.safetensors', '.bin'], file_count="multiple", interactive=False, visible=False)
|
| 1112 |
upload_button_lora = gr.UploadButton(label="Upload LoRA from your disk (very slow)", file_types=['.ckpt' , '.pt', '.pth', '.safetensors', '.bin'], file_count="multiple")
|
|
|
|
| 1137 |
info="This option adjusts the level of changes for img2img and inpainting."
|
| 1138 |
)
|
| 1139 |
image_resolution_gui = gr.Slider(minimum=64, maximum=2048, step=64, value=1024, label="Image Resolution")
|
| 1140 |
+
preprocessor_name_gui = gr.Dropdown(label="Preprocessor Name", choices=preprocessor_controlnet["canny"], value=preprocessor_controlnet["canny"][0])
|
| 1141 |
|
| 1142 |
def change_preprocessor_choices(task):
|
| 1143 |
task = task_stablepy[task]
|
|
|
|
| 1660 |
fn=search_civitai_lora,
|
| 1661 |
inputs=[search_civitai_query_lora, search_civitai_basemodel_lora],
|
| 1662 |
outputs=[search_civitai_result_lora, search_civitai_desc_lora, search_civitai_button_lora, search_civitai_query_lora],
|
| 1663 |
+
scroll_to_output=True,
|
| 1664 |
)
|
| 1665 |
+
search_civitai_result_lora.change(select_civitai_lora, [search_civitai_result_lora], [text_lora, search_civitai_desc_lora], scroll_to_output=True)
|
| 1666 |
+
button_lora.click(get_my_lora, [text_lora], [lora1_gui, lora2_gui, lora3_gui, lora4_gui, lora5_gui], scroll_to_output=True)
|
| 1667 |
+
upload_button_lora.upload(upload_file_lora, [upload_button_lora], [file_output_lora, upload_button_lora]).success(
|
| 1668 |
move_file_lora,
|
| 1669 |
[file_output_lora],
|
| 1670 |
[lora1_gui, lora2_gui, lora3_gui, lora4_gui, lora5_gui],
|
| 1671 |
+
scroll_to_output=True,
|
| 1672 |
)
|
| 1673 |
|
| 1674 |
use_textual_inversion_gui.change(set_textual_inversion_prompt, [use_textual_inversion_gui, prompt_gui, neg_prompt_gui, prompt_syntax_gui], [prompt_gui, neg_prompt_gui])
|
|
|
|
| 1712 |
[prompt_gui, elapsed_time_dbt, copy_button_dbt, copy_button_dbt],
|
| 1713 |
)
|
| 1714 |
|
| 1715 |
+
translate_prompt_button.click(translate_prompt, [prompt_gui], [prompt_gui])
|
| 1716 |
+
translate_prompt_button.click(translate_prompt, [character_dbt], [character_dbt])
|
| 1717 |
+
translate_prompt_button.click(translate_prompt, [series_dbt], [series_dbt])
|
| 1718 |
|
| 1719 |
generate_button.click(
|
| 1720 |
fn=sd_gen.load_new_model,
|
|
|
|
| 1857 |
input_general = gr.TextArea(label="General tags", lines=4, placeholder="1girl, ...", value="")
|
| 1858 |
input_tags_to_copy = gr.Textbox(value="", visible=False)
|
| 1859 |
copy_input_btn = gr.Button(value="Copy to clipboard", size="sm", interactive=False)
|
| 1860 |
+
translate_input_prompt_button = gr.Button(value="Translate prompt to English", size="sm", variant="secondary")
|
| 1861 |
tag_type = gr.Radio(label="Output tag conversion", info="danbooru for Animagine, e621 for Pony.", choices=["danbooru", "e621"], value="e621", visible=False)
|
| 1862 |
input_rating = gr.Radio(label="Rating", choices=list(V2_RATING_OPTIONS), value="explicit")
|
| 1863 |
with gr.Accordion(label="Advanced options", open=False):
|
|
|
|
| 1895 |
input_ban_tags,
|
| 1896 |
]
|
| 1897 |
|
| 1898 |
+
translate_input_prompt_button.click(translate_prompt, inputs=[input_general], outputs=[input_general])
|
| 1899 |
+
translate_input_prompt_button.click(translate_prompt, inputs=[input_character], outputs=[input_character])
|
| 1900 |
+
translate_input_prompt_button.click(translate_prompt, inputs=[input_copyright], outputs=[input_copyright])
|
| 1901 |
|
| 1902 |
generate_from_image_btn.click(
|
| 1903 |
predict_tags_wd,
|
lora_dict.json
CHANGED
|
@@ -1,4 +1,11 @@
|
|
| 1 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
"0138_Hinata_Hyuga_v1_pony": [
|
| 3 |
"ruanyi0138, fishnet bodysuit, black thighhighs, toeless legwear, nipples, pussy",
|
| 4 |
"Pony",
|
|
@@ -468,6 +475,13 @@
|
|
| 468 |
"https://civitai.com/models/550327",
|
| 469 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/14aa323d-aa95-43c3-8ff5-1d39b42c3990/width=450/18016866.jpeg"
|
| 470 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 471 |
"GachamiHoYoXL_ANI31_lokr_V42310": [
|
| 472 |
"grey background, [:your tags here:2]",
|
| 473 |
"SDXL 1.0",
|
|
@@ -503,6 +517,20 @@
|
|
| 503 |
"https://civitai.com/models/502133",
|
| 504 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/4bd6e4b9-51bb-40fc-a7f3-6bfe524ca6a2/width=450/15016724.jpeg"
|
| 505 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 506 |
"Girl_Peeping": [
|
| 507 |
"peeping / watching / female pervert",
|
| 508 |
"Pony",
|
|
@@ -517,6 +545,13 @@
|
|
| 517 |
"https://civitai.com/models/541891",
|
| 518 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/6853fcac-5903-4167-b2ec-cd8a9036fd9f/width=450/17449391.jpeg"
|
| 519 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 520 |
"Group_(2)": [
|
| 521 |
"gangbang",
|
| 522 |
"Pony",
|
|
@@ -713,6 +748,13 @@
|
|
| 713 |
"https://civitai.com/models/350199",
|
| 714 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/385edbe8-3fad-4278-bfed-43d551e8f78b/width=450/8901842.jpeg"
|
| 715 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 716 |
"Lips_that_grip": [
|
| 717 |
"lipsthatgrip / pussy_grip",
|
| 718 |
"Pony",
|
|
@@ -783,6 +825,13 @@
|
|
| 783 |
"https://civitai.com/models/544619",
|
| 784 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/50c852ef-82ad-49f5-b5e0-f7ff3548c155/width=450/17631835.jpeg"
|
| 785 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 786 |
"Minigirl_Onahole": [
|
| 787 |
"MGOnahole",
|
| 788 |
"Pony",
|
|
@@ -790,6 +839,13 @@
|
|
| 790 |
"https://civitai.com/models/542306",
|
| 791 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/e5021a11-2059-4030-8a7c-8ce699a59398/width=450/17473348.jpeg"
|
| 792 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 793 |
"Naked_Sheet_Pony": [
|
| 794 |
"naked sheet",
|
| 795 |
"Pony",
|
|
@@ -1035,6 +1091,13 @@
|
|
| 1035 |
"https://civitai.com/models/392579",
|
| 1036 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/fd660261-765f-4ed2-af92-810a9587bfc6/width=450/11300400.jpeg"
|
| 1037 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1038 |
"School_Swimsuit_and_Kneehigh-v1-000004": [
|
| 1039 |
"school swimsuit / kneehighs",
|
| 1040 |
"SD 1.5",
|
|
@@ -1126,6 +1189,13 @@
|
|
| 1126 |
"https://civitai.com/models/402667",
|
| 1127 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/2a9d126d-7b02-4124-b5bd-4659ac1f5614/width=450/10486831.jpeg"
|
| 1128 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1129 |
"Standing_Split_Sex_Position_LoRa__PonyXL": [
|
| 1130 |
"standing split, sex, vaginal, penis, one leg up, full body",
|
| 1131 |
"Pony",
|
|
@@ -1175,6 +1245,13 @@
|
|
| 1175 |
"https://civitai.com/models/540448",
|
| 1176 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/1907a5e3-1c80-43df-af35-067b5274e75e/width=450/17389965.jpeg"
|
| 1177 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1178 |
"The_Fountain_-_Female_Ejaculation_-_Pony_XL": [
|
| 1179 |
"founta1n squ1rt / fountain squirt / squirting / pussy wide / orgasm / omg / female ejaculation",
|
| 1180 |
"Pony",
|
|
@@ -1441,6 +1518,20 @@
|
|
| 1441 |
"https://civitai.com/models/547151",
|
| 1442 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/8e9ac93c-2f38-42f2-aa55-9e8734f3ba78/width=450/17808897.jpeg"
|
| 1443 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1444 |
"arm-000012": [
|
| 1445 |
"",
|
| 1446 |
"SDXL 1.0",
|
|
@@ -1588,6 +1679,13 @@
|
|
| 1588 |
"https://civitai.com/models/474245",
|
| 1589 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/004510d3-810d-41b2-85f3-9cf3dc3f84d9/width=450/16422785.jpeg"
|
| 1590 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1591 |
"blue_archive_pv_a3": [
|
| 1592 |
"",
|
| 1593 |
"SDXL 1.0",
|
|
@@ -1875,6 +1973,13 @@
|
|
| 1875 |
"https://civitai.com/models/528370",
|
| 1876 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/512fb8e5-94c7-4a31-b818-1cef8dbed107/width=450/16596261.jpeg"
|
| 1877 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1878 |
"cowgirl_position_nonpov_pony-000010": [
|
| 1879 |
"1boy, sex, cowgirl position, girl on top, straddling",
|
| 1880 |
"Pony",
|
|
@@ -2239,6 +2344,13 @@
|
|
| 2239 |
"https://civitai.com/models/32541",
|
| 2240 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a02818c5-568b-4da2-a6f3-0c54f3fd604d/width=450/16910321.jpeg"
|
| 2241 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2242 |
"gz": [
|
| 2243 |
"",
|
| 2244 |
"Pony",
|
|
@@ -2267,6 +2379,13 @@
|
|
| 2267 |
"https://civitai.com/models/532569",
|
| 2268 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/390ea515-ffac-4b06-9e7f-e65f3f053724/width=450/16833631.jpeg"
|
| 2269 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2270 |
"haraboko_pony_V2_0": [
|
| 2271 |
"stomach bulge",
|
| 2272 |
"Pony",
|
|
@@ -2330,6 +2449,13 @@
|
|
| 2330 |
"https://civitai.com/models/516752",
|
| 2331 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/29c835ca-5f12-43e8-ac93-b4fd1c234bce/width=450/15866815.jpeg"
|
| 2332 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2333 |
"hoodie_XL_V1_0": [
|
| 2334 |
"jyojifuku,hoodie",
|
| 2335 |
"SDXL 1.0",
|
|
@@ -2379,6 +2505,20 @@
|
|
| 2379 |
"https://civitai.com/models/121579",
|
| 2380 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/4d702d98-996e-478c-9e1d-0115852a3457/width=450/1899358.jpeg"
|
| 2381 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2382 |
"jyoji_one_piece_Pony_V1_0": [
|
| 2383 |
" jyojifuku, dress / ribbon / see-through / frills",
|
| 2384 |
"Pony",
|
|
@@ -2477,6 +2617,13 @@
|
|
| 2477 |
"https://civitai.com/models/144458",
|
| 2478 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/fdf372d4-ef5d-4116-b65b-29340cb30dd4/width=450/16406466.jpeg"
|
| 2479 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2480 |
"kirara_jump-animagine1": [
|
| 2481 |
"kirara_jump / multiple_girls",
|
| 2482 |
"SDXL 1.0",
|
|
@@ -2841,6 +2988,13 @@
|
|
| 2841 |
"https://civitai.com/models/519082",
|
| 2842 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/62e358a7-eaf5-4e67-8c7f-2ca6080d9741/width=450/16011887.jpeg"
|
| 2843 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2844 |
"nsfw70": [
|
| 2845 |
"",
|
| 2846 |
"Pony",
|
|
@@ -3163,6 +3317,13 @@
|
|
| 3163 |
"https://civitai.com/models/460612",
|
| 3164 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/317fdc7f-6c93-4653-99db-11d85b027e03/width=450/12768924.jpeg"
|
| 3165 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3166 |
"ponyxl_armpit_sex": [
|
| 3167 |
"armpit sex / arm up / arms up / arm down",
|
| 3168 |
"Pony",
|
|
@@ -3541,6 +3702,13 @@
|
|
| 3541 |
"https://civitai.com/models/402264",
|
| 3542 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/7928f9b0-e4d2-4d8f-a2da-5c7c72547b5b/width=450/9940156.jpeg"
|
| 3543 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3544 |
"shimipan_Pony_V2_0": [
|
| 3545 |
"shimipan,dirty panties / stain",
|
| 3546 |
"Pony",
|
|
@@ -3702,6 +3870,13 @@
|
|
| 3702 |
"https://civitai.com/models/442261",
|
| 3703 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/affa442e-f6f9-47b7-8ee2-46e13c07d966/width=450/11828345.jpeg"
|
| 3704 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3705 |
"sunaba_XL_v1": [
|
| 3706 |
"sunaba",
|
| 3707 |
"SDXL 1.0",
|
|
@@ -3919,6 +4094,13 @@
|
|
| 3919 |
"https://civitai.com/models/541882",
|
| 3920 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ba7622ad-b3a4-4a82-8d28-5d7e494b776f/width=450/17489290.jpeg"
|
| 3921 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3922 |
"two_girls_holding_a_girl2(sdxl)": [
|
| 3923 |
"two_girls_holding_a_girl / multiple girls, 3girls, spread legs,",
|
| 3924 |
"SDXL 1.0",
|
|
@@ -3961,6 +4143,20 @@
|
|
| 3961 |
"https://civitai.com/models/102228",
|
| 3962 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/4b2bfb63-58a9-4687-878d-e9cf48537a55/width=450/10864207.jpeg"
|
| 3963 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3964 |
"v6": [
|
| 3965 |
"",
|
| 3966 |
"Pony",
|
|
@@ -4024,6 +4220,13 @@
|
|
| 4024 |
"https://civitai.com/models/464254",
|
| 4025 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a12ec1e7-c321-4fb0-900d-f36ea3c0859c/width=450/13074656.jpeg"
|
| 4026 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4027 |
"witch_Pony_V1_0": [
|
| 4028 |
"jyojifuku, witch, dress, pantyhose,hat",
|
| 4029 |
"Pony",
|
|
|
|
| 1 |
{
|
| 2 |
+
"0033_Swimming_Lesson_3_v3_pony": [
|
| 3 |
+
"ruanyi033,green school uniform,side-tie panties,red neckerchief,black bodysuit,black pantyhose",
|
| 4 |
+
"Pony",
|
| 5 |
+
"0033 Swimming Lesson 3\uff08pdxl,sd1.5\uff09",
|
| 6 |
+
"https://civitai.com/models/227578",
|
| 7 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/1fe132a3-97c0-4397-bac2-c3c1e93bb91b/width=450/17435615.jpeg"
|
| 8 |
+
],
|
| 9 |
"0138_Hinata_Hyuga_v1_pony": [
|
| 10 |
"ruanyi0138, fishnet bodysuit, black thighhighs, toeless legwear, nipples, pussy",
|
| 11 |
"Pony",
|
|
|
|
| 475 |
"https://civitai.com/models/550327",
|
| 476 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/14aa323d-aa95-43c3-8ff5-1d39b42c3990/width=450/18016866.jpeg"
|
| 477 |
],
|
| 478 |
+
"Full_uterus_after_sex-000005": [
|
| 479 |
+
"Cum in uterus after sex",
|
| 480 |
+
"Pony",
|
| 481 |
+
"Cum in uterus after sex",
|
| 482 |
+
"https://civitai.com/models/554308",
|
| 483 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/7aadace1-0159-4ef9-bb6e-09602ead9e29/width=450/18303807.jpeg"
|
| 484 |
+
],
|
| 485 |
"GachamiHoYoXL_ANI31_lokr_V42310": [
|
| 486 |
"grey background, [:your tags here:2]",
|
| 487 |
"SDXL 1.0",
|
|
|
|
| 517 |
"https://civitai.com/models/502133",
|
| 518 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/4bd6e4b9-51bb-40fc-a7f3-6bfe524ca6a2/width=450/15016724.jpeg"
|
| 519 |
],
|
| 520 |
+
"Genital_piercing_Pony_V1_1": [
|
| 521 |
+
"pussy piercing, clitoris piercing / pussy / spread puusy",
|
| 522 |
+
"Pony",
|
| 523 |
+
"\u6027\u5668\u30d4\u30a2\u30b9/Genital piercing(XL,Pony)",
|
| 524 |
+
"https://civitai.com/models/459565",
|
| 525 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/1877e2b6-4319-408e-b170-aafc208a688d/width=450/12708430.jpeg"
|
| 526 |
+
],
|
| 527 |
+
"Genital_piercing_XL_V1_0": [
|
| 528 |
+
"ppp,pussy, pussy piercing, clitoris piercing / spread pussy",
|
| 529 |
+
"SDXL 1.0",
|
| 530 |
+
"\u6027\u5668\u30d4\u30a2\u30b9/Genital piercing(XL,Pony)",
|
| 531 |
+
"https://civitai.com/models/459565",
|
| 532 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/110e5c12-2cd7-42d8-bb15-24c7d00751d2/width=450/12716381.jpeg"
|
| 533 |
+
],
|
| 534 |
"Girl_Peeping": [
|
| 535 |
"peeping / watching / female pervert",
|
| 536 |
"Pony",
|
|
|
|
| 545 |
"https://civitai.com/models/541891",
|
| 546 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/6853fcac-5903-4167-b2ec-cd8a9036fd9f/width=450/17449391.jpeg"
|
| 547 |
],
|
| 548 |
+
"GodPussy3_Pony_v2": [
|
| 549 |
+
"godpussy3 / pussy / rear pussy / fingers / doggystyle / closeup",
|
| 550 |
+
"Pony",
|
| 551 |
+
"God Pussy 3 - Pony",
|
| 552 |
+
"https://civitai.com/models/541891",
|
| 553 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/57d1171a-c998-44dc-9d1e-3027b20054ca/width=450/18282956.jpeg"
|
| 554 |
+
],
|
| 555 |
"Group_(2)": [
|
| 556 |
"gangbang",
|
| 557 |
"Pony",
|
|
|
|
| 748 |
"https://civitai.com/models/350199",
|
| 749 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/385edbe8-3fad-4278-bfed-43d551e8f78b/width=450/8901842.jpeg"
|
| 750 |
],
|
| 751 |
+
"Lift_Up_Dress": [
|
| 752 |
+
"LIFT UP DRESS / CURTSEY / FROM BELOW / FROM BACK",
|
| 753 |
+
"SDXL 1.0",
|
| 754 |
+
"Lift Dress Exhibitionism",
|
| 755 |
+
"https://civitai.com/models/554466",
|
| 756 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/60b21466-f9e9-4ed6-8ebe-47fb96182ed8/width=450/18292643.jpeg"
|
| 757 |
+
],
|
| 758 |
"Lips_that_grip": [
|
| 759 |
"lipsthatgrip / pussy_grip",
|
| 760 |
"Pony",
|
|
|
|
| 825 |
"https://civitai.com/models/544619",
|
| 826 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/50c852ef-82ad-49f5-b5e0-f7ff3548c155/width=450/17631835.jpeg"
|
| 827 |
],
|
| 828 |
+
"MiniAXV9XLScreencap": [
|
| 829 |
+
"Anime Screencap",
|
| 830 |
+
"Pony",
|
| 831 |
+
"\u30a2\u30cb\u30e1\u5857\u308a/Clean Anime Screencap Lora's (Mini VER of AniMixV9XL) - [PonyV6/AutismMixXL]",
|
| 832 |
+
"https://civitai.com/models/554091",
|
| 833 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/e4a8b32e-470a-4058-940c-5f6247dd4a26/width=450/18270537.jpeg"
|
| 834 |
+
],
|
| 835 |
"Minigirl_Onahole": [
|
| 836 |
"MGOnahole",
|
| 837 |
"Pony",
|
|
|
|
| 839 |
"https://civitai.com/models/542306",
|
| 840 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/e5021a11-2059-4030-8a7c-8ce699a59398/width=450/17473348.jpeg"
|
| 841 |
],
|
| 842 |
+
"Monkey_Costume_Pony": [
|
| 843 |
+
"monkey costume",
|
| 844 |
+
"Pony",
|
| 845 |
+
"Monkey Costume [Pony]",
|
| 846 |
+
"https://civitai.com/models/508749",
|
| 847 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a2e50154-31d8-431b-a59e-f26590dad8a4/width=450/15452920.jpeg"
|
| 848 |
+
],
|
| 849 |
"Naked_Sheet_Pony": [
|
| 850 |
"naked sheet",
|
| 851 |
"Pony",
|
|
|
|
| 1091 |
"https://civitai.com/models/392579",
|
| 1092 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/fd660261-765f-4ed2-af92-810a9587bfc6/width=450/11300400.jpeg"
|
| 1093 |
],
|
| 1094 |
+
"Sailor_Swimsuit_PONY": [
|
| 1095 |
+
"ssswimsuit / highleg, one-piece swimsuit, sailor swimsuit, sailor collar",
|
| 1096 |
+
"Pony",
|
| 1097 |
+
"1.5 & Pony | Sailor One-Piece Swimsuit",
|
| 1098 |
+
"https://civitai.com/models/484168",
|
| 1099 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ae8243a1-bf4a-4906-beb4-d1ee7d307db8/width=450/14105937.jpeg"
|
| 1100 |
+
],
|
| 1101 |
"School_Swimsuit_and_Kneehigh-v1-000004": [
|
| 1102 |
"school swimsuit / kneehighs",
|
| 1103 |
"SD 1.5",
|
|
|
|
| 1189 |
"https://civitai.com/models/402667",
|
| 1190 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/2a9d126d-7b02-4124-b5bd-4659ac1f5614/width=450/10486831.jpeg"
|
| 1191 |
],
|
| 1192 |
+
"StaC_un_nil_ingus": [
|
| 1193 |
+
"Camellya / Cherno Kegaard / cunnilingus / sitting on face / hand on another's head / leg lock / leg on another's shoulder / foot on another's shoulder / thigh grab / Female Rover / Fenny Golden / Tingyun / Tingyun \\(Honkai: Star Rail\\) / Yukong / Yukong \\(Honkai: Star Rail\\) / Stelle \\(Honkai: Star Rail\\) / Caelus \\(Honkai: Star Rail\\) / Male Rover / Hanabi / Hanabi \\(Honkai: Star Rail\\) / Hotaru \\(Honkai: Star Rail\\) / Firefly \\(Honkai: Star Rail\\) / March 7th / Sarah \\(Terra Wars\\) / Red Hood \\(Nikke\\) / Blanc \\(Nikke\\) / Viper \\(Nikke\\) / Sophia Esteed / Taoqi / Umeko / Kojima Umeko / Misae Suzuhara / Vestia Zeta / Yinlin / submissive pose / assertive female / cooperative fellatio / ffm threesome, cooperative paizuri / suspended congress / reverse suspended congress / Ubel, green hair, purple eyes / Cinderella \\(Nikke\\), white hair, red eyes, hair over one eye, large breasts / Noir \\(Nikki\\), dark-skinned female, huge breasts, brown hair, yellow eyes",
|
| 1194 |
+
"Pony",
|
| 1195 |
+
"StaC",
|
| 1196 |
+
"https://civitai.com/models/543007",
|
| 1197 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/32bb611d-6843-4197-844e-d8ddc1aabf6e/width=450/18288434.jpeg"
|
| 1198 |
+
],
|
| 1199 |
"Standing_Split_Sex_Position_LoRa__PonyXL": [
|
| 1200 |
"standing split, sex, vaginal, penis, one leg up, full body",
|
| 1201 |
"Pony",
|
|
|
|
| 1245 |
"https://civitai.com/models/540448",
|
| 1246 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/1907a5e3-1c80-43df-af35-067b5274e75e/width=450/17389965.jpeg"
|
| 1247 |
],
|
| 1248 |
+
"SwimsuitHeaven": [
|
| 1249 |
+
"swimsuitheaven",
|
| 1250 |
+
"Pony",
|
| 1251 |
+
"Swimsuit Heaven",
|
| 1252 |
+
"https://civitai.com/models/389669",
|
| 1253 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/0ae31a25-25c6-434a-aa20-c180b5263a5b/width=450/10012493.jpeg"
|
| 1254 |
+
],
|
| 1255 |
"The_Fountain_-_Female_Ejaculation_-_Pony_XL": [
|
| 1256 |
"founta1n squ1rt / fountain squirt / squirting / pussy wide / orgasm / omg / female ejaculation",
|
| 1257 |
"Pony",
|
|
|
|
| 1518 |
"https://civitai.com/models/547151",
|
| 1519 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/8e9ac93c-2f38-42f2-aa55-9e8734f3ba78/width=450/17808897.jpeg"
|
| 1520 |
],
|
| 1521 |
+
"annamillerXLv2": [
|
| 1522 |
+
"anna miller / anna miller ,waitress,name tag,high-waist skirt,suspender skirt, apron,",
|
| 1523 |
+
"SDXL 1.0",
|
| 1524 |
+
"[SDXL&Pony] Anna Miller's uniform / \u30a2\u30f3\u30ca\u30df\u30e9\u30fc\u30ba\u5236\u670d / \u30a2\u30f3\u30df\u30e9",
|
| 1525 |
+
"https://civitai.com/models/308795",
|
| 1526 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/50535786-da30-4b10-bf7f-5c148d441216/width=450/6721330.jpeg"
|
| 1527 |
+
],
|
| 1528 |
+
"annamiller_Pony_v1": [
|
| 1529 |
+
"anna miller",
|
| 1530 |
+
"Pony",
|
| 1531 |
+
"[SDXL&Pony] Anna Miller's uniform / \u30a2\u30f3\u30ca\u30df\u30e9\u30fc\u30ba\u5236\u670d / \u30a2\u30f3\u30df\u30e9",
|
| 1532 |
+
"https://civitai.com/models/308795",
|
| 1533 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/2836b349-130d-4160-990a-2d3009210808/width=450/13343851.jpeg"
|
| 1534 |
+
],
|
| 1535 |
"arm-000012": [
|
| 1536 |
"",
|
| 1537 |
"SDXL 1.0",
|
|
|
|
| 1679 |
"https://civitai.com/models/474245",
|
| 1680 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/004510d3-810d-41b2-85f3-9cf3dc3f84d9/width=450/16422785.jpeg"
|
| 1681 |
],
|
| 1682 |
+
"bioluminescence_monmusu_v15": [
|
| 1683 |
+
"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",
|
| 1684 |
+
"Pony",
|
| 1685 |
+
"Bioluminescence Concepts - Monster Girl Encyclopedia - \u9b54\u7269\u5a18\u56f3\u9451",
|
| 1686 |
+
"https://civitai.com/models/554006",
|
| 1687 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/8b57c1dd-dbbe-4ae2-b979-827bed7087c9/width=450/18267061.jpeg"
|
| 1688 |
+
],
|
| 1689 |
"blue_archive_pv_a3": [
|
| 1690 |
"",
|
| 1691 |
"SDXL 1.0",
|
|
|
|
| 1973 |
"https://civitai.com/models/528370",
|
| 1974 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/512fb8e5-94c7-4a31-b818-1cef8dbed107/width=450/16596261.jpeg"
|
| 1975 |
],
|
| 1976 |
+
"cow_costume_SDXL_v1": [
|
| 1977 |
+
"cow print / maid costume / slingshot bikini / two piece bikini / cow ears / bowtie bell collar",
|
| 1978 |
+
"SDXL 1.0",
|
| 1979 |
+
"Photorealistic Cow Costume hucows - SDXL & 1.5 \u5976\u725b\u89d2\u626e\u6f14",
|
| 1980 |
+
"https://civitai.com/models/71728",
|
| 1981 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/2510398a-63d8-4614-9cea-28ba377586fe/width=450/7618051.jpeg"
|
| 1982 |
+
],
|
| 1983 |
"cowgirl_position_nonpov_pony-000010": [
|
| 1984 |
"1boy, sex, cowgirl position, girl on top, straddling",
|
| 1985 |
"Pony",
|
|
|
|
| 2344 |
"https://civitai.com/models/32541",
|
| 2345 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a02818c5-568b-4da2-a6f3-0c54f3fd604d/width=450/16910321.jpeg"
|
| 2346 |
],
|
| 2347 |
+
"gyaruvXL1": [
|
| 2348 |
+
"gyaruv",
|
| 2349 |
+
"SDXL 1.0",
|
| 2350 |
+
"[SDXL / Pony] Gyaru v / \u30ae\u30e3\u30eb\u30d4\u30fc\u30b9",
|
| 2351 |
+
"https://civitai.com/models/374887",
|
| 2352 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/0719a71f-b54b-4f55-a281-2927fa63a314/width=450/8817446.jpeg"
|
| 2353 |
+
],
|
| 2354 |
"gz": [
|
| 2355 |
"",
|
| 2356 |
"Pony",
|
|
|
|
| 2379 |
"https://civitai.com/models/532569",
|
| 2380 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/390ea515-ffac-4b06-9e7f-e65f3f053724/width=450/16833631.jpeg"
|
| 2381 |
],
|
| 2382 |
+
"hanketsu_SDXL_V1": [
|
| 2383 |
+
"MH2, 1girl, swimsuit, solo, bikini, brown hair, long hair, smile, grin, water, butt crack, white bikini, ass, side-tie bikini bottom, pool, brown eyes, sitting, looking at viewer, looking back,",
|
| 2384 |
+
"SDXL 1.0",
|
| 2385 |
+
"hanketsu SDXL",
|
| 2386 |
+
"https://civitai.com/models/462635",
|
| 2387 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/8cac72e3-3107-44ba-b860-f0b0eed4d8a3/width=450/12869927.jpeg"
|
| 2388 |
+
],
|
| 2389 |
"haraboko_pony_V2_0": [
|
| 2390 |
"stomach bulge",
|
| 2391 |
"Pony",
|
|
|
|
| 2449 |
"https://civitai.com/models/516752",
|
| 2450 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/29c835ca-5f12-43e8-ac93-b4fd1c234bce/width=450/15866815.jpeg"
|
| 2451 |
],
|
| 2452 |
+
"holding_panties_SDXL": [
|
| 2453 |
+
"holding panties,stained panties,unworn panties,open hand,no panties",
|
| 2454 |
+
"Pony",
|
| 2455 |
+
"SDXL Pony Poses Show panties",
|
| 2456 |
+
"https://civitai.com/models/554599",
|
| 2457 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/691dba97-d744-4858-a061-10a9681ba037/width=450/18299218.jpeg"
|
| 2458 |
+
],
|
| 2459 |
"hoodie_XL_V1_0": [
|
| 2460 |
"jyojifuku,hoodie",
|
| 2461 |
"SDXL 1.0",
|
|
|
|
| 2505 |
"https://civitai.com/models/121579",
|
| 2506 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/4d702d98-996e-478c-9e1d-0115852a3457/width=450/1899358.jpeg"
|
| 2507 |
],
|
| 2508 |
+
"jyoji_formal_Pony_V1_0": [
|
| 2509 |
+
"jyojifuku, dress, long sleeves, jacket,school uniform",
|
| 2510 |
+
"Pony",
|
| 2511 |
+
"\u30d5\u30a9\u30fc\u30de\u30eb\u30b9\u30bf\u30a4\u30eb/formal style(XL,Pony)",
|
| 2512 |
+
"https://civitai.com/models/447008",
|
| 2513 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/5c3e62a3-1e0e-43e5-affc-e7f0a1b2def1/width=450/12302984.jpeg"
|
| 2514 |
+
],
|
| 2515 |
+
"jyoji_formal_XL_V1_0": [
|
| 2516 |
+
" jyojifuku, dress, long sleeves, jacket / socks / kneehighs",
|
| 2517 |
+
"SDXL 1.0",
|
| 2518 |
+
"\u30d5\u30a9\u30fc\u30de\u30eb\u30b9\u30bf\u30a4\u30eb/formal style(XL,Pony)",
|
| 2519 |
+
"https://civitai.com/models/447008",
|
| 2520 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ee39c30f-e38b-479e-9d82-cfb6c531bbd4/width=450/12059029.jpeg"
|
| 2521 |
+
],
|
| 2522 |
"jyoji_one_piece_Pony_V1_0": [
|
| 2523 |
" jyojifuku, dress / ribbon / see-through / frills",
|
| 2524 |
"Pony",
|
|
|
|
| 2617 |
"https://civitai.com/models/144458",
|
| 2618 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/fdf372d4-ef5d-4116-b65b-29340cb30dd4/width=450/16406466.jpeg"
|
| 2619 |
],
|
| 2620 |
+
"kiraboshi_XL_v1": [
|
| 2621 |
+
"kiraboshi",
|
| 2622 |
+
"SDXL 1.0",
|
| 2623 |
+
"kiraboshi (star driver) / side v / \u7dba\u7f85\u661f (STAR DRIVER \u8f1d\u304d\u306e\u30bf\u30af\u30c8) / \u6a2a\u30d4\u30fc\u30b9",
|
| 2624 |
+
"https://civitai.com/models/399468",
|
| 2625 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/d809dffc-0a98-4b82-8cc5-f19acb007642/width=450/9830284.jpeg"
|
| 2626 |
+
],
|
| 2627 |
"kirara_jump-animagine1": [
|
| 2628 |
"kirara_jump / multiple_girls",
|
| 2629 |
"SDXL 1.0",
|
|
|
|
| 2988 |
"https://civitai.com/models/519082",
|
| 2989 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/62e358a7-eaf5-4e67-8c7f-2ca6080d9741/width=450/16011887.jpeg"
|
| 2990 |
],
|
| 2991 |
+
"nipples_weights_pony_V1_0": [
|
| 2992 |
+
"nipple piercing / nipples weights / Saggy breasts",
|
| 2993 |
+
"Pony",
|
| 2994 |
+
"\u4e73\u9996\u30d4\u30a2\u30b9/nipples piercing",
|
| 2995 |
+
"https://civitai.com/models/467118",
|
| 2996 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/11eced9f-d779-4138-a940-ad81a0b0454c/width=450/17635537.jpeg"
|
| 2997 |
+
],
|
| 2998 |
"nsfw70": [
|
| 2999 |
"",
|
| 3000 |
"Pony",
|
|
|
|
| 3317 |
"https://civitai.com/models/460612",
|
| 3318 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/317fdc7f-6c93-4653-99db-11d85b027e03/width=450/12768924.jpeg"
|
| 3319 |
],
|
| 3320 |
+
"ponyxl-small_penis_cross_section": [
|
| 3321 |
+
"x-ray, cross-section / small penis / foreskin / internal cumshot / deficient cum(*might be meaningless? not sure....) / excessive cum(*for more cum?) / cum in cervix(*cum might be less, might not fill uterus at all. maybe? unstable) / cum in uterus(*cum might fill uterus. can be unstable) / tiny penis, short penis, poor penis(*optional. maybe have some effect...? not sure)",
|
| 3322 |
+
"Pony",
|
| 3323 |
+
"[Pony XL Concept] x-ray, cross-section for small penis (or foreskin) / \u77ed\u5c0f\u7c97\u30c1\u30f3\u65ad\u9762\u56f3\uff08\u3082\u3057\u304f\u306f\u5305\u830e\uff09",
|
| 3324 |
+
"https://civitai.com/models/430102",
|
| 3325 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/228ca98b-58ad-4333-9f7d-fe3c66fd82bc/width=450/11254759.jpeg"
|
| 3326 |
+
],
|
| 3327 |
"ponyxl_armpit_sex": [
|
| 3328 |
"armpit sex / arm up / arms up / arm down",
|
| 3329 |
"Pony",
|
|
|
|
| 3702 |
"https://civitai.com/models/402264",
|
| 3703 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/7928f9b0-e4d2-4d8f-a2da-5c7c72547b5b/width=450/9940156.jpeg"
|
| 3704 |
],
|
| 3705 |
+
"shibari_V3_sdxl": [
|
| 3706 |
+
"shibari",
|
| 3707 |
+
"SDXL 1.0",
|
| 3708 |
+
"shibari V3 sdxl",
|
| 3709 |
+
"https://civitai.com/models/554682",
|
| 3710 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/410b1f2e-79b2-49a7-bd4e-7a64abbf47f0/width=450/18304609.jpeg"
|
| 3711 |
+
],
|
| 3712 |
"shimipan_Pony_V2_0": [
|
| 3713 |
"shimipan,dirty panties / stain",
|
| 3714 |
"Pony",
|
|
|
|
| 3870 |
"https://civitai.com/models/442261",
|
| 3871 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/affa442e-f6f9-47b7-8ee2-46e13c07d966/width=450/11828345.jpeg"
|
| 3872 |
],
|
| 3873 |
+
"sumiyao__amam": [
|
| 3874 |
+
"sum1y40",
|
| 3875 |
+
"Pony",
|
| 3876 |
+
"Oktaze's Hentai Pony Styles Collection",
|
| 3877 |
+
"https://civitai.com/models/549761",
|
| 3878 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/3ed0a13b-8502-4d50-8c09-d7b5569b3657/width=450/18267509.jpeg"
|
| 3879 |
+
],
|
| 3880 |
"sunaba_XL_v1": [
|
| 3881 |
"sunaba",
|
| 3882 |
"SDXL 1.0",
|
|
|
|
| 4094 |
"https://civitai.com/models/541882",
|
| 4095 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ba7622ad-b3a4-4a82-8d28-5d7e494b776f/width=450/17489290.jpeg"
|
| 4096 |
],
|
| 4097 |
+
"trkmrswimsuitesdxl": [
|
| 4098 |
+
" (trkmrswimsuite), choker, leg garter on one leg,grater strap, bow, bra, frilled bikini, frills, wrist cuffs, open navel",
|
| 4099 |
+
"Pony",
|
| 4100 |
+
"Terakomari Gandesblood Swimsuite",
|
| 4101 |
+
"https://civitai.com/models/301682",
|
| 4102 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/d372ac0e-576f-4f1b-b768-556dd4036d24/width=450/7702476.jpeg"
|
| 4103 |
+
],
|
| 4104 |
"two_girls_holding_a_girl2(sdxl)": [
|
| 4105 |
"two_girls_holding_a_girl / multiple girls, 3girls, spread legs,",
|
| 4106 |
"SDXL 1.0",
|
|
|
|
| 4143 |
"https://civitai.com/models/102228",
|
| 4144 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/4b2bfb63-58a9-4687-878d-e9cf48537a55/width=450/10864207.jpeg"
|
| 4145 |
],
|
| 4146 |
+
"usapiece_XL_v1": [
|
| 4147 |
+
"usa piece",
|
| 4148 |
+
"SDXL 1.0",
|
| 4149 |
+
"bunny rabbit piece / \u3046\u3055\u3061\u3083\u3093\u30d4\u30fc\u30b9 / \u3046\u3055\u30d4\u30fc\u30b9",
|
| 4150 |
+
"https://civitai.com/models/394500",
|
| 4151 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/e158bc16-21c2-430a-862e-3b8d04bce9fe/width=450/9612484.jpeg"
|
| 4152 |
+
],
|
| 4153 |
+
"uterus_v1": [
|
| 4154 |
+
"x-ray,cross-section,urethra,cervix,ovaries,uterus,vaginal,clitoris,clitoral hood,internal cumshot,deep penetration,cum in uterus,uncensored",
|
| 4155 |
+
"Pony",
|
| 4156 |
+
"Uterus",
|
| 4157 |
+
"https://civitai.com/models/475197",
|
| 4158 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/fd1ddd08-ae07-42ba-9b1f-47f1bf532771/width=450/13534578.jpeg"
|
| 4159 |
+
],
|
| 4160 |
"v6": [
|
| 4161 |
"",
|
| 4162 |
"Pony",
|
|
|
|
| 4220 |
"https://civitai.com/models/464254",
|
| 4221 |
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a12ec1e7-c321-4fb0-900d-f36ea3c0859c/width=450/13074656.jpeg"
|
| 4222 |
],
|
| 4223 |
+
"whomperfruit": [
|
| 4224 |
+
"wh0mp3rfru1t",
|
| 4225 |
+
"Pony",
|
| 4226 |
+
"Oktaze's Hentai Pony Styles Collection",
|
| 4227 |
+
"https://civitai.com/models/549761",
|
| 4228 |
+
"https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/528c77b2-9222-4c3c-8425-379d2a49d7a1/width=450/18253001.jpeg"
|
| 4229 |
+
],
|
| 4230 |
"witch_Pony_V1_0": [
|
| 4231 |
"jyojifuku, witch, dress, pantyhose,hat",
|
| 4232 |
"Pony",
|
modutils.py
CHANGED
|
@@ -90,7 +90,7 @@ def download_private_repo(repo_id, dir_path, is_replace):
|
|
| 90 |
for file in Path(dir_path).glob("*"):
|
| 91 |
if file.exists() and "." in file.stem or " " in file.stem and file.suffix in ['.ckpt', '.pt', '.pth', '.safetensors', '.bin']:
|
| 92 |
newpath = Path(f'{file.parent.name}/{escape_lora_basename(file.stem)}{file.suffix}')
|
| 93 |
-
file.rename(newpath)
|
| 94 |
|
| 95 |
|
| 96 |
private_model_path_repo_dict = {}
|
|
@@ -143,7 +143,7 @@ def download_private_file(repo_id, path, is_replace):
|
|
| 143 |
return
|
| 144 |
else:
|
| 145 |
if is_replace:
|
| 146 |
-
file.rename(newpath)
|
| 147 |
|
| 148 |
|
| 149 |
def download_private_file_from_somewhere(path, is_replace):
|
|
@@ -242,7 +242,7 @@ def save_gallery_images(images):
|
|
| 242 |
from pathlib import Path
|
| 243 |
filename = basename + str(i) + ".png"
|
| 244 |
oldpath = Path(image[0])
|
| 245 |
-
newpath = oldpath.rename(Path(filename))
|
| 246 |
output_paths.append(str(newpath))
|
| 247 |
output_images.append((str(newpath), str(filename)))
|
| 248 |
i += 1
|
|
@@ -391,6 +391,7 @@ def get_lora_tupled_list(lora_model_list):
|
|
| 391 |
tupled_list = []
|
| 392 |
local_models = set(get_model_list(directory_loras))
|
| 393 |
for model in lora_model_list:
|
|
|
|
| 394 |
basename = Path(model).stem
|
| 395 |
key = escape_lora_basename(basename)
|
| 396 |
items = None
|
|
@@ -413,11 +414,13 @@ def get_lora_tupled_list(lora_model_list):
|
|
| 413 |
|
| 414 |
def set_lora_trigger(lora_gui: str):
|
| 415 |
from pathlib import Path
|
| 416 |
-
if
|
|
|
|
| 417 |
path = Path(lora_gui)
|
| 418 |
new_path = Path(f'{path.parent.name}/{escape_lora_basename(path.stem)}{path.suffix}')
|
| 419 |
if not new_path.stem in lora_trigger_dict.keys() and not str(path) in set(get_private_lora_model_lists() + get_model_list(directory_loras)):
|
| 420 |
-
return gr.update(value="", visible=False), gr.update(visible=False)
|
|
|
|
| 421 |
if not new_path.exists():
|
| 422 |
download_private_file_from_somewhere(str(path), True)
|
| 423 |
basename = new_path.stem
|
|
@@ -476,9 +479,9 @@ def move_file_lora(filepaths):
|
|
| 476 |
import shutil
|
| 477 |
from pathlib import Path
|
| 478 |
for file in filepaths:
|
| 479 |
-
path = Path(shutil.move(Path(file).
|
| 480 |
newpath = Path(f'{path.parent.name}/{escape_lora_basename(path.stem)}{path.suffix}')
|
| 481 |
-
path.rename(newpath)
|
| 482 |
update_lora_dict(str(newpath))
|
| 483 |
|
| 484 |
new_lora_model_list = list_uniq(get_private_lora_model_lists() + get_model_list(directory_loras))
|
|
@@ -506,7 +509,7 @@ def search_lora_on_civitai(query: str, allow_model: list[str]):
|
|
| 506 |
headers = {'User-Agent': user_agent, 'content-type': 'application/json'}
|
| 507 |
base_url = 'https://civitai.com/api/v1/models'
|
| 508 |
params = {'query': query, 'types': ['LORA'], 'sort': 'Highest Rated', 'period': 'AllTime',
|
| 509 |
-
'nsfw': 'true'}
|
| 510 |
session = requests.Session()
|
| 511 |
retries = Retry(total=5, backoff_factor=1, status_forcelist=[500, 502, 503, 504])
|
| 512 |
session.mount("https://", HTTPAdapter(max_retries=retries))
|
|
|
|
| 90 |
for file in Path(dir_path).glob("*"):
|
| 91 |
if file.exists() and "." in file.stem or " " in file.stem and file.suffix in ['.ckpt', '.pt', '.pth', '.safetensors', '.bin']:
|
| 92 |
newpath = Path(f'{file.parent.name}/{escape_lora_basename(file.stem)}{file.suffix}')
|
| 93 |
+
file.resolve().rename(newpath.resolve())
|
| 94 |
|
| 95 |
|
| 96 |
private_model_path_repo_dict = {}
|
|
|
|
| 143 |
return
|
| 144 |
else:
|
| 145 |
if is_replace:
|
| 146 |
+
file.resolve().rename(newpath.resolve())
|
| 147 |
|
| 148 |
|
| 149 |
def download_private_file_from_somewhere(path, is_replace):
|
|
|
|
| 242 |
from pathlib import Path
|
| 243 |
filename = basename + str(i) + ".png"
|
| 244 |
oldpath = Path(image[0])
|
| 245 |
+
newpath = oldpath.resolve().rename(Path(filename).resolve())
|
| 246 |
output_paths.append(str(newpath))
|
| 247 |
output_images.append((str(newpath), str(filename)))
|
| 248 |
i += 1
|
|
|
|
| 391 |
tupled_list = []
|
| 392 |
local_models = set(get_model_list(directory_loras))
|
| 393 |
for model in lora_model_list:
|
| 394 |
+
if not model: continue
|
| 395 |
basename = Path(model).stem
|
| 396 |
key = escape_lora_basename(basename)
|
| 397 |
items = None
|
|
|
|
| 414 |
|
| 415 |
def set_lora_trigger(lora_gui: str):
|
| 416 |
from pathlib import Path
|
| 417 |
+
if lora_gui == None: return gr.update(value="", visible=False), gr.update(visible=False),\
|
| 418 |
+
gr.update(value="", visible=False), gr.update(value="", visible=True)
|
| 419 |
path = Path(lora_gui)
|
| 420 |
new_path = Path(f'{path.parent.name}/{escape_lora_basename(path.stem)}{path.suffix}')
|
| 421 |
if not new_path.stem in lora_trigger_dict.keys() and not str(path) in set(get_private_lora_model_lists() + get_model_list(directory_loras)):
|
| 422 |
+
return gr.update(value="", visible=False), gr.update(visible=False),\
|
| 423 |
+
gr.update(value="", visible=False), gr.update(value="", visible=True)
|
| 424 |
if not new_path.exists():
|
| 425 |
download_private_file_from_somewhere(str(path), True)
|
| 426 |
basename = new_path.stem
|
|
|
|
| 479 |
import shutil
|
| 480 |
from pathlib import Path
|
| 481 |
for file in filepaths:
|
| 482 |
+
path = Path(shutil.move(Path(file).resolve(), Path(f"./{directory_loras}").resolve()))
|
| 483 |
newpath = Path(f'{path.parent.name}/{escape_lora_basename(path.stem)}{path.suffix}')
|
| 484 |
+
path.resolve().rename(newpath.resolve())
|
| 485 |
update_lora_dict(str(newpath))
|
| 486 |
|
| 487 |
new_lora_model_list = list_uniq(get_private_lora_model_lists() + get_model_list(directory_loras))
|
|
|
|
| 509 |
headers = {'User-Agent': user_agent, 'content-type': 'application/json'}
|
| 510 |
base_url = 'https://civitai.com/api/v1/models'
|
| 511 |
params = {'query': query, 'types': ['LORA'], 'sort': 'Highest Rated', 'period': 'AllTime',
|
| 512 |
+
'nsfw': 'true', 'supportsGeneration ': 'true'}
|
| 513 |
session = requests.Session()
|
| 514 |
retries = Retry(total=5, backoff_factor=1, status_forcelist=[500, 502, 503, 504])
|
| 515 |
session.mount("https://", HTTPAdapter(max_retries=retries))
|
requirements.txt
CHANGED
|
@@ -10,6 +10,7 @@ optimum[onnxruntime]
|
|
| 10 |
spaces
|
| 11 |
dartrs
|
| 12 |
huggingface_hub
|
| 13 |
-
httpx
|
| 14 |
httpcore
|
|
|
|
| 15 |
timm
|
|
|
|
| 10 |
spaces
|
| 11 |
dartrs
|
| 12 |
huggingface_hub
|
| 13 |
+
httpx==0.13.3
|
| 14 |
httpcore
|
| 15 |
+
googletrans==4.0.0rc1
|
| 16 |
timm
|
tagger.py
CHANGED
|
@@ -133,7 +133,7 @@ def convert_danbooru_to_e621_prompt(input_prompt: str = "", prompt_type: str = "
|
|
| 133 |
|
| 134 |
return output_prompt
|
| 135 |
|
| 136 |
-
|
| 137 |
def translate_prompt(prompt: str = ""):
|
| 138 |
def translate_to_english(prompt):
|
| 139 |
import httpcore
|
|
@@ -225,7 +225,7 @@ def convert_tags_to_ja(input_prompt: str = ""):
|
|
| 225 |
out_tags.append(tag)
|
| 226 |
|
| 227 |
return ", ".join(out_tags)
|
| 228 |
-
|
| 229 |
|
| 230 |
def insert_recom_prompt(prompt: str = "", neg_prompt: str = "", type: str = "None"):
|
| 231 |
def to_list(s):
|
|
@@ -423,23 +423,19 @@ def predict_tags(image: Image.Image, general_threshold: float = 0.3, character_t
|
|
| 423 |
results = {
|
| 424 |
wd_model.config.id2label[i]: float(logit.float()) for i, logit in enumerate(logits)
|
| 425 |
}
|
| 426 |
-
|
| 427 |
# rating, character, general
|
| 428 |
rating, character, general = postprocess_results(
|
| 429 |
results, general_threshold, character_threshold
|
| 430 |
)
|
| 431 |
-
|
| 432 |
prompt = gen_prompt(
|
| 433 |
list(rating.keys()), list(character.keys()), list(general.keys())
|
| 434 |
)
|
| 435 |
-
|
| 436 |
output_series_tag = ""
|
| 437 |
output_series_list = character_list_to_series_list(character.keys())
|
| 438 |
if output_series_list:
|
| 439 |
output_series_tag = output_series_list[0]
|
| 440 |
else:
|
| 441 |
output_series_tag = ""
|
| 442 |
-
|
| 443 |
return output_series_tag, ", ".join(character.keys()), prompt, gr.update(interactive=True),
|
| 444 |
|
| 445 |
|
|
|
|
| 133 |
|
| 134 |
return output_prompt
|
| 135 |
|
| 136 |
+
|
| 137 |
def translate_prompt(prompt: str = ""):
|
| 138 |
def translate_to_english(prompt):
|
| 139 |
import httpcore
|
|
|
|
| 225 |
out_tags.append(tag)
|
| 226 |
|
| 227 |
return ", ".join(out_tags)
|
| 228 |
+
|
| 229 |
|
| 230 |
def insert_recom_prompt(prompt: str = "", neg_prompt: str = "", type: str = "None"):
|
| 231 |
def to_list(s):
|
|
|
|
| 423 |
results = {
|
| 424 |
wd_model.config.id2label[i]: float(logit.float()) for i, logit in enumerate(logits)
|
| 425 |
}
|
|
|
|
| 426 |
# rating, character, general
|
| 427 |
rating, character, general = postprocess_results(
|
| 428 |
results, general_threshold, character_threshold
|
| 429 |
)
|
|
|
|
| 430 |
prompt = gen_prompt(
|
| 431 |
list(rating.keys()), list(character.keys()), list(general.keys())
|
| 432 |
)
|
|
|
|
| 433 |
output_series_tag = ""
|
| 434 |
output_series_list = character_list_to_series_list(character.keys())
|
| 435 |
if output_series_list:
|
| 436 |
output_series_tag = output_series_list[0]
|
| 437 |
else:
|
| 438 |
output_series_tag = ""
|
|
|
|
| 439 |
return output_series_tag, ", ".join(character.keys()), prompt, gr.update(interactive=True),
|
| 440 |
|
| 441 |
|
v2.py
CHANGED
|
@@ -31,7 +31,6 @@ except ImportError:
|
|
| 31 |
|
| 32 |
from output import UpsamplingOutput
|
| 33 |
|
| 34 |
-
|
| 35 |
HF_TOKEN = os.getenv("HF_TOKEN", None)
|
| 36 |
|
| 37 |
V2_ALL_MODELS = {
|
|
|
|
| 31 |
|
| 32 |
from output import UpsamplingOutput
|
| 33 |
|
|
|
|
| 34 |
HF_TOKEN = os.getenv("HF_TOKEN", None)
|
| 35 |
|
| 36 |
V2_ALL_MODELS = {
|