WanVideo Sequential Mixer
A second concept that fades in as generation runs
- embedding_1
- embedding_2
- embedding_3
- mixed_sequence
You know "prompt travel" - the workflow that interpolates between prompts over the timeline of a video so the beginning is one scene and the end is another. This node does the sibling trick at a different axis: it transitions between embeddings over the denoising schedule of a single generation. Early denoising steps get mostly embedding A, late steps get embedding B, with a controlled curve in between. That's not temporal travel (a clear caveat in the pack's own guide - it does not change prompts over time); it's a depth-based morph, exploiting the fact that early steps shape structure and late steps paint detail.
Mechanically it's straightforward and model-free. embedding_1 and embedding_2 are required WANVIDEOTEXTEMBEDS; embedding_3 is optional, giving you a three-stage transition. mix_schedule picks the curve - linear, ease_in, ease_out, ease_in_out, or step (a hard cut at the transition point). transition_point (default 0.5) is where the A→B handoff happens across the normalized schedule; with three embeddings, transition_point_2 (default 0.75) sets the second handoff. transition_sharpness exists for the softer schedules. The output, mixed_sequence, is a WANVIDEOTEXTEMBEDS carrying the representative mixed embedding plus the full weight schedule - feed it wherever the pack's editor would take an injection embedding.
How to actually use it
The interesting move: this is the pack's "progressive concept morph." Combine it with block injection - use the mixed sequence as your injection embedding into WanVideoActivationEditor with late_blocks activated, and you get "the semantic layer of the video drifts from concept A to concept B while the early blocks stay anchored to your main prompt." That's the sort of thing the README's creative examples are reaching for ("gradual concept morphing through progressive block activation"), and the mixer is the cleanest tool in the pack for building the gradual part.
One honest note: the node computes the full 20-step weight schedule but returns a single representative embedding (the midpoint) as the actual output tensor - the full sequence is stored on the dict, so whether the sampler consumes the whole sequence depends on the downstream node honoring it. As with much of this experimental pack, the schedule is designed; the enforcement is best-effort. And there's no num_steps input - it's hardcoded to 20 in the source, which matches typical Wan denoising but is worth knowing if you run very different step counts.
Install & troubleshooting
Same pack, WanVideoWrapper first:
cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper # required first
git clone https://github.com/fblissjr/ComfyUI-WanActivationEditor
cd ComfyUI-WanActivationEditor && pip install -r requirements.txt
Restart ComfyUI (ComfyUI Manager: search "ComfyUI-WanActivationEditor"). Deps: torch, numpy, duckdb, zstandard.
Gotchas: feed it mismatched embedding shapes and the mixer blends whatever's there - keep both sides at the same stage (raw or projected). And remember the axis: if you wanted the video's timeline to change scenes, this isn't the node - you want actual prompt travel over frames. This morphs within the denoising of a single clip.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| embedding_1 | WANVIDEOTEXTEMBEDS | — | |
| embedding_2 | WANVIDEOTEXTEMBEDS | — | |
| mix_schedule | COMBO | linear | 5 options: linear, ease_in, ease_out, ease_in_out, step |
| transition_point | FLOAT | 0.500–1 | — |
| transition_sharpness | FLOAT | 0.100.01–1 | — |
| embedding_3opt | WANVIDEOTEXTEMBEDS | — | |
| transition_point_2opt | FLOAT | 0.750–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| mixed_sequence | WANVIDEOTEXTEMBEDS | — |