Spaces:
Running
on
Zero
Running
on
Zero
from .imagenhub_models import load_imagenhub_model | |
from .playground_api import load_playground_model | |
from .fal_api_models import load_fal_model | |
from .videogenhub_models import load_videogenhub_model | |
from ..model_registry import model_info | |
# IMAGE_GENERATION_MODELS = ['fal_LCM(v1.5/XL)_text2image','fal_SDXLTurbo_text2image','fal_SDXL_text2image', 'imagenhub_PixArtAlpha_generation', 'fal_PixArtSigma_text2image', | |
# 'imagenhub_OpenJourney_generation','fal_SDXLLightning_text2image', 'fal_StableCascade_text2image', | |
# 'playground_PlayGroundV2_generation', 'playground_PlayGroundV2.5_generation'] | |
IMAGE_GENERATION_MODELS = ['imagenhub_SDXLTurbo_generation','imagenhub_SDXL_generation', 'imagenhub_PixArtAlpha_generation', 'imagenhub_PixArtSigma_generation', | |
'imagenhub_OpenJourney_generation','imagenhub_SDXLLightning_generation', 'imagenhub_StableCascade_generation', 'imagenhub_HunyuanDiT_generation', | |
'playground_PlayGroundV2.5_generation', 'imagenhub_Kolors_generation', 'imagenhub_SD3_generation', | |
'fal_AuraFlow_text2image', 'fal_FLUX1schnell_text2image', 'fal_FLUX1dev_text2image'] # 'playground_PlayGroundV2_generation' | |
IMAGE_EDITION_MODELS = ['imagenhub_CycleDiffusion_edition', 'imagenhub_Pix2PixZero_edition', 'imagenhub_Prompt2prompt_edition', | |
'imagenhub_SDEdit_edition', 'imagenhub_InstructPix2Pix_edition', | |
'imagenhub_MagicBrush_edition', 'imagenhub_PNP_edition', | |
'imagenhub_InfEdit_edition', 'imagenhub_CosXLEdit_edition', 'imagenhub_UltraEdit_edition', 'imagenhub_AURORA_edition'] | |
VIDEO_GENERATION_MODELS = ['fal_AnimateDiff_text2video', | |
'fal_AnimateDiffTurbo_text2video', | |
#'videogenhub_LaVie_generation', | |
'videogenhub_VideoCrafter2_generation', | |
#'videogenhub_ModelScope_generation', | |
'videogenhub_CogVideoX-2B_generation', | |
'videogenhub_OpenSora12_generation', | |
#'videogenhub_OpenSora_generation', | |
#'videogenhub_T2VTurbo_generation', | |
'fal_T2VTurbo_text2video', | |
'fal_StableVideoDiffusion_text2video', | |
'fal_CogVideoX-5B_text2video', | |
'videogenhub_PyramidFlow_text2video', | |
'videogenhub_Allegro_text2video', | |
'videogenhub_LTXVideo_text2video', | |
'videogenhub_Mochi1_text2video'] | |
MAP_NAMES_IMAGENHUB = {} | |
MAP_NAMES_VIDEOGENHUB = {"CogVideoX-2B": "CogVideoX", "CogVideoX-5B": "CogVideoX5B"} | |
MUSEUM_UNSUPPORTED_MODELS = [] | |
DESIRED_APPEAR_MODEL = ['videogenhub_T2VTurbo_generation','fal_StableVideoDiffusion_text2video'] | |
ALL_MODELS = IMAGE_GENERATION_MODELS + IMAGE_EDITION_MODELS + VIDEO_GENERATION_MODELS | |
missing_models = [model for model in ALL_MODELS if model not in model_info] | |
if missing_models: | |
raise ValueError(f"Missing models in model_info: {missing_models}") | |
def load_pipeline(model_name): | |
""" | |
Load a model pipeline based on the model name | |
Args: | |
model_name (str): The name of the model to load, should be of the form {source}_{name}_{type} | |
the source can be either imagenhub or playground | |
the name is the name of the model used to load the model | |
the type is the type of the model, either generation or edition | |
""" | |
model_source, model_name, model_type = model_name.split("_") | |
# TODO ^Support model_name that contains _ in the name | |
print("model_source, model_name, model_type =", model_source, model_name, model_type) | |
if model_source == "imagenhub": | |
# This approach uses get() to try to fetch the value associated with model_name. If model_name isn't found in the dictionary, | |
# it defaults to the current value of model_name, | |
model_name = MAP_NAMES_IMAGENHUB.get(model_name, model_name) | |
pipe = load_imagenhub_model(model_name, model_type) | |
elif model_source == "playground": | |
pipe = load_playground_model(model_name) | |
elif model_source == "fal": | |
pipe = load_fal_model(model_name, model_type) | |
elif model_source == "videogenhub": | |
# This approach uses get() to try to fetch the value associated with model_name. If model_name isn't found in the dictionary, | |
# it defaults to the current value of model_name, | |
model_name = MAP_NAMES_VIDEOGENHUB.get(model_name, model_name) | |
pipe = load_videogenhub_model(model_name) | |
else: | |
raise ValueError(f"Model source {model_source} not supported") | |
return pipe |