diff --git a/python/sglang/multimodal_gen/configs/pipeline_configs/base.py b/python/sglang/multimodal_gen/configs/pipeline_configs/base.py index afa353b87..d0b0146ba 100644 --- a/python/sglang/multimodal_gen/configs/pipeline_configs/base.py +++ b/python/sglang/multimodal_gen/configs/pipeline_configs/base.py @@ -153,6 +153,7 @@ class PipelineConfig: """The base configuration class for a generation pipeline.""" task_type: ModelTaskType = ModelTaskType.I2I + skip_input_image_preprocess: bool = False model_path: str = "" pipeline_config_path: str | None = None diff --git a/python/sglang/multimodal_gen/configs/pipeline_configs/ltx_2.py b/python/sglang/multimodal_gen/configs/pipeline_configs/ltx_2.py index bc3eb4935..b3438eab8 100644 --- a/python/sglang/multimodal_gen/configs/pipeline_configs/ltx_2.py +++ b/python/sglang/multimodal_gen/configs/pipeline_configs/ltx_2.py @@ -115,7 +115,8 @@ def _gemma_postprocess_func( class LTX2PipelineConfig(PipelineConfig): """Configuration for LTX-Video pipeline.""" - task_type: ModelTaskType = ModelTaskType.T2V + task_type: ModelTaskType = ModelTaskType.TI2V + skip_input_image_preprocess: bool = True dit_config: LTX2Config = field(default_factory=LTX2Config) # Model architecture diff --git a/python/sglang/multimodal_gen/runtime/pipelines_core/stages/input_validation.py b/python/sglang/multimodal_gen/runtime/pipelines_core/stages/input_validation.py index b761e8245..971a9b0a0 100644 --- a/python/sglang/multimodal_gen/runtime/pipelines_core/stages/input_validation.py +++ b/python/sglang/multimodal_gen/runtime/pipelines_core/stages/input_validation.py @@ -140,6 +140,8 @@ class InputValidationStage(PipelineStage): batch.height = height elif server_args.pipeline_config.task_type == ModelTaskType.TI2V: + if server_args.pipeline_config.skip_input_image_preprocess: + return # duplicate with vae_image_processor # further processing for ti2v task if isinstance(