From 5b72d7b671523ef60f344a555a13c046634dc33f Mon Sep 17 00:00:00 2001 From: RyanOnTheInside <7623207+ryanontheinside@users.noreply.github.com> Date: Tue, 30 Dec 2025 06:24:19 -0500 Subject: [PATCH] feat: streamdiffusion + reward forcing VACE FFLF pipeline layer support Signed-off-by: RyanOnTheInside <7623207+ryanontheinside@users.noreply.github.com> --- src/scope/core/pipelines/reward_forcing/pipeline.py | 8 ++++++++ src/scope/core/pipelines/streamdiffusionv2/pipeline.py | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/src/scope/core/pipelines/reward_forcing/pipeline.py b/src/scope/core/pipelines/reward_forcing/pipeline.py index 089ce5b6..f24300ce 100644 --- a/src/scope/core/pipelines/reward_forcing/pipeline.py +++ b/src/scope/core/pipelines/reward_forcing/pipeline.py @@ -195,6 +195,14 @@ def _generate(self, **kwargs) -> torch.Tensor: if "vace_ref_images" not in kwargs: self.state.set("vace_ref_images", None) + # Clear extension mode parameters from state if not provided to prevent reuse on non-extension chunks + if "extension_mode" not in kwargs: + self.state.set("extension_mode", None) + if "first_frame_image" not in kwargs: + self.state.set("first_frame_image", None) + if "last_frame_image" not in kwargs: + self.state.set("last_frame_image", None) + if self.state.get("denoising_step_list") is None: self.state.set("denoising_step_list", DEFAULT_DENOISING_STEP_LIST) diff --git a/src/scope/core/pipelines/streamdiffusionv2/pipeline.py b/src/scope/core/pipelines/streamdiffusionv2/pipeline.py index ef8f63fc..82b54cb2 100644 --- a/src/scope/core/pipelines/streamdiffusionv2/pipeline.py +++ b/src/scope/core/pipelines/streamdiffusionv2/pipeline.py @@ -202,6 +202,14 @@ def _generate(self, **kwargs) -> torch.Tensor: if "vace_ref_images" not in kwargs: self.state.set("vace_ref_images", None) + # Clear extension mode parameters from state if not provided to prevent reuse on non-extension chunks + if "extension_mode" not in kwargs: + self.state.set("extension_mode", None) + if "first_frame_image" not in kwargs: + self.state.set("first_frame_image", None) + if "last_frame_image" not in kwargs: + self.state.set("last_frame_image", None) + if self.state.get("denoising_step_list") is None: self.state.set("denoising_step_list", DEFAULT_DENOISING_STEP_LIST)