Spaces:
Runtime error
Runtime error
from __future__ import annotations | |
from ..enums import StableDiffusionVersion | |
from typing import NamedTuple, Optional, List | |
class IPAdapterPreset(NamedTuple): | |
"""Preset for IPAdapter.""" | |
name: str | |
module: str # Preprocessor | |
model: str # Name of model file | |
sd_version: StableDiffusionVersion # Supported SD version. | |
lora: Optional[str] = None | |
def match_model(model_name: str) -> IPAdapterPreset: | |
model_name = model_name.split("[")[0].strip() | |
assert ( | |
model_name in _preset_by_model | |
), f"{model_name} not found in ipadapter presets. Please try manually pick preprocessor." | |
return _preset_by_model[model_name] | |
clip_h = "ip-adapter_clip_h" | |
clip_g = "ip-adapter_clip_g" | |
insightface = "ip-adapter_face_id" | |
insightface_clip_h = "ip-adapter_face_id_plus" | |
ipadapter_presets: List[IPAdapterPreset] = [ | |
IPAdapterPreset( | |
name="light", | |
module=clip_h, | |
model="ip-adapter_sd15_light", | |
sd_version=StableDiffusionVersion.SD1x, | |
), | |
IPAdapterPreset( | |
name="light_v11", | |
module=clip_h, | |
model="ip-adapter_sd15_light_v11", | |
sd_version=StableDiffusionVersion.SD1x, | |
), | |
IPAdapterPreset( | |
name="vit-g", | |
module=clip_g, | |
model="ip-adapter_sd15_vit-G", | |
sd_version=StableDiffusionVersion.SD1x, | |
), | |
IPAdapterPreset( | |
name="standard", | |
module=clip_h, | |
model="ip-adapter_sd15", | |
sd_version=StableDiffusionVersion.SD1x, | |
), | |
IPAdapterPreset( | |
name="plus", | |
module=clip_h, | |
model="ip-adapter-plus_sd15", | |
sd_version=StableDiffusionVersion.SD1x, | |
), | |
IPAdapterPreset( | |
name="plus", | |
module=clip_h, | |
model="ip-adapter_sd15_plus", | |
sd_version=StableDiffusionVersion.SD1x, | |
), | |
IPAdapterPreset( | |
name="plus-composition", | |
module=clip_h, | |
model="ip-adapter_plus_composition_sd15", | |
sd_version=StableDiffusionVersion.SD1x, | |
), | |
IPAdapterPreset( | |
name="plus_face", | |
module=clip_h, | |
model="ip-adapter-plus-face_sd15", | |
sd_version=StableDiffusionVersion.SD1x, | |
), | |
IPAdapterPreset( | |
name="full_face", | |
module=clip_h, | |
model="ip-adapter-full-face_sd15", | |
sd_version=StableDiffusionVersion.SD1x, | |
), | |
IPAdapterPreset( | |
name="face_id", | |
module=insightface, | |
model="ip-adapter-faceid_sd15", | |
lora="ip-adapter-faceid_sd15_lora", | |
sd_version=StableDiffusionVersion.SD1x, | |
), | |
IPAdapterPreset( | |
name="face_id_plus", | |
module=insightface_clip_h, | |
model="ip-adapter-faceid-plus_sd15", | |
lora="ip-adapter-faceid-plus_sd15_lora", | |
sd_version=StableDiffusionVersion.SD1x, | |
), | |
IPAdapterPreset( | |
name="face_id_plus_v2", | |
module=insightface_clip_h, | |
model="ip-adapter-faceid-plusv2_sd15", | |
lora="ip-adapter-faceid-plusv2_sd15_lora", | |
sd_version=StableDiffusionVersion.SD1x, | |
), | |
IPAdapterPreset( | |
name="face_id_portrait", | |
module=insightface, | |
model="ip-adapter-faceid-portrait_sd15", | |
sd_version=StableDiffusionVersion.SD1x, | |
), | |
IPAdapterPreset( | |
name="face_id_portrait_v11", | |
module=insightface, | |
model="ip-adapter-faceid-portrait-v11_sd15", | |
sd_version=StableDiffusionVersion.SD1x, | |
), | |
IPAdapterPreset( | |
name="standard-g", | |
module=clip_g, | |
model="ip-adapter_sdxl", | |
sd_version=StableDiffusionVersion.SDXL, | |
), | |
IPAdapterPreset( | |
name="standard-h", | |
module=clip_h, | |
model="ip-adapter_sdxl_vit-h", | |
sd_version=StableDiffusionVersion.SDXL, | |
), | |
IPAdapterPreset( | |
name="plus-h", | |
module=clip_h, | |
model="ip-adapter-plus_sdxl_vit-h", | |
sd_version=StableDiffusionVersion.SDXL, | |
), | |
IPAdapterPreset( | |
name="plus-composition", | |
module=clip_h, | |
model="ip-adapter_plus_composition_sdxl", | |
sd_version=StableDiffusionVersion.SDXL, | |
), | |
IPAdapterPreset( | |
name="plus_face-h", | |
module=clip_h, | |
model="ip-adapter-plus-face_sdxl_vit-h", | |
sd_version=StableDiffusionVersion.SDXL, | |
), | |
IPAdapterPreset( | |
name="face_id", | |
module=insightface, | |
model="ip-adapter-faceid_sdxl", | |
lora="ip-adapter-faceid_sdxl_lora", | |
sd_version=StableDiffusionVersion.SDXL, | |
), | |
IPAdapterPreset( | |
name="face_id_plusv2", | |
module=insightface_clip_h, | |
model="ip-adapter-faceid-plusv2_sdxl", | |
lora="ip-adapter-faceid-plusv2_sdxl_lora", | |
sd_version=StableDiffusionVersion.SDXL, | |
), | |
IPAdapterPreset( | |
name="face_id_portrait", | |
module=insightface, | |
model="ip-adapter-faceid-portrait_sdxl", | |
sd_version=StableDiffusionVersion.SDXL, | |
), | |
] | |
_preset_by_model = {p.model: p for p in ipadapter_presets} | |