Add LTXImageToVideoPipeline support for I2V mode

- Add LTXImageToVideoPipeline to PIPELINE_CLASS_MAP as I2V type
- Change LTXPipeline to T2V type (it doesn't support image input)
- Auto-switch from LTXPipeline to LTXImageToVideoPipeline when in I2V mode
- Update I2V check to only verify pipeline class name (removed supports_i2v flag check)
- This allows LTX-Video models to work in I2V mode with image input
parent 713d42ba
......@@ -581,7 +581,8 @@ PIPELINE_CLASS_MAP = {
"StableVideoDiffusionPipeline": {"type": "i2v", "default_vram": "~14-18 GB"},
"WanPipeline": {"type": "video", "default_vram": "~10-24 GB"},
"I2VGenXLPipeline": {"type": "i2v", "default_vram": "~18-24 GB"},
"LTXPipeline": {"type": "i2v", "default_vram": "~12-16 GB"},
"LTXPipeline": {"type": "t2v", "default_vram": "~12-16 GB"},
"LTXImageToVideoPipeline": {"type": "i2v", "default_vram": "~12-16 GB"},
"LuminaPipeline": {"type": "image", "default_vram": "~20-30 GB"},
"LuminaText2ImgPipeline": {"type": "image", "default_vram": "~20-30 GB"},
"Lumina2Pipeline": {"type": "image", "default_vram": "~20-30 GB"},
......@@ -7412,6 +7413,15 @@ def main(args):
m_info = MODELS[args.model]
PipelineClass = get_pipeline_class(m_info["class"])
# Switch to I2V variant for LTX if in I2V mode
if m_info["class"] == "LTXPipeline" and (args.image_to_video or args.image):
try:
from diffusers import LTXImageToVideoPipeline
PipelineClass = LTXImageToVideoPipeline
print(f" 🔄 Switched to LTXImageToVideoPipeline for I2V mode")
except ImportError:
print(f" ⚠️ LTXImageToVideoPipeline not available, using LTXPipeline (T2V only)")
if not PipelineClass:
pipeline_class = m_info['class']
print(f"❌ Pipeline class '{pipeline_class}' not found in your diffusers installation.")
......@@ -8849,7 +8859,7 @@ def main(args):
pipeline_class_name = PipelineClass.__name__ if hasattr(PipelineClass, '__name__') else str(PipelineClass)
i2v_pipelines = ['StableVideoDiffusionPipeline', 'I2VGenXLPipeline', 'LTXImageToVideoPipeline', 'WanPipeline']
if m_info.get("supports_i2v") and pipeline_class_name in i2v_pipelines:
if pipeline_class_name in i2v_pipelines:
video_kwargs["image"] = init_image
else:
print(f"Warning: {args.model} ({pipeline_class_name}) does not support 'image' argument – running pure T2V")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment