diff --git a/nodes_sampler.py b/nodes_sampler.py index 857d6ee..95e1350 100644 --- a/nodes_sampler.py +++ b/nodes_sampler.py @@ -1600,20 +1600,15 @@ class WanVideoSampler: if use_fresca: noise_pred_cond = fourier_filter(noise_pred_cond, fresca_scale_low, fresca_scale_high, fresca_freq_cutoff) if fantasy_portrait_input is not None and not math.isclose(portrait_cfg[idx], 1.0): - print("Applying Fantasy Portrait CFG...") base_params["fantasy_portrait_input"] = None noise_pred_no_portrait, noise_pred_ovi, cache_state_uncond = transformer(context=positive_embeds, pred_id=cache_state[0] if cache_state else None, vace_data=vace_data, attn_cond=attn_cond, **base_params) - noise_pred_no_portrait = noise_pred_no_portrait[0] - return noise_pred_no_portrait + portrait_cfg[idx] * (noise_pred_cond - noise_pred_no_portrait), noise_pred_ovi, [cache_state_cond, cache_state_uncond] - else: - if multitalk_audio_input is not None and not math.isclose(audio_cfg_scale[idx], 1.0): + return noise_pred_no_portrait[0] + portrait_cfg[idx] * (noise_pred_cond - noise_pred_no_portrait[0]), noise_pred_ovi, [cache_state_cond, cache_state_uncond] + elif multitalk_audio_input is not None and not math.isclose(audio_cfg_scale[idx], 1.0): base_params['multitalk_audio'] = torch.zeros_like(multitalk_audio_input)[-1:] - noise_pred_uncond_audio, _, cache_state_uncond = transformer( context=positive_embeds, pred_id=cache_state[0] if cache_state else None, vace_data=vace_data, attn_cond=attn_cond, **base_params) - return noise_pred_uncond_audio[0] + audio_cfg_scale[idx] * (noise_pred_cond - noise_pred_uncond_audio[0]), noise_pred_ovi, [cache_state_cond, cache_state_uncond] else: return noise_pred_cond, noise_pred_ovi, [cache_state_cond]