from .diffusion_utils import build_pipeline NAME_TO_MODEL = { "stable-diffusion-v1-4": { "model" : "CompVis/stable-diffusion-v1-4", "unet" : "CompVis/stable-diffusion-v1-4", "tokenizer" : "openai/clip-vit-large-patch14", "text_encoder" : "openai/clip-vit-large-patch14", }, "stable_diffusion_v2_1": { "model" : "stabilityai/stable-diffusion-2-1", "unet" : "stabilityai/stable-diffusion-2-1", "tokenizer" : "laion/CLIP-ViT-H-14-laion2B-s32B-b79K", "text_encoder" : "laion/CLIP-ViT-H-14-laion2B-s32B-b79K", } } def get_model(model_name): model = NAME_TO_MODEL.get(model_name) if model is None: raise ValueError(f"Model name {model_name} not found. Available models: {list(NAME_TO_MODEL.keys())}") vae, tokenizer, text_encoder, unet = build_pipeline(model["model"], model["tokenizer"], model["text_encoder"], model["unet"]) return vae, tokenizer, text_encoder, unet