Spaces:
Running
on
A100
Running
on
A100
Beavis and Butt-Head Style
#73
by
Petercottontail1
- opened
- README.md +3 -80
- app.py +48 -70
- custom.css +4 -9
- requirements.txt +2 -4
- sdxl_loras.json +16 -431
- share_btn.py +3 -6
README.md
CHANGED
|
@@ -1,90 +1,13 @@
|
|
| 1 |
---
|
| 2 |
-
title: LoRA the Explorer
|
| 3 |
emoji: 🔎 🖼️
|
| 4 |
colorFrom: indigo
|
| 5 |
colorTo: blue
|
| 6 |
sdk: gradio
|
| 7 |
-
sdk_version:
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
license: mit
|
| 11 |
-
suggested_hardware: a10g-large
|
| 12 |
-
models:
|
| 13 |
-
- nerijs/pixel-art-xl
|
| 14 |
-
- Pclanglais/TintinIA
|
| 15 |
-
- ProomptEngineer/pe-balloon-diffusion-style
|
| 16 |
-
- joachimsallstrom/aether-cloud-lora-for-sdxl
|
| 17 |
-
- ostris/crayon_style_lora_sdxl
|
| 18 |
-
- jbilcke-hf/sdxl-zelda64
|
| 19 |
-
- TheLastBen/Papercut_SDXL
|
| 20 |
-
- fofr/sdxl-2004
|
| 21 |
-
- joachimsallstrom/aether-ghost-lora-for-sdxl
|
| 22 |
-
- artificialguybr/ColoringBookRedmond-V2
|
| 23 |
-
- Norod78/SDXL-LofiGirl-Lora
|
| 24 |
-
- ostris/embroidery_style_lora_sdxl
|
| 25 |
-
- goofyai/3d_render_style_xl
|
| 26 |
-
- ostris/watercolor_style_lora_sdxl
|
| 27 |
-
- veryVANYA/ps1-graphics-sdxl-v2
|
| 28 |
-
- TheLastBen/William_Eggleston_Style_SDXL
|
| 29 |
-
- davizca87/c-a-g-coinmaker
|
| 30 |
-
- goofyai/cyborg_style_xl
|
| 31 |
-
- artificialguybr/ToyRedmond-ToyLoraForSDXL10
|
| 32 |
-
- Fictiverse/Voxel_XL_Lora
|
| 33 |
-
- minimaxir/sdxl-ugly-sonic-lora
|
| 34 |
-
- nerijs/lego-brickheadz-xl
|
| 35 |
-
- nerijs/lego-minifig-xl
|
| 36 |
-
- Norod78/SDXL-jojoso_style-Lora
|
| 37 |
-
- TheLastBen/Pikachu_SDXL
|
| 38 |
-
- artificialguybr/LogoRedmond-LogoLoraForSDXL
|
| 39 |
-
- Norod78/SDXL-StickerSheet-Lora
|
| 40 |
-
- artificialguybr/LineAniRedmond-LinearMangaSDXL
|
| 41 |
-
- TheLastBen/Josef_Koudelka_Style_SDXL
|
| 42 |
-
- goofyai/Leonardo_Ai_Style_Illustration
|
| 43 |
-
- Norod78/SDXL-simpstyle-Lora
|
| 44 |
-
- artificialguybr/StoryBookRedmond
|
| 45 |
-
- chillpixel/blacklight-makeup-sdxl-lora
|
| 46 |
-
- ProomptEngineer/pe-neon-sign-style
|
| 47 |
-
- ProomptEngineer/pe-lofi-hiphop-lofi-girl-concept
|
| 48 |
-
- ProomptEngineer/pe-shitty-fanart
|
| 49 |
-
- ProomptEngineer/pe-sandsculpter-style
|
| 50 |
-
- ProomptEngineer/pe-shitty-medieval-paintings
|
| 51 |
-
- ProomptEngineer/pe-courtroomsketch-style
|
| 52 |
-
- ProomptEngineer/pe-funko-pop-diffusion-style
|
| 53 |
-
- lordjia/lelo-lego-lora
|
| 54 |
-
- KappaNeuro/dressed-animals
|
| 55 |
-
- KappaNeuro/vintage-postage-stamps
|
| 56 |
-
- KappaNeuro/video-installation
|
| 57 |
-
- KappaNeuro/ukiyo-e-art
|
| 58 |
-
- KappaNeuro/surreal-collage
|
| 59 |
-
- KappaNeuro/stop-motion-animation
|
| 60 |
-
- KappaNeuro/studio-ghibli-style
|
| 61 |
-
- KappaNeuro/punk-collage
|
| 62 |
-
- KappaNeuro/needlepoint
|
| 63 |
-
- KappaNeuro/made-of-iridescent-foil
|
| 64 |
-
- KappaNeuro/lascaux
|
| 65 |
-
- KappaNeuro/color-palette
|
| 66 |
-
- KappaNeuro/albumen-print
|
| 67 |
-
- KappaNeuro/1987-action-figure-playset-packaging
|
| 68 |
-
- Norod78/SDXL-VintageMagStyle-Lora
|
| 69 |
-
- CiroN2022/road-sign
|
| 70 |
-
- CiroN2022/mosaic-style
|
| 71 |
-
- CiroN2022/cd-md-music
|
| 72 |
-
- CiroN2022/hair-style
|
| 73 |
-
- CiroN2022/overprint-effect
|
| 74 |
-
- CiroN2022/toy-face
|
| 75 |
-
- CiroN2022/ascii-art
|
| 76 |
-
- artificialguybr/PixelArtRedmond
|
| 77 |
-
- artificialguybr/StickersRedmond
|
| 78 |
-
- artificialguybr/ClayAnimationRedmond
|
| 79 |
-
- fofr/sdxl-vision-pro
|
| 80 |
-
- joachimsallstrom/aether-glitch-lora-for-sdxl
|
| 81 |
-
- artificialguybr/TshirtDesignRedmond-V2
|
| 82 |
-
- ostris/ikea-instructions-lora-sdxl
|
| 83 |
-
- ostris/super-cereal-sdxl-lora
|
| 84 |
-
- jakedahn/sdxl-isometric-geology
|
| 85 |
-
- artificialguybr/analogredmond-v2
|
| 86 |
-
- stets/nintendo64_cartridge
|
| 87 |
-
short_description: Explore fun LoRAs and generate with SDXL
|
| 88 |
---
|
| 89 |
|
| 90 |
-
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
|
| 1 |
---
|
| 2 |
+
title: LoRA the Explorer
|
| 3 |
emoji: 🔎 🖼️
|
| 4 |
colorFrom: indigo
|
| 5 |
colorTo: blue
|
| 6 |
sdk: gradio
|
| 7 |
+
sdk_version: 3.39.0
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
license: mit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
---
|
| 12 |
|
| 13 |
+
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
app.py
CHANGED
|
@@ -10,7 +10,6 @@ import copy
|
|
| 10 |
import json
|
| 11 |
import gc
|
| 12 |
import random
|
| 13 |
-
from urllib.parse import quote
|
| 14 |
with open("sdxl_loras.json", "r") as file:
|
| 15 |
data = json.load(file)
|
| 16 |
sdxl_loras_raw = [
|
|
@@ -25,8 +24,7 @@ with open("sdxl_loras.json", "r") as file:
|
|
| 25 |
"text_embedding_weights": item.get("text_embedding_weights", None),
|
| 26 |
"likes": item.get("likes", 0),
|
| 27 |
"downloads": item.get("downloads", 0),
|
| 28 |
-
"is_nc": item.get("is_nc", False)
|
| 29 |
-
"new": item.get("new", False),
|
| 30 |
}
|
| 31 |
for item in data
|
| 32 |
]
|
|
@@ -48,12 +46,6 @@ for item in sdxl_loras_raw:
|
|
| 48 |
"state_dict": state_dict
|
| 49 |
}
|
| 50 |
|
| 51 |
-
sdxl_loras_raw_new = [item for item in sdxl_loras_raw if item.get("new") == True]
|
| 52 |
-
|
| 53 |
-
sdxl_loras_raw = [item for item in sdxl_loras_raw if item.get("new") != True]
|
| 54 |
-
|
| 55 |
-
lcm_lora_id = "lcm-sd/lcm-sdxl-base-1.0-lora"
|
| 56 |
-
|
| 57 |
vae = AutoencoderKL.from_pretrained(
|
| 58 |
"madebyollin/sdxl-vae-fp16-fix", torch_dtype=torch.float16
|
| 59 |
)
|
|
@@ -68,14 +60,7 @@ pipe.to(device)
|
|
| 68 |
last_lora = ""
|
| 69 |
last_merged = False
|
| 70 |
last_fused = False
|
| 71 |
-
|
| 72 |
-
var button = document.getElementById('button');
|
| 73 |
-
// Add a click event listener to the button
|
| 74 |
-
button.addEventListener('click', function() {
|
| 75 |
-
element.classList.add('selected');
|
| 76 |
-
});
|
| 77 |
-
'''
|
| 78 |
-
def update_selection(selected_state: gr.SelectData, sdxl_loras, is_new=False):
|
| 79 |
lora_repo = sdxl_loras[selected_state.index]["repo"]
|
| 80 |
instance_prompt = sdxl_loras[selected_state.index]["trigger_word"]
|
| 81 |
new_placeholder = "Type a prompt. This LoRA applies for all prompts, no need for a trigger word" if instance_prompt == "" else "Type a prompt to use your selected LoRA"
|
|
@@ -118,12 +103,6 @@ def update_selection(selected_state: gr.SelectData, sdxl_loras, is_new=False):
|
|
| 118 |
- [SD.Next guide](https://github.com/vladmandic/automatic)
|
| 119 |
- [AUTOMATIC1111 guide](https://stable-diffusion-art.com/lora/)
|
| 120 |
'''
|
| 121 |
-
if(is_new):
|
| 122 |
-
if(selected_state.index == 0):
|
| 123 |
-
selected_state.index = -9999
|
| 124 |
-
else:
|
| 125 |
-
selected_state.index *= -1
|
| 126 |
-
|
| 127 |
return (
|
| 128 |
updated_text,
|
| 129 |
instance_prompt,
|
|
@@ -131,7 +110,6 @@ def update_selection(selected_state: gr.SelectData, sdxl_loras, is_new=False):
|
|
| 131 |
selected_state,
|
| 132 |
use_with_diffusers,
|
| 133 |
use_with_uis,
|
| 134 |
-
gr.Gallery(selected_index=None)
|
| 135 |
)
|
| 136 |
|
| 137 |
|
|
@@ -162,17 +140,9 @@ def merge_incompatible_lora(full_path_lora, lora_scale):
|
|
| 162 |
del lora_model
|
| 163 |
gc.collect()
|
| 164 |
|
| 165 |
-
def run_lora(prompt, negative, lora_scale, selected_state, sdxl_loras,
|
| 166 |
global last_lora, last_merged, last_fused, pipe
|
| 167 |
-
|
| 168 |
-
if(selected_state.index < 0):
|
| 169 |
-
if(selected_state.index == -9999):
|
| 170 |
-
selected_state.index = 0
|
| 171 |
-
else:
|
| 172 |
-
selected_state.index *= -1
|
| 173 |
-
sdxl_loras = sdxl_loras_new
|
| 174 |
-
print("Selected State: ", selected_state.index)
|
| 175 |
-
print(sdxl_loras[selected_state.index]["repo"])
|
| 176 |
if negative == "":
|
| 177 |
negative = None
|
| 178 |
|
|
@@ -182,23 +152,42 @@ def run_lora(prompt, negative, lora_scale, selected_state, sdxl_loras, sdxl_lora
|
|
| 182 |
weight_name = sdxl_loras[selected_state.index]["weights"]
|
| 183 |
|
| 184 |
full_path_lora = state_dicts[repo_name]["saved_name"]
|
| 185 |
-
loaded_state_dict =
|
| 186 |
cross_attention_kwargs = None
|
| 187 |
if last_lora != repo_name:
|
| 188 |
-
if
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 189 |
pipe.unfuse_lora()
|
| 190 |
-
|
| 191 |
-
|
| 192 |
-
|
| 193 |
-
|
| 194 |
-
|
| 195 |
-
|
| 196 |
-
|
| 197 |
-
|
| 198 |
-
|
| 199 |
-
|
| 200 |
-
|
| 201 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 202 |
|
| 203 |
image = pipe(
|
| 204 |
prompt=prompt,
|
|
@@ -223,22 +212,17 @@ def swap_gallery(order, sdxl_loras):
|
|
| 223 |
sorted_gallery = sorted(sdxl_loras, key=lambda x: x.get(order, 0), reverse=True)
|
| 224 |
return [(item["image"], item["title"]) for item in sorted_gallery], sorted_gallery
|
| 225 |
|
| 226 |
-
def deselect():
|
| 227 |
-
return gr.Gallery(selected_index=None)
|
| 228 |
|
| 229 |
with gr.Blocks(css="custom.css") as demo:
|
| 230 |
gr_sdxl_loras = gr.State(value=sdxl_loras_raw)
|
| 231 |
-
gr_sdxl_loras_new = gr.State(value=sdxl_loras_raw_new)
|
| 232 |
title = gr.HTML(
|
| 233 |
-
"""<h1><img src="https://i.imgur.com/vT48NAO.png" alt="LoRA"> LoRA the Explorer
|
| 234 |
elem_id="title",
|
| 235 |
)
|
| 236 |
selected_state = gr.State()
|
| 237 |
-
with gr.Row(
|
| 238 |
-
with gr.
|
| 239 |
-
selected_loras = gr.Gallery(label="Selected LoRAs", height=80, show_share_button=False, visible=False, elem_id="gallery_selected", )
|
| 240 |
order_gallery = gr.Radio(choices=["random", "likes"], value="random", label="Order by", elem_id="order_radio")
|
| 241 |
-
new_gallery = gr.Gallery(label="New LoRAs", elem_id="gallery_new", columns=3, value=[(item["image"], item["title"]) for item in sdxl_loras_raw_new], allow_preview=False, show_share_button=False)
|
| 242 |
gallery = gr.Gallery(
|
| 243 |
#value=[(item["image"], item["title"]) for item in sdxl_loras],
|
| 244 |
label="SDXL LoRA Gallery",
|
|
@@ -267,6 +251,7 @@ with gr.Blocks(css="custom.css") as demo:
|
|
| 267 |
with gr.Accordion("Advanced options", open=False):
|
| 268 |
negative = gr.Textbox(label="Negative Prompt")
|
| 269 |
weight = gr.Slider(0, 10, value=0.8, step=0.1, label="LoRA weight")
|
|
|
|
| 270 |
with gr.Column(elem_id="extra_info"):
|
| 271 |
with gr.Accordion(
|
| 272 |
"Use it with: 🧨 diffusers, ComfyUI, Invoke AI, SD.Next, AUTO1111",
|
|
@@ -280,7 +265,7 @@ with gr.Blocks(css="custom.css") as demo:
|
|
| 280 |
submit_title = gr.Markdown(
|
| 281 |
"### Streamlined submission coming soon! Until then [suggest your LoRA in the community tab](https://huggingface.co/spaces/multimodalart/LoraTheExplorer/discussions) 🤗"
|
| 282 |
)
|
| 283 |
-
with gr.
|
| 284 |
submit_source = gr.Radio(
|
| 285 |
["Hugging Face", "CivitAI"],
|
| 286 |
label="LoRA source",
|
|
@@ -313,14 +298,7 @@ with gr.Blocks(css="custom.css") as demo:
|
|
| 313 |
gallery.select(
|
| 314 |
fn=update_selection,
|
| 315 |
inputs=[gr_sdxl_loras],
|
| 316 |
-
outputs=[prompt_title, prompt, prompt, selected_state, use_diffusers, use_uis
|
| 317 |
-
queue=False,
|
| 318 |
-
show_progress=False
|
| 319 |
-
)
|
| 320 |
-
new_gallery.select(
|
| 321 |
-
fn=update_selection,
|
| 322 |
-
inputs=[gr_sdxl_loras_new, gr.State(True)],
|
| 323 |
-
outputs=[prompt_title, prompt, prompt, selected_state, use_diffusers, use_uis, gallery],
|
| 324 |
queue=False,
|
| 325 |
show_progress=False
|
| 326 |
)
|
|
@@ -331,7 +309,7 @@ with gr.Blocks(css="custom.css") as demo:
|
|
| 331 |
show_progress=False
|
| 332 |
).success(
|
| 333 |
fn=run_lora,
|
| 334 |
-
inputs=[prompt, negative, weight, selected_state, gr_sdxl_loras
|
| 335 |
outputs=[result, share_group],
|
| 336 |
)
|
| 337 |
button.click(
|
|
@@ -341,10 +319,10 @@ with gr.Blocks(css="custom.css") as demo:
|
|
| 341 |
show_progress=False
|
| 342 |
).success(
|
| 343 |
fn=run_lora,
|
| 344 |
-
inputs=[prompt, negative, weight, selected_state, gr_sdxl_loras
|
| 345 |
outputs=[result, share_group],
|
| 346 |
)
|
| 347 |
-
share_button.click(None, [], [],
|
| 348 |
-
demo.load(fn=shuffle_gallery, inputs=[gr_sdxl_loras], outputs=[gallery, gr_sdxl_loras], queue=False
|
| 349 |
demo.queue(max_size=20)
|
| 350 |
-
demo.launch(
|
|
|
|
| 10 |
import json
|
| 11 |
import gc
|
| 12 |
import random
|
|
|
|
| 13 |
with open("sdxl_loras.json", "r") as file:
|
| 14 |
data = json.load(file)
|
| 15 |
sdxl_loras_raw = [
|
|
|
|
| 24 |
"text_embedding_weights": item.get("text_embedding_weights", None),
|
| 25 |
"likes": item.get("likes", 0),
|
| 26 |
"downloads": item.get("downloads", 0),
|
| 27 |
+
"is_nc": item.get("is_nc", False)
|
|
|
|
| 28 |
}
|
| 29 |
for item in data
|
| 30 |
]
|
|
|
|
| 46 |
"state_dict": state_dict
|
| 47 |
}
|
| 48 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
vae = AutoencoderKL.from_pretrained(
|
| 50 |
"madebyollin/sdxl-vae-fp16-fix", torch_dtype=torch.float16
|
| 51 |
)
|
|
|
|
| 60 |
last_lora = ""
|
| 61 |
last_merged = False
|
| 62 |
last_fused = False
|
| 63 |
+
def update_selection(selected_state: gr.SelectData, sdxl_loras):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
lora_repo = sdxl_loras[selected_state.index]["repo"]
|
| 65 |
instance_prompt = sdxl_loras[selected_state.index]["trigger_word"]
|
| 66 |
new_placeholder = "Type a prompt. This LoRA applies for all prompts, no need for a trigger word" if instance_prompt == "" else "Type a prompt to use your selected LoRA"
|
|
|
|
| 103 |
- [SD.Next guide](https://github.com/vladmandic/automatic)
|
| 104 |
- [AUTOMATIC1111 guide](https://stable-diffusion-art.com/lora/)
|
| 105 |
'''
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 106 |
return (
|
| 107 |
updated_text,
|
| 108 |
instance_prompt,
|
|
|
|
| 110 |
selected_state,
|
| 111 |
use_with_diffusers,
|
| 112 |
use_with_uis,
|
|
|
|
| 113 |
)
|
| 114 |
|
| 115 |
|
|
|
|
| 140 |
del lora_model
|
| 141 |
gc.collect()
|
| 142 |
|
| 143 |
+
def run_lora(prompt, negative, lora_scale, selected_state, sdxl_loras, progress=gr.Progress(track_tqdm=True)):
|
| 144 |
global last_lora, last_merged, last_fused, pipe
|
| 145 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 146 |
if negative == "":
|
| 147 |
negative = None
|
| 148 |
|
|
|
|
| 152 |
weight_name = sdxl_loras[selected_state.index]["weights"]
|
| 153 |
|
| 154 |
full_path_lora = state_dicts[repo_name]["saved_name"]
|
| 155 |
+
loaded_state_dict = state_dicts[repo_name]["state_dict"]
|
| 156 |
cross_attention_kwargs = None
|
| 157 |
if last_lora != repo_name:
|
| 158 |
+
if last_merged:
|
| 159 |
+
del pipe
|
| 160 |
+
gc.collect()
|
| 161 |
+
pipe = copy.deepcopy(original_pipe)
|
| 162 |
+
pipe.to(device)
|
| 163 |
+
elif(last_fused):
|
| 164 |
pipe.unfuse_lora()
|
| 165 |
+
pipe.unload_lora_weights()
|
| 166 |
+
is_compatible = sdxl_loras[selected_state.index]["is_compatible"]
|
| 167 |
+
|
| 168 |
+
if is_compatible:
|
| 169 |
+
pipe.load_lora_weights(loaded_state_dict)
|
| 170 |
+
pipe.fuse_lora(lora_scale)
|
| 171 |
+
last_fused = True
|
| 172 |
+
else:
|
| 173 |
+
is_pivotal = sdxl_loras[selected_state.index]["is_pivotal"]
|
| 174 |
+
if(is_pivotal):
|
| 175 |
+
pipe.load_lora_weights(loaded_state_dict)
|
| 176 |
+
pipe.fuse_lora(lora_scale)
|
| 177 |
+
last_fused = True
|
| 178 |
+
|
| 179 |
+
#Add the textual inversion embeddings from pivotal tuning models
|
| 180 |
+
text_embedding_name = sdxl_loras[selected_state.index]["text_embedding_weights"]
|
| 181 |
+
text_encoders = [pipe.text_encoder, pipe.text_encoder_2]
|
| 182 |
+
tokenizers = [pipe.tokenizer, pipe.tokenizer_2]
|
| 183 |
+
embedding_path = hf_hub_download(repo_id=repo_name, filename=text_embedding_name, repo_type="model")
|
| 184 |
+
embhandler = TokenEmbeddingsHandler(text_encoders, tokenizers)
|
| 185 |
+
embhandler.load_embeddings(embedding_path)
|
| 186 |
+
|
| 187 |
+
else:
|
| 188 |
+
merge_incompatible_lora(full_path_lora, lora_scale)
|
| 189 |
+
last_fused=False
|
| 190 |
+
last_merged = True
|
| 191 |
|
| 192 |
image = pipe(
|
| 193 |
prompt=prompt,
|
|
|
|
| 212 |
sorted_gallery = sorted(sdxl_loras, key=lambda x: x.get(order, 0), reverse=True)
|
| 213 |
return [(item["image"], item["title"]) for item in sorted_gallery], sorted_gallery
|
| 214 |
|
|
|
|
|
|
|
| 215 |
|
| 216 |
with gr.Blocks(css="custom.css") as demo:
|
| 217 |
gr_sdxl_loras = gr.State(value=sdxl_loras_raw)
|
|
|
|
| 218 |
title = gr.HTML(
|
| 219 |
+
"""<h1><img src="https://i.imgur.com/vT48NAO.png" alt="LoRA"> LoRA the Explorer</h1>""",
|
| 220 |
elem_id="title",
|
| 221 |
)
|
| 222 |
selected_state = gr.State()
|
| 223 |
+
with gr.Row():
|
| 224 |
+
with gr.Box(elem_id="gallery_box"):
|
|
|
|
| 225 |
order_gallery = gr.Radio(choices=["random", "likes"], value="random", label="Order by", elem_id="order_radio")
|
|
|
|
| 226 |
gallery = gr.Gallery(
|
| 227 |
#value=[(item["image"], item["title"]) for item in sdxl_loras],
|
| 228 |
label="SDXL LoRA Gallery",
|
|
|
|
| 251 |
with gr.Accordion("Advanced options", open=False):
|
| 252 |
negative = gr.Textbox(label="Negative Prompt")
|
| 253 |
weight = gr.Slider(0, 10, value=0.8, step=0.1, label="LoRA weight")
|
| 254 |
+
|
| 255 |
with gr.Column(elem_id="extra_info"):
|
| 256 |
with gr.Accordion(
|
| 257 |
"Use it with: 🧨 diffusers, ComfyUI, Invoke AI, SD.Next, AUTO1111",
|
|
|
|
| 265 |
submit_title = gr.Markdown(
|
| 266 |
"### Streamlined submission coming soon! Until then [suggest your LoRA in the community tab](https://huggingface.co/spaces/multimodalart/LoraTheExplorer/discussions) 🤗"
|
| 267 |
)
|
| 268 |
+
with gr.Box(elem_id="soon"):
|
| 269 |
submit_source = gr.Radio(
|
| 270 |
["Hugging Face", "CivitAI"],
|
| 271 |
label="LoRA source",
|
|
|
|
| 298 |
gallery.select(
|
| 299 |
fn=update_selection,
|
| 300 |
inputs=[gr_sdxl_loras],
|
| 301 |
+
outputs=[prompt_title, prompt, prompt, selected_state, use_diffusers, use_uis],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 302 |
queue=False,
|
| 303 |
show_progress=False
|
| 304 |
)
|
|
|
|
| 309 |
show_progress=False
|
| 310 |
).success(
|
| 311 |
fn=run_lora,
|
| 312 |
+
inputs=[prompt, negative, weight, selected_state, gr_sdxl_loras],
|
| 313 |
outputs=[result, share_group],
|
| 314 |
)
|
| 315 |
button.click(
|
|
|
|
| 319 |
show_progress=False
|
| 320 |
).success(
|
| 321 |
fn=run_lora,
|
| 322 |
+
inputs=[prompt, negative, weight, selected_state, gr_sdxl_loras],
|
| 323 |
outputs=[result, share_group],
|
| 324 |
)
|
| 325 |
+
share_button.click(None, [], [], _js=share_js)
|
| 326 |
+
demo.load(fn=shuffle_gallery, inputs=[gr_sdxl_loras], outputs=[gallery, gr_sdxl_loras], queue=False)
|
| 327 |
demo.queue(max_size=20)
|
| 328 |
+
demo.launch()
|
custom.css
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
#title img{width: 100px; margin-right: 0.5em}
|
| 4 |
#prompt input{width: calc(100% - 160px);border-top-right-radius: 0px;border-bottom-right-radius: 0px;}
|
| 5 |
#run_button{position:absolute;margin-top: 11px;right: 0;margin-right: 0.8em;border-bottom-left-radius: 0px;border-top-left-radius: 0px;}
|
| 6 |
-
#gallery{display:flex;
|
| 7 |
#gallery .grid-wrap{min-height: 100%;}
|
| 8 |
#accordion code{word-break: break-all;word-wrap: break-word;white-space: pre-wrap}
|
| 9 |
#soon{opacity: 0.55; pointer-events: none}
|
|
@@ -20,17 +20,12 @@ div#share-btn-container > div {flex-direction: row;background: black;align-items
|
|
| 20 |
.pending .min {min-height: auto}
|
| 21 |
#gallery_box{padding-top: 0}
|
| 22 |
#gallery_box .form{border: 0 !important}
|
| 23 |
-
#order_radio{border: 0;padding: 0
|
| 24 |
#order_radio .form{border:0 !important; padding-bottom: 0.25em}
|
| 25 |
-
#order_radio [data-testid="block-info"]{float: left;margin-top: 2px;margin-right: 6px
|
| 26 |
#order_radio label{padding: 0.25em 0.75em !important;font-size: 85% !important}
|
| 27 |
-
|
| 28 |
-
@media(max-width: 1280px){
|
| 29 |
-
#gallery_new{height: 210px}
|
| 30 |
-
}
|
| 31 |
-
@media (max-width: 700px) {
|
| 32 |
#title h1{font-size: 2.2em}
|
| 33 |
#title img{width: 80px;}
|
| 34 |
#gallery {max-height: 370px}
|
| 35 |
-
#main_app{flex-direction: column}
|
| 36 |
}
|
|
|
|
| 3 |
#title img{width: 100px; margin-right: 0.5em}
|
| 4 |
#prompt input{width: calc(100% - 160px);border-top-right-radius: 0px;border-bottom-right-radius: 0px;}
|
| 5 |
#run_button{position:absolute;margin-top: 11px;right: 0;margin-right: 0.8em;border-bottom-left-radius: 0px;border-top-left-radius: 0px;}
|
| 6 |
+
#gallery{display:flex;}
|
| 7 |
#gallery .grid-wrap{min-height: 100%;}
|
| 8 |
#accordion code{word-break: break-all;word-wrap: break-word;white-space: pre-wrap}
|
| 9 |
#soon{opacity: 0.55; pointer-events: none}
|
|
|
|
| 20 |
.pending .min {min-height: auto}
|
| 21 |
#gallery_box{padding-top: 0}
|
| 22 |
#gallery_box .form{border: 0 !important}
|
| 23 |
+
#order_radio{border: 0;padding-left: 0}
|
| 24 |
#order_radio .form{border:0 !important; padding-bottom: 0.25em}
|
| 25 |
+
#order_radio [data-testid="block-info"]{float: left;margin-top: 2px;margin-right: 6px}
|
| 26 |
#order_radio label{padding: 0.25em 0.75em !important;font-size: 85% !important}
|
| 27 |
+
@media (max-width: 527px) {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
#title h1{font-size: 2.2em}
|
| 29 |
#title img{width: 80px;}
|
| 30 |
#gallery {max-height: 370px}
|
|
|
|
| 31 |
}
|
requirements.txt
CHANGED
|
@@ -1,7 +1,5 @@
|
|
| 1 |
-
--extra-index-url https://download.pytorch.org/whl/cu118
|
| 2 |
-
torch
|
| 3 |
git+https://github.com/huggingface/diffusers.git
|
|
|
|
| 4 |
transformers
|
| 5 |
safetensors
|
| 6 |
-
accelerate
|
| 7 |
-
peft
|
|
|
|
|
|
|
|
|
|
| 1 |
git+https://github.com/huggingface/diffusers.git
|
| 2 |
+
https://gradio-builds.s3.amazonaws.com/4e55341d923bdbaf77f2f3484b11034d8f9b167f/gradio-3.44.0-py3-none-any.whl
|
| 3 |
transformers
|
| 4 |
safetensors
|
| 5 |
+
accelerate
|
|
|
sdxl_loras.json
CHANGED
|
@@ -95,13 +95,13 @@
|
|
| 95 |
"downloads": 0
|
| 96 |
},
|
| 97 |
{
|
| 98 |
-
"image": "https://huggingface.co/artificialguybr/ColoringBookRedmond
|
| 99 |
-
"title": "ColoringBook.Redmond
|
| 100 |
-
"repo": "artificialguybr/ColoringBookRedmond
|
| 101 |
"trigger_word": "ColoringBookAF",
|
| 102 |
-
"weights": "ColoringBookRedmond-
|
| 103 |
"is_compatible": true,
|
| 104 |
-
"likes":
|
| 105 |
"downloads": 0
|
| 106 |
},
|
| 107 |
{
|
|
@@ -559,7 +559,7 @@
|
|
| 559 |
"title": "SDXL-VintageMagStyle-Lora",
|
| 560 |
"trigger_word": "VintageMagStyle",
|
| 561 |
"is_compatible": true,
|
| 562 |
-
"image": "https://huggingface.co/Norod78/SDXL-VintageMagStyle-Lora/resolve/main/Examples/00015-20230906102032-7778-Wonderwoman
|
| 563 |
"weights": "SDXL-VintageMagStyle-Lora.safetensors",
|
| 564 |
"likes": 7,
|
| 565 |
"downloads": 0
|
|
@@ -665,430 +665,15 @@
|
|
| 665 |
"weights": "ClayAnimationRedm.safetensors"
|
| 666 |
},
|
| 667 |
{
|
| 668 |
-
|
| 669 |
-
|
| 670 |
-
|
| 671 |
-
|
| 672 |
-
|
| 673 |
-
|
| 674 |
-
|
| 675 |
-
|
| 676 |
-
|
| 677 |
-
|
| 678 |
-
},
|
| 679 |
-
{
|
| 680 |
-
"image": "https://huggingface.co/joachimsallstrom/aether-glitch-lora-for-sdxl/resolve/main/2680627.jpeg",
|
| 681 |
-
"repo": "joachimsallstrom/aether-glitch-lora-for-sdxl",
|
| 682 |
-
"title": "Aether VHS Glitch",
|
| 683 |
-
"trigger_word": "vhs glitch",
|
| 684 |
-
"weights": "Aether_Glitch_v1_LoRA.safetensors",
|
| 685 |
-
"is_compatible": true,
|
| 686 |
-
"likes": 1
|
| 687 |
-
},
|
| 688 |
-
{
|
| 689 |
-
"image": "https://huggingface.co/artificialguybr/TshirtDesignRedmond/resolve/main/00097-1339429505.png",
|
| 690 |
-
"repo": "artificialguybr/TshirtDesignRedmond-V2",
|
| 691 |
-
"title": "T-Shirt.Design.Redmond V2",
|
| 692 |
-
"trigger_word": "TshirtDesignAF",
|
| 693 |
-
"weights": "TShirtDesignRedmondV2-Tshirtdesign-TshirtDesignAF.safetensors",
|
| 694 |
-
"is_compatible": true,
|
| 695 |
-
"likes": 4
|
| 696 |
-
},
|
| 697 |
-
{
|
| 698 |
-
"image": "https://huggingface.co/ostris/ikea-instructions-lora-sdxl/resolve/main/2709929.jpeg",
|
| 699 |
-
"repo": "ostris/ikea-instructions-lora-sdxl",
|
| 700 |
-
"title": "IKEA Instructions",
|
| 701 |
-
"trigger_word": "",
|
| 702 |
-
"weights": "ikea_instructions_xl_v1_5.safetensors",
|
| 703 |
-
"is_compatible": true,
|
| 704 |
-
"likes": 106
|
| 705 |
-
},
|
| 706 |
-
{
|
| 707 |
-
"image": "https://huggingface.co/ostris/super-cereal-sdxl-lora/resolve/main/2879386.jpeg",
|
| 708 |
-
"repo": "ostris/super-cereal-sdxl-lora",
|
| 709 |
-
"title": "Super Cereal",
|
| 710 |
-
"trigger_word": "",
|
| 711 |
-
"weights": "cereal_box_sdxl_v1.safetensors",
|
| 712 |
-
"is_compatible": true,
|
| 713 |
-
"likes": 5
|
| 714 |
-
},
|
| 715 |
-
{
|
| 716 |
-
"image": "https://replicate.delivery/pbxt/CoMBej9GOtyNKqyDHb0fsNSdABpTzOszpjltZGvHsbqif8XjA/out-0.png",
|
| 717 |
-
"repo": "jakedahn/sdxl-isometric-geology",
|
| 718 |
-
"title": "Isometric Geology",
|
| 719 |
-
"trigger_word": "in the style of <s0><s1>",
|
| 720 |
-
"weights": "lora.safetensors",
|
| 721 |
-
"text_embedding_weights": "embeddings.pti",
|
| 722 |
-
"is_compatible": false,
|
| 723 |
-
"is_pivotal": true,
|
| 724 |
-
"likes": 1
|
| 725 |
-
},
|
| 726 |
-
{
|
| 727 |
-
"image": "https://huggingface.co/artificialguybr/analogredmond-v2/resolve/main/00279-913323466.png",
|
| 728 |
-
"repo": "artificialguybr/analogredmond-v2",
|
| 729 |
-
"title": "Analog Photography.Redmond",
|
| 730 |
-
"trigger_word": "AnalogRedmAF",
|
| 731 |
-
"weights": "AnalogRedmondV2-Analog-AnalogRedmAF.safetensors",
|
| 732 |
-
"is_compatible": true,
|
| 733 |
-
"likes": 3
|
| 734 |
-
},
|
| 735 |
-
{
|
| 736 |
-
"image": "https://huggingface.co/stets/nintendo64_cartridge/resolve/main/00002-%5Bnumber%5D-840302403-_%20_lora_n64-000002_1_%20n64%20game%2C%20cartridge%2C%20titled%2C%20chicken%20riding%20a%20bicycle.png",
|
| 737 |
-
"repo": "stets/nintendo64_cartridge",
|
| 738 |
-
"title": "Nintendo 64 Cartridge",
|
| 739 |
-
"weights": "n64-000001.safetensors",
|
| 740 |
-
"trigger_word": "n64",
|
| 741 |
-
"is_compatible": true,
|
| 742 |
-
"likes": 6
|
| 743 |
-
},
|
| 744 |
-
{
|
| 745 |
-
"image": "https://huggingface.co/joachimsallstrom/aether-bubbles-foam-lora-for-sdxl/resolve/main/3056728.jpeg",
|
| 746 |
-
"repo": "joachimsallstrom/aether-bubbles-foam-lora-for-sdxl",
|
| 747 |
-
"title": "Aether Bubbles & Foam",
|
| 748 |
-
"weights": "Aether_Bubbles_And_Foam_v1_SDXL_LoRA.safetensors",
|
| 749 |
-
"trigger_word": "made of bath foam and soap bubbles",
|
| 750 |
-
"is_compatible": true,
|
| 751 |
-
"likes": 2
|
| 752 |
-
},
|
| 753 |
-
{
|
| 754 |
-
"image": "https://huggingface.co/artificialguybr/3DRedmond-V1/resolve/main/images/00064-2498532539.png",
|
| 755 |
-
"repo": "artificialguybr/3DRedmond-V1",
|
| 756 |
-
"title": "3D.Redmond",
|
| 757 |
-
"weights": "3DRedmond-3DRenderStyle-3DRenderAF.safetensors",
|
| 758 |
-
"trigger_word": "3D Render Style, 3DRenderAF",
|
| 759 |
-
"is_compatible": true,
|
| 760 |
-
"likes": 5
|
| 761 |
-
},
|
| 762 |
-
{
|
| 763 |
-
"image": "https://i.imgur.com/cAx2FL1.jpg",
|
| 764 |
-
"repo": "CiroN2022/tape-people",
|
| 765 |
-
"title": "Covered in Tape",
|
| 766 |
-
"weights": "Tape_people.safetensors",
|
| 767 |
-
"trigger_word": "covered of tape, caution tape, keep out",
|
| 768 |
-
"is_compatible": true,
|
| 769 |
-
"likes": 2
|
| 770 |
-
},
|
| 771 |
-
{
|
| 772 |
-
"image": "https://huggingface.co/WizWhite/the-wizard-s-vintage-romance-novel/resolve/main/5033837.jpeg",
|
| 773 |
-
"title": "WizWhite/the-wizard-s-vintage-romance-novel",
|
| 774 |
-
"repo": "WizWhite/the-wizard-s-vintage-romance-novel",
|
| 775 |
-
"trigger_word": "Book cover of a vintage romance novel",
|
| 776 |
-
"weights": "wizards_vintage_romance.safetensors",
|
| 777 |
-
"is_compatible": true,
|
| 778 |
-
"likes": 1,
|
| 779 |
-
"downloads": 86
|
| 780 |
-
},
|
| 781 |
-
{
|
| 782 |
-
"image": "https://huggingface.co/WizWhite/gildenface-xl-headshot-lora/resolve/main/3277226.jpeg",
|
| 783 |
-
"title": "WizWhite/gildenface-xl-headshot-lora",
|
| 784 |
-
"repo": "WizWhite/gildenface-xl-headshot-lora",
|
| 785 |
-
"trigger_word": "Gildenface portrait photo",
|
| 786 |
-
"weights": "GildenfaceXL_Headshot_LoRA_v1.safetensors",
|
| 787 |
-
"is_compatible": true,
|
| 788 |
-
"likes": 1,
|
| 789 |
-
"downloads": 104
|
| 790 |
-
},
|
| 791 |
-
{
|
| 792 |
-
"image": "https://huggingface.co/WizWhite/wizard-s-vintage-board-games/resolve/main/4390221.jpeg",
|
| 793 |
-
"title": "WizWhite/wizard-s-vintage-board-games",
|
| 794 |
-
"repo": "WizWhite/wizard-s-vintage-board-games",
|
| 795 |
-
"trigger_word": "Vintage board game box",
|
| 796 |
-
"weights": "Wizards_Vintage_Board_Game.safetensors",
|
| 797 |
-
"is_compatible": true,
|
| 798 |
-
"likes": 2,
|
| 799 |
-
"downloads": 105
|
| 800 |
-
},
|
| 801 |
-
{
|
| 802 |
-
"image": "https://huggingface.co/WizWhite/gustav-vasa-1496-1560-historical-king-of-sweden/resolve/main/4712224.jpeg",
|
| 803 |
-
"title": "WizWhite/gustav-vasa-1496-1560-historical-king-of-sweden",
|
| 804 |
-
"repo": "WizWhite/gustav-vasa-1496-1560-historical-king-of-sweden",
|
| 805 |
-
"trigger_word": "GVASA",
|
| 806 |
-
"weights": "GUSTAV_VASA-000002.safetensors",
|
| 807 |
-
"is_compatible": true,
|
| 808 |
-
"likes": 3,
|
| 809 |
-
"downloads": 77
|
| 810 |
-
},
|
| 811 |
-
{
|
| 812 |
-
"image": "https://huggingface.co/WizWhite/the-wizard-s-vintage-romance-novel/resolve/main/5033837.jpeg",
|
| 813 |
-
"title": "WizWhite/the-wizard-s-vintage-romance-novel",
|
| 814 |
-
"repo": "WizWhite/the-wizard-s-vintage-romance-novel",
|
| 815 |
-
"trigger_word": "Book cover of a vintage romance novel",
|
| 816 |
-
"weights": "wizards_vintage_romance.safetensors",
|
| 817 |
-
"is_compatible": true,
|
| 818 |
-
"likes": 1,
|
| 819 |
-
"downloads": 86
|
| 820 |
-
},
|
| 821 |
-
{
|
| 822 |
-
"image": "https://huggingface.co/Norod78/yet-another-sdxl-tattoo-lora/resolve/main/3334836.jpeg",
|
| 823 |
-
"title": "Norod78/yet-another-sdxl-tattoo-lora",
|
| 824 |
-
"repo": "Norod78/yet-another-sdxl-tattoo-lora",
|
| 825 |
-
"trigger_word": "tattoo",
|
| 826 |
-
"weights": "SDXL-tattoo-Lora.safetensors",
|
| 827 |
-
"is_compatible": true,
|
| 828 |
-
"likes": 3,
|
| 829 |
-
"downloads": 205
|
| 830 |
-
},
|
| 831 |
-
{
|
| 832 |
-
"image": "https://huggingface.co/EgadZoundsGadzooks/macos9-3dwallpapers-lora/resolve/main/images/66bf4d45-bae9-4d80-824b-4cdd35e6a42e.jpeg",
|
| 833 |
-
"title": "EgadZoundsGadzooks/macos9-3dwallpapers-lora",
|
| 834 |
-
"repo": "EgadZoundsGadzooks/macos9-3dwallpapers-lora",
|
| 835 |
-
"trigger_word": "simplistic repeating 3D pattern of simplified 3D objects",
|
| 836 |
-
"weights": "Mac OS 9 - 3D Wallpapers v1.0.safetensors",
|
| 837 |
-
"is_compatible": true,
|
| 838 |
-
"likes": 0,
|
| 839 |
-
"downloads": 176
|
| 840 |
-
},
|
| 841 |
-
{
|
| 842 |
-
"image": "https://huggingface.co/artificialguybr/CuteCartoonRedmond-V2/resolve/main/00418-1769284661.png",
|
| 843 |
-
"title": "artificialguybr/CuteCartoonRedmond-V2",
|
| 844 |
-
"repo": "artificialguybr/CuteCartoonRedmond-V2",
|
| 845 |
-
"trigger_word": "CuteCartoonAF, Cute Cartoon",
|
| 846 |
-
"weights": "CuteCartoonRedmond-CuteCartoon-CuteCartoonAF.safetensors",
|
| 847 |
-
"is_compatible": true,
|
| 848 |
-
"likes": 6,
|
| 849 |
-
"downloads": 3640
|
| 850 |
-
},
|
| 851 |
-
{
|
| 852 |
-
"image": "https://huggingface.co/Norod78/SDXL-YarnArtStyle-LoRA/resolve/main/images/00016-20240102204306-7790-Rick%20Sanchez%20Yarn%20art%20style%20%20_lora_SDXL_Yarn_Art_Style_1.0_.jpg",
|
| 853 |
-
"title": "Norod78/SDXL-YarnArtStyle-LoRA",
|
| 854 |
-
"repo": "Norod78/SDXL-YarnArtStyle-LoRA",
|
| 855 |
-
"trigger_word": "Yarn art style",
|
| 856 |
-
"weights": "SDXL_Yarn_Art_Style.safetensors",
|
| 857 |
-
"is_compatible": true,
|
| 858 |
-
"likes": 33,
|
| 859 |
-
"downloads": 2382
|
| 860 |
-
},
|
| 861 |
-
{
|
| 862 |
-
"image": "https://huggingface.co/blink7630/storyboard-sketch/resolve/main/2947992.jpeg",
|
| 863 |
-
"title": "blink7630/storyboard-sketch",
|
| 864 |
-
"repo": "blink7630/storyboard-sketch",
|
| 865 |
-
"trigger_word": "storyboard sketch of",
|
| 866 |
-
"weights": "Storyboard_sketch.safetensors",
|
| 867 |
-
"is_compatible": true,
|
| 868 |
-
"likes": 38,
|
| 869 |
-
"downloads": 1853
|
| 870 |
-
},
|
| 871 |
-
{
|
| 872 |
-
"image": "https://huggingface.co/artificialguybr/amigurami-redmond-amigurami-crochet-sd-xl-lora/resolve/main/7859340.jpeg",
|
| 873 |
-
"title": "artificialguybr/amigurami-redmond-amigurami-crochet-sd-xl-lora",
|
| 874 |
-
"repo": "artificialguybr/amigurami-redmond-amigurami-crochet-sd-xl-lora",
|
| 875 |
-
"trigger_word": "Amigurami",
|
| 876 |
-
"weights": "AmiguramiRedmond-Crochet-Amigurumi.safetensors",
|
| 877 |
-
"is_compatible": true,
|
| 878 |
-
"likes": 7,
|
| 879 |
-
"downloads": 609
|
| 880 |
-
},
|
| 881 |
-
{
|
| 882 |
-
"image": "https://huggingface.co/Changchoichang2104/StableDiffusionXL-Waltz-with-Bashir-style/resolve/main/images/a22ec06b-031c-454e-8fac-6a2f7dacddff.jpeg",
|
| 883 |
-
"title": "Changchoichang2104/StableDiffusionXL-Waltz-with-Bashir-style",
|
| 884 |
-
"repo": "Changchoichang2104/StableDiffusionXL-Waltz-with-Bashir-style",
|
| 885 |
-
"trigger_word": null,
|
| 886 |
-
"weights": "waltz-with-bashir-style-000010.safetensors",
|
| 887 |
-
"is_compatible": true,
|
| 888 |
-
"likes": 1,
|
| 889 |
-
"downloads": 298
|
| 890 |
-
},
|
| 891 |
-
{
|
| 892 |
-
"image": "https://huggingface.co/e-n-v-y/envy-oil-pastel-xl-01/resolve/main/3630371.jpeg",
|
| 893 |
-
"title": "e-n-v-y/envy-oil-pastel-xl-01",
|
| 894 |
-
"repo": "e-n-v-y/envy-oil-pastel-xl-01",
|
| 895 |
-
"trigger_word": "oil pastel",
|
| 896 |
-
"weights": "EnvyOilPastelXL01.safetensors",
|
| 897 |
-
"is_compatible": true,
|
| 898 |
-
"likes": 3,
|
| 899 |
-
"downloads": 597
|
| 900 |
-
},
|
| 901 |
-
{
|
| 902 |
-
"image": "https://huggingface.co/e-n-v-y/envy-ink-swirl-xl-01/resolve/main/4676624.jpeg",
|
| 903 |
-
"title": "e-n-v-y/envy-ink-swirl-xl-01",
|
| 904 |
-
"repo": "e-n-v-y/envy-ink-swirl-xl-01",
|
| 905 |
-
"trigger_word": "swirling ink",
|
| 906 |
-
"weights": "EnvyInkSwirlXL01.safetensors",
|
| 907 |
-
"is_compatible": true,
|
| 908 |
-
"likes": 2,
|
| 909 |
-
"downloads": 77
|
| 910 |
-
},
|
| 911 |
-
{
|
| 912 |
-
"image": "https://huggingface.co/e-n-v-y/envy-anime-watercolor-xl-01/resolve/main/4361796.jpeg",
|
| 913 |
-
"title": "e-n-v-y/envy-anime-watercolor-xl-01",
|
| 914 |
-
"repo": "e-n-v-y/envy-anime-watercolor-xl-01",
|
| 915 |
-
"trigger_word": "watercolor",
|
| 916 |
-
"weights": "EnvyAnimeWatercolorXL01.safetensors",
|
| 917 |
-
"is_compatible": true,
|
| 918 |
-
"likes": 5,
|
| 919 |
-
"downloads": 101
|
| 920 |
-
},
|
| 921 |
-
{
|
| 922 |
-
"image": "https://huggingface.co/e-n-v-y/envy-send-noodles-xl-01/resolve/main/2879347.jpeg",
|
| 923 |
-
"title": "e-n-v-y/envy-send-noodles-xl-01",
|
| 924 |
-
"repo": "e-n-v-y/envy-send-noodles-xl-01",
|
| 925 |
-
"trigger_word": "noodles",
|
| 926 |
-
"weights": "EnvySendNoodlesXL01.safetensors",
|
| 927 |
-
"is_compatible": true,
|
| 928 |
-
"likes": 3,
|
| 929 |
-
"downloads": 81
|
| 930 |
-
},
|
| 931 |
-
{
|
| 932 |
-
"image": "https://huggingface.co/Blib-la/honore_daumier_lora_sdxl/resolve/main/images/00154-480187136.png",
|
| 933 |
-
"title": "Blib-la/honore_daumier_lora_sdxl",
|
| 934 |
-
"repo": "Blib-la/honore_daumier_lora_sdxl",
|
| 935 |
-
"trigger_word": "caricature, lithography by Honor\u00e9 Daumier",
|
| 936 |
-
"weights": "honore_daumier_sdxl_v1.safetensors",
|
| 937 |
-
"is_compatible": true,
|
| 938 |
-
"likes": 3,
|
| 939 |
-
"downloads": 127
|
| 940 |
-
},
|
| 941 |
-
{
|
| 942 |
-
"image": "https://huggingface.co/Blib-la/thomas_rowlandson_lora_sdxl/resolve/main/images/00238-2223492874.png",
|
| 943 |
-
"title": "Blib-la/thomas_rowlandson_lora_sdxl",
|
| 944 |
-
"repo": "Blib-la/thomas_rowlandson_lora_sdxl",
|
| 945 |
-
"trigger_word": "hand painted etching by thomas rowlandson",
|
| 946 |
-
"weights": "thomas_rowlandson_sdxl_v1.safetensors",
|
| 947 |
-
"is_compatible": true,
|
| 948 |
-
"likes": 3,
|
| 949 |
-
"downloads": 156
|
| 950 |
-
},
|
| 951 |
-
{
|
| 952 |
-
"image": "https://huggingface.co/Blib-la/eugene_atget_lora_sdxl/resolve/main/images/00147-693647877.png",
|
| 953 |
-
"title": "Blib-la/eugene_atget_lora_sdxl",
|
| 954 |
-
"repo": "Blib-la/eugene_atget_lora_sdxl",
|
| 955 |
-
"trigger_word": "by eugene atget",
|
| 956 |
-
"weights": "eugene_atget_sdxl_v1.safetensors",
|
| 957 |
-
"is_compatible": true,
|
| 958 |
-
"likes": 3,
|
| 959 |
-
"downloads": 131
|
| 960 |
-
},
|
| 961 |
-
{
|
| 962 |
-
"image": "https://huggingface.co/Blib-la/caricature_lora_sdxl/resolve/main/images/00543-3110114300.png",
|
| 963 |
-
"title": "Blib-la/caricature_lora_sdxl",
|
| 964 |
-
"repo": "Blib-la/caricature_lora_sdxl",
|
| 965 |
-
"trigger_word": null,
|
| 966 |
-
"weights": "caricature_sdxl_v2.safetensors",
|
| 967 |
-
"is_compatible": true,
|
| 968 |
-
"likes": 5,
|
| 969 |
-
"downloads": 227,
|
| 970 |
-
"new": true
|
| 971 |
-
},
|
| 972 |
-
{
|
| 973 |
-
"image": "https://huggingface.co/Blib-la/used_leather_lora_sdxl/resolve/main/images/00089-3023579477.png",
|
| 974 |
-
"title": "Blib-la/used_leather_lora_sdxl",
|
| 975 |
-
"repo": "Blib-la/used_leather_lora_sdxl",
|
| 976 |
-
"trigger_word": "used leather",
|
| 977 |
-
"weights": "used_leather_sdxl_v1.safetensors",
|
| 978 |
-
"is_compatible": true,
|
| 979 |
-
"likes": 9,
|
| 980 |
-
"downloads": 647
|
| 981 |
-
},
|
| 982 |
-
{
|
| 983 |
-
"image": "https://huggingface.co/Norod78/SDXL-Psychemelt-style-LoRA/resolve/main/images/00060-20240218175959-7784-Pikachu%20psychemelt%20style%20_lora_SDXL_Psychemelt_style_LoRA_0.8_.jpg",
|
| 984 |
-
"title": "Norod78/SDXL-Psychemelt-style-LoRA",
|
| 985 |
-
"repo": "Norod78/SDXL-Psychemelt-style-LoRA",
|
| 986 |
-
"trigger_word": "psychemelt style, in an LSD trip psychemelt style",
|
| 987 |
-
"weights": "SDXL_Psychemelt_style_LoRA-000007.safetensors",
|
| 988 |
-
"is_compatible": true,
|
| 989 |
-
"likes": 2,
|
| 990 |
-
"downloads": 140
|
| 991 |
-
},
|
| 992 |
-
{
|
| 993 |
-
"image": "https://huggingface.co/Norod78/fruits-and-vegetables-gone-bad-sdxl-lora/resolve/main/6326319.jpeg",
|
| 994 |
-
"title": "Norod78/fruits-and-vegetables-gone-bad-sdxl-lora",
|
| 995 |
-
"repo": "Norod78/fruits-and-vegetables-gone-bad-sdxl-lora",
|
| 996 |
-
"trigger_word": "FaVGoneBad",
|
| 997 |
-
"weights": "Fruits_and_Vegetables_gone_bad_-_SDXL_LoRA-000007.safetensors",
|
| 998 |
-
"is_compatible": true,
|
| 999 |
-
"likes": 3,
|
| 1000 |
-
"downloads": 128
|
| 1001 |
-
},
|
| 1002 |
-
{
|
| 1003 |
-
"image": "https://huggingface.co/Norod78/SDXL-DollZ-Style-LoRA/resolve/main/images/00045-20240122220020-7827-Pikachu%20DollZ%20style%20_lora_DollZ_style_0.8_.jpg",
|
| 1004 |
-
"title": "Norod78/SDXL-DollZ-Style-LoRA",
|
| 1005 |
-
"repo": "Norod78/SDXL-DollZ-Style-LoRA",
|
| 1006 |
-
"trigger_word": "DollZ style",
|
| 1007 |
-
"weights": "DollZ_style.safetensors",
|
| 1008 |
-
"is_compatible": true,
|
| 1009 |
-
"likes": 1,
|
| 1010 |
-
"downloads": 80
|
| 1011 |
-
},
|
| 1012 |
-
{
|
| 1013 |
-
"image": "https://huggingface.co/Norod78/SDXL-LaundryArt-LoRA-r32/resolve/main/images/00012-20240117133725-7777-A%20crazy%20clown%20LaundryArt%20_lora_LaundryArt_LoRA_1_.jpg",
|
| 1014 |
-
"title": "Norod78/SDXL-LaundryArt-LoRA-r32",
|
| 1015 |
-
"repo": "Norod78/SDXL-LaundryArt-LoRA-r32",
|
| 1016 |
-
"trigger_word": "LaundryArt",
|
| 1017 |
-
"weights": "LaundryArt_LoRA-r32.safetensors",
|
| 1018 |
-
"is_compatible": true,
|
| 1019 |
-
"likes": 2,
|
| 1020 |
-
"downloads": 82,
|
| 1021 |
-
"new": true
|
| 1022 |
-
},
|
| 1023 |
-
{
|
| 1024 |
-
"image": "https://huggingface.co/Norod78/SDXL-HuWoof-LoRA/resolve/main/images/00013-20240113231444-7801-The%20Starry%20Night%20HuWoof%20_lora_SDXL_HuWoof_LoRA_1_.jpeg",
|
| 1025 |
-
"title": "Norod78/SDXL-HuWoof-LoRA",
|
| 1026 |
-
"repo": "Norod78/SDXL-HuWoof-LoRA",
|
| 1027 |
-
"trigger_word": "HuWoof",
|
| 1028 |
-
"weights": "SDXL_HuWoof_LoRA-000004.safetensors",
|
| 1029 |
-
"is_compatible": true,
|
| 1030 |
-
"likes": 1,
|
| 1031 |
-
"downloads": 73
|
| 1032 |
-
},
|
| 1033 |
-
{
|
| 1034 |
-
"image": "https://huggingface.co/Norod78/sdxl-chalkboarddrawing-lora/resolve/main/5329308.jpeg",
|
| 1035 |
-
"title": "Norod78/sdxl-chalkboarddrawing-lora",
|
| 1036 |
-
"repo": "Norod78/sdxl-chalkboarddrawing-lora",
|
| 1037 |
-
"trigger_word": null,
|
| 1038 |
-
"weights": "SDXL_ChalkBoardDrawing_LoRA_r8.safetensors",
|
| 1039 |
-
"is_compatible": true,
|
| 1040 |
-
"likes": 2,
|
| 1041 |
-
"downloads": 200
|
| 1042 |
-
},
|
| 1043 |
-
{
|
| 1044 |
-
"image": "https://huggingface.co/Norod78/SDXL-JojosoStyle-Lora-v2/resolve/main/4002501.jpeg",
|
| 1045 |
-
"title": "Norod78/SDXL-JojosoStyle-Lora-v2",
|
| 1046 |
-
"repo": "Norod78/SDXL-JojosoStyle-Lora-v2",
|
| 1047 |
-
"trigger_word": "Jojosostyle",
|
| 1048 |
-
"weights": "SDXL-JojosoStyle-Lora-v2-r16.safetensors",
|
| 1049 |
-
"is_compatible": true,
|
| 1050 |
-
"likes": 3,
|
| 1051 |
-
"downloads": 88
|
| 1052 |
-
},
|
| 1053 |
-
{
|
| 1054 |
-
"image": "https://huggingface.co/Norod78/sdxl-futurama-style-lora/resolve/main/2705525.jpeg",
|
| 1055 |
-
"title": "Norod78/sdxl-futurama-style-lora",
|
| 1056 |
-
"repo": "Norod78/sdxl-futurama-style-lora",
|
| 1057 |
-
"trigger_word": "FuturamaStyle",
|
| 1058 |
-
"weights": "SDXL-FuturamaStyle-Lora.safetensors",
|
| 1059 |
-
"is_compatible": true,
|
| 1060 |
-
"likes": 1,
|
| 1061 |
-
"downloads": 96
|
| 1062 |
-
},
|
| 1063 |
-
{
|
| 1064 |
-
"image": "https://huggingface.co/nerijs/pixelportraits192-XL-v1.0/resolve/main/images/pixel-0055-1623441747.png",
|
| 1065 |
-
"title": "nerijs/pixelportraits192-XL-v1.0",
|
| 1066 |
-
"repo": "nerijs/pixelportraits192-XL-v1.0",
|
| 1067 |
-
"trigger_word": "",
|
| 1068 |
-
"weights": "pixelportraits192-v1-2151.safetensors",
|
| 1069 |
-
"is_compatible": true,
|
| 1070 |
-
"likes": 2,
|
| 1071 |
-
"downloads": 75,
|
| 1072 |
-
"new": true
|
| 1073 |
-
},
|
| 1074 |
-
{
|
| 1075 |
-
"image":"https://huggingface.co/artificialguybr/ps1redmond-ps1-game-graphics-lora-for-sdxl/resolve/main/5177876.jpeg",
|
| 1076 |
-
"title": "artificialguybr/ps1redmond-ps1-game-graphics-lora-for-sdxl",
|
| 1077 |
-
"repo": "artificialguybr/ps1redmond-ps1-game-graphics-lora-for-sdxl",
|
| 1078 |
-
"trigger_word": "playstation 1 graphics, PS1 Game,",
|
| 1079 |
-
"weights": "PS1Redmond-PS1Game-Playstation1Graphics.safetensors",
|
| 1080 |
-
"is_compatible": true,
|
| 1081 |
-
"likes": 9,
|
| 1082 |
-
"downloads": 4152
|
| 1083 |
-
},
|
| 1084 |
-
{
|
| 1085 |
-
"repo": "multimodalart/handpaintedbrazil",
|
| 1086 |
-
"title": "multimodalart/handpaintedbrazil",
|
| 1087 |
-
"image": "https://huggingface.co/multimodalart/handpaintedbrazil/resolve/main/image-6.png",
|
| 1088 |
-
"trigger_word": "in the style of <s0><s1>",
|
| 1089 |
-
"weights": "pytorch_lora_weights.safetensors",
|
| 1090 |
-
"is_compatible": true,
|
| 1091 |
-
"likes": 9,
|
| 1092 |
-
"downloads": 155
|
| 1093 |
}
|
| 1094 |
]
|
|
|
|
| 95 |
"downloads": 0
|
| 96 |
},
|
| 97 |
{
|
| 98 |
+
"image": "https://huggingface.co/artificialguybr/ColoringBookRedmond/resolve/main/00009-1364020674.png",
|
| 99 |
+
"title": "ColoringBook.Redmond",
|
| 100 |
+
"repo": "artificialguybr/ColoringBookRedmond",
|
| 101 |
"trigger_word": "ColoringBookAF",
|
| 102 |
+
"weights": "ColoringBookRedmond-ColoringBookAF.safetensors",
|
| 103 |
"is_compatible": true,
|
| 104 |
+
"likes": 7,
|
| 105 |
"downloads": 0
|
| 106 |
},
|
| 107 |
{
|
|
|
|
| 559 |
"title": "SDXL-VintageMagStyle-Lora",
|
| 560 |
"trigger_word": "VintageMagStyle",
|
| 561 |
"is_compatible": true,
|
| 562 |
+
"image": "https://huggingface.co/Norod78/SDXL-VintageMagStyle-Lora/resolve/main/Examples/00015-20230906102032-7778-Wonderwoman VintageMagStyle _lora_SDXL-VintageMagStyle-Lora_1_, Very detailed, clean, high quality, sharp image.jpg",
|
| 563 |
"weights": "SDXL-VintageMagStyle-Lora.safetensors",
|
| 564 |
"likes": 7,
|
| 565 |
"downloads": 0
|
|
|
|
| 665 |
"weights": "ClayAnimationRedm.safetensors"
|
| 666 |
},
|
| 667 |
{
|
| 668 |
+
"image":"https://replicate.delivery/pbxt/aVhJriYftYQCFCd81DrvNGktIcOlJrb3fifcOTQ3yI7LZWxiA/out-0.png",
|
| 669 |
+
"repo": "fofr/sdxl-vision-pro",
|
| 670 |
+
"title": "SDXL Vision Pro",
|
| 671 |
+
"trigger_word": "<s0><s1> VR headset",
|
| 672 |
+
"weights": "lora.safetensors",
|
| 673 |
+
"text_embedding_weights": "embeddings.pti",
|
| 674 |
+
"is_compatible": false,
|
| 675 |
+
"is_pivotal": true,
|
| 676 |
+
"likes": 1,
|
| 677 |
+
"downloads": 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 678 |
}
|
| 679 |
]
|
share_btn.py
CHANGED
|
@@ -24,18 +24,15 @@ share_js = """async () => {
|
|
| 24 |
}
|
| 25 |
|
| 26 |
async function getInputImgFile(imgEl){
|
| 27 |
-
console.log(imgEl)
|
| 28 |
const res = await fetch(imgEl.src);
|
| 29 |
-
console.log(res)
|
| 30 |
const blob = await res.blob();
|
| 31 |
-
console.log(blob.type)
|
| 32 |
const imgId = Date.now() % 200;
|
| 33 |
-
const isPng =
|
| 34 |
if(isPng){
|
| 35 |
-
const fileName = `sd-perception-${imgId}.png`;
|
| 36 |
return new File([blob], fileName, { type: 'image/png' });
|
| 37 |
}else{
|
| 38 |
-
const fileName = `sd-perception-${imgId}.jpg`;
|
| 39 |
return new File([blob], fileName, { type: 'image/jpeg' });
|
| 40 |
}
|
| 41 |
}
|
|
|
|
| 24 |
}
|
| 25 |
|
| 26 |
async function getInputImgFile(imgEl){
|
|
|
|
| 27 |
const res = await fetch(imgEl.src);
|
|
|
|
| 28 |
const blob = await res.blob();
|
|
|
|
| 29 |
const imgId = Date.now() % 200;
|
| 30 |
+
const isPng = imgEl.src.startsWith(`data:image/png`);
|
| 31 |
if(isPng){
|
| 32 |
+
const fileName = `sd-perception-${{imgId}}.png`;
|
| 33 |
return new File([blob], fileName, { type: 'image/png' });
|
| 34 |
}else{
|
| 35 |
+
const fileName = `sd-perception-${{imgId}}.jpg`;
|
| 36 |
return new File([blob], fileName, { type: 'image/jpeg' });
|
| 37 |
}
|
| 38 |
}
|