John6666 commited on
Commit
107eac2
·
verified ·
1 Parent(s): 6579b0f

Upload 10 files

Browse files
Files changed (3) hide show
  1. app.py +16 -16
  2. lora_dict.json +266 -0
  3. tagger.py +52 -15
app.py CHANGED
@@ -1595,6 +1595,8 @@ with gr.Blocks(theme="NoCrypt/miku@>=1.2.2", elem_id="main", css=CSS) as app:
1595
  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])
1596
 
1597
  generate_from_image_btn_gui.click(
 
 
1598
  predict_tags_wd,
1599
  [input_image_gui, prompt_gui, image_algorithms, general_threshold_gui, character_threshold_gui],
1600
  [series_dbt, character_dbt, prompt_gui, copy_button_dbt],
@@ -1755,7 +1757,6 @@ with gr.Blocks(theme="NoCrypt/miku@>=1.2.2", elem_id="main", css=CSS) as app:
1755
  image_algorithms = gr.CheckboxGroup(["Use WD Tagger"], label="Algorithms", value=["Use WD Tagger"], visible=False)
1756
  keep_tags = gr.Radio(label="Remove tags leaving only the following", choices=["body", "dress", "all"], value="all")
1757
  generate_from_image_btn = gr.Button(value="GENERATE TAGS FROM IMAGE", size="lg", variant="primary")
1758
-
1759
  with gr.Group():
1760
  with gr.Row():
1761
  input_character = gr.Textbox(label="Character tags", placeholder="hatsune miku")
@@ -1778,21 +1779,18 @@ with gr.Blocks(theme="NoCrypt/miku@>=1.2.2", elem_id="main", css=CSS) as app:
1778
  dummy_np = gr.Textbox(label="Negative prompt", value="", visible=False)
1779
  recom_animagine = gr.Textbox(label="Animagine reccomended prompt", value="Animagine", visible=False)
1780
  recom_pony = gr.Textbox(label="Pony reccomended prompt", value="Pony", visible=False)
1781
-
1782
- generate_btn = gr.Button(value="GENERATE TAGS", size="lg", variant="primary")
1783
-
1784
- with gr.Group():
1785
- output_text = gr.TextArea(label="Output tags", interactive=False, show_copy_button=True)
1786
- with gr.Row():
1787
- copy_btn = gr.Button(value="Copy to clipboard", size="sm", interactive=False)
1788
- copy_prompt_btn = gr.Button(value="Copy to primary prompt", size="sm", interactive=False)
1789
-
1790
- with gr.Group():
1791
- output_text_pony = gr.TextArea(label="Output tags (Pony e621 style)", interactive=False, show_copy_button=True)
1792
- with gr.Row():
1793
- copy_btn_pony = gr.Button(value="Copy to clipboard", size="sm", interactive=False)
1794
- copy_prompt_btn_pony = gr.Button(value="Copy to primary prompt", size="sm", interactive=False)
1795
-
1796
  description_ui()
1797
 
1798
  translate_input_prompt_button.click(translate_prompt, inputs=[input_general], outputs=[input_general], queue=False)
@@ -1800,6 +1798,8 @@ with gr.Blocks(theme="NoCrypt/miku@>=1.2.2", elem_id="main", css=CSS) as app:
1800
  translate_input_prompt_button.click(translate_prompt, inputs=[input_copyright], outputs=[input_copyright], queue=False)
1801
 
1802
  generate_from_image_btn.click(
 
 
1803
  predict_tags_wd,
1804
  [input_image, input_general, image_algorithms, general_threshold, character_threshold],
1805
  [input_copyright, input_character, input_general, copy_input_btn],
 
1595
  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])
1596
 
1597
  generate_from_image_btn_gui.click(
1598
+ lambda: ("", "", ""), None, [series_dbt, character_dbt, prompt_gui], queue=False,
1599
+ ).success(
1600
  predict_tags_wd,
1601
  [input_image_gui, prompt_gui, image_algorithms, general_threshold_gui, character_threshold_gui],
1602
  [series_dbt, character_dbt, prompt_gui, copy_button_dbt],
 
1757
  image_algorithms = gr.CheckboxGroup(["Use WD Tagger"], label="Algorithms", value=["Use WD Tagger"], visible=False)
1758
  keep_tags = gr.Radio(label="Remove tags leaving only the following", choices=["body", "dress", "all"], value="all")
1759
  generate_from_image_btn = gr.Button(value="GENERATE TAGS FROM IMAGE", size="lg", variant="primary")
 
1760
  with gr.Group():
1761
  with gr.Row():
1762
  input_character = gr.Textbox(label="Character tags", placeholder="hatsune miku")
 
1779
  dummy_np = gr.Textbox(label="Negative prompt", value="", visible=False)
1780
  recom_animagine = gr.Textbox(label="Animagine reccomended prompt", value="Animagine", visible=False)
1781
  recom_pony = gr.Textbox(label="Pony reccomended prompt", value="Pony", visible=False)
1782
+ generate_btn = gr.Button(value="GENERATE TAGS", size="lg", variant="primary")
1783
+ with gr.Row():
1784
+ with gr.Group():
1785
+ output_text = gr.TextArea(label="Output tags", interactive=False, show_copy_button=True)
1786
+ with gr.Row():
1787
+ copy_btn = gr.Button(value="Copy to clipboard", size="sm", interactive=False)
1788
+ copy_prompt_btn = gr.Button(value="Copy to primary prompt", size="sm", interactive=False)
1789
+ with gr.Group():
1790
+ output_text_pony = gr.TextArea(label="Output tags (Pony e621 style)", interactive=False, show_copy_button=True)
1791
+ with gr.Row():
1792
+ copy_btn_pony = gr.Button(value="Copy to clipboard", size="sm", interactive=False)
1793
+ copy_prompt_btn_pony = gr.Button(value="Copy to primary prompt", size="sm", interactive=False)
 
 
 
1794
  description_ui()
1795
 
1796
  translate_input_prompt_button.click(translate_prompt, inputs=[input_general], outputs=[input_general], queue=False)
 
1798
  translate_input_prompt_button.click(translate_prompt, inputs=[input_copyright], outputs=[input_copyright], queue=False)
1799
 
1800
  generate_from_image_btn.click(
1801
+ lambda: ("", "", ""), None, [input_copyright, input_character, input_general], queue=False,
1802
+ ).success(
1803
  predict_tags_wd,
1804
  [input_image, input_general, image_algorithms, general_threshold, character_threshold],
1805
  [input_copyright, input_character, input_general, copy_input_btn],
lora_dict.json CHANGED
@@ -132,6 +132,13 @@
132
  "https://civitai.com/models/565994",
133
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/66feca06-6a87-4975-9c76-29b1cc6fcc23/width=450/19026855.jpeg"
134
  ],
 
 
 
 
 
 
 
135
  "2FingersSDXL_v03": [
136
  "fingering pussy",
137
  "SDXL 1.0",
@@ -195,6 +202,13 @@
195
  "https://civitai.com/models/562782",
196
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/6851f9dc-6830-4953-aacb-5bbad26de292/width=450/18831154.jpeg"
197
  ],
 
 
 
 
 
 
 
198
  "ALTXL_001_4": [
199
  "",
200
  "SDXL 1.0",
@@ -230,6 +244,13 @@
230
  "https://civitai.com/models/539225",
231
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/1cd30680-93ac-4741-a86c-01e011ea216d/width=450/17279766.jpeg"
232
  ],
 
 
 
 
 
 
 
233
  "Age_Slider_V2_alpha1_0_rank4_noxattn_last": [
234
  "",
235
  "Pony",
@@ -321,6 +342,13 @@
321
  "https://civitai.com/models/368121",
322
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/0134ca56-bada-42aa-8f5e-312f68239a45/width=450/8572769.jpeg"
323
  ],
 
 
 
 
 
 
 
324
  "BishoujoXL_P6_lokr_V4302": [
325
  "",
326
  "Pony",
@@ -461,6 +489,13 @@
461
  "https://civitai.com/models/599199",
462
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ed5f0917-fbaa-4b9c-8a17-8d34f558038d/width=450/21266476.jpeg"
463
  ],
 
 
 
 
 
 
 
464
  "Competitive_Swimsuit_XL_V1_0": [
465
  "competitive swimsuit",
466
  "SDXL 1.0",
@@ -937,6 +972,13 @@
937
  "https://civitai.com/models/459565",
938
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/110e5c12-2cd7-42d8-bb15-24c7d00751d2/width=450/12716381.jpeg"
939
  ],
 
 
 
 
 
 
 
940
  "Girl_Peeping": [
941
  "peeping / watching / female pervert",
942
  "Pony",
@@ -986,6 +1028,13 @@
986
  "https://civitai.com/models/535966",
987
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a7f58842-13be-40e7-a65d-0abe77106382/width=450/17057493.jpeg"
988
  ],
 
 
 
 
 
 
 
989
  "Hankyu3000_SDXL_V1": [
990
  "hankyu3000",
991
  "SDXL 1.0",
@@ -1112,6 +1161,13 @@
1112
  "https://civitai.com/models/428790",
1113
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/336d89fd-db17-483d-b408-8f99be19f9d1/width=450/11188990.jpeg"
1114
  ],
 
 
 
 
 
 
 
1115
  "Ichigo_Mashimaro_XL": [
1116
  "Nobue Itou / Chika Itou / Miu Matsuoka / Matsuri Sakuragi / Ana Coppola",
1117
  "SDXL 1.0",
@@ -1252,6 +1308,20 @@
1252
  "https://civitai.com/models/579435",
1253
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/3089540a-d132-41e9-87d4-c5c8fce6d499/width=450/19912464.jpeg"
1254
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1255
  "Lift_Up_Dress": [
1256
  "LIFT UP DRESS / CURTSEY / FROM BELOW / FROM BACK",
1257
  "SDXL 1.0",
@@ -1399,6 +1469,13 @@
1399
  "https://civitai.com/models/562753",
1400
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/6f136e74-5105-4fc8-9970-8601566df7d1/width=450/18834618.jpeg"
1401
  ],
 
 
 
 
 
 
 
1402
  "MiniAXV9XLScreencap": [
1403
  "Anime Screencap",
1404
  "Pony",
@@ -1525,6 +1602,13 @@
1525
  "https://civitai.com/models/540142",
1526
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/b43d779b-ccf2-4ce9-8298-2756cb13fba4/width=450/17343433.jpeg"
1527
  ],
 
 
 
 
 
 
 
1528
  "PDXL-RetroV2": [
1529
  "retro artstyle",
1530
  "Pony",
@@ -1553,6 +1637,13 @@
1553
  "https://civitai.com/models/569364",
1554
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/9aeef4dd-804d-4895-baa5-43a4e60b8b86/width=450/19243523.jpeg"
1555
  ],
 
 
 
 
 
 
 
1556
  "POV_holding_money": [
1557
  "",
1558
  "Pony",
@@ -1833,6 +1924,13 @@
1833
  "https://civitai.com/models/137615",
1834
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/3879c6bc-58aa-46cb-add2-523ff21fb550/width=450/10999075.jpeg"
1835
  ],
 
 
 
 
 
 
 
1836
  "SPF2s": [
1837
  "Svper",
1838
  "Pony",
@@ -1931,6 +2029,13 @@
1931
  "https://civitai.com/models/517826",
1932
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/9a382d16-ef66-493a-933c-4fcac09e8fff/width=450/15930188.jpeg"
1933
  ],
 
 
 
 
 
 
 
1934
  "Spooning_Positions": [
1935
  " 5p00n1ng / boy and girl in spooning position, boy behind girl, 1boy, 1girl, male b1g5p00n, / l41d_0u7 / 1_l3gup, one leg up / f3741_p05, fetal position / br347_6r4b, breast grab / w41s7_6r4b / 7h16h_6r4b / 4nk13_6r4b ",
1936
  "Pony",
@@ -1980,6 +2085,13 @@
1980
  "https://civitai.com/models/543007",
1981
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/32bb611d-6843-4197-844e-d8ddc1aabf6e/width=450/18288434.jpeg"
1982
  ],
 
 
 
 
 
 
 
1983
  "Standing_DP_SDXL": [
1984
  " 1woman, vaginal, anal, suspended congress, 2males, 2penises, standing sex, carrying, carrying partner, suspended, double penetration, mmf_threesome, standing_double_penetration / <lora:Standing_DP_SDXL-v1:0.7> / explicit female nudity, explicity male nudity, / cum, semen, sweat, steam",
1985
  "SDXL 1.0",
@@ -2176,6 +2288,13 @@
2176
  "https://civitai.com/models/87049",
2177
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/0faf8db6-2682-4a18-a92d-a6483b1bb289/width=450/11123630.jpeg"
2178
  ],
 
 
 
 
 
 
 
2179
  "Uterus_prolapse_LoRA_for_Pony_3_0": [
2180
  "uterus prolapse",
2181
  "Pony",
@@ -2309,6 +2428,20 @@
2309
  "https://civitai.com/models/548344",
2310
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/aba9189c-2986-4919-9843-ff03c2d606a8/width=450/17938715.jpeg"
2311
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2312
  "[hikari]missionary_holding_wrist_pony_v1": [
2313
  "missionary_holding_wrist",
2314
  "Pony",
@@ -2484,6 +2617,13 @@
2484
  "https://civitai.com/models/593717",
2485
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/945b3a2e-8c70-4068-b45e-1e117c3d50ca/width=450/20829978.jpeg"
2486
  ],
 
 
 
 
 
 
 
2487
  "_sdxl-transchool-pony": [
2488
  "transchool",
2489
  "Pony",
@@ -2519,6 +2659,13 @@
2519
  "https://civitai.com/models/516752",
2520
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/e48cb2fb-7aaf-4424-8ea7-acf2160290b9/width=450/17102038.jpeg"
2521
  ],
 
 
 
 
 
 
 
2522
  "akifn_pony_v2": [
2523
  "",
2524
  "Pony",
@@ -2855,6 +3002,13 @@
2855
  "https://civitai.com/models/576402",
2856
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/d33233e7-8705-4661-bb3b-3f27483e8f3c/width=450/19720953.jpeg"
2857
  ],
 
 
 
 
 
 
 
2858
  "blowjob_face": [
2859
  "pov, fellatio, oral, half closed eyes, ",
2860
  "Pony",
@@ -2988,6 +3142,13 @@
2988
  "https://civitai.com/models/558208",
2989
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/8fe2a91b-96dc-4f55-8c1f-646ebf8fe050/width=450/18547446.jpeg"
2990
  ],
 
 
 
 
 
 
 
2991
  "broken_condom_internal_cumshot-PD-1_0-pruned": [
2992
  "broken condom internal cumshot",
2993
  "Pony",
@@ -3667,6 +3828,13 @@
3667
  "https://civitai.com/models/562864",
3668
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/8b75129f-9af1-458d-8a88-0eb816df00dc/width=450/18835386.jpeg"
3669
  ],
 
 
 
 
 
 
 
3670
  "fanningself_XL_v1": [
3671
  "fanning self",
3672
  "SDXL 1.0",
@@ -3912,6 +4080,13 @@
3912
  "https://civitai.com/models/32541",
3913
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a02818c5-568b-4da2-a6f3-0c54f3fd604d/width=450/16910321.jpeg"
3914
  ],
 
 
 
 
 
 
 
3915
  "gyaruvXL1": [
3916
  "gyaruv",
3917
  "SDXL 1.0",
@@ -4171,6 +4346,13 @@
4171
  "https://civitai.com/models/579451",
4172
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ead4e9ab-9fa2-4413-860b-cfd94da88f03/width=450/19913105.jpeg"
4173
  ],
 
 
 
 
 
 
 
4174
  "human_onahole": [
4175
  "human onahole,torso grab / rough sex",
4176
  "Pony",
@@ -4213,6 +4395,20 @@
4213
  "https://civitai.com/models/121579",
4214
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/4d702d98-996e-478c-9e1d-0115852a3457/width=450/1899358.jpeg"
4215
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4216
  "jirai_kei_XL_V1_0": [
4217
  "jirai kei / pink shirt / black skirt / ribbon",
4218
  "SDXL 1.0",
@@ -4304,6 +4500,13 @@
4304
  "https://civitai.com/models/234887",
4305
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/4d94a5a1-b7d2-40b7-b864-f112b26e09a7/width=450/4642510.jpeg"
4306
  ],
 
 
 
 
 
 
 
4307
  "kakikoori_SDXL_V2": [
4308
  "kakikoori_red, food, cup, shaved ice, still life",
4309
  "SDXL 1.0",
@@ -4395,6 +4598,13 @@
4395
  "https://civitai.com/models/236038",
4396
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/dc7c2a65-32ba-4137-b725-b5415530ee47/width=450/6441240.jpeg"
4397
  ],
 
 
 
 
 
 
 
4398
  "kuragecut_v1": [
4399
  "kuragecut",
4400
  "SDXL 1.0",
@@ -4500,6 +4710,13 @@
4500
  "https://civitai.com/models/562800",
4501
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/7d8047bb-e2e3-4e61-bfd9-36e13ecef008/width=450/18832543.jpeg"
4502
  ],
 
 
 
 
 
 
 
4503
  "leafumbrella_XL_v1": [
4504
  "leaf umbrella",
4505
  "SDXL 1.0",
@@ -4773,6 +4990,13 @@
4773
  "https://civitai.com/models/455382",
4774
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/f85b95e6-f83f-4de4-8289-0f825d305cdf/width=450/12484731.jpeg"
4775
  ],
 
 
 
 
 
 
 
4776
  "microphone_stand": [
4777
  "microphone stand, holding microphone stand, singing, open mouth",
4778
  "Pony",
@@ -4927,6 +5151,13 @@
4927
  "https://civitai.com/models/467118",
4928
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/11eced9f-d779-4138-a940-ad81a0b0454c/width=450/17635537.jpeg"
4929
  ],
 
 
 
 
 
 
 
4930
  "nsfw70": [
4931
  "",
4932
  "Pony",
@@ -5004,6 +5235,13 @@
5004
  "https://civitai.com/models/339451",
5005
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/19736a32-8916-40f2-8163-54aca8563b22/width=450/7597428.jpeg"
5006
  ],
 
 
 
 
 
 
 
5007
  "oksignXLv1": [
5008
  "ok sign",
5009
  "SDXL 1.0",
@@ -5221,6 +5459,13 @@
5221
  "https://civitai.com/models/590441",
5222
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/06195e98-9e44-4d7a-b139-d1e5e4947e16/width=450/20630854.jpeg"
5223
  ],
 
 
 
 
 
 
 
5224
  "peeing_underwater-05": [
5225
  "peeing underwater",
5226
  "Pony",
@@ -6411,6 +6656,13 @@
6411
  "https://civitai.com/models/537445",
6412
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ad654bb6-4edb-43a0-84ba-44e5cd96d12b/width=450/17342314.jpeg"
6413
  ],
 
 
 
 
 
 
 
6414
  "tongue_around_penis": [
6415
  "tongue_around_penis, licking penis, ",
6416
  "Pony",
@@ -6782,6 +7034,13 @@
6782
  "https://civitai.com/models/593599",
6783
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/4813edb1-66cf-4482-9524-d03a4da30063/width=450/21514778.jpeg"
6784
  ],
 
 
 
 
 
 
 
6785
  "waterslide_XL_v1": [
6786
  "water slide",
6787
  "SDXL 1.0",
@@ -6789,6 +7048,13 @@
6789
  "https://civitai.com/models/406297",
6790
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/36d7f15a-b10b-4b5b-8b27-0e87a52a1a6a/width=450/10128067.jpeg"
6791
  ],
 
 
 
 
 
 
 
6792
  "wedding_dress_XL_V1_0": [
6793
  "wedding dress",
6794
  "SDXL 1.0",
 
132
  "https://civitai.com/models/565994",
133
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/66feca06-6a87-4975-9c76-29b1cc6fcc23/width=450/19026855.jpeg"
134
  ],
135
+ "1990's_PC_style_SDXL_v1": [
136
+ "1990's PC / 1990s_(style) / oekaki / retro_artstyle / oldfilm / halftone / jaggy_lines / 1980's anime / 1980s_(style)",
137
+ "SDXL 1.0",
138
+ "1990's PC game style",
139
+ "https://civitai.com/models/105369",
140
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/fcb5db04-51f8-4032-b041-2d892de65b45/width=450/22025810.jpeg"
141
+ ],
142
  "2FingersSDXL_v03": [
143
  "fingering pussy",
144
  "SDXL 1.0",
 
202
  "https://civitai.com/models/562782",
203
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/6851f9dc-6830-4953-aacb-5bbad26de292/width=450/18831154.jpeg"
204
  ],
205
+ "7eleven_storefront_PONY_V1": [
206
+ "seveneleven, konbini, scenery, storefront, japan, scenery, convenience store, shop, building, outdoors, road, cityscape, city, sky, street, sign, lamppost, real world location",
207
+ "Pony",
208
+ "\u30b3\u30f3\u30d3\u30cb\u306e\u5916\u89b37 PONY",
209
+ "https://civitai.com/models/611755",
210
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/2fd43b8d-cd52-4935-b015-06533825ecb0/width=450/22035002.jpeg"
211
+ ],
212
  "ALTXL_001_4": [
213
  "",
214
  "SDXL 1.0",
 
244
  "https://civitai.com/models/539225",
245
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/1cd30680-93ac-4741-a86c-01e011ea216d/width=450/17279766.jpeg"
246
  ],
247
+ "Age_Regression_PonyXL_Test": [
248
+ "AgeRegression / Oversized Clothes",
249
+ "Pony",
250
+ "[PonyXL] Age Regression (Concept)",
251
+ "https://civitai.com/models/620987",
252
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/f88e7690-c358-4f9c-962f-b31d4e6ea4c4/width=450/22633804.jpeg"
253
+ ],
254
  "Age_Slider_V2_alpha1_0_rank4_noxattn_last": [
255
  "",
256
  "Pony",
 
342
  "https://civitai.com/models/368121",
343
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/0134ca56-bada-42aa-8f5e-312f68239a45/width=450/8572769.jpeg"
344
  ],
345
+ "Birthing": [
346
+ "birth",
347
+ "Pony",
348
+ "Give Birth",
349
+ "https://civitai.com/models/621212",
350
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/c9b50ab2-53e6-4a89-bf6d-929df3a3271d/width=450/22674633.jpeg"
351
+ ],
352
  "BishoujoXL_P6_lokr_V4302": [
353
  "",
354
  "Pony",
 
489
  "https://civitai.com/models/599199",
490
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ed5f0917-fbaa-4b9c-8a17-8d34f558038d/width=450/21266476.jpeg"
491
  ],
492
+ "Comic_Manga": [
493
+ "comic_manga / comic / english text / speech bubble",
494
+ "Pony",
495
+ "Comic Manga PonyXL",
496
+ "https://civitai.com/models/610948",
497
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/52002535-dcdf-4b72-8fae-c7a95dc252af/width=450/22212775.jpeg"
498
+ ],
499
  "Competitive_Swimsuit_XL_V1_0": [
500
  "competitive swimsuit",
501
  "SDXL 1.0",
 
972
  "https://civitai.com/models/459565",
973
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/110e5c12-2cd7-42d8-bb15-24c7d00751d2/width=450/12716381.jpeg"
974
  ],
975
+ "Giant_Girl__KK": [
976
+ "kk_giantess",
977
+ "Pony",
978
+ "Giant Girl | KK_concept_01",
979
+ "https://civitai.com/models/607101",
980
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/dcd20560-f3c1-407e-b966-7062ee3c9798/width=450/21993362.jpeg"
981
+ ],
982
  "Girl_Peeping": [
983
  "peeping / watching / female pervert",
984
  "Pony",
 
1028
  "https://civitai.com/models/535966",
1029
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a7f58842-13be-40e7-a65d-0abe77106382/width=450/17057493.jpeg"
1030
  ],
1031
+ "Hadouken": [
1032
+ "Hadouken, Kikoken, Fireball, Energy Ball, fighting, shockwave",
1033
+ "Pony",
1034
+ "Hadouken",
1035
+ "https://civitai.com/models/613938",
1036
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/255d2b55-7430-4fd5-94f7-476ea5d9246b/width=450/22207991.jpeg"
1037
+ ],
1038
  "Hankyu3000_SDXL_V1": [
1039
  "hankyu3000",
1040
  "SDXL 1.0",
 
1161
  "https://civitai.com/models/428790",
1162
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/336d89fd-db17-483d-b408-8f99be19f9d1/width=450/11188990.jpeg"
1163
  ],
1164
+ "IKneel_pdxl_Incrs_v1": [
1165
+ "on one knee, full body, looking down, clenched hands, hand on ground, arm on knee",
1166
+ "Pony",
1167
+ "I kneel (Kneeling Vegeta) | Concept / Pose LoRA XL",
1168
+ "https://civitai.com/models/610071",
1169
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/3f6dcf2f-1abd-4d9e-9e5f-df370b79aeae/width=450/21922297.jpeg"
1170
+ ],
1171
  "Ichigo_Mashimaro_XL": [
1172
  "Nobue Itou / Chika Itou / Miu Matsuoka / Matsuri Sakuragi / Ana Coppola",
1173
  "SDXL 1.0",
 
1308
  "https://civitai.com/models/579435",
1309
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/3089540a-d132-41e9-87d4-c5c8fce6d499/width=450/19912464.jpeg"
1310
  ],
1311
+ "Leaned_Back_Reverse_Cowgirl_pony-v2_0": [
1312
+ "lbrc, reverse cowgirl position,hetero,sex from behind",
1313
+ "Pony",
1314
+ "Leaned Back Reverse Cowgirl pony",
1315
+ "https://civitai.com/models/610465",
1316
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/8ef2c1eb-0fd3-4255-bf34-50eff3d49665/width=450/22023141.jpeg"
1317
+ ],
1318
+ "Leaned_Back_Reverse_Cowgirl_pony-v2_1": [
1319
+ "lbrc, reverse cowgirl position,hetero,sex from behind",
1320
+ "Pony",
1321
+ "Leaned Back Reverse Cowgirl pony",
1322
+ "https://civitai.com/models/610465",
1323
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/b4f189dc-e269-49e2-be6d-b6ce9a259353/width=450/22086403.jpeg"
1324
+ ],
1325
  "Lift_Up_Dress": [
1326
  "LIFT UP DRESS / CURTSEY / FROM BELOW / FROM BACK",
1327
  "SDXL 1.0",
 
1469
  "https://civitai.com/models/562753",
1470
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/6f136e74-5105-4fc8-9970-8601566df7d1/width=450/18834618.jpeg"
1471
  ],
1472
+ "Milking_bucket_lactation-000006": [
1473
+ "Bucket / Lactating into bucket / Breast milk",
1474
+ "Pony",
1475
+ "Milking bucket (lactation)",
1476
+ "https://civitai.com/models/622072",
1477
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/bbb01058-15a6-4a72-af23-a4db99fbaedf/width=450/22720212.jpeg"
1478
+ ],
1479
  "MiniAXV9XLScreencap": [
1480
  "Anime Screencap",
1481
  "Pony",
 
1602
  "https://civitai.com/models/540142",
1603
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/b43d779b-ccf2-4ce9-8298-2756cb13fba4/width=450/17343433.jpeg"
1604
  ],
1605
+ "PDXL-CheekBulge-20": [
1606
+ "cheek bulge",
1607
+ "Pony",
1608
+ "PDXL-CheekBulge",
1609
+ "https://civitai.com/models/612839",
1610
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/1ca66d39-e310-43b6-a25b-88dc076725e1/width=450/22121952.jpeg"
1611
+ ],
1612
  "PDXL-RetroV2": [
1613
  "retro artstyle",
1614
  "Pony",
 
1637
  "https://civitai.com/models/569364",
1638
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/9aeef4dd-804d-4895-baa5-43a4e60b8b86/width=450/19243523.jpeg"
1639
  ],
1640
+ "POV_Unaligned_Paizuri_XL": [
1641
+ "pov unaligned paizuri",
1642
+ "Pony",
1643
+ "POV Asymetric Paizuri XL",
1644
+ "https://civitai.com/models/579227",
1645
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/dbaab072-e3a3-4f61-9a93-6326887b2cec/width=450/22255802.jpeg"
1646
+ ],
1647
  "POV_holding_money": [
1648
  "",
1649
  "Pony",
 
1924
  "https://civitai.com/models/137615",
1925
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/3879c6bc-58aa-46cb-add2-523ff21fb550/width=450/10999075.jpeg"
1926
  ],
1927
+ "RoboStyle": [
1928
+ "Jed-rbt",
1929
+ "SDXL 1.0",
1930
+ "RoboStyle",
1931
+ "https://civitai.com/models/612224",
1932
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/49e6eef8-a325-4543-812b-5ce77055974d/width=450/22063195.jpeg"
1933
+ ],
1934
  "SPF2s": [
1935
  "Svper",
1936
  "Pony",
 
2029
  "https://civitai.com/models/517826",
2030
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/9a382d16-ef66-493a-933c-4fcac09e8fff/width=450/15930188.jpeg"
2031
  ],
2032
+ "Slave_Submission_XL-000003": [
2033
+ "submissive_female, slavesubmissionXL, BDSM / slave, humiliation, exhibitionism, public_indecency / assisted_exposure, panty_pull, torn_clothes, / leash_pull, leash, collar, chain, restrained / Bondage, leather black panties, black bra, crotchless, o-ring / naked_dogeza, all_fours, top_down_bottom_up, ass",
2034
+ "Pony",
2035
+ "Slave_Submission_XL",
2036
+ "https://civitai.com/models/517826",
2037
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/852e29e1-e9bd-46c8-b11c-11e5c5e0448c/width=450/22226417.jpeg"
2038
+ ],
2039
  "Spooning_Positions": [
2040
  " 5p00n1ng / boy and girl in spooning position, boy behind girl, 1boy, 1girl, male b1g5p00n, / l41d_0u7 / 1_l3gup, one leg up / f3741_p05, fetal position / br347_6r4b, breast grab / w41s7_6r4b / 7h16h_6r4b / 4nk13_6r4b ",
2041
  "Pony",
 
2085
  "https://civitai.com/models/543007",
2086
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/32bb611d-6843-4197-844e-d8ddc1aabf6e/width=450/18288434.jpeg"
2087
  ],
2088
+ "Standee_v0_1_test": [
2089
+ "cardboard_cutout, white_outline, standee, photo, photo_background, / holding_tray, / mall, / cafe,",
2090
+ "Pony",
2091
+ "Standee / Cardboard cutout | Pony XL | Concept | Early Beta",
2092
+ "https://civitai.com/models/611106",
2093
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/06e4cc96-0c11-4ba8-a8fc-96bb8638b81f/width=450/21999572.jpeg"
2094
+ ],
2095
  "Standing_DP_SDXL": [
2096
  " 1woman, vaginal, anal, suspended congress, 2males, 2penises, standing sex, carrying, carrying partner, suspended, double penetration, mmf_threesome, standing_double_penetration / <lora:Standing_DP_SDXL-v1:0.7> / explicit female nudity, explicity male nudity, / cum, semen, sweat, steam",
2097
  "SDXL 1.0",
 
2288
  "https://civitai.com/models/87049",
2289
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/0faf8db6-2682-4a18-a92d-a6483b1bb289/width=450/11123630.jpeg"
2290
  ],
2291
+ "Urinal_Slave-000008": [
2292
+ "Urinal slave",
2293
+ "Pony",
2294
+ "Urinal Slave",
2295
+ "https://civitai.com/models/611771",
2296
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/3b21296e-0ca8-4800-b094-38b39b3ab312/width=450/22058271.jpeg"
2297
+ ],
2298
  "Uterus_prolapse_LoRA_for_Pony_3_0": [
2299
  "uterus prolapse",
2300
  "Pony",
 
2428
  "https://civitai.com/models/548344",
2429
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/aba9189c-2986-4919-9843-ff03c2d606a8/width=450/17938715.jpeg"
2430
  ],
2431
+ "Yuri_Scissors_Pose": [
2432
+ "2GIRLS, YURI SCISSORS POSE / TWINCEST / SWEAT, HEAVY BREATHING / FEMALE EJACULATION",
2433
+ "SDXL 1.0",
2434
+ "Yuri Scissor Tribadism",
2435
+ "https://civitai.com/models/510404",
2436
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/db178470-6eac-408a-bc91-d58cfbc22011/width=450/15483053.jpeg"
2437
+ ],
2438
+ "[hikari]fellatio_invitation_pony_v1": [
2439
+ "open mouth, tongue out, pov / fellatio gesture / palms, cum in mouth, cum on hands",
2440
+ "Pony",
2441
+ "[hikari]\u53e3\u4ea4\u9080\u8bf7\u59ff\u52bf/\u53e3\u4ea4\u4e8b\u540e // Fellatio invitation/After fellatio Concept LoRA",
2442
+ "https://civitai.com/models/308865",
2443
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/0fd71659-09aa-4179-bfd2-879b623403d2/width=450/22504558.jpeg"
2444
+ ],
2445
  "[hikari]missionary_holding_wrist_pony_v1": [
2446
  "missionary_holding_wrist",
2447
  "Pony",
 
2617
  "https://civitai.com/models/593717",
2618
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/945b3a2e-8c70-4068-b45e-1e117c3d50ca/width=450/20829978.jpeg"
2619
  ],
2620
+ "_sdxl-style-aclchibi": [
2621
+ "aclchibi, chibi",
2622
+ "SDXL 1.0",
2623
+ "for SDXL, auxiliary for generating chibi characters (\u30c1\u30d3\u30ad\u30e3\u30e9\u751f\u6210\u88dc\u52a9\u7528) Style LoRA",
2624
+ "https://civitai.com/models/614638",
2625
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/0c6ed1ad-da10-4c9a-90ba-a1d12a8ea46c/width=450/22239895.jpeg"
2626
+ ],
2627
  "_sdxl-transchool-pony": [
2628
  "transchool",
2629
  "Pony",
 
2659
  "https://civitai.com/models/516752",
2660
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/e48cb2fb-7aaf-4424-8ea7-acf2160290b9/width=450/17102038.jpeg"
2661
  ],
2662
+ "agepony8": [
2663
+ "",
2664
+ "Pony",
2665
+ "Multiple XL Sliders - Age, weight, Hands, etc",
2666
+ "https://civitai.com/models/238419",
2667
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/74053ca5-9486-44ee-94d1-9cebcbbe7250/width=450/22207105.jpeg"
2668
+ ],
2669
  "akifn_pony_v2": [
2670
  "",
2671
  "Pony",
 
3002
  "https://civitai.com/models/576402",
3003
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/d33233e7-8705-4661-bb3b-3f27483e8f3c/width=450/19720953.jpeg"
3004
  ],
3005
+ "blowingbubbles_XL_v1": [
3006
+ "blowing bubbles",
3007
+ "SDXL 1.0",
3008
+ "blowing bubbles / \u30b7\u30e3\u30dc\u30f3\u7389 / \u3057\u3083\u307c\u3093\u7389",
3009
+ "https://civitai.com/models/620899",
3010
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/14e8dd8a-10ee-40af-a1a8-5c85d1be43fd/width=450/22627249.jpeg"
3011
+ ],
3012
  "blowjob_face": [
3013
  "pov, fellatio, oral, half closed eyes, ",
3014
  "Pony",
 
3142
  "https://civitai.com/models/558208",
3143
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/8fe2a91b-96dc-4f55-8c1f-646ebf8fe050/width=450/18547446.jpeg"
3144
  ],
3145
+ "brightnesspony1": [
3146
+ "",
3147
+ "Pony",
3148
+ "Multiple XL Sliders - Age, weight, Hands, etc",
3149
+ "https://civitai.com/models/238419",
3150
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/9ed32d61-d049-46b5-aa74-8049a8d1ece0/width=450/22207333.jpeg"
3151
+ ],
3152
  "broken_condom_internal_cumshot-PD-1_0-pruned": [
3153
  "broken condom internal cumshot",
3154
  "Pony",
 
3828
  "https://civitai.com/models/562864",
3829
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/8b75129f-9af1-458d-8a88-0eb816df00dc/width=450/18835386.jpeg"
3830
  ],
3831
+ "famima_storefront_PONY_V1": [
3832
+ "famima, konbini, scenery, storefront, convenience store, outdoors, shop, scenery, sky, cloud, day, road, blue sky, power lines, utility pole, real world location, sign, building, street, japan",
3833
+ "Pony",
3834
+ "\u30b3\u30f3\u30d3\u30cb\u306e\u5916\u89b3F PONY",
3835
+ "https://civitai.com/models/611741",
3836
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a10394f4-d680-4b70-91bc-0ac807a263f6/width=450/22033610.jpeg"
3837
+ ],
3838
  "fanningself_XL_v1": [
3839
  "fanning self",
3840
  "SDXL 1.0",
 
4080
  "https://civitai.com/models/32541",
4081
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a02818c5-568b-4da2-a6f3-0c54f3fd604d/width=450/16910321.jpeg"
4082
  ],
4083
+ "guided_penetration_pony_V1_0": [
4084
+ "",
4085
+ "Pony",
4086
+ "\u30bb\u30eb\u30d5\u633f\u5165/guided penetration",
4087
+ "https://civitai.com/models/619646",
4088
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/17b69aa6-a3c3-47e9-952b-f37bfacc3625/width=450/22548752.jpeg"
4089
+ ],
4090
  "gyaruvXL1": [
4091
  "gyaruv",
4092
  "SDXL 1.0",
 
4346
  "https://civitai.com/models/579451",
4347
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ead4e9ab-9fa2-4413-860b-cfd94da88f03/width=450/19913105.jpeg"
4348
  ],
4349
+ "huangdongmohu_bouncing_breastslower_body_slamming": [
4350
+ "bouncing breasts / lower body slamming",
4351
+ "Pony",
4352
+ "\u80f8\u90e8\u548c\u4e0b\u534a\u8eab\u52a8\u6001\u6a21\u7cca,\u63fa\u308c\u308b\u304a\u3063\u3071\u3044\u3068\u4e0b\u534a\u8eab\u306e\u885d\u6483,bouncing breasts and lower body slamming",
4353
+ "https://civitai.com/models/611235",
4354
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/dbb8da41-c419-40f6-9a0f-d871c25acac4/width=450/22007843.jpeg"
4355
+ ],
4356
  "human_onahole": [
4357
  "human onahole,torso grab / rough sex",
4358
  "Pony",
 
4395
  "https://civitai.com/models/121579",
4396
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/4d702d98-996e-478c-9e1d-0115852a3457/width=450/1899358.jpeg"
4397
  ],
4398
+ "jihanki_PONY_V1": [
4399
+ "vending machine, outdoors, scenery, coca-cola, road, street, utility pole, power lines",
4400
+ "Pony",
4401
+ "\u81ea\u52d5\u8ca9\u58f2\u6a5f1 Vending Machines in Japan PONY",
4402
+ "https://civitai.com/models/613480",
4403
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/87a4b147-eabd-4c5b-8beb-bf3c24caa99b/width=450/22167109.jpeg"
4404
+ ],
4405
+ "jihanki_SDXL_V1": [
4406
+ "vending machine, outdoors, scenery, coca-cola, road, street, utility pole, power lines",
4407
+ "SDXL 1.0",
4408
+ "\u81ea\u52d5\u8ca9\u58f2\u6a5f1 Vending Machines in Japan SDXL",
4409
+ "https://civitai.com/models/613468",
4410
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/4a0d7921-d8d3-4b43-9d58-14e386b5af09/width=450/22166271.jpeg"
4411
+ ],
4412
  "jirai_kei_XL_V1_0": [
4413
  "jirai kei / pink shirt / black skirt / ribbon",
4414
  "SDXL 1.0",
 
4500
  "https://civitai.com/models/234887",
4501
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/4d94a5a1-b7d2-40b7-b864-f112b26e09a7/width=450/4642510.jpeg"
4502
  ],
4503
+ "kakigoori_pony_V1_0": [
4504
+ "kakigoori / shaved ice / spoon",
4505
+ "Pony",
4506
+ "\u304b\u304d\u6c37/shaved ice",
4507
+ "https://civitai.com/models/621013",
4508
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ff24f6c9-08d8-41af-a544-dccffe40aa58/width=450/22634422.jpeg"
4509
+ ],
4510
  "kakikoori_SDXL_V2": [
4511
  "kakikoori_red, food, cup, shaved ice, still life",
4512
  "SDXL 1.0",
 
4598
  "https://civitai.com/models/236038",
4599
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/dc7c2a65-32ba-4137-b725-b5415530ee47/width=450/6441240.jpeg"
4600
  ],
4601
+ "kk_sexybody_02": [
4602
+ "kk_sexybody_02, 1girl, solo, breasts, wet, nipples, cum on body, excessive pubic hair, nude",
4603
+ "Pony",
4604
+ "Cum Juice Shower | KK",
4605
+ "https://civitai.com/models/613694",
4606
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/da30a983-7daa-44e2-b712-29722a43602f/width=450/22179466.jpeg"
4607
+ ],
4608
  "kuragecut_v1": [
4609
  "kuragecut",
4610
  "SDXL 1.0",
 
4710
  "https://civitai.com/models/562800",
4711
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/7d8047bb-e2e3-4e61-bfd9-36e13ecef008/width=450/18832543.jpeg"
4712
  ],
4713
+ "lawson_storefront_PONY_V1": [
4714
+ "lawson, konbini, scenery, storefront, outdoors, sky, power lines, road, car, cloud, day, shop, building, blue sky, utility pole, real world location",
4715
+ "Pony",
4716
+ "\u30b3\u30f3\u30d3\u30cb\u306e\u5916\u89b3L PONY",
4717
+ "https://civitai.com/models/611720",
4718
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/e0eb5c80-2658-4c8b-a8de-0cddf22ef82f/width=450/22032802.jpeg"
4719
+ ],
4720
  "leafumbrella_XL_v1": [
4721
  "leaf umbrella",
4722
  "SDXL 1.0",
 
4990
  "https://civitai.com/models/455382",
4991
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/f85b95e6-f83f-4de4-8289-0f825d305cdf/width=450/12484731.jpeg"
4992
  ],
4993
+ "mesuinu_pony_V1_0": [
4994
+ "mesuinu / paw pose / squatting / all fours,leg lift / peeing / leash",
4995
+ "Pony",
4996
+ "\u96cc\u72ac\u30dd\u30fc\u30ba/paw pose",
4997
+ "https://civitai.com/models/621240",
4998
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/bf9c5f8e-7fe7-4481-a32d-a07ac987c1fe/width=450/22655424.jpeg"
4999
+ ],
5000
  "microphone_stand": [
5001
  "microphone stand, holding microphone stand, singing, open mouth",
5002
  "Pony",
 
5151
  "https://civitai.com/models/467118",
5152
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/11eced9f-d779-4138-a940-ad81a0b0454c/width=450/17635537.jpeg"
5153
  ],
5154
+ "nosepony1": [
5155
+ "",
5156
+ "Pony",
5157
+ "Multiple XL Sliders - Age, weight, Hands, etc",
5158
+ "https://civitai.com/models/238419",
5159
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/2a7bd500-3258-416d-956d-1cf423f82e37/width=450/22207943.jpeg"
5160
+ ],
5161
  "nsfw70": [
5162
  "",
5163
  "Pony",
 
5235
  "https://civitai.com/models/339451",
5236
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/19736a32-8916-40f2-8163-54aca8563b22/width=450/7597428.jpeg"
5237
  ],
5238
+ "ok_Pony_v1": [
5239
+ "ok sign",
5240
+ "Pony",
5241
+ "[SDXL&Pony] ok sign / OK\u30dd\u30fc\u30ba / \u30aa\u30c3\u30b1\u30fc\u30de\u30fc\u30af",
5242
+ "https://civitai.com/models/304205",
5243
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/8bb2b842-d3d8-4719-8d14-fd989e39d227/width=450/22209185.jpeg"
5244
+ ],
5245
  "oksignXLv1": [
5246
  "ok sign",
5247
  "SDXL 1.0",
 
5459
  "https://civitai.com/models/590441",
5460
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/06195e98-9e44-4d7a-b139-d1e5e4947e16/width=450/20630854.jpeg"
5461
  ],
5462
+ "pee_pony_V2_0": [
5463
+ "pee,peeing",
5464
+ "Pony",
5465
+ "\u304a\u3057\u3063\u3053/pee",
5466
+ "https://civitai.com/models/590441",
5467
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/9b873e11-1066-41ac-94fc-da6cf7653345/width=450/22678594.jpeg"
5468
+ ],
5469
  "peeing_underwater-05": [
5470
  "peeing underwater",
5471
  "Pony",
 
6656
  "https://civitai.com/models/537445",
6657
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ad654bb6-4edb-43a0-84ba-44e5cd96d12b/width=450/17342314.jpeg"
6658
  ],
6659
+ "tombstone_XL_v1": [
6660
+ "tombstone",
6661
+ "SDXL 1.0",
6662
+ "tombstone / \u304a\u5893\u53c2\u308a / \u304a\u76c6 / \u5893\u77f3 / \u304a\u5bfa",
6663
+ "https://civitai.com/models/613583",
6664
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/845dfe97-a96f-4433-8c46-e0c8cc8af437/width=450/22176279.jpeg"
6665
+ ],
6666
  "tongue_around_penis": [
6667
  "tongue_around_penis, licking penis, ",
6668
  "Pony",
 
7034
  "https://civitai.com/models/593599",
7035
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/4813edb1-66cf-4482-9524-d03a4da30063/width=450/21514778.jpeg"
7036
  ],
7037
+ "watermelon_pony_V1_0": [
7038
+ "watermelon, holding watermelon / eating",
7039
+ "Pony",
7040
+ "\u30b9\u30a4\u30ab/watermelon",
7041
+ "https://civitai.com/models/621695",
7042
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/053840b5-37fb-4fee-b7f1-93ddfd1ba12f/width=450/22690182.jpeg"
7043
+ ],
7044
  "waterslide_XL_v1": [
7045
  "water slide",
7046
  "SDXL 1.0",
 
7048
  "https://civitai.com/models/406297",
7049
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/36d7f15a-b10b-4b5b-8b27-0e87a52a1a6a/width=450/10128067.jpeg"
7050
  ],
7051
+ "wavy_hair_pony_V1_0": [
7052
+ "wavy hair",
7053
+ "Pony",
7054
+ "\u5dfb\u304d\u9aea/wavy hair",
7055
+ "https://civitai.com/models/621376",
7056
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/40e2acab-a2f1-41f2-9b6b-eb53ba2debad/width=450/22666093.jpeg"
7057
+ ],
7058
  "wedding_dress_XL_V1_0": [
7059
  "wedding dress",
7060
  "SDXL 1.0",
tagger.py CHANGED
@@ -1,12 +1,13 @@
1
  from PIL import Image
2
  import torch
3
  import gradio as gr
4
- import spaces # ZERO GPU
5
-
6
  from transformers import (
7
  AutoImageProcessor,
8
  AutoModelForImageClassification,
9
  )
 
 
10
 
11
  WD_MODEL_NAMES = ["p1atdev/wd-swinv2-tagger-v3-hf"]
12
  WD_MODEL_NAME = WD_MODEL_NAMES[0]
@@ -30,12 +31,15 @@ PEOPLE_TAGS = (
30
 
31
 
32
  RATING_MAP = {
 
33
  "general": "safe",
34
  "sensitive": "sensitive",
35
  "questionable": "nsfw",
36
  "explicit": "explicit, nsfw",
37
  }
38
  DANBOORU_TO_E621_RATING_MAP = {
 
 
39
  "safe": "rating_safe",
40
  "sensitive": "rating_safe",
41
  "nsfw": "rating_explicit",
@@ -49,6 +53,34 @@ DANBOORU_TO_E621_RATING_MAP = {
49
  }
50
 
51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  def to_list(s):
53
  return [x.strip() for x in s.split(",") if not s == ""]
54
 
@@ -62,9 +94,10 @@ def list_uniq(l):
62
 
63
 
64
  def load_dict_from_csv(filename):
65
- from pathlib import Path
66
  dict = {}
67
- if not Path(filename).exists(): return dict
 
 
68
  try:
69
  with open(filename, 'r', encoding="utf-8") as f:
70
  lines = f.readlines()
@@ -100,7 +133,8 @@ def character_list_to_series_list(character_list):
100
 
101
 
102
  def select_random_character(series: str, character: str):
103
- from random import randrange
 
104
  character_list = list(anime_series_dict.keys())
105
  character = character_list[randrange(len(character_list) - 1)]
106
  series = anime_series_dict.get(character.split(",")[0].strip(), "")
@@ -110,7 +144,7 @@ def select_random_character(series: str, character: str):
110
  def danbooru_to_e621(dtag, e621_dict):
111
  def d_to_e(match, e621_dict):
112
  dtag = match.group(0)
113
- etag = e621_dict.get(dtag.strip().replace("_", " "), "")
114
  if etag:
115
  return etag
116
  else:
@@ -118,7 +152,6 @@ def danbooru_to_e621(dtag, e621_dict):
118
 
119
  import re
120
  tag = re.sub(r'[\w ]+', lambda wrapper: d_to_e(wrapper, e621_dict), dtag, 2)
121
-
122
  return tag
123
 
124
 
@@ -134,7 +167,7 @@ def convert_danbooru_to_e621_prompt(input_prompt: str = "", prompt_type: str = "
134
 
135
  e621_dict = danbooru_to_e621_dict
136
  for tag in tags:
137
- tag = tag.strip().replace("_", " ")
138
  tag = danbooru_to_e621(tag, e621_dict)
139
  if tag in PEOPLE_TAGS:
140
  people_tags.append(tag)
@@ -162,6 +195,7 @@ def translate_prompt(prompt: str = ""):
162
  translated_prompt = translator.translate(prompt, src='auto', dest='en').text
163
  return translated_prompt
164
  except Exception as e:
 
165
  return prompt
166
 
167
  def is_japanese(s):
@@ -194,6 +228,7 @@ def translate_prompt_to_ja(prompt: str = ""):
194
  translated_prompt = translator.translate(prompt, src='en', dest='ja').text
195
  return translated_prompt
196
  except Exception as e:
 
197
  return prompt
198
 
199
  def is_japanese(s):
@@ -219,7 +254,7 @@ def translate_prompt_to_ja(prompt: str = ""):
219
  def tags_to_ja(itag, dict):
220
  def t_to_j(match, dict):
221
  tag = match.group(0)
222
- ja = dict.get(tag.strip().replace("_", " "), "")
223
  if ja:
224
  return ja
225
  else:
@@ -238,7 +273,7 @@ def convert_tags_to_ja(input_prompt: str = ""):
238
  tags_to_ja_dict = load_dict_from_csv('all_tags_ja_ext.csv')
239
  dict = tags_to_ja_dict
240
  for tag in tags:
241
- tag = tag.strip().replace("_", " ")
242
  tag = tags_to_ja(tag, dict)
243
  out_tags.append(tag)
244
 
@@ -287,6 +322,7 @@ def insert_recom_prompt(prompt: str = "", neg_prompt: str = "", type: str = "Non
287
  def load_model_prompt_dict():
288
  import json
289
  dict = {}
 
290
  try:
291
  with open('model_dict.json', encoding='utf-8') as f:
292
  dict = json.load(f)
@@ -365,7 +401,7 @@ def remove_specific_prompt(input_prompt: str = "", keep_tags: str = "all"):
365
 
366
  group_dict = tag_group_dict
367
  for tag in tags:
368
- tag = tag.strip().replace("_", " ")
369
  if tag in PEOPLE_TAGS:
370
  people_tags.append(tag)
371
  elif is_necessary(tag, keep_tags, group_dict):
@@ -393,7 +429,7 @@ def sort_taglist(tags: list[str]):
393
  rating_set = set(DANBOORU_TO_E621_RATING_MAP.keys()) | set(DANBOORU_TO_E621_RATING_MAP.values())
394
 
395
  for tag in tags:
396
- tag = tag.strip().replace("_", " ")
397
  if tag in PEOPLE_TAGS:
398
  people_tags.append(tag)
399
  elif tag in rating_set:
@@ -494,12 +530,13 @@ def predict_tags(image: Image.Image, general_threshold: float = 0.3, character_t
494
  output_series_tag = output_series_list[0]
495
  else:
496
  output_series_tag = ""
497
- return output_series_tag, ", ".join(character.keys()), prompt, gr.update(interactive=True),
498
 
499
 
500
- def predict_tags_wd(image: Image.Image, input_tags: str, algo: list[str], general_threshold: float = 0.3, character_threshold: float = 0.8):
 
501
  if not "Use WD Tagger" in algo and len(algo) != 0:
502
- return "", "", input_tags, gr.update(interactive=True),
503
  return predict_tags(image, general_threshold, character_threshold)
504
 
505
 
 
1
  from PIL import Image
2
  import torch
3
  import gradio as gr
4
+ import spaces
 
5
  from transformers import (
6
  AutoImageProcessor,
7
  AutoModelForImageClassification,
8
  )
9
+ from pathlib import Path
10
+
11
 
12
  WD_MODEL_NAMES = ["p1atdev/wd-swinv2-tagger-v3-hf"]
13
  WD_MODEL_NAME = WD_MODEL_NAMES[0]
 
31
 
32
 
33
  RATING_MAP = {
34
+ "sfw": "safe",
35
  "general": "safe",
36
  "sensitive": "sensitive",
37
  "questionable": "nsfw",
38
  "explicit": "explicit, nsfw",
39
  }
40
  DANBOORU_TO_E621_RATING_MAP = {
41
+ "sfw": "rating_safe",
42
+ "general": "rating_safe",
43
  "safe": "rating_safe",
44
  "sensitive": "rating_safe",
45
  "nsfw": "rating_explicit",
 
53
  }
54
 
55
 
56
+ # https://github.com/toriato/stable-diffusion-webui-wd14-tagger/blob/a9eacb1eff904552d3012babfa28b57e1d3e295c/tagger/ui.py#L368
57
+ kaomojis = [
58
+ "0_0",
59
+ "(o)_(o)",
60
+ "+_+",
61
+ "+_-",
62
+ "._.",
63
+ "<o>_<o>",
64
+ "<|>_<|>",
65
+ "=_=",
66
+ ">_<",
67
+ "3_3",
68
+ "6_9",
69
+ ">_o",
70
+ "@_@",
71
+ "^_^",
72
+ "o_o",
73
+ "u_u",
74
+ "x_x",
75
+ "|_|",
76
+ "||_||",
77
+ ]
78
+
79
+
80
+ def replace_underline(x: str):
81
+ return x.strip().replace("_", " ") if x not in kaomojis else x.strip()
82
+
83
+
84
  def to_list(s):
85
  return [x.strip() for x in s.split(",") if not s == ""]
86
 
 
94
 
95
 
96
  def load_dict_from_csv(filename):
 
97
  dict = {}
98
+ if not Path(filename).exists():
99
+ if Path('./tagger/', filename).exists(): filename = str(Path('./tagger/', filename))
100
+ else: return dict
101
  try:
102
  with open(filename, 'r', encoding="utf-8") as f:
103
  lines = f.readlines()
 
133
 
134
 
135
  def select_random_character(series: str, character: str):
136
+ from random import seed, randrange
137
+ seed()
138
  character_list = list(anime_series_dict.keys())
139
  character = character_list[randrange(len(character_list) - 1)]
140
  series = anime_series_dict.get(character.split(",")[0].strip(), "")
 
144
  def danbooru_to_e621(dtag, e621_dict):
145
  def d_to_e(match, e621_dict):
146
  dtag = match.group(0)
147
+ etag = e621_dict.get(replace_underline(dtag), "")
148
  if etag:
149
  return etag
150
  else:
 
152
 
153
  import re
154
  tag = re.sub(r'[\w ]+', lambda wrapper: d_to_e(wrapper, e621_dict), dtag, 2)
 
155
  return tag
156
 
157
 
 
167
 
168
  e621_dict = danbooru_to_e621_dict
169
  for tag in tags:
170
+ tag = replace_underline(tag)
171
  tag = danbooru_to_e621(tag, e621_dict)
172
  if tag in PEOPLE_TAGS:
173
  people_tags.append(tag)
 
195
  translated_prompt = translator.translate(prompt, src='auto', dest='en').text
196
  return translated_prompt
197
  except Exception as e:
198
+ print(e)
199
  return prompt
200
 
201
  def is_japanese(s):
 
228
  translated_prompt = translator.translate(prompt, src='en', dest='ja').text
229
  return translated_prompt
230
  except Exception as e:
231
+ print(e)
232
  return prompt
233
 
234
  def is_japanese(s):
 
254
  def tags_to_ja(itag, dict):
255
  def t_to_j(match, dict):
256
  tag = match.group(0)
257
+ ja = dict.get(replace_underline(tag), "")
258
  if ja:
259
  return ja
260
  else:
 
273
  tags_to_ja_dict = load_dict_from_csv('all_tags_ja_ext.csv')
274
  dict = tags_to_ja_dict
275
  for tag in tags:
276
+ tag = replace_underline(tag)
277
  tag = tags_to_ja(tag, dict)
278
  out_tags.append(tag)
279
 
 
322
  def load_model_prompt_dict():
323
  import json
324
  dict = {}
325
+ path = 'model_dict.json' if Path('model_dict.json').exists() else './tagger/model_dict.json'
326
  try:
327
  with open('model_dict.json', encoding='utf-8') as f:
328
  dict = json.load(f)
 
401
 
402
  group_dict = tag_group_dict
403
  for tag in tags:
404
+ tag = replace_underline(tag)
405
  if tag in PEOPLE_TAGS:
406
  people_tags.append(tag)
407
  elif is_necessary(tag, keep_tags, group_dict):
 
429
  rating_set = set(DANBOORU_TO_E621_RATING_MAP.keys()) | set(DANBOORU_TO_E621_RATING_MAP.values())
430
 
431
  for tag in tags:
432
+ tag = replace_underline(tag)
433
  if tag in PEOPLE_TAGS:
434
  people_tags.append(tag)
435
  elif tag in rating_set:
 
530
  output_series_tag = output_series_list[0]
531
  else:
532
  output_series_tag = ""
533
+ return output_series_tag, ", ".join(character.keys()), prompt, gr.update(interactive=True)
534
 
535
 
536
+ def predict_tags_wd(image: Image.Image, input_tags: str, algo: list[str], general_threshold: float = 0.3,
537
+ character_threshold: float = 0.8, input_series: str = "", input_character: str = ""):
538
  if not "Use WD Tagger" in algo and len(algo) != 0:
539
+ return input_series, input_character, input_tags, gr.update(interactive=True)
540
  return predict_tags(image, general_threshold, character_threshold)
541
 
542