John6666 commited on
Commit
a43ee0a
1 Parent(s): 8d08857

Upload 6 files

Browse files
Files changed (6) hide show
  1. app.py +18 -16
  2. dc.py +38 -0
  3. env.py +2 -0
  4. llmdolphin.py +40 -0
  5. lora_dict.json +154 -0
  6. modutils.py +1 -1
app.py CHANGED
@@ -7,7 +7,7 @@ from dc import (infer, _infer, pass_result, get_diffusers_model_list, get_sample
7
  get_vaes, enable_model_recom_prompt, enable_diffusers_model_detail,
8
  get_t2i_model_info, get_all_lora_tupled_list, update_loras,
9
  apply_lora_prompt, download_my_lora, search_civitai_lora,
10
- select_civitai_lora, search_civitai_lora_json,
11
  preset_quality, preset_styles, process_style_prompt)
12
  # Translator
13
  from llmdolphin import (dolphin_respond_auto, dolphin_parse_simple,
@@ -385,21 +385,6 @@ with gr.Blocks(fill_width=True, elem_id="container", css=css, delete_cache=(60,
385
  copy_prompt_btn_pony.click(gradio_copy_prompt, inputs=[output_text_pony], outputs=[prompt], show_api=False)
386
 
387
  with gr.Tab("PNG Info"):
388
- def extract_exif_data(image):
389
- if image is None: return ""
390
-
391
- try:
392
- metadata_keys = ['parameters', 'metadata', 'prompt', 'Comment']
393
-
394
- for key in metadata_keys:
395
- if key in image.info:
396
- return image.info[key]
397
-
398
- return str(image.info)
399
-
400
- except Exception as e:
401
- return f"Error extracting metadata: {str(e)}"
402
-
403
  with gr.Row():
404
  with gr.Column():
405
  image_metadata = gr.Image(label="Image with metadata", type="pil", sources=["upload"])
@@ -413,6 +398,23 @@ with gr.Blocks(fill_width=True, elem_id="container", css=css, delete_cache=(60,
413
  outputs=[result_metadata],
414
  )
415
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
416
  gr.LoginButton()
417
  gr.DuplicateButton(value="Duplicate Space for private use (This demo does not work on CPU. Requires GPU Space)")
418
 
 
7
  get_vaes, enable_model_recom_prompt, enable_diffusers_model_detail,
8
  get_t2i_model_info, get_all_lora_tupled_list, update_loras,
9
  apply_lora_prompt, download_my_lora, search_civitai_lora,
10
+ select_civitai_lora, search_civitai_lora_json, extract_exif_data, esrgan_upscale,
11
  preset_quality, preset_styles, process_style_prompt)
12
  # Translator
13
  from llmdolphin import (dolphin_respond_auto, dolphin_parse_simple,
 
385
  copy_prompt_btn_pony.click(gradio_copy_prompt, inputs=[output_text_pony], outputs=[prompt], show_api=False)
386
 
387
  with gr.Tab("PNG Info"):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
388
  with gr.Row():
389
  with gr.Column():
390
  image_metadata = gr.Image(label="Image with metadata", type="pil", sources=["upload"])
 
398
  outputs=[result_metadata],
399
  )
400
 
401
+ with gr.Tab("Upscaler"):
402
+ with gr.Row():
403
+ with gr.Column():
404
+ image_up_tab = gr.Image(label="Image", type="pil", sources=["upload"])
405
+ upscaler_tab = gr.Dropdown(label="Upscaler", choices=UPSCALER_KEYS[9:], value=UPSCALER_KEYS[11])
406
+ upscaler_size_tab = gr.Slider(minimum=1., maximum=4., step=0.1, value=1.1, label="Upscale by")
407
+ generate_button_up_tab = gr.Button(value="START UPSCALE", variant="primary")
408
+
409
+ with gr.Column():
410
+ result_up_tab = gr.Image(label="Result", type="pil", interactive=False, format="png")
411
+
412
+ generate_button_up_tab.click(
413
+ fn=esrgan_upscale,
414
+ inputs=[image_up_tab, upscaler_tab, upscaler_size_tab],
415
+ outputs=[result_up_tab],
416
+ )
417
+
418
  gr.LoginButton()
419
  gr.DuplicateButton(value="Duplicate Space for private use (This demo does not work on CPU. Requires GPU Space)")
420
 
dc.py CHANGED
@@ -22,8 +22,10 @@ from stablepy import (
22
  SDXL_TASKS,
23
  )
24
  import time
 
25
  #import urllib.parse
26
 
 
27
  print(os.getenv("SPACES_ZERO_GPU"))
28
 
29
  import gradio as gr
@@ -763,6 +765,42 @@ def sd_gen_generate_pipeline(*args):
763
  gr.Info(msg_task_complete)
764
  print(msg_task_complete)
765
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
766
 
767
  dynamic_gpu_duration.zerogpu = True
768
  sd_gen_generate_pipeline.zerogpu = True
 
22
  SDXL_TASKS,
23
  )
24
  import time
25
+ from PIL import ImageFile
26
  #import urllib.parse
27
 
28
+ ImageFile.LOAD_TRUNCATED_IMAGES = True
29
  print(os.getenv("SPACES_ZERO_GPU"))
30
 
31
  import gradio as gr
 
765
  gr.Info(msg_task_complete)
766
  print(msg_task_complete)
767
 
768
+ def extract_exif_data(image):
769
+ if image is None: return ""
770
+
771
+ try:
772
+ metadata_keys = ['parameters', 'metadata', 'prompt', 'Comment']
773
+
774
+ for key in metadata_keys:
775
+ if key in image.info:
776
+ return image.info[key]
777
+
778
+ return str(image.info)
779
+
780
+ except Exception as e:
781
+ return f"Error extracting metadata: {str(e)}"
782
+
783
+ @spaces.GPU(duration=20)
784
+ def esrgan_upscale(image, upscaler_name, upscaler_size):
785
+ if image is None: return None
786
+
787
+ from stablepy.diffusers_vanilla.utils import save_pil_image_with_metadata
788
+ from stablepy import UpscalerESRGAN
789
+
790
+ exif_image = extract_exif_data(image)
791
+
792
+ url_upscaler = UPSCALER_DICT_GUI[upscaler_name]
793
+ directory_upscalers = 'upscalers'
794
+ os.makedirs(directory_upscalers, exist_ok=True)
795
+ if not os.path.exists(f"./upscalers/{url_upscaler.split('/')[-1]}"):
796
+ download_things(directory_upscalers, url_upscaler, HF_TOKEN)
797
+
798
+ scaler_beta = UpscalerESRGAN(0, 0)
799
+ image_up = scaler_beta.upscale(image, upscaler_size, f"./upscalers/{url_upscaler.split('/')[-1]}")
800
+
801
+ image_path = save_pil_image_with_metadata(image_up, f'{os.getcwd()}/up_images', exif_image)
802
+
803
+ return image_path
804
 
805
  dynamic_gpu_duration.zerogpu = True
806
  sd_gen_generate_pipeline.zerogpu = True
env.py CHANGED
@@ -114,9 +114,11 @@ load_diffusers_format_model = [
114
  'KBlueLeaf/Kohaku-XL-Zeta',
115
  'kayfahaarukku/UrangDiffusion-1.4',
116
  'Eugeoter/artiwaifu-diffusion-2.0',
 
117
  'OnomaAIResearch/Illustrious-xl-early-release-v0',
118
  'Raelina/Rae-Diffusion-XL-V2',
119
  'Raelina/Raemu-XL-V4',
 
120
  "camenduru/FLUX.1-dev-diffusers",
121
  "black-forest-labs/FLUX.1-schnell",
122
  "sayakpaul/FLUX.1-merged",
 
114
  'KBlueLeaf/Kohaku-XL-Zeta',
115
  'kayfahaarukku/UrangDiffusion-1.4',
116
  'Eugeoter/artiwaifu-diffusion-2.0',
117
+ 'comin/IterComp',
118
  'OnomaAIResearch/Illustrious-xl-early-release-v0',
119
  'Raelina/Rae-Diffusion-XL-V2',
120
  'Raelina/Raemu-XL-V4',
121
+ 'Raelina/Raehoshi-illust-XL',
122
  "camenduru/FLUX.1-dev-diffusers",
123
  "black-forest-labs/FLUX.1-schnell",
124
  "sayakpaul/FLUX.1-merged",
llmdolphin.py CHANGED
@@ -60,9 +60,49 @@ llm_models = {
60
  "EVA-Qwen2.5-14B-v0.0.i1-IQ4_XS.gguf": ["mradermacher/EVA-Qwen2.5-14B-v0.0-i1-GGUF", MessagesFormatterType.OPEN_CHAT],
61
  "MN-12B-Vespa-x1.i1-Q4_K_M.gguf": ["mradermacher/MN-12B-Vespa-x1-i1-GGUF", MessagesFormatterType.CHATML],
62
  "Trinas_Nectar-8B-model_stock.i1-Q4_K_M.gguf": ["mradermacher/Trinas_Nectar-8B-model_stock-i1-GGUF", MessagesFormatterType.MISTRAL],
 
63
  "ChatWaifu_22B_v2.0_preview.Q4_K_S.gguf": ["mradermacher/ChatWaifu_22B_v2.0_preview-GGUF", MessagesFormatterType.MISTRAL],
64
  "ChatWaifu_v1.4.Q5_K_M.gguf": ["mradermacher/ChatWaifu_v1.4-GGUF", MessagesFormatterType.MISTRAL],
65
  "ChatWaifu_v1.3.1.Q4_K_M.gguf": ["mradermacher/ChatWaifu_v1.3.1-GGUF", MessagesFormatterType.MISTRAL],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  "Humanish-Qwen2.5-7B-Instruct-Q5_K_M.gguf": ["bartowski/Humanish-Qwen2.5-7B-Instruct-GGUF", MessagesFormatterType.OPEN_CHAT],
67
  "FactAlign-LLaMA-3-8B.i1-Q4_K_M.gguf": ["mradermacher/FactAlign-LLaMA-3-8B-i1-GGUF", MessagesFormatterType.LLAMA_3],
68
  "Magot-v3-Gemma2-8k-9B.i1-Q4_K_M.gguf": ["mradermacher/Magot-v3-Gemma2-8k-9B-i1-GGUF", MessagesFormatterType.ALPACA],
 
60
  "EVA-Qwen2.5-14B-v0.0.i1-IQ4_XS.gguf": ["mradermacher/EVA-Qwen2.5-14B-v0.0-i1-GGUF", MessagesFormatterType.OPEN_CHAT],
61
  "MN-12B-Vespa-x1.i1-Q4_K_M.gguf": ["mradermacher/MN-12B-Vespa-x1-i1-GGUF", MessagesFormatterType.CHATML],
62
  "Trinas_Nectar-8B-model_stock.i1-Q4_K_M.gguf": ["mradermacher/Trinas_Nectar-8B-model_stock-i1-GGUF", MessagesFormatterType.MISTRAL],
63
+ "ChatWaifu_12B_v2.0.Q5_K_M.gguf": ["mradermacher/ChatWaifu_12B_v2.0-GGUF", MessagesFormatterType.MISTRAL],
64
  "ChatWaifu_22B_v2.0_preview.Q4_K_S.gguf": ["mradermacher/ChatWaifu_22B_v2.0_preview-GGUF", MessagesFormatterType.MISTRAL],
65
  "ChatWaifu_v1.4.Q5_K_M.gguf": ["mradermacher/ChatWaifu_v1.4-GGUF", MessagesFormatterType.MISTRAL],
66
  "ChatWaifu_v1.3.1.Q4_K_M.gguf": ["mradermacher/ChatWaifu_v1.3.1-GGUF", MessagesFormatterType.MISTRAL],
67
+ "ModeliCo-8B.i1-Q5_K_M.gguf": ["mradermacher/ModeliCo-8B-i1-GGUF", MessagesFormatterType.LLAMA_3],
68
+ "Llama3-8B-function-calling-dpo-slerp.i1-Q5_K_M.gguf": ["mradermacher/Llama3-8B-function-calling-dpo-slerp-i1-GGUF", MessagesFormatterType.LLAMA_3],
69
+ "Aspire1.2-8B-TIES.i1-Q5_K_M.gguf": ["mradermacher/Aspire1.2-8B-TIES-i1-GGUF", MessagesFormatterType.LLAMA_3],
70
+ "Rombos-LLM-V2.6-Qwen-14b.Q4_K_M.gguf": ["mradermacher/Rombos-LLM-V2.6-Qwen-14b-GGUF", MessagesFormatterType.OPEN_CHAT],
71
+ "Moonlight-L3-15B-v2-64k.Q4_K_M.gguf": ["mradermacher/Moonlight-L3-15B-v2-64k-GGUF", MessagesFormatterType.LLAMA_3],
72
+ "mistral-7b-ppo-hermes-v0.3.Q5_K_M.gguf": ["mradermacher/mistral-7b-ppo-hermes-v0.3-GGUF", MessagesFormatterType.MISTRAL],
73
+ "Gemma-2-9B-ArliAI-RPMax-v1.1.Q4_K_M.gguf": ["mradermacher/Gemma-2-9B-ArliAI-RPMax-v1.1-GGUF", MessagesFormatterType.ALPACA],
74
+ "Mistral-Nemo-12B-ArliAI-RPMax-v1.1.Q4_K_M.gguf": ["mradermacher/Mistral-Nemo-12B-ArliAI-RPMax-v1.1-GGUF", MessagesFormatterType.MISTRAL],
75
+ "Odin-9B.i1-Q4_K_M.gguf": ["mradermacher/Odin-9B-i1-GGUF", MessagesFormatterType.ALPACA],
76
+ "writing-roleplay-20k-context-nemo-12b-v1.0-q4_k_m.gguf": ["openerotica/writing-roleplay-20k-context-nemo-12b-v1.0-gguf", MessagesFormatterType.CHATML],
77
+ "llama-3.2-3b-titanfusion-v2-q4_k_m.gguf": ["bunnycore/Llama-3.2-3B-TitanFusion-v2-Q4_K_M-GGUF", MessagesFormatterType.LLAMA_3],
78
+ "gemma-2-9b-it-function-calling-q4_k_m.gguf": ["NeuroWhAI/gemma-2-9b-it-function-calling-Q4_K_M-GGUF", MessagesFormatterType.ALPACA],
79
+ "mt-gemma-2-9b-q6_k.gguf": ["zelk12/MT-gemma-2-9B-Q6_K-GGUF", MessagesFormatterType.ALPACA],
80
+ "Halu-8B-Llama3-Blackroot-Q5_K_M.gguf": ["bartowski/Halu-8B-Llama3-Blackroot-GGUF", MessagesFormatterType.LLAMA_3],
81
+ "OpenO1-Qwen-7B-v0.1.i1-Q5_K_M.gguf": ["mradermacher/OpenO1-Qwen-7B-v0.1-i1-GGUF", MessagesFormatterType.OPEN_CHAT],
82
+ "rombos_Llama3-8B-Instruct-Replete-Adapted.i1-Q5_K_M.gguf": ["mradermacher/rombos_Llama3-8B-Instruct-Replete-Adapted-i1-GGUF", MessagesFormatterType.LLAMA_3],
83
+ "Llama-3.1-8B-MagPie-Ultra.i1-Q5_K_M.gguf": ["mradermacher/Llama-3.1-8B-MagPie-Ultra-i1-GGUF", MessagesFormatterType.LLAMA_3],
84
+ "EdgeRunner-Command-Nested.Q5_K_M.gguf": ["mradermacher/EdgeRunner-Command-Nested-GGUF", MessagesFormatterType.OPEN_CHAT],
85
+ "CursorCore-QW2.5-7B.i1-Q5_K_M.gguf": ["mradermacher/CursorCore-QW2.5-7B-i1-GGUF", MessagesFormatterType.OPEN_CHAT],
86
+ "Odins-Allseeing-Eye-9B.i1-Q4_K_M.gguf": ["mradermacher/Odins-Allseeing-Eye-9B-i1-GGUF", MessagesFormatterType.ALPACA],
87
+ "MN-GRAND-Gutenberg-Lyra4-Lyra-12B-MADNESS.i1-Q4_K_M.gguf": ["mradermacher/MN-GRAND-Gutenberg-Lyra4-Lyra-12B-MADNESS-i1-GGUF", MessagesFormatterType.MISTRAL],
88
+ "Zinakha-12b.Q4_K_M.gguf": ["mradermacher/Zinakha-12b-GGUF", MessagesFormatterType.MISTRAL],
89
+ "Gemma-2-Ataraxy-v3-Advanced-9B.i1-Q4_K_M.gguf": ["mradermacher/Gemma-2-Ataraxy-v3-Advanced-9B-i1-GGUF", MessagesFormatterType.ALPACA],
90
+ "MFANN-llama3.1-abliterated-SLERP-v3.1.Q5_K_M.gguf": ["mradermacher/MFANN-llama3.1-abliterated-SLERP-v3.1-GGUF", MessagesFormatterType.LLAMA_3],
91
+ "Magnolia-v2-Gemma2-8k-9B.Q4_K_M.gguf": ["mradermacher/Magnolia-v2-Gemma2-8k-9B-GGUF", MessagesFormatterType.ALPACA],
92
+ "gemma-2-aeria-infinity-9b-q5_k_m.gguf": ["AELLM/gemma-2-aeria-infinity-9b-Q5_K_M-GGUF", MessagesFormatterType.ALPACA],
93
+ "recoilme-gemma-2-ataraxy-9b-v0.1-t0.375-q6_k.gguf": ["zelk12/recoilme-gemma-2-Ataraxy-9B-v0.1-t0.375-Q6_K-GGUF", MessagesFormatterType.ALPACA],
94
+ "recoilme-gemma-2-ataraxy-9b-v0.2-q6_k.gguf": ["zelk12/recoilme-gemma-2-Ataraxy-9B-v0.2-Q6_K-GGUF", MessagesFormatterType.ALPACA],
95
+ "MN-Dark-Planet-TITAN-12B.Q4_K_M.gguf": ["QuantFactory/MN-Dark-Planet-TITAN-12B-GGUF", MessagesFormatterType.MISTRAL],
96
+ "gemma-2-inko-9b-q5_k_m.gguf": ["AELLM/gemma-2-inko-9b-Q5_K_M-GGUF", MessagesFormatterType.ALPACA],
97
+ "MN-GRAND-Gutenberg-Lyra4-Lyra-12B-MADNESS-D_AU-Q4_k_m.gguf": ["DavidAU/MN-GRAND-Gutenberg-Lyra4-Lyra-12B-MADNESS-GGUF", MessagesFormatterType.ALPACA],
98
+ "gemma-2-aeria-9b-q5_k_m.gguf": ["AELLM/gemma-2-aeria-9b-Q5_K_M-GGUF", MessagesFormatterType.ALPACA],
99
+ "MN-GRAND-Gutenburg-Lyra4-Lyra-12B-DARKNESS-D_AU-Q4_k_m.gguf": ["DavidAU/MN-GRAND-Gutenberg-Lyra4-Lyra-12B-DARKNESS-GGUF", MessagesFormatterType.MISTRAL],
100
+ "L3.1-Promissum_Mane-8B-Della-calc.i1-Q5_K_M.gguf": ["mradermacher/L3.1-Promissum_Mane-8B-Della-calc-i1-GGUF", MessagesFormatterType.LLAMA_3],
101
+ "Astral-Fusion-8b-v0.0.Q5_K_M.gguf": ["mradermacher/Astral-Fusion-8b-v0.0-GGUF", MessagesFormatterType.LLAMA_3],
102
+ "Magnolia-v1-Gemma2-8k-9B.Q4_K_M.gguf": ["mradermacher/Magnolia-v1-Gemma2-8k-9B-GGUF", MessagesFormatterType.ALPACA],
103
+ "MFANN-llama3.1-abliterated-SLERP-v3.i1-Q4_K_M.gguf": ["mradermacher/MFANN-llama3.1-abliterated-SLERP-v3-i1-GGUF", MessagesFormatterType.LLAMA_3],
104
+ "recoilme-gemma-2-ataraxy-9b-v0.1-t0.25-q6_k.gguf": ["zelk12/recoilme-gemma-2-Ataraxy-9B-v0.1-t0.25-Q6_K-GGUF", MessagesFormatterType.ALPACA],
105
+ "llama-jpsft-2.0-q4_k_m.gguf": ["ai-net/Llama-JPSFT-2.0-GGUF", MessagesFormatterType.LLAMA_3],
106
  "Humanish-Qwen2.5-7B-Instruct-Q5_K_M.gguf": ["bartowski/Humanish-Qwen2.5-7B-Instruct-GGUF", MessagesFormatterType.OPEN_CHAT],
107
  "FactAlign-LLaMA-3-8B.i1-Q4_K_M.gguf": ["mradermacher/FactAlign-LLaMA-3-8B-i1-GGUF", MessagesFormatterType.LLAMA_3],
108
  "Magot-v3-Gemma2-8k-9B.i1-Q4_K_M.gguf": ["mradermacher/Magot-v3-Gemma2-8k-9B-i1-GGUF", MessagesFormatterType.ALPACA],
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):