Nodes/ComfyUI-WanActivationEditor/WanVideo Sequential Mixer
ComfyUI Node

WanVideo Sequential Mixer

A second concept that fades in as generation runs

By fblissjr·Created about a year ago·Updated about a year ago· 9
WanVideo Sequential Mixer
  • embedding_1
  • embedding_2
  • embedding_3
  • mixed_sequence
mix_schedulelinear
transition_point0.50
transition_sharpness0.10
transition_point_20.75

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.

CategoryWanVideoWrapper/Alternative

Inputs (7)

NameTypeDefaultDescription
embedding_1WANVIDEOTEXTEMBEDS
embedding_2WANVIDEOTEXTEMBEDS
mix_scheduleCOMBOlinear5 options: linear, ease_in, ease_out, ease_in_out, step
transition_pointFLOAT0.500–1
transition_sharpnessFLOAT0.100.01–1
embedding_3optWANVIDEOTEXTEMBEDS
transition_point_2optFLOAT0.750–1

Outputs (1)

NameTypeDescription
mixed_sequenceWANVIDEOTEXTEMBEDS