Update screenshots
@@ -18,7 +18,6 @@ For smoothly joining two video clips together. Builds VACE controls for the tran
|
||||
|
||||
- Builds VACE control video and mask from context frames in both clips
|
||||
- Outputs video segments for final assembly
|
||||
- Optional crossfade mode for artifact reduction in the surrounding workflow.
|
||||
|
||||

|
||||
|
||||
@@ -28,7 +27,6 @@ For smoothly joining two video clips together. Builds VACE controls for the tran
|
||||
|context_frames|8|Reference frames from each video edge that VACE uses for interpolation. These frames guide the model and are preserved in the output. Must be a multiple of 4.|
|
||||
|replace_frames|8|Number of frames at each transition edge to discard and regenerate. These create the actual transition blend zone. Must be a multiple of 4.|
|
||||
|add_frames|0|Number of completely new frames to generate between the two clips, extending the transition duration. Must be 0 or a multiple of 4.|
|
||||
|crossfade_mode|false| When enabled, context frames are included in start_images and end_images so they can be blended with the context frames included in the VACE generated clip. This can help mitigate color or brightness artifacts at the transition.|
|
||||
|
||||
|
||||
**Outputs:**
|
||||
@@ -102,7 +100,6 @@ For smoothly extending a video. Context frames from before the chosen extension
|
||||
- Extends from arbitrary frame position
|
||||
- Builds VACE control video and mask from context frames in the input video
|
||||
- Outputs video segment preceding the extension for video reassembly
|
||||
- Optional crossfade mode for artifact reduction in the surrounding workflow.
|
||||
|
||||

|
||||
|
||||
@@ -114,7 +111,6 @@ For smoothly extending a video. Context frames from before the chosen extension
|
||||
| extend_from_idx | -1 | Frame to extend from (negative counts from end, e.g., -1 = last frame) |
|
||||
| context_frames | 8 | Number of reference frames preceding extend_from_idx that VACE uses for interpolation. These frames guide the model and are preserved in the output. Must be a multiple of 4. |
|
||||
| new_frames | 25 | Number of new frames to generate (must be 4n+1: e.g., 1, 5, 9, 13, 17, 25...) |
|
||||
| crossfade_mode | false | When enabled, context frames are included in start_images so they can be blended with the context frames included in the VACE generated clip. This can help mitigate color or brightness artifacts at the transition. |
|
||||
|
||||
**Outputs:**
|
||||
|Output|Description|
|
||||
|
||||
|
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 158 KiB |
|
Before Width: | Height: | Size: 310 KiB After Width: | Height: | Size: 137 KiB |
|
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 158 KiB |
|
Before Width: | Height: | Size: 317 KiB After Width: | Height: | Size: 143 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 34 KiB |
@@ -27,10 +27,6 @@ class WanVACEExtend:
|
||||
"step": 4,
|
||||
"tooltip": "Number of new frames to generate (4n+1)."
|
||||
}),
|
||||
"crossfade_mode": ("BOOLEAN", {
|
||||
"default": False,
|
||||
"tooltip": "Include context frames in start_images for cross-fade or other workflow use cases."
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +36,7 @@ class WanVACEExtend:
|
||||
CATEGORY = "video/VACE"
|
||||
DESCRIPTION = "Generates VACE control video and mask for extending a video from an arbitrary position using context frames."
|
||||
|
||||
def vace_extend(self, video, extend_from_idx, context_frames, new_frames, crossfade_mode):
|
||||
def vace_extend(self, video, extend_from_idx, context_frames, new_frames):
|
||||
height = int(video.shape[1])
|
||||
width = int(video.shape[2])
|
||||
video_length = video.shape[0]
|
||||
@@ -95,11 +91,8 @@ class WanVACEExtend:
|
||||
mask = torch.zeros((vace_count, height, width), dtype=torch.float32, device=video.device)
|
||||
mask[context_frames:] = 1.0
|
||||
|
||||
if crossfade_mode:
|
||||
start_images = video[:actual_extend_idx]
|
||||
else:
|
||||
cut_point = actual_extend_idx - context_frames
|
||||
start_images = video[:cut_point]
|
||||
cut_point = actual_extend_idx - context_frames
|
||||
start_images = video[:cut_point]
|
||||
|
||||
length = int(control_video.shape[0])
|
||||
|
||||
|
||||