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 = {
|