Spaces:
Running
Running
from sdutils import get_dtypes, SCHEDULER_CONFIG_MAP | |
import gradio as gr | |
DEFAULT_DTYPE = get_dtypes()[0] | |
schedulers = list(SCHEDULER_CONFIG_MAP.keys()) | |
clips = [ | |
"", | |
"openai/clip-vit-large-patch14", | |
] | |
t5s = [ | |
"", | |
"https://huggingface.co/camenduru/FLUX.1-dev/blob/main/t5xxl_fp8_e4m3fn.safetensors", | |
] | |
sdxl_vaes = [ | |
"", | |
"https://huggingface.co/madebyollin/sdxl-vae-fp16-fix/blob/main/sdxl.vae.safetensors", | |
"https://huggingface.co/nubby/blessed-sdxl-vae-fp16-fix/blob/main/sdxl_vae-fp16fix-blessed.safetensors", | |
"https://huggingface.co/John6666/safetensors_converting_test/blob/main/xlVAEC_e7.safetensors", | |
"https://huggingface.co/John6666/safetensors_converting_test/blob/main/xlVAEC_f1.safetensors", | |
] | |
sdxl_loras = [ | |
"", | |
"https://huggingface.co/SPO-Diffusion-Models/SPO-SDXL_4k-p_10ep_LoRA/blob/main/spo_sdxl_10ep_4k-data_lora_diffusers.safetensors", | |
"https://huggingface.co/wangfuyun/PCM_Weights/blob/main/sdxl/pcm_sdxl_smallcfg_2step_converted.safetensors", | |
"https://huggingface.co/wangfuyun/PCM_Weights/blob/main/sdxl/pcm_sdxl_smallcfg_4step_converted.safetensors", | |
"https://huggingface.co/wangfuyun/PCM_Weights/blob/main/sdxl/pcm_sdxl_smallcfg_8step_converted.safetensors", | |
"https://huggingface.co/wangfuyun/PCM_Weights/blob/main/sdxl/pcm_sdxl_normalcfg_8step_converted.safetensors", | |
"https://huggingface.co/wangfuyun/PCM_Weights/blob/main/sdxl/pcm_sdxl_normalcfg_16step_converted.safetensors", | |
"https://huggingface.co/ByteDance/Hyper-SD/blob/main/Hyper-SDXL-1step-lora.safetensors", | |
"https://huggingface.co/ByteDance/Hyper-SD/blob/main/Hyper-SDXL-2steps-lora.safetensors", | |
"https://huggingface.co/ByteDance/Hyper-SD/blob/main/Hyper-SDXL-4steps-lora.safetensors", | |
"https://huggingface.co/ByteDance/Hyper-SD/blob/main/Hyper-SDXL-8steps-CFG-lora.safetensors", | |
"https://huggingface.co/ByteDance/Hyper-SD/blob/main/Hyper-SDXL-12steps-CFG-lora.safetensors", | |
"https://huggingface.co/latent-consistency/lcm-lora-sdxl/blob/main/pytorch_lora_weights.safetensors", | |
] | |
sdxl_preset_items = ["dtype", "vae", "scheduler", "lora1", "lora1s", "lora2", "lora2s", "lora3", "lora3s", "lora4", "lora4s", "lora5", "lora5s"] | |
sdxl_preset_dict = { | |
"Default": [DEFAULT_DTYPE, "", "Euler a", "", 1.0, "", 1.0, "", 1.0, "", 1.0, "", 1.0], | |
"Bake in standard VAE": [DEFAULT_DTYPE, "https://huggingface.co/madebyollin/sdxl-vae-fp16-fix/blob/main/sdxl.vae.safetensors", | |
"Euler a", "", 1.0, "", 1.0, "", 1.0, "", 1.0, "", 1.0], | |
"Hyper-SDXL / SPO": [DEFAULT_DTYPE, "https://huggingface.co/madebyollin/sdxl-vae-fp16-fix/blob/main/sdxl.vae.safetensors", | |
"TCD", "https://huggingface.co/ByteDance/Hyper-SD/blob/main/Hyper-SDXL-8steps-CFG-lora.safetensors", 1.0, | |
"https://huggingface.co/SPO-Diffusion-Models/SPO-SDXL_4k-p_10ep_LoRA/blob/main/spo_sdxl_10ep_4k-data_lora_diffusers.safetensors", | |
1.0, "", 1.0, "", 1.0, "", 1.0], | |
} | |
def sdxl_set_presets(preset: str="Default"): | |
p = [] | |
if preset in sdxl_preset_dict.keys(): p = sdxl_preset_dict[preset] | |
else: p = sdxl_preset_dict["Default"] | |
if len(p) != len(sdxl_preset_items): raise gr.Error("Invalid preset.") | |
print("Setting SDXL preset:", ", ".join([f"{x}:{y}" for x, y in zip(sdxl_preset_items, p)])) | |
return p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7], p[8], p[9], p[10], p[11], p[12] | |
sd15_vaes = [ | |
"", | |
"https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.ckpt", | |
"https://huggingface.co/stabilityai/sd-vae-ft-ema-original/resolve/main/vae-ft-ema-560000-ema-pruned.ckpt", | |
] | |
sd15_loras = [ | |
"", | |
"https://huggingface.co/SPO-Diffusion-Models/SPO-SD-v1-5_4k-p_10ep_LoRA/blob/main/spo-sd-v1-5_4k-p_10ep_lora_diffusers.safetensors", | |
] | |
sd15_preset_items = ["dtype", "vae", "scheduler", "lora1", "lora1s", "lora2", "lora2s", "lora3", "lora3s", "lora4", "lora4s", "lora5", "lora5s", "ema"] | |
sd15_preset_dict = { | |
"Default": [DEFAULT_DTYPE, "", "Euler", "", 1.0, "", 1.0, "", 1.0, "", 1.0, "", 1.0, True], | |
"Bake in standard VAE": [DEFAULT_DTYPE, "https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.ckpt", | |
"Euler", "", 1.0, "", 1.0, "", 1.0, "", 1.0, "", 1.0, True], | |
} | |
def sd15_set_presets(preset: str="Default"): | |
p = [] | |
if preset in sd15_preset_dict.keys(): p = sd15_preset_dict[preset] | |
else: p = sd15_preset_dict["Default"] | |
if len(p) != len(sd15_preset_items): raise gr.Error("Invalid preset.") | |
print("Setting SD1.5 preset:", ", ".join([f"{x}:{y}" for x, y in zip(sd15_preset_items, p)])) | |
return p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7], p[8], p[9], p[10], p[11], p[12], p[13] | |
flux_vaes = [ | |
"", | |
] | |
flux_loras = [ | |
"", | |
] | |
flux_preset_items = ["dtype", "vae", "scheduler", "lora1", "lora1s", "lora2", "lora2s", "lora3", "lora3s", "lora4", "lora4s", "lora5", "lora5s", "base_repo"] | |
flux_preset_dict = { | |
"dev": ["bf16", "", "", "", 1.0, "", 1.0, "", 1.0, "", 1.0, "", 1.0, "camenduru/FLUX.1-dev-diffusers"], | |
"schnell": ["bf16", "", "", "", 1.0, "", 1.0, "", 1.0, "", 1.0, "", 1.0, "black-forest-labs/FLUX.1-schnell"], | |
} | |
def flux_set_presets(preset: str="dev"): | |
p = [] | |
if preset in flux_preset_dict.keys(): p = flux_preset_dict[preset] | |
else: p = flux_preset_dict["dev"] | |
if len(p) != len(flux_preset_items): raise gr.Error("Invalid preset.") | |
print("Setting FLUX.1 preset:", ", ".join([f"{x}:{y}" for x, y in zip(flux_preset_items, p)])) | |
return p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7], p[8], p[9], p[10], p[11], p[12], p[13] | |
sd35_vaes = [ | |
"", | |
] | |
sd35_loras = [ | |
"", | |
] | |
sd35_preset_items = ["dtype", "vae", "scheduler", "lora1", "lora1s", "lora2", "lora2s", "lora3", "lora3s", "lora4", "lora4s", "lora5", "lora5s", "base_repo"] | |
sd35_preset_dict = { | |
"Default": ["bf16", "", "", "", 1.0, "", 1.0, "", 1.0, "", 1.0, "", 1.0, "adamo1139/stable-diffusion-3.5-large-ungated"], | |
} | |
def sd35_set_presets(preset: str="dev"): | |
p = [] | |
if preset in sd35_preset_dict.keys(): p = sd35_preset_dict[preset] | |
else: p = sd35_preset_dict["Default"] | |
if len(p) != len(sd35_preset_items): raise gr.Error("Invalid preset.") | |
print("Setting SD3.5 preset:", ", ".join([f"{x}:{y}" for x, y in zip(sd35_preset_items, p)])) | |
return p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7], p[8], p[9], p[10], p[11], p[12], p[13] | |