John6666 commited on
Commit
f1eb3d1
·
verified ·
1 Parent(s): b6715cb

Upload 4 files

Browse files
Files changed (4) hide show
  1. app.py +56 -18
  2. env.py +2 -0
  3. lora_dict.json +154 -0
  4. modutils.py +1 -1
app.py CHANGED
@@ -23,8 +23,10 @@ from stablepy import (
23
  SDXL_TASKS,
24
  )
25
  import time
 
26
  #import urllib.parse
27
 
 
28
  print(os.getenv("SPACES_ZERO_GPU"))
29
 
30
  PREPROCESSOR_CONTROLNET = {
@@ -399,7 +401,7 @@ class GuiSD:
399
  device="cpu",
400
  )
401
  self.model.load_beta_styles()
402
- self.model.device = torch.device("cpu") #
403
 
404
  def load_new_model(self, model_name, vae_model, task, progress=gr.Progress(track_tqdm=True)):
405
 
@@ -758,12 +760,10 @@ def dynamic_gpu_duration(func, duration, *args):
758
 
759
  return wrapped_func()
760
 
761
-
762
  @spaces.GPU
763
  def dummy_gpu():
764
  return None
765
 
766
-
767
  def sd_gen_generate_pipeline(*args):
768
 
769
  gpu_duration_arg = int(args[-1]) if args[-1] else 59
@@ -831,6 +831,42 @@ def sd_gen_generate_pipeline(*args):
831
  gr.Info(msg_task_complete)
832
  print(msg_task_complete)
833
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
834
 
835
  dynamic_gpu_duration.zerogpu = True
836
  sd_gen_generate_pipeline.zerogpu = True
@@ -1460,21 +1496,6 @@ with gr.Blocks(theme='NoCrypt/miku@>=1.2.2', elem_id="main", fill_width=True, cs
1460
  btn_send.click(send_img, [img_source, img_result], [image_control, image_mask_gui])
1461
 
1462
  with gr.Tab("PNG Info"):
1463
- def extract_exif_data(image):
1464
- if image is None: return ""
1465
-
1466
- try:
1467
- metadata_keys = ['parameters', 'metadata', 'prompt', 'Comment']
1468
-
1469
- for key in metadata_keys:
1470
- if key in image.info:
1471
- return image.info[key]
1472
-
1473
- return str(image.info)
1474
-
1475
- except Exception as e:
1476
- return f"Error extracting metadata: {str(e)}"
1477
-
1478
  with gr.Row():
1479
  with gr.Column():
1480
  image_metadata = gr.Image(label="Image with metadata", type="pil", sources=["upload"])
@@ -1488,6 +1509,23 @@ with gr.Blocks(theme='NoCrypt/miku@>=1.2.2', elem_id="main", fill_width=True, cs
1488
  outputs=[result_metadata],
1489
  )
1490
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1491
  ## BEGIN MOD
1492
  interface_mode_gui.change(
1493
  change_interface_mode,
 
23
  SDXL_TASKS,
24
  )
25
  import time
26
+ from PIL import ImageFile
27
  #import urllib.parse
28
 
29
+ ImageFile.LOAD_TRUNCATED_IMAGES = True
30
  print(os.getenv("SPACES_ZERO_GPU"))
31
 
32
  PREPROCESSOR_CONTROLNET = {
 
401
  device="cpu",
402
  )
403
  self.model.load_beta_styles()
404
+ #self.model.device = torch.device("cpu") #
405
 
406
  def load_new_model(self, model_name, vae_model, task, progress=gr.Progress(track_tqdm=True)):
407
 
 
760
 
761
  return wrapped_func()
762
 
 
763
  @spaces.GPU
764
  def dummy_gpu():
765
  return None
766
 
 
767
  def sd_gen_generate_pipeline(*args):
768
 
769
  gpu_duration_arg = int(args[-1]) if args[-1] else 59
 
831
  gr.Info(msg_task_complete)
832
  print(msg_task_complete)
833
 
834
+ def extract_exif_data(image):
835
+ if image is None: return ""
836
+
837
+ try:
838
+ metadata_keys = ['parameters', 'metadata', 'prompt', 'Comment']
839
+
840
+ for key in metadata_keys:
841
+ if key in image.info:
842
+ return image.info[key]
843
+
844
+ return str(image.info)
845
+
846
+ except Exception as e:
847
+ return f"Error extracting metadata: {str(e)}"
848
+
849
+ @spaces.GPU(duration=20)
850
+ def esrgan_upscale(image, upscaler_name, upscaler_size):
851
+ if image is None: return None
852
+
853
+ from stablepy.diffusers_vanilla.utils import save_pil_image_with_metadata
854
+ from stablepy import UpscalerESRGAN
855
+
856
+ exif_image = extract_exif_data(image)
857
+
858
+ url_upscaler = UPSCALER_DICT_GUI[upscaler_name]
859
+ directory_upscalers = 'upscalers'
860
+ os.makedirs(directory_upscalers, exist_ok=True)
861
+ if not os.path.exists(f"./upscalers/{url_upscaler.split('/')[-1]}"):
862
+ download_things(directory_upscalers, url_upscaler, HF_TOKEN)
863
+
864
+ scaler_beta = UpscalerESRGAN(0, 0)
865
+ image_up = scaler_beta.upscale(image, upscaler_size, f"./upscalers/{url_upscaler.split('/')[-1]}")
866
+
867
+ image_path = save_pil_image_with_metadata(image_up, f'{os.getcwd()}/up_images', exif_image)
868
+
869
+ return image_path
870
 
871
  dynamic_gpu_duration.zerogpu = True
872
  sd_gen_generate_pipeline.zerogpu = True
 
1496
  btn_send.click(send_img, [img_source, img_result], [image_control, image_mask_gui])
1497
 
1498
  with gr.Tab("PNG Info"):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1499
  with gr.Row():
1500
  with gr.Column():
1501
  image_metadata = gr.Image(label="Image with metadata", type="pil", sources=["upload"])
 
1509
  outputs=[result_metadata],
1510
  )
1511
 
1512
+ with gr.Tab("Upscaler"):
1513
+ with gr.Row():
1514
+ with gr.Column():
1515
+ image_up_tab = gr.Image(label="Image", type="pil", sources=["upload"])
1516
+ upscaler_tab = gr.Dropdown(label="Upscaler", choices=UPSCALER_KEYS[9:], value=UPSCALER_KEYS[11])
1517
+ upscaler_size_tab = gr.Slider(minimum=1., maximum=4., step=0.1, value=1.1, label="Upscale by")
1518
+ generate_button_up_tab = gr.Button(value="START UPSCALE", variant="primary")
1519
+
1520
+ with gr.Column():
1521
+ result_up_tab = gr.Image(label="Result", type="pil", interactive=False, format="png")
1522
+
1523
+ generate_button_up_tab.click(
1524
+ fn=esrgan_upscale,
1525
+ inputs=[image_up_tab, upscaler_tab, upscaler_size_tab],
1526
+ outputs=[result_up_tab],
1527
+ )
1528
+
1529
  ## BEGIN MOD
1530
  interface_mode_gui.change(
1531
  change_interface_mode,
env.py CHANGED
@@ -82,9 +82,11 @@ load_diffusers_format_model = [
82
  'KBlueLeaf/Kohaku-XL-Zeta',
83
  'kayfahaarukku/UrangDiffusion-1.4',
84
  'Eugeoter/artiwaifu-diffusion-2.0',
 
85
  "OnomaAIResearch/Illustrious-xl-early-release-v0",
86
  'Raelina/Rae-Diffusion-XL-V2',
87
  'Raelina/Raemu-XL-V4',
 
88
  "camenduru/FLUX.1-dev-diffusers",
89
  "black-forest-labs/FLUX.1-schnell",
90
  "sayakpaul/FLUX.1-merged",
 
82
  'KBlueLeaf/Kohaku-XL-Zeta',
83
  'kayfahaarukku/UrangDiffusion-1.4',
84
  'Eugeoter/artiwaifu-diffusion-2.0',
85
+ 'comin/IterComp',
86
  "OnomaAIResearch/Illustrious-xl-early-release-v0",
87
  'Raelina/Rae-Diffusion-XL-V2',
88
  'Raelina/Raemu-XL-V4',
89
+ 'Raelina/Raehoshi-illust-XL',
90
  "camenduru/FLUX.1-dev-diffusers",
91
  "black-forest-labs/FLUX.1-schnell",
92
  "sayakpaul/FLUX.1-merged",
lora_dict.json CHANGED
@@ -1371,6 +1371,13 @@
1371
  "https://civitai.com/models/350199",
1372
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/385edbe8-3fad-4278-bfed-43d551e8f78b/width=450/8901842.jpeg"
1373
  ],
 
 
 
 
 
 
 
1374
  "LapPillowXL": [
1375
  "LapPillowXL",
1376
  "Pony",
@@ -1476,6 +1483,13 @@
1476
  "https://civitai.com/models/566542",
1477
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/e2daae6e-a9fb-43c5-b4ee-cfa264a6455d/width=450/19074383.jpeg"
1478
  ],
 
 
 
 
 
 
 
1479
  "MS_PDXL_AfterSex_Lite": [
1480
  "after sex, cum, lying, cumdrip, ass, on stomach, on back, fucked silly, sweat, cum pool, bukkake, trembling",
1481
  "Pony",
@@ -2834,6 +2848,20 @@
2834
  "https://civitai.com/models/238419",
2835
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/74053ca5-9486-44ee-94d1-9cebcbbe7250/width=450/22207105.jpeg"
2836
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2837
  "akifn_pony_v2": [
2838
  "",
2839
  "Pony",
@@ -3149,6 +3177,20 @@
3149
  "https://civitai.com/models/413240",
3150
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/b70b41a8-6a37-4cc9-894a-904de8e1f238/width=450/10439295.jpeg"
3151
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3152
  "big_clitoris_pony_V1_0": [
3153
  "big clitoris / clitoris / erection",
3154
  "Pony",
@@ -3268,6 +3310,13 @@
3268
  "https://civitai.com/models/539285",
3269
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/03d304a7-fce1-4ed2-b254-1b82698d53f2/width=450/17279266.jpeg"
3270
  ],
 
 
 
 
 
 
 
3271
  "breast_open_bikini_pony_V1_0": [
3272
  "breast open bikini",
3273
  "Pony",
@@ -3940,6 +3989,20 @@
3940
  "https://civitai.com/models/728624",
3941
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a29c4df9-07eb-4f8f-b984-c24b7531225a/width=450/28137263.jpeg"
3942
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3943
  "deflowered_pony": [
3944
  "1woman, perfect face, fully nude, imminent penetration:1.4, deflowered:1.1, blood on thighs, blood dripping, semen, cum, overflow:1.2, / 1male, huge penis, large testicles, / female pubic hair, uncensored pussy, hairy pussy, blush / <lora:deflowered_pony:0.7>,",
3945
  "Pony",
@@ -4374,6 +4437,13 @@
4374
  "https://civitai.com/models/576705",
4375
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/af821c46-6ce4-4726-921c-6cd723f66a0f/width=450/19739141.jpeg"
4376
  ],
 
 
 
 
 
 
 
4377
  "gm_meme": [
4378
  "sitting, girl on top, bed, downblouse",
4379
  "Pony",
@@ -4983,6 +5053,13 @@
4983
  "https://civitai.com/models/511064",
4984
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ac1f7ec5-bd8c-4694-9aa4-d158c1fa878a/width=450/21578898.jpeg"
4985
  ],
 
 
 
 
 
 
 
4986
  "kingyo_fukuro_SDXL_V1": [
4987
  "kingyofukuro, bagged fish, fish, bag, goldfish, ",
4988
  "SDXL 1.0",
@@ -5522,6 +5599,13 @@
5522
  "https://civitai.com/models/573056",
5523
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/c3c99a9a-f2cf-4c20-ae4b-a03ded327311/width=450/19512503.jpeg"
5524
  ],
 
 
 
 
 
 
 
5525
  "multi_prolapse_ponyXL_v1": [
5526
  "anal prolapse / uterine prolapse / double prolapse / ovary prolapse",
5527
  "Pony",
@@ -6033,6 +6117,13 @@
6033
  "https://civitai.com/models/470923",
6034
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/9870ea43-5d3b-4403-8d3e-48bb122c3897/width=450/13800000.jpeg"
6035
  ],
 
 
 
 
 
 
 
6036
  "phallic_food_-_XL_Pony_V2_0": [
6037
  "Banana, half peeled, half peeled banana, / sausage, / sausage, sausage on stick, / Makizushi, sushi roll, ehomaki, / Hot dog, / ketchup, / mustard, / sucking, / holding, / eating, / biting, / licking, / saliva, / fork, / chocolate banana / sandwich / popsicle / cucumber / mushroom",
6038
  "Pony",
@@ -6383,6 +6474,13 @@
6383
  "https://civitai.com/models/575758",
6384
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/baccd194-7d91-4d04-858d-627c3ed263f9/width=450/19683271.jpeg"
6385
  ],
 
 
 
 
 
 
 
6386
  "ramune_SDXL_V1": [
6387
  "ramune, food, bottle, ",
6388
  "SDXL 1.0",
@@ -6474,6 +6572,13 @@
6474
  "https://civitai.com/models/498892",
6475
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/9822ab8f-9832-4471-9ff7-3fe6a00714c8/width=450/14826239.jpeg"
6476
  ],
 
 
 
 
 
 
 
6477
  "revealing_forehead_concept-soralz": [
6478
  "revealing forehead, hand on own hair, forehead, head tilt",
6479
  "Pony",
@@ -6726,6 +6831,20 @@
6726
  "https://civitai.com/models/594617",
6727
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/8598e698-88d1-4650-a447-a307a52ce7f4/width=450/20899405.jpeg"
6728
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6729
  "shibari_V3_sdxl": [
6730
  "shibari",
6731
  "SDXL 1.0",
@@ -6838,6 +6957,13 @@
6838
  "https://civitai.com/models/602418",
6839
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/cf5b0816-ccd6-49bb-8c5b-0fdc56a30dcf/width=450/21430280.jpeg"
6840
  ],
 
 
 
 
 
 
 
6841
  "smalldombigsubV3": [
6842
  "small dom big sub / size difference",
6843
  "Pony",
@@ -6887,6 +7013,13 @@
6887
  "https://civitai.com/models/717353",
6888
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/81be9bdf-990b-4a1f-92f4-2dd5ac78fe79/width=450/27574152.jpeg"
6889
  ],
 
 
 
 
 
 
 
6890
  "spagainstScreenXLPony": [
6891
  "against glass, breast press, cheek press",
6892
  "Pony",
@@ -7440,6 +7573,20 @@
7440
  "https://civitai.com/models/522462",
7441
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/73988a4c-c9df-4859-84d5-c88b36ce2b19/width=450/16298052.jpeg"
7442
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7443
  "triple_oral_-_triple_barrel_fellatio_-_triple_fellatio-000014": [
7444
  "tripplebj / read description",
7445
  "Pony",
@@ -7971,5 +8118,12 @@
7971
  "\u0421olor palette enhancement",
7972
  "https://civitai.com/models/570834",
7973
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/45d05dab-397c-4bc7-8150-8530aa524899/width=450/19621390.jpeg"
 
 
 
 
 
 
 
7974
  ]
7975
  }
 
1371
  "https://civitai.com/models/350199",
1372
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/385edbe8-3fad-4278-bfed-43d551e8f78b/width=450/8901842.jpeg"
1373
  ],
1374
+ "LECO-mature_female_XL(ill)v10": [
1375
+ "mature female,",
1376
+ "SDXL 1.0",
1377
+ "[illustrious LECO] mature female...? / \u719f\u5973\u304b\u3089\u306a\u305c\u304b\u30ed\u30dc\u306b\u306a\u308bLECO",
1378
+ "https://civitai.com/models/846750",
1379
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/f9f14c8b-63cd-4590-872b-4108079b1cb2/width=450/34156304.jpeg"
1380
+ ],
1381
  "LapPillowXL": [
1382
  "LapPillowXL",
1383
  "Pony",
 
1483
  "https://civitai.com/models/566542",
1484
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/e2daae6e-a9fb-43c5-b4ee-cfa264a6455d/width=450/19074383.jpeg"
1485
  ],
1486
+ "MORTARHEADD_like_mecha_v1": [
1487
+ "MORTARHEADD / MH-POSE / MH-BUSTER / MH-KOG / MH-LED-MIRAGE / MH-Engage-SR1 / MH-the-BANG / MH-Neptune / MH-BTK",
1488
+ "SDXL 1.0",
1489
+ "FSS Mortar headd Like mecha",
1490
+ "https://civitai.com/models/844457",
1491
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/0740f561-8808-425c-a4e0-90575f887262/width=450/34033551.jpeg"
1492
+ ],
1493
  "MS_PDXL_AfterSex_Lite": [
1494
  "after sex, cum, lying, cumdrip, ass, on stomach, on back, fucked silly, sweat, cum pool, bukkake, trembling",
1495
  "Pony",
 
2848
  "https://civitai.com/models/238419",
2849
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/74053ca5-9486-44ee-94d1-9cebcbbe7250/width=450/22207105.jpeg"
2850
  ],
2851
+ "airguitar_XL_v2": [
2852
+ "airgui",
2853
+ "SDXL 1.0",
2854
+ "air guitar / \u30a8\u30a2\u30ae\u30bf\u30fc",
2855
+ "https://civitai.com/models/827890",
2856
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/bd10aea5-edc4-4e24-9b3d-58651faf5892/width=450/33009474.jpeg"
2857
+ ],
2858
+ "akanbe-ponyxl-lora-nochekaiser": [
2859
+ "<lora:akanbe-ponyxl-lora-nochekaiser:1>, akanbe, eyelid pull, finger to eye, tongue out, :p, tongue, ;p,",
2860
+ "Pony",
2861
+ "Akanbe (\u3042\u3063\u304b\u3093\u3079\u30fc) - Concept",
2862
+ "https://civitai.com/models/828913",
2863
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/f3cfd5c3-725a-4397-ab71-531baeb28533/width=450/33420099.jpeg"
2864
+ ],
2865
  "akifn_pony_v2": [
2866
  "",
2867
  "Pony",
 
3177
  "https://civitai.com/models/413240",
3178
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/b70b41a8-6a37-4cc9-894a-904de8e1f238/width=450/10439295.jpeg"
3179
  ],
3180
+ "betweenbreasts_Pony_v1": [
3181
+ "between breasts",
3182
+ "Pony",
3183
+ "[SDXL&Pony]between breasts / \u7591\u4f3c\u30d1\u30a4\u30ba\u30ea / \u304a\u3063\u3071\u3044\u30dd\u30b1\u30c3\u30c8",
3184
+ "https://civitai.com/models/402979",
3185
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/3742babb-c058-47f9-b0bc-2d541da43695/width=450/33014304.jpeg"
3186
+ ],
3187
+ "betweenbreasts_XL_v1": [
3188
+ "between breasts",
3189
+ "SDXL 1.0",
3190
+ "[SDXL&Pony]between breasts / \u7591\u4f3c\u30d1\u30a4\u30ba\u30ea / \u304a\u3063\u3071\u3044\u30dd\u30b1\u30c3\u30c8",
3191
+ "https://civitai.com/models/402979",
3192
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/6757b641-e0a7-4fd7-a2eb-f39ed2485303/width=450/9971972.jpeg"
3193
+ ],
3194
  "big_clitoris_pony_V1_0": [
3195
  "big clitoris / clitoris / erection",
3196
  "Pony",
 
3310
  "https://civitai.com/models/539285",
3311
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/03d304a7-fce1-4ed2-b254-1b82698d53f2/width=450/17279266.jpeg"
3312
  ],
3313
+ "breakdance_XL_v2": [
3314
+ "breakdance",
3315
+ "SDXL 1.0",
3316
+ "breakdance / breaking / \u30d6\u30ec\u30a4\u30af\u30c0\u30f3\u30b9 / \u30d6\u30ec\u30a4\u30ad\u30f3",
3317
+ "https://civitai.com/models/851015",
3318
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/5ee7371d-7aab-471c-8717-810132afc44c/width=450/34389576.jpeg"
3319
+ ],
3320
  "breast_open_bikini_pony_V1_0": [
3321
  "breast open bikini",
3322
  "Pony",
 
3989
  "https://civitai.com/models/728624",
3990
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a29c4df9-07eb-4f8f-b984-c24b7531225a/width=450/28137263.jpeg"
3991
  ],
3992
+ "defence_pose_XL_V1_0": [
3993
+ "defense pose, crossed arms",
3994
+ "SDXL 1.0",
3995
+ "\u80f8\u3092\u96a0\u3059/defence pose",
3996
+ "https://civitai.com/models/838545",
3997
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a0c09c07-ecb6-4e08-80a4-8db895feb3f1/width=450/33960236.jpeg"
3998
+ ],
3999
+ "defence_pose_pony_V1_0": [
4000
+ "defense pose,crossed arms",
4001
+ "Pony",
4002
+ "\u80f8\u3092\u96a0\u3059/defence pose",
4003
+ "https://civitai.com/models/838545",
4004
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/4611cac5-7c02-484c-9937-a4b7fb5c3817/width=450/33675457.jpeg"
4005
+ ],
4006
  "deflowered_pony": [
4007
  "1woman, perfect face, fully nude, imminent penetration:1.4, deflowered:1.1, blood on thighs, blood dripping, semen, cum, overflow:1.2, / 1male, huge penis, large testicles, / female pubic hair, uncensored pussy, hairy pussy, blush / <lora:deflowered_pony:0.7>,",
4008
  "Pony",
 
4437
  "https://civitai.com/models/576705",
4438
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/af821c46-6ce4-4726-921c-6cd723f66a0f/width=450/19739141.jpeg"
4439
  ],
4440
+ "glory_wall_pony_V1_0": [
4441
+ " glory wall, ass",
4442
+ "Pony",
4443
+ "\u58c1\u5c3b/glory wall",
4444
+ "https://civitai.com/models/828936",
4445
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/680ddc61-36b7-4407-b4b1-b6e63d86581a/width=450/33087471.jpeg"
4446
+ ],
4447
  "gm_meme": [
4448
  "sitting, girl on top, bed, downblouse",
4449
  "Pony",
 
5053
  "https://civitai.com/models/511064",
5054
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ac1f7ec5-bd8c-4694-9aa4-d158c1fa878a/width=450/21578898.jpeg"
5055
  ],
5056
+ "kijyou_fella_pony_V1_0": [
5057
+ " fellatio,oral / on back / 1boy / penis",
5058
+ "Pony",
5059
+ "\u9a0e\u4e57\u30d5\u30a7\u30e9",
5060
+ "https://civitai.com/models/846716",
5061
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/886182f3-511e-4b82-ab63-78cc9e246443/width=450/34323618.jpeg"
5062
+ ],
5063
  "kingyo_fukuro_SDXL_V1": [
5064
  "kingyofukuro, bagged fish, fish, bag, goldfish, ",
5065
  "SDXL 1.0",
 
5599
  "https://civitai.com/models/573056",
5600
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/c3c99a9a-f2cf-4c20-ae4b-a03ded327311/width=450/19512503.jpeg"
5601
  ],
5602
+ "multi_chan_v2": [
5603
+ "multi_chan",
5604
+ "Pony",
5605
+ "multiple views chan",
5606
+ "https://civitai.com/models/822633",
5607
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/845c7664-e4aa-48a1-a1e7-059531b679ff/width=450/33096611.jpeg"
5608
+ ],
5609
  "multi_prolapse_ponyXL_v1": [
5610
  "anal prolapse / uterine prolapse / double prolapse / ovary prolapse",
5611
  "Pony",
 
6117
  "https://civitai.com/models/470923",
6118
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/9870ea43-5d3b-4403-8d3e-48bb122c3897/width=450/13800000.jpeg"
6119
  ],
6120
+ "pet_shaming_pony_v1": [
6121
+ "hansei_b,sitting,seiza,sign",
6122
+ "Pony",
6123
+ "Pet shaming / \u53cd\u7701\u672d",
6124
+ "https://civitai.com/models/851053",
6125
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/3d962f39-b4e6-4165-9bb7-b6ff074f2e9f/width=450/34391608.jpeg"
6126
+ ],
6127
  "phallic_food_-_XL_Pony_V2_0": [
6128
  "Banana, half peeled, half peeled banana, / sausage, / sausage, sausage on stick, / Makizushi, sushi roll, ehomaki, / Hot dog, / ketchup, / mustard, / sucking, / holding, / eating, / biting, / licking, / saliva, / fork, / chocolate banana / sandwich / popsicle / cucumber / mushroom",
6129
  "Pony",
 
6474
  "https://civitai.com/models/575758",
6475
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/baccd194-7d91-4d04-858d-627c3ed263f9/width=450/19683271.jpeg"
6476
  ],
6477
+ "railgun_technique": [
6478
+ "coin, holding coin, facing viewer, looking at the viewer, electricity, electrokinesis / orange beam, energy beam, from side, looking to the side, electricity, electrokinesis, one-arm outstretched, city background ",
6479
+ "Pony",
6480
+ "Railgun pose and technique (Misaka Mikoto) [To aru majutsu / kagaku]",
6481
+ "https://civitai.com/models/822171",
6482
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/d32e5d7b-e17d-4299-bb62-ba3caff139e0/width=450/32814916.jpeg"
6483
+ ],
6484
  "ramune_SDXL_V1": [
6485
  "ramune, food, bottle, ",
6486
  "SDXL 1.0",
 
6572
  "https://civitai.com/models/498892",
6573
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/9822ab8f-9832-4471-9ff7-3fe6a00714c8/width=450/14826239.jpeg"
6574
  ],
6575
+ "returningaxis_Illust0_1XL1": [
6576
+ "returningaxis",
6577
+ "SDXL 1.0",
6578
+ "Returning the Axis / \u30a2\u30af\u30b7\u30ba\u8fd4\u3057\u3000SDXL",
6579
+ "https://civitai.com/models/834850",
6580
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/3ba9433d-8f5e-465b-bcf4-1568a9624059/width=450/33452531.jpeg"
6581
+ ],
6582
  "revealing_forehead_concept-soralz": [
6583
  "revealing forehead, hand on own hair, forehead, head tilt",
6584
  "Pony",
 
6831
  "https://civitai.com/models/594617",
6832
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/8598e698-88d1-4650-a447-a307a52ce7f4/width=450/20899405.jpeg"
6833
  ],
6834
+ "shiDioV2": [
6835
+ "konodiopose, pointing, parody, meme, smile, open mouth, style parody, upper body",
6836
+ "Pony",
6837
+ "Kono Dio Da! JoJo Meme Pose | Single Concept | PonyXL",
6838
+ "https://civitai.com/models/834937",
6839
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a4fd210d-90db-4995-8868-482e597fe927/width=450/33459038.jpeg"
6840
+ ],
6841
+ "shiReroVT1": [
6842
+ "shirerocrazy, cross-eyed, tongue, cherry on tongue, saliva, tongue out, looking at viewer, open mouth, parody, cherry, ",
6843
+ "Pony",
6844
+ "Rerorerorerorero Noriaki Kakyoin Cherry Lick Concept | PonyXL",
6845
+ "https://civitai.com/models/837489",
6846
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/05c6aefc-9791-4be4-a5e4-54853cc4a503/width=450/33616097.jpeg"
6847
+ ],
6848
  "shibari_V3_sdxl": [
6849
  "shibari",
6850
  "SDXL 1.0",
 
6957
  "https://civitai.com/models/602418",
6958
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/cf5b0816-ccd6-49bb-8c5b-0fdc56a30dcf/width=450/21430280.jpeg"
6959
  ],
6960
+ "small_penis_cross-section_illustrious-000035": [
6961
+ "tiny penis / cross-section / internal cumshot / excessive cum / deficient cum",
6962
+ "SDXL 1.0",
6963
+ "[Pony / Illustrious XL] cross-section for small penis / \u77ed\u5c0f\u7c97\u30c1\u30f3\u65ad\u9762\u56f3",
6964
+ "https://civitai.com/models/430102",
6965
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/426490c3-9646-418e-9741-84f1d9ef0ba7/width=450/33670775.jpeg"
6966
+ ],
6967
  "smalldombigsubV3": [
6968
  "small dom big sub / size difference",
6969
  "Pony",
 
7013
  "https://civitai.com/models/717353",
7014
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/81be9bdf-990b-4a1f-92f4-2dd5ac78fe79/width=450/27574152.jpeg"
7015
  ],
7016
+ "spacium_beam": [
7017
+ "spacium beam / (energy beam:1.1),",
7018
+ "Pony",
7019
+ "Spacium Beam \u30b9\u30da\u30b7\u30a6\u30e0\u5149\u7dda",
7020
+ "https://civitai.com/models/836143",
7021
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/a1e6fe94-c09b-4a15-95c7-43cc3f80e4ae/width=450/33548979.jpeg"
7022
+ ],
7023
  "spagainstScreenXLPony": [
7024
  "against glass, breast press, cheek press",
7025
  "Pony",
 
7573
  "https://civitai.com/models/522462",
7574
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/73988a4c-c9df-4859-84d5-c88b36ce2b19/width=450/16298052.jpeg"
7575
  ],
7576
+ "triangularheadpiece_Pony_v1": [
7577
+ "triangular headpiece",
7578
+ "Pony",
7579
+ "[SDXL&Pony] triangular headpiece / shiroshouzoku / \u767d\u88c5\u675f / \u5929\u51a0 / \u4e09\u89d2\u5dfe / \u5e7d\u970a",
7580
+ "https://civitai.com/models/491760",
7581
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/ef0429ed-90d3-43e3-9da0-85f87fb42e04/width=450/32850050.jpeg"
7582
+ ],
7583
+ "triangularheadpiece_XL_v1": [
7584
+ "triangular headpiece",
7585
+ "SDXL 1.0",
7586
+ "[SDXL&Pony] triangular headpiece / shiroshouzoku / \u767d\u88c5\u675f / \u5929\u51a0 / \u4e09\u89d2\u5dfe / \u5e7d\u970a",
7587
+ "https://civitai.com/models/491760",
7588
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/36267afb-7093-4c71-ae47-516c7219fabd/width=450/14403049.jpeg"
7589
+ ],
7590
  "triple_oral_-_triple_barrel_fellatio_-_triple_fellatio-000014": [
7591
  "tripplebj / read description",
7592
  "Pony",
 
8118
  "\u0421olor palette enhancement",
8119
  "https://civitai.com/models/570834",
8120
  "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/45d05dab-397c-4bc7-8150-8530aa524899/width=450/19621390.jpeg"
8121
+ ],
8122
+ "\u6307\u306e\u8f2a\u30b3\u30ad": [
8123
+ "handjob, hold glans in finger circle, open hand, large breasts, maid, grin, upper body",
8124
+ "Pony",
8125
+ "\u6307\u306e\u8f2a\u30b3\u30ad",
8126
+ "https://civitai.com/models/850497",
8127
+ "https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/0a48013a-809a-41a5-823d-e9183eae0dd0/width=450/34362448.jpeg"
8128
  ]
8129
  }
modutils.py CHANGED
@@ -28,7 +28,7 @@ def to_list(s):
28
 
29
 
30
  def list_uniq(l):
31
- return sorted(set(l), key=l.index)
32
 
33
 
34
  def list_sub(a, b):
 
28
 
29
 
30
  def list_uniq(l):
31
+ return sorted(set(l), key=l.index)
32
 
33
 
34
  def list_sub(a, b):