From 9f17723ddf8870072b7dba842192b644b6c20267 Mon Sep 17 00:00:00 2001 From: Flying Blackshark Date: Fri, 22 May 2026 11:23:06 +0800 Subject: [PATCH] Fix NaN in LTX2 scheduler for long sequences Cap the dynamic shift sequence length to avoid sigma saturation before shift_terminal. --- src/maxdiffusion/pipelines/ltx2/ltx2_pipeline.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/maxdiffusion/pipelines/ltx2/ltx2_pipeline.py b/src/maxdiffusion/pipelines/ltx2/ltx2_pipeline.py index 70ea97c4..edc2af5d 100644 --- a/src/maxdiffusion/pipelines/ltx2/ltx2_pipeline.py +++ b/src/maxdiffusion/pipelines/ltx2/ltx2_pipeline.py @@ -1345,9 +1345,11 @@ def __call__( video_sequence_length = (num_frames - 1) // self.vae_temporal_compression_ratio + 1 video_sequence_length *= (height // self.vae_spatial_compression_ratio) * (width // self.vae_spatial_compression_ratio) + # Cap long videos while preserving smaller videos' dynamic shift behavior. + shift_sequence_length = min(6144, video_sequence_length) mu = calculate_shift( - video_sequence_length, + shift_sequence_length, self.scheduler.config.get("base_image_seq_len", 1024), self.scheduler.config.get("max_image_seq_len", 4096), self.scheduler.config.get("base_shift", 0.95),