diff --git a/nodes.py b/nodes.py index 70543f5..e7356f4 100644 --- a/nodes.py +++ b/nodes.py @@ -3357,7 +3357,7 @@ class WanVideoSampler: if callback is not None: if recammaster is not None: callback_latent = (latent_model_input[:, :orig_noise_len].to(device) - noise_pred[:, :orig_noise_len].to(device) * t.to(device) / 1000).detach().permute(1,0,2,3) - if phantom_latents is not None: + elif phantom_latents is not None: callback_latent = (latent_model_input[:,:-phantom_latents.shape[1]].to(device) - noise_pred[:,:-phantom_latents.shape[1]].to(device) * t.to(device) / 1000).detach().permute(1,0,2,3) else: callback_latent = (latent_model_input.to(device) - noise_pred.to(device) * t.to(device) / 1000).detach().permute(1,0,2,3) diff --git a/skyreels/nodes.py b/skyreels/nodes.py index 91f37ac..be49a94 100644 --- a/skyreels/nodes.py +++ b/skyreels/nodes.py @@ -180,6 +180,8 @@ class WanVideoDiffusionForcingSampler: has_ref = image_embeds.get("has_ref", False) vace_context = image_embeds.get("vace_context", None) vace_scale = image_embeds.get("vace_scale", None) + if not isinstance(vace_scale, list): + vace_scale = [vace_scale] * (steps+1) vace_start_percent = image_embeds.get("vace_start_percent", 0.0) vace_end_percent = image_embeds.get("vace_end_percent", 1.0) vace_seqlen = image_embeds.get("vace_seq_len", None) @@ -198,9 +200,12 @@ class WanVideoDiffusionForcingSampler: for i in range(len(vace_additional_embeds)): if vace_additional_embeds[i].get("has_ref", False): has_ref = True + vace_scale = vace_additional_embeds[i]["vace_scale"] + if not isinstance(vace_scale, list): + vace_scale = [vace_scale] * (steps+1) vace_data.append({ "context": vace_additional_embeds[i]["vace_context"], - "scale": vace_additional_embeds[i]["vace_scale"], + "scale": vace_scale, "start": vace_additional_embeds[i]["vace_start_percent"], "end": vace_additional_embeds[i]["vace_end_percent"], "seq_len": vace_additional_embeds[i]["vace_seq_len"]