delay init of video models

Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
Vladimir Mandic
2026-06-20 10:28:46 +02:00
parent 2b81eadecf
commit 8d71d5206d
5 changed files with 271 additions and 258 deletions
+2
View File
@@ -6,6 +6,8 @@
- **SDNQ** support for NPU during quantization and inference
- add option: force dtype on load
use to force model components to override loading with desired dtype regardless of component config
- **Internal**
- delay init of video models
- **Fixes**
- `sdnq` warn instead of error for triton
- `insightface` missing dependencies
+4 -1
View File
@@ -555,7 +555,10 @@ def validate_pipeline(p: processing.StableDiffusionProcessing):
for family in video_models:
for m in video_models[family]:
if m.repo_cls is not None:
models_cls.append(m.repo_cls.__name__)
if isinstance(m.repo_cls, str):
models_cls.append(m.repo_cls)
else:
models_cls.append(m.repo_cls.__name__)
if m.custom is not None:
models_cls.append(m.custom)
is_video_model = shared.sd_model.__class__.__name__ in models_cls
+2 -2
View File
@@ -40,8 +40,8 @@ def hijack_encode_prompt(*args, **kwargs):
timer.process.add('te', t1-t0)
shared.sd_model = sd_models.apply_balanced_offload(shared.sd_model)
shared.state.end(jobid)
from modules import memstats
log.debug(f'Encode: memory={memstats.memory_stats()}')
# from modules import memstats
# log.debug(f'Encode: memory={memstats.memory_stats()}')
return res
+255 -255
View File
@@ -59,91 +59,91 @@ try:
url='https://huggingface.co/tencent/HunyuanVideo-1.5',
vae_remote=False,
repo='hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-720p_t2v',
repo_cls=getpipe(diffusers, 'HunyuanVideo15Pipeline', None),
te_cls=getpipe(transformers, 'Qwen2_5_VLTextModel', None),
dit_cls=getpipe(diffusers, 'HunyuanVideo15Transformer3DModel', None)),
repo_cls='HunyuanVideo15Pipeline',
te_cls='Qwen2_5_VLTextModel',
dit_cls='HunyuanVideo15Transformer3DModel'),
Model(name='Hunyuan Video 1.5 I2V 720p',
url='https://huggingface.co/tencent/HunyuanVideo-1.5',
vae_remote=False,
repo='hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-720p_i2v',
repo_cls=getpipe(diffusers, 'HunyuanVideo15ImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'Qwen2_5_VLTextModel', None),
dit_cls=getpipe(diffusers, 'HunyuanVideo15Transformer3DModel', None)),
repo_cls='HunyuanVideo15ImageToVideoPipeline',
te_cls='Qwen2_5_VLTextModel',
dit_cls='HunyuanVideo15Transformer3DModel'),
Model(name='Hunyuan Video 1.5 I2V 720p Distilled',
url='https://huggingface.co/tencent/HunyuanVideo-1.5',
vae_remote=False,
repo='hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-720p_i2v_distilled',
repo_cls=getpipe(diffusers, 'HunyuanVideo15ImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'Qwen2_5_VLTextModel', None),
dit_cls=getpipe(diffusers, 'HunyuanVideo15Transformer3DModel', None)),
repo_cls='HunyuanVideo15ImageToVideoPipeline',
te_cls='Qwen2_5_VLTextModel',
dit_cls='HunyuanVideo15Transformer3DModel'),
Model(name='Hunyuan Video 1.5 T2V 480p',
url='https://huggingface.co/tencent/HunyuanVideo-1.5',
vae_remote=False,
repo='hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-480p_t2v',
repo_cls=getpipe(diffusers, 'HunyuanVideo15Pipeline', None),
te_cls=getpipe(transformers, 'Qwen2_5_VLTextModel', None),
dit_cls=getpipe(diffusers, 'HunyuanVideo15Transformer3DModel', None)),
repo_cls='HunyuanVideo15Pipeline',
te_cls='Qwen2_5_VLTextModel',
dit_cls='HunyuanVideo15Transformer3DModel'),
Model(name='Hunyuan Video 1.5 T2V 480p Distilled',
url='https://huggingface.co/tencent/HunyuanVideo-1.5',
vae_remote=False,
repo='hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-480p_t2v_distilled',
repo_cls=getpipe(diffusers, 'HunyuanVideo15Pipeline', None),
te_cls=getpipe(transformers, 'Qwen2_5_VLTextModel', None),
dit_cls=getpipe(diffusers, 'HunyuanVideo15Transformer3DModel', None)),
repo_cls='HunyuanVideo15Pipeline',
te_cls='Qwen2_5_VLTextModel',
dit_cls='HunyuanVideo15Transformer3DModel'),
Model(name='Hunyuan Video 1.5 I2V 480p',
url='https://huggingface.co/tencent/HunyuanVideo-1.5',
vae_remote=False,
repo='hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-480p_i2v',
repo_cls=getpipe(diffusers, 'HunyuanVideo15ImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'Qwen2_5_VLTextModel', None),
dit_cls=getpipe(diffusers, 'HunyuanVideo15Transformer3DModel', None)),
repo_cls='HunyuanVideo15ImageToVideoPipeline',
te_cls='Qwen2_5_VLTextModel',
dit_cls='HunyuanVideo15Transformer3DModel'),
Model(name='Hunyuan Video 1.5 I2V 480p Distilled',
url='https://huggingface.co/tencent/HunyuanVideo-1.5',
vae_remote=False,
repo='hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-480p_i2v_distilled',
repo_cls=getpipe(diffusers, 'HunyuanVideo15ImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'Qwen2_5_VLTextModel', None),
dit_cls=getpipe(diffusers, 'HunyuanVideo15Transformer3DModel', None)),
repo_cls='HunyuanVideo15ImageToVideoPipeline',
te_cls='Qwen2_5_VLTextModel',
dit_cls='HunyuanVideo15Transformer3DModel'),
Model(name='Hunyuan Video 1.0 T2V',
url='https://huggingface.co/tencent/HunyuanVideo',
vae_remote=True,
repo='hunyuanvideo-community/HunyuanVideo',
repo_cls=getpipe(diffusers, 'HunyuanVideoPipeline', None),
te_cls=getpipe(transformers, 'LlamaModel', None),
dit_cls=getpipe(diffusers, 'HunyuanVideoTransformer3DModel', None)),
repo_cls='HunyuanVideoPipeline',
te_cls='LlamaModel',
dit_cls='HunyuanVideoTransformer3DModel'),
Model(name='Hunyuan Video 1.0 I2V', # https://github.com/huggingface/diffusers/pull/10983
url='https://huggingface.co/tencent/HunyuanVideo-I2V',
vae_remote=True,
repo='hunyuanvideo-community/HunyuanVideo-I2V',
repo_cls=getpipe(diffusers, 'HunyuanVideoImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'LlavaForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'HunyuanVideoTransformer3DModel', None)),
repo_cls='HunyuanVideoImageToVideoPipeline',
te_cls='LlavaForConditionalGeneration',
dit_cls='HunyuanVideoTransformer3DModel'),
Model(name='SkyReels Hunyuan 1.0 T2V', # https://github.com/huggingface/diffusers/pull/10837
url='https://huggingface.co/Skywork/SkyReels-V1-Hunyuan-T2V',
vae_remote=True,
repo='hunyuanvideo-community/HunyuanVideo',
repo_cls=getpipe(diffusers, 'HunyuanVideoPipeline', None),
te_cls=getpipe(transformers, 'LlamaModel', None),
repo_cls='HunyuanVideoPipeline',
te_cls='LlamaModel',
dit='Skywork/SkyReels-V1-Hunyuan-T2V',
dit_folder=None,
dit_cls=getpipe(diffusers, 'HunyuanVideoTransformer3DModel', None)),
dit_cls='HunyuanVideoTransformer3DModel'),
Model(name='SkyReels Hunyuan 1.0 I2V', # https://github.com/huggingface/diffusers/pull/10837
url='https://huggingface.co/Skywork/SkyReels-V1-Hunyuan-I2V',
vae_remote=True,
repo='hunyuanvideo-community/HunyuanVideo',
repo_cls=getpipe(diffusers, 'HunyuanSkyreelsImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'LlamaModel', None),
repo_cls='HunyuanSkyreelsImageToVideoPipeline',
te_cls='LlamaModel',
dit='Skywork/SkyReels-V1-Hunyuan-I2V',
dit_folder=None,
dit_cls=getpipe(diffusers, 'HunyuanVideoTransformer3DModel', None)),
dit_cls='HunyuanVideoTransformer3DModel'),
Model(name='Fast Hunyuan 1.0 T2V', # https://github.com/hao-ai-lab/FastVideo/blob/8a77cf22c9b9e7f931f42bc4b35d21fd91d24e45/fastvideo/models/hunyuan/inference.py#L213
url='https://huggingface.co/FastVideo/FastHunyuan',
vae_remote=True,
repo='hunyuanvideo-community/HunyuanVideo',
repo_cls=getpipe(diffusers, 'HunyuanVideoPipeline', None),
te_cls=getpipe(transformers, 'LlamaModel', None),
repo_cls='HunyuanVideoPipeline',
te_cls='LlamaModel',
dit='FastVideo/FastHunyuan-diffusers',
dit_cls=getpipe(diffusers, 'HunyuanVideoTransformer3DModel', None)),
dit_cls='HunyuanVideoTransformer3DModel'),
],
'LTX Video': [
Model(name='None'),
@@ -152,485 +152,485 @@ try:
Model(name='LTXVideo 2.3-1.1 22B T2V Distilled',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3-Distilled-1.1',
repo_cls=getpipe(diffusers, 'LTX2Pipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2Pipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.3-1.1 22B I2V Distilled',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3-Distilled-1.1',
repo_cls=getpipe(diffusers, 'LTX2ImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2ImageToVideoPipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.3-1.1 22B T2V Distilled SDNQ-4Bit',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3-Distilled-1.1-sdnq-dynamic-int4',
repo_cls=getpipe(diffusers, 'LTX2Pipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2Pipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.3-1.1 22B I2V Distilled SDNQ-4Bit',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3-Distilled-1.1-sdnq-dynamic-int4',
repo_cls=getpipe(diffusers, 'LTX2ImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2ImageToVideoPipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='─────── LTX-2.3 v1.0 ───────'),
Model(name='─── Base ───'),
Model(name='LTXVideo 2.3 22B T2V',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3',
repo_cls=getpipe(diffusers, 'LTX2Pipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2Pipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.3 22B I2V',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3',
repo_cls=getpipe(diffusers, 'LTX2ImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2ImageToVideoPipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.3 22B Condition',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3',
repo_cls=getpipe(diffusers, 'LTX2ConditionPipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2ConditionPipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.3 22B T2V SDNQ-4Bit',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3-sdnq-dynamic-int4',
repo_cls=getpipe(diffusers, 'LTX2Pipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2Pipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.3 22B I2V SDNQ-4Bit',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3-sdnq-dynamic-int4',
repo_cls=getpipe(diffusers, 'LTX2ImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2ImageToVideoPipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.3 22B Condition SDNQ-4Bit',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3-sdnq-dynamic-int4',
repo_cls=getpipe(diffusers, 'LTX2ConditionPipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2ConditionPipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='─── Distilled ───'),
Model(name='LTXVideo 2.3 22B T2V Distilled',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3-Distilled',
repo_cls=getpipe(diffusers, 'LTX2Pipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2Pipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.3 22B I2V Distilled',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3-Distilled',
repo_cls=getpipe(diffusers, 'LTX2ImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2ImageToVideoPipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.3 22B Condition Distilled',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3-Distilled',
repo_cls=getpipe(diffusers, 'LTX2ConditionPipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2ConditionPipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.3 22B T2V Distilled SDNQ-4Bit',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3-Distilled-sdnq-dynamic-int4',
repo_cls=getpipe(diffusers, 'LTX2Pipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2Pipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.3 22B I2V Distilled SDNQ-4Bit',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3-Distilled-sdnq-dynamic-int4',
repo_cls=getpipe(diffusers, 'LTX2ImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2ImageToVideoPipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.3 22B Condition Distilled SDNQ-4Bit',
url='https://huggingface.co/Lightricks/LTX-2.3',
repo='OzzyGT/LTX-2.3-Distilled-sdnq-dynamic-int4',
repo_cls=getpipe(diffusers, 'LTX2ConditionPipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2ConditionPipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='─────── LTX-2.0 ───────'),
Model(name='LTXVideo 2.0 19B T2V Dev',
url='https://huggingface.co/Lightricks/LTX-2',
repo='Lightricks/LTX-2',
repo_cls=getpipe(diffusers, 'LTX2Pipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2Pipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.0 19B I2V Dev',
url='https://huggingface.co/Lightricks/LTX-2',
repo='Lightricks/LTX-2',
repo_cls=getpipe(diffusers, 'LTX2ImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2ImageToVideoPipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.0 19B T2V Dev SDNQ-4Bit',
url='https://huggingface.co/Disty0/LTX-2-SDNQ-4bit-dynamic',
repo='Disty0/LTX-2-SDNQ-4bit-dynamic',
repo_cls=getpipe(diffusers, 'LTX2Pipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2Pipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='LTXVideo 2.0 19B I2V Dev SDNQ-4Bit',
url='https://huggingface.co/Disty0/LTX-2-SDNQ-4bit-dynamic',
repo='Disty0/LTX-2-SDNQ-4bit-dynamic',
repo_cls=getpipe(diffusers, 'LTX2ImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'Gemma3ForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'LTX2VideoTransformer3DModel', None)),
repo_cls='LTX2ImageToVideoPipeline',
te_cls='Gemma3ForConditionalGeneration',
dit_cls='LTX2VideoTransformer3DModel'),
Model(name='─────── LTX-0.9.x ───────'),
Model(name='─── Base ───'),
Model(name='LTXVideo 0.9.7 13B Dev',
url='https://huggingface.co/Lightricks/LTX-Video-0.9.7-dev',
repo='a-r-r-o-w/LTX-Video-0.9.7-diffusers',
repo_cls=getpipe(diffusers, 'LTXConditionPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'LTXVideoTransformer3DModel', None)),
repo_cls='LTXConditionPipeline',
te_cls='T5EncoderModel',
dit_cls='LTXVideoTransformer3DModel'),
Model(name='LTXVideo 0.9.6 2B T2V',
url='https://huggingface.co/Lightricks/LTX-Video',
repo='Lightricks/LTX-Video',
repo_cls=getpipe(diffusers, 'LTXConditionPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'LTXVideoTransformer3DModel', None)),
repo_cls='LTXConditionPipeline',
te_cls='T5EncoderModel',
dit_cls='LTXVideoTransformer3DModel'),
Model(name='LTXVideo 0.9.6 2B I2V',
url='https://huggingface.co/Lightricks/LTX-Video',
repo='Lightricks/LTX-Video',
repo_cls=getpipe(diffusers, 'LTXConditionPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'LTXVideoTransformer3DModel', None)),
repo_cls='LTXConditionPipeline',
te_cls='T5EncoderModel',
dit_cls='LTXVideoTransformer3DModel'),
Model(name='LTXVideo 0.9.5 T2V', # https://github.com/huggingface/diffusers/pull/10968
url='https://huggingface.co/Lightricks/LTX-Video-0.9.5',
repo='Lightricks/LTX-Video-0.9.5',
repo_cls=getpipe(diffusers, 'LTXConditionPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'LTXVideoTransformer3DModel', None)),
repo_cls='LTXConditionPipeline',
te_cls='T5EncoderModel',
dit_cls='LTXVideoTransformer3DModel'),
Model(name='LTXVideo 0.9.5 I2V',
url='https://huggingface.co/Lightricks/LTX-Video-0.9.5',
repo='Lightricks/LTX-Video-0.9.5',
repo_cls=getpipe(diffusers, 'LTXConditionPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'LTXVideoTransformer3DModel', None)),
repo_cls='LTXConditionPipeline',
te_cls='T5EncoderModel',
dit_cls='LTXVideoTransformer3DModel'),
Model(name='LTXVideo 0.9.1 T2V',
url='https://huggingface.co/a-r-r-o-w/LTX-Video-0.9.1-diffusers',
repo='a-r-r-o-w/LTX-Video-0.9.1-diffusers',
repo_cls=getpipe(diffusers, 'LTXPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'LTXVideoTransformer3DModel', None)),
repo_cls='LTXPipeline',
te_cls='T5EncoderModel',
dit_cls='LTXVideoTransformer3DModel'),
Model(name='LTXVideo 0.9.1 I2V',
url='https://huggingface.co/a-r-r-o-w/LTX-Video-0.9.1-diffusers',
repo='a-r-r-o-w/LTX-Video-0.9.1-diffusers',
repo_cls=getpipe(diffusers, 'LTXImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'LTXVideoTransformer3DModel', None)),
repo_cls='LTXImageToVideoPipeline',
te_cls='T5EncoderModel',
dit_cls='LTXVideoTransformer3DModel'),
Model(name='LTXVideo 0.9.0 T2V',
url='https://huggingface.co/a-r-r-o-w/LTX-Video-diffusers',
repo='a-r-r-o-w/LTX-Video-diffusers',
repo_cls=getpipe(diffusers, 'LTXPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'LTXVideoTransformer3DModel', None)),
repo_cls='LTXPipeline',
te_cls='T5EncoderModel',
dit_cls='LTXVideoTransformer3DModel'),
Model(name='LTXVideo 0.9.0 I2V',
url='https://huggingface.co/a-r-r-o-w/LTX-Video-diffusers',
repo='a-r-r-o-w/LTX-Video-diffusers',
repo_cls=getpipe(diffusers, 'LTXImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'LTXVideoTransformer3DModel', None)),
repo_cls='LTXImageToVideoPipeline',
te_cls='T5EncoderModel',
dit_cls='LTXVideoTransformer3DModel'),
Model(name='─── Distilled ───'),
Model(name='LTXVideo 0.9.8 13B Distilled',
url='https://huggingface.co/Lightricks/LTX-Video-0.9.8-13B-distilled',
repo='Lightricks/LTX-Video-0.9.8-13B-distilled',
repo_cls=getpipe(diffusers, 'LTXConditionPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'LTXVideoTransformer3DModel', None)),
repo_cls='LTXConditionPipeline',
te_cls='T5EncoderModel',
dit_cls='LTXVideoTransformer3DModel'),
Model(name='LTXVideo 0.9.6 2B T2V Distilled',
url='https://huggingface.co/Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25',
repo='Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25',
repo_cls=getpipe(diffusers, 'LTXConditionPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'LTXVideoTransformer3DModel', None)),
repo_cls='LTXConditionPipeline',
te_cls='T5EncoderModel',
dit_cls='LTXVideoTransformer3DModel'),
Model(name='LTXVideo 0.9.6 2B I2V Distilled',
url='https://huggingface.co/Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25',
repo='Lightricks/LTX-Video-2B-0.9.6-Distilled-04-25',
repo_cls=getpipe(diffusers, 'LTXConditionPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'LTXVideoTransformer3DModel', None)),
repo_cls='LTXConditionPipeline',
te_cls='T5EncoderModel',
dit_cls='LTXVideoTransformer3DModel'),
],
'WAN Video': [
Model(name='None'),
Model(name='WAN 2.2 5B T2V',
url='https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B-Diffusers',
repo='Wan-AI/Wan2.2-TI2V-5B-Diffusers',
repo_cls=getpipe(diffusers, 'WanPipeline', None),
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'WanTransformer3DModel', None)),
repo_cls='WanPipeline',
te_cls='UMT5EncoderModel',
dit_cls='WanTransformer3DModel'),
Model(name='WAN 2.2 5B I2V',
url='https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B-Diffusers',
repo='Wan-AI/Wan2.2-TI2V-5B-Diffusers',
repo_cls=getpipe(diffusers, 'WanImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'WanTransformer3DModel', None)),
repo_cls='WanImageToVideoPipeline',
te_cls='UMT5EncoderModel',
dit_cls='WanTransformer3DModel'),
Model(name='WAN 2.2 A14B T2V',
url='https://huggingface.co/Wan-AI/Wan2.2-T2V-A14B-Diffusers',
repo='Wan-AI/Wan2.2-T2V-A14B-Diffusers',
repo_cls=getpipe(diffusers, 'WanPipeline', None),
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'WanTransformer3DModel', None),
repo_cls='WanPipeline',
te_cls='UMT5EncoderModel',
dit_cls='WanTransformer3DModel',
dit_folder=("transformer", "transformer_2")),
Model(name='WAN 2.2 A14B I2V',
url='https://huggingface.co/Wan-AI/Wan2.2-I2V-A14B-Diffusers',
repo='Wan-AI/Wan2.2-I2V-A14B-Diffusers',
repo_cls=getpipe(diffusers, 'WanImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'WanTransformer3DModel', None),
repo_cls='WanImageToVideoPipeline',
te_cls='UMT5EncoderModel',
dit_cls='WanTransformer3DModel',
dit_folder=("transformer", "transformer_2")),
Model(name='WAN 2.2 A14B SDNQ T2V',
url='https://huggingface.co/Disty0/Wan2.2-T2V-A14B-SDNQ-uint4-svd-r32',
repo='Disty0/Wan2.2-T2V-A14B-SDNQ-uint4-svd-r32',
repo_cls=getpipe(diffusers, 'WanPipeline', None),
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'WanTransformer3DModel', None),
repo_cls='WanPipeline',
te_cls='UMT5EncoderModel',
dit_cls='WanTransformer3DModel',
dit_folder=("transformer", "transformer_2")),
Model(name='WAN 2.2 A14B SDNQ I2V',
url='https://huggingface.co/Disty0/Wan2.2-I2V-A14B-SDNQ-uint4-svd-r32',
repo='Disty0/Wan2.2-I2V-A14B-SDNQ-uint4-svd-r32',
repo_cls=getpipe(diffusers, 'WanImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'WanTransformer3DModel', None),
repo_cls='WanImageToVideoPipeline',
te_cls='UMT5EncoderModel',
dit_cls='WanTransformer3DModel',
dit_folder=("transformer", "transformer_2")),
Model(name='WAN 2.2 14B VACE',
url='https://huggingface.co/linoyts/Wan2.2-VACE-Fun-14B-diffusers',
repo='linoyts/Wan2.2-VACE-Fun-14B-diffusers',
repo_cls=getpipe(diffusers, 'WanVACEPipeline', None),
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'WanVACETransformer3DModel', None),
repo_cls='WanVACEPipeline',
te_cls='UMT5EncoderModel',
dit_cls='WanVACETransformer3DModel',
dit_folder=("transformer", "transformer_2")),
Model(name='WAN 2.1 1.3B T2V',
url='https://huggingface.co/Wan-AI/Wan2.1-T2V-1.3B-Diffusers',
repo='Wan-AI/Wan2.1-T2V-1.3B-Diffusers',
repo_cls=getpipe(diffusers, 'WanPipeline', None),
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'WanTransformer3DModel', None)),
repo_cls='WanPipeline',
te_cls='UMT5EncoderModel',
dit_cls='WanTransformer3DModel'),
Model(name='WAN 2.1 14B T2V',
url='https://huggingface.co/Wan-AI/Wan2.1-T2V-14B-Diffusers',
repo='Wan-AI/Wan2.1-T2V-14B-Diffusers',
repo_cls=getpipe(diffusers, 'WanPipeline', None),
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'WanTransformer3DModel', None)),
repo_cls='WanPipeline',
te_cls='UMT5EncoderModel',
dit_cls='WanTransformer3DModel'),
Model(name='WAN 2.1 14B I2V 480p',
url='https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-480P-Diffusers',
repo='Wan-AI/Wan2.1-I2V-14B-480P-Diffusers',
repo_cls=getpipe(diffusers, 'WanImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'WanTransformer3DModel', None)),
repo_cls='WanImageToVideoPipeline',
te_cls='UMT5EncoderModel',
dit_cls='WanTransformer3DModel'),
Model(name='WAN 2.1 14B I2V 720p',
url='https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-720P-Diffusers',
repo='Wan-AI/Wan2.1-I2V-14B-720P-Diffusers',
repo_cls=getpipe(diffusers, 'WanImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'WanTransformer3DModel', None)),
repo_cls='WanImageToVideoPipeline',
te_cls='UMT5EncoderModel',
dit_cls='WanTransformer3DModel'),
Model(name='WAN 2.1 14B FLF2V 720p',
url='https://huggingface.co/Wan-AI/Wan2.1-FLF2V-14B-720P',
repo='Wan-AI/Wan2.1-FLF2V-14B-720P-diffusers',
repo_cls=getpipe(diffusers, 'WanImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'WanTransformer3DModel', None)),
repo_cls='WanImageToVideoPipeline',
te_cls='UMT5EncoderModel',
dit_cls='WanTransformer3DModel'),
Model(name='WAN 2.1 VACE 1.3B',
url='https://huggingface.co/Wan-AI/Wan2.1-VACE-1.3B-diffusers',
repo='Wan-AI/Wan2.1-VACE-1.3B-diffusers',
repo_cls=getpipe(diffusers, 'WanVACEPipeline', None),
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'WanVACETransformer3DModel', None)),
repo_cls='WanVACEPipeline',
te_cls='UMT5EncoderModel',
dit_cls='WanVACETransformer3DModel'),
Model(name='WAN 2.1 VACE 14B',
url='https://huggingface.co/Wan-AI/Wan2.1-VACE-14B-diffusers',
repo='Wan-AI/Wan2.1-VACE-14B-diffusers',
repo_cls=getpipe(diffusers, 'WanVACEPipeline', None),
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'WanVACETransformer3DModel', None)),
repo_cls='WanVACEPipeline',
te_cls='UMT5EncoderModel',
dit_cls='WanVACETransformer3DModel'),
Model(name='WAN 2.2 Animate 14B',
url='https://huggingface.co/Wan-AI/Wan2.2-Animate-14B-Diffusers',
repo='Wan-AI/Wan2.2-Animate-14B-Diffusers',
repo_cls=getpipe(diffusers, 'WanAnimatePipeline', None),
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'WanAnimateTransformer3DModel', None)),
repo_cls='WanAnimatePipeline',
te_cls='UMT5EncoderModel',
dit_cls='WanAnimateTransformer3DModel'),
],
'SkyReels V2': [
Model(name='None'),
Model(name='SkyReels-V2 T2V-DF 1.3B-540P',
url='https://huggingface.co/Skywork/SkyReels-V2-DF-1.3B-540P-Diffusers',
repo='Skywork/SkyReels-V2-DF-1.3B-540P-Diffusers',
repo_cls=getpipe(diffusers, 'SkyReelsV2DiffusionForcingPipeline', None),
repo_cls='SkyReelsV2DiffusionForcingPipeline',
repo_revision='refs/pr/1',
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'SkyReelsV2Transformer3DModel', None)),
te_cls='UMT5EncoderModel',
dit_cls='SkyReelsV2Transformer3DModel'),
Model(name='SkyReels-V2 T2V-DF 14B-720P',
url='https://huggingface.co/Skywork/SkyReels-V2-DF-14B-720P-Diffusers',
repo='Skywork/SkyReels-V2-DF-14B-720P-Diffusers',
repo_cls=getpipe(diffusers, 'SkyReelsV2DiffusionForcingPipeline', None),
repo_cls='SkyReelsV2DiffusionForcingPipeline',
repo_revision='refs/pr/1',
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'SkyReelsV2Transformer3DModel', None)),
te_cls='UMT5EncoderModel',
dit_cls='SkyReelsV2Transformer3DModel'),
Model(name='SkyReels-V2 I2V-DF 14B-720P',
url='https://huggingface.co/Skywork/SkyReels-V2-DF-14B-720P-Diffusers',
repo='Skywork/SkyReels-V2-DF-14B-720P-Diffusers',
repo_cls=getpipe(diffusers, 'SkyReelsV2DiffusionForcingImageToVideoPipeline', None),
repo_cls='SkyReelsV2DiffusionForcingImageToVideoPipeline',
repo_revision='refs/pr/1',
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'SkyReelsV2Transformer3DModel', None)),
te_cls='UMT5EncoderModel',
dit_cls='SkyReelsV2Transformer3DModel'),
Model(name='SkyReels-V2 T2V 14B-720P',
url='https://huggingface.co/Skywork/SkyReels-V2-T2V-14B-720P-Diffusers',
repo='Skywork/SkyReels-V2-T2V-14B-720P-Diffusers',
repo_cls=getpipe(diffusers, 'SkyReelsV2Pipeline', None),
repo_cls='SkyReelsV2Pipeline',
repo_revision='refs/pr/1',
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'SkyReelsV2Transformer3DModel', None)),
te_cls='UMT5EncoderModel',
dit_cls='SkyReelsV2Transformer3DModel'),
Model(name='SkyReels-V2 I2V 14B-720P',
url='https://huggingface.co/Skywork/SkyReels-V2-I2V-14B-720P-Diffusers',
repo='Skywork/SkyReels-V2-I2V-14B-720P-Diffusers',
repo_cls=getpipe(diffusers, 'SkyReelsV2ImageToVideoPipeline', None),
repo_cls='SkyReelsV2ImageToVideoPipeline',
repo_revision='refs/pr/1',
te_cls=getpipe(transformers, 'UMT5EncoderModel', None),
dit_cls=getpipe(diffusers, 'SkyReelsV2Transformer3DModel', None)),
te_cls='UMT5EncoderModel',
dit_cls='SkyReelsV2Transformer3DModel'),
],
'Mochi Video': [
Model(name='None'),
Model(name='Mochi 1 T2V',
url='https://huggingface.co/genmo/mochi-1-preview',
repo='genmo/mochi-1-preview',
repo_cls=getpipe(diffusers, 'MochiPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'MochiTransformer3DModel', None)),
repo_cls='MochiPipeline',
te_cls='T5EncoderModel',
dit_cls='MochiTransformer3DModel'),
],
'Latte Video': [
Model(name='None'),
Model(name='Latte 1 T2V',
url='https://huggingface.co/maxin-cn/Latte-1',
repo='maxin-cn/Latte-1',
repo_cls=getpipe(diffusers, 'LattePipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'LatteTransformer3DModel', None)),
repo_cls='LattePipeline',
te_cls='T5EncoderModel',
dit_cls='LatteTransformer3DModel'),
],
'Allegro Video': [
Model(name='None'),
Model(name='Allegro T2V',
url='https://huggingface.co/rhymes-ai/Allegro',
repo='rhymes-ai/Allegro',
repo_cls=getpipe(diffusers, 'AllegroPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'AllegroTransformer3DModel', None)),
repo_cls='AllegroPipeline',
te_cls='T5EncoderModel',
dit_cls='AllegroTransformer3DModel'),
],
'Cog Video': [
Model(name='None'),
Model(name='CogVideoX 1.0 2B T2V',
url='https://huggingface.co/THUDM/CogVideoX-2b',
repo='THUDM/CogVideoX-2b',
repo_cls=getpipe(diffusers, 'CogVideoXPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'CogVideoXTransformer3DModel', None)),
repo_cls='CogVideoXPipeline',
te_cls='T5EncoderModel',
dit_cls='CogVideoXTransformer3DModel'),
Model(name='CogVideoX 1.0 5B T2V',
url='https://huggingface.co/THUDM/CogVideoX-5b',
repo='THUDM/CogVideoX-5b',
repo_cls=getpipe(diffusers, 'CogVideoXPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'CogVideoXTransformer3DModel', None)),
repo_cls='CogVideoXPipeline',
te_cls='T5EncoderModel',
dit_cls='CogVideoXTransformer3DModel'),
Model(name='CogVideoX 1.0 5B I2V',
url='https://huggingface.co/THUDM/CogVideoX-5b-I2V',
repo='THUDM/CogVideoX-5b-I2V',
repo_cls=getpipe(diffusers, 'CogVideoXImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'CogVideoXTransformer3DModel', None)),
repo_cls='CogVideoXImageToVideoPipeline',
te_cls='T5EncoderModel',
dit_cls='CogVideoXTransformer3DModel'),
Model(name='CogVideoX 1.5 5B T2V',
url='https://huggingface.co/THUDM/CogVideoX1.5-5B',
repo='THUDM/CogVideoX1.5-5B',
repo_cls=getpipe(diffusers, 'CogVideoXPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'CogVideoXTransformer3DModel', None)),
repo_cls='CogVideoXPipeline',
te_cls='T5EncoderModel',
dit_cls='CogVideoXTransformer3DModel'),
Model(name='CogVideoX 1.5 5B I2V',
url='https://huggingface.co/THUDM/CogVideoX1.5-5B-I2V',
repo='THUDM/CogVideoX1.5-5B-I2V',
repo_cls=getpipe(diffusers, 'CogVideoXImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'CogVideoXTransformer3DModel', None)),
repo_cls='CogVideoXImageToVideoPipeline',
te_cls='T5EncoderModel',
dit_cls='CogVideoXTransformer3DModel'),
Model(name='Index Anisora 1.0 5B I2V',
url='https://huggingface.co/Disty0/Index-anisora-5B-diffusers',
repo='Disty0/Index-anisora-5B-diffusers',
repo_cls=getpipe(diffusers, 'CogVideoXImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'CogVideoXTransformer3DModel', None)),
repo_cls='CogVideoXImageToVideoPipeline',
te_cls='T5EncoderModel',
dit_cls='CogVideoXTransformer3DModel'),
Model(name='Index Anisora 1.0 5B RL I2V',
url='https://huggingface.co/Disty0/Index-anisora-5B_RL-diffusers',
repo='Disty0/Index-anisora-5B_RL-diffusers',
repo_cls=getpipe(diffusers, 'CogVideoXImageToVideoPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'CogVideoXTransformer3DModel', None)),
repo_cls='CogVideoXImageToVideoPipeline',
te_cls='T5EncoderModel',
dit_cls='CogVideoXTransformer3DModel'),
],
'nVidia Cosmos': [
Model(name='nvidia Cosmos Predict2 2B I2V',
url='https://huggingface.co/nvidia/Cosmos-Predict2-2B-Text2Image',
repo='nvidia/Cosmos-Predict2-2B-Video2World',
repo_cls=getpipe(diffusers, 'Cosmos2VideoToWorldPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'CosmosTransformer3DModel', None)),
repo_cls='Cosmos2VideoToWorldPipeline',
te_cls='T5EncoderModel',
dit_cls='CosmosTransformer3DModel'),
Model(name='nvidia Cosmos Predict2 2B I2V',
url='https://huggingface.co/nvidia/Cosmos-Predict2-2B-Text2Image',
repo='nvidia/Cosmos-Predict2-2B-Video2World',
repo_cls=getpipe(diffusers, 'Cosmos2VideoToWorldPipeline', None),
te_cls=getpipe(transformers, 'T5EncoderModel', None),
dit_cls=getpipe(diffusers, 'CosmosTransformer3DModel', None)),
repo_cls='Cosmos2VideoToWorldPipeline',
te_cls='T5EncoderModel',
dit_cls='CosmosTransformer3DModel'),
],
'nVidia SANA': [
Model(name='SANA Video 2B 480p T2V',
url='https://huggingface.co/Efficient-Large-Model/SANA-Video_2B_480p_diffusers',
repo='Efficient-Large-Model/SANA-Video_2B_480p_diffusers',
repo_cls=getpipe(diffusers, 'SanaVideoPipeline', None),
te_cls=getpipe(transformers, 'Gemma2Model', None),
dit_cls=getpipe(diffusers, 'SanaVideoTransformer3DModel', None)),
repo_cls='SanaVideoPipeline',
te_cls='Gemma2Model',
dit_cls='SanaVideoTransformer3DModel'),
],
'Kandinsky': [
Model(name='Kandinsky 5.0 Lite 5s SFT T2V',
url='https://huggingface.co/kandinskylab/Kandinsky-5.0-T2V-Lite-sft-5s-Diffusers',
repo='kandinskylab/Kandinsky-5.0-T2V-Lite-sft-5s-Diffusers',
repo_cls=getpipe(diffusers, 'Kandinsky5T2VPipeline', None),
te_cls=getpipe(transformers, 'Qwen2_5_VLForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'Kandinsky5Transformer3DModel', None)),
repo_cls='Kandinsky5T2VPipeline',
te_cls='Qwen2_5_VLForConditionalGeneration',
dit_cls='Kandinsky5Transformer3DModel'),
Model(name='Kandinsky 5.0 Lite 5s CFG-distilled T2V',
url='https://huggingface.co/kandinskylab/Kandinsky-5.0-T2V-Lite-nocfg-5s-Diffusers',
repo='kandinskylab/Kandinsky-5.0-T2V-Lite-nocfg-5s-Diffusers',
repo_cls=getpipe(diffusers, 'Kandinsky5T2VPipeline', None),
te_cls=getpipe(transformers, 'Qwen2_5_VLForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'Kandinsky5Transformer3DModel', None)),
repo_cls='Kandinsky5T2VPipeline',
te_cls='Qwen2_5_VLForConditionalGeneration',
dit_cls='Kandinsky5Transformer3DModel'),
Model(name='Kandinsky 5.0 Lite 5s Steps-distilled T2V',
url='https://huggingface.co/kandinskylab/Kandinsky-5.0-T2V-Lite-distilled16steps-5s-Diffusers',
repo='kandinskylab/Kandinsky-5.0-T2V-Lite-distilled16steps-5s-Diffusers',
repo_cls=getpipe(diffusers, 'Kandinsky5T2VPipeline', None),
te_cls=getpipe(transformers, 'Qwen2_5_VLForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'Kandinsky5Transformer3DModel', None)),
repo_cls='Kandinsky5T2VPipeline',
te_cls='Qwen2_5_VLForConditionalGeneration',
dit_cls='Kandinsky5Transformer3DModel'),
Model(name='Kandinsky 5.0 Lite 10s SFT T2V',
url='https://huggingface.co/kandinskylab/Kandinsky-5.0-T2V-Lite-sft-10s-Diffusers',
repo='kandinskylab/Kandinsky-5.0-T2V-Lite-sft-10s-Diffusers',
repo_cls=getpipe(diffusers, 'Kandinsky5T2VPipeline', None),
te_cls=getpipe(transformers, 'Qwen2_5_VLForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'Kandinsky5Transformer3DModel', None)),
repo_cls='Kandinsky5T2VPipeline',
te_cls='Qwen2_5_VLForConditionalGeneration',
dit_cls='Kandinsky5Transformer3DModel'),
Model(name='Kandinsky 5.0 Lite 10s CFG-distilled T2V',
url='https://huggingface.co/kandinskylab/Kandinsky-5.0-T2V-Lite-nocfg-10s-Diffusers',
repo='kandinskylab/Kandinsky-5.0-T2V-Lite-nocfg-10s-Diffusers',
repo_cls=getpipe(diffusers, 'Kandinsky5T2VPipeline', None),
te_cls=getpipe(transformers, 'Qwen2_5_VLForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'Kandinsky5Transformer3DModel', None)),
repo_cls='Kandinsky5T2VPipeline',
te_cls='Qwen2_5_VLForConditionalGeneration',
dit_cls='Kandinsky5Transformer3DModel'),
Model(name='Kandinsky 5.0 Lite 10s Steps-distilled T2V',
url='https://huggingface.co/kandinskylab/Kandinsky-5.0-T2V-Lite-distilled16steps-10s-Diffusers',
repo='kandinskylab/Kandinsky-5.0-T2V-Lite-distilled16steps-10s-Diffusers',
repo_cls=getpipe(diffusers, 'Kandinsky5T2VPipeline', None),
te_cls=getpipe(transformers, 'Qwen2_5_VLForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'Kandinsky5Transformer3DModel', None)),
repo_cls='Kandinsky5T2VPipeline',
te_cls='Qwen2_5_VLForConditionalGeneration',
dit_cls='Kandinsky5Transformer3DModel'),
Model(name='Kandinsky 5.0 Pro 5s SFT T2V',
url='https://huggingface.co/kandinskylab/Kandinsky-5.0-T2V-Pro-sft-5s-Diffusers',
repo='kandinskylab/Kandinsky-5.0-T2V-Pro-sft-5s-Diffusers',
repo_cls=getpipe(diffusers, 'Kandinsky5T2VPipeline', None),
te_cls=getpipe(transformers, 'Qwen2_5_VLForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'Kandinsky5Transformer3DModel', None)),
repo_cls='Kandinsky5T2VPipeline',
te_cls='Qwen2_5_VLForConditionalGeneration',
dit_cls='Kandinsky5Transformer3DModel'),
Model(name='Kandinsky 5.0 Pro 5s SFT I2V',
url='https://huggingface.co/kandinskylab/Kandinsky-5.0-I2V-Pro-sft-5s-Diffusers',
repo='kandinskylab/Kandinsky-5.0-I2V-Pro-sft-5s-Diffusers',
repo_cls=getpipe(diffusers, 'Kandinsky5I2VPipeline', None),
te_cls=getpipe(transformers, 'Qwen2_5_VLForConditionalGeneration', None),
dit_cls=getpipe(diffusers, 'Kandinsky5Transformer3DModel', None)),
repo_cls='Kandinsky5I2VPipeline',
te_cls='Qwen2_5_VLForConditionalGeneration',
dit_cls='Kandinsky5Transformer3DModel'),
],
'Google Veo': [
Model(name='Google Veo 3.1 T2V',
+8
View File
@@ -2,6 +2,7 @@ import os
import sys
import copy
import time
import transformers
import diffusers
from modules import shared, errors, sd_models, sd_checkpoint, model_quant, devices, sd_hijack_te, sd_hijack_vae
from modules.logger import log
@@ -33,6 +34,13 @@ def load_model(selected: models_def.Model):
from modules import sdnq # pylint: disable=unused-import
if selected is None or selected.repo is None:
return ''
if isinstance(selected.repo_cls, str):
selected.repo_cls=models_def.getpipe(diffusers, selected.repo_cls, None)
if isinstance(selected.dit_cls, str):
selected.dit_cls=models_def.getpipe(diffusers, selected.dit_cls, None)
if isinstance(selected.te_cls, str):
selected.te_cls=models_def.getpipe(transformers, selected.te_cls, None)
global loaded_model # pylint: disable=global-statement
if not shared.sd_loaded:
loaded_model = None