From cbe2a1ba4271cf72c73dd528bacaaa5b9307a2a0 Mon Sep 17 00:00:00 2001 From: ozbayb <17261091+ozbayb@users.noreply.github.com> Date: Sun, 26 Apr 2026 19:38:51 -0600 Subject: [PATCH] Fix guide keyframe misalignment when causal_window_fix is on with full guides --- comfy/context_windows.py | 4 ++++ comfy/model_base.py | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/comfy/context_windows.py b/comfy/context_windows.py index 42ad5b3e6..b15799dde 100644 --- a/comfy/context_windows.py +++ b/comfy/context_windows.py @@ -280,6 +280,10 @@ class WindowingState: guide_entries = self.guide_entries[modality_idx] guide_frames = self.guide_latents[modality_idx] suffix_idx, overlap_info, kf_local_pos, guide_frame_count = compute_guide_overlap(guide_entries, window.index_list) + # Shift keyframe positions to account for causal_window_fix anchor occupying sub-pos 0. + anchor_idx = getattr(window, 'causal_anchor_index', None) + if anchor_idx is not None and anchor_idx >= 0: + kf_local_pos = [p + 1 for p in kf_local_pos] window.guide_frames_indices = suffix_idx window.guide_overlap_info = overlap_info window.guide_kf_local_positions = kf_local_pos diff --git a/comfy/model_base.py b/comfy/model_base.py index 513109dbc..afca4d44e 100644 --- a/comfy/model_base.py +++ b/comfy/model_base.py @@ -1166,6 +1166,10 @@ class LTXAV(BaseModel): return cond_value._copy_with(cond_value.cond[:, :, :0, :]) # empty H, W = x_in.shape[3], x_in.shape[4] window_len = len(window.index_list) + # account for causal_window_fix anchor in coord space size + anchor_idx = getattr(window, 'causal_anchor_index', None) + if anchor_idx is not None and anchor_idx >= 0: + window_len += 1 patchifier = self.diffusion_model.patchifier latent_coords = patchifier.get_latent_coords(window_len, H, W, 1, cond_value.cond.device) scale_factors = self.diffusion_model.vae_scale_factors