MotionScale Advanced (RoPE + theta) ?
MotionScale, plus the RoPE theta dial nobody agrees on
- model
- model
The basic IAMCCS_MotionScale gives you one dial: how fast time passes. IAMCCS_MotionScaleAdvanced hands you that dial and the RoPE base frequency - theta - which is where the "advanced" part gets genuinely experimental. Same idea, deeper cut: scale the temporal positions for motion speed, but also change how the model distributes position information across its context, which changes long-clip coherence and motion intensity in ways that are hard to predict without testing.
It's from the IAMCCS-nodes WAN section, and the author's own description is refreshingly honest: "Experimental - use small deviations from theta=10000." This is a node for people who've already been bitten by WAN's 81-frame wall and are looking for the next lever, not for beginners who want a faster clip.
How it works
RoPE position embeddings are built on a base frequency, theta. WAN 2.2's default is 10,000. Raise it (20,000–50,000) and the model's effective context stretches - that's the "longer effective context, may help >81-frame coherence" claim, because the same position vector now spans more frames without wrapping. Lower it (2,000–5,000) and position differences get exaggerated, which reads as higher motion intensity - and higher instability.
Everything from the basic node carries over: scale_t / scale_y / scale_x patch the position scales (defaults 1.0 here - the author's not sneaking motion in on you), and enabled gives you the A/B toggle. The theta note is the important one: this is a transformer-level modification, so the effect depends on the exact checkpoint, and small steps are the whole game.
Inputs and outputs
model(MODEL) - WAN 2.2 model.enabled(BOOLEAN, default true) - toggle all modifications.scale_t/scale_y/scale_x(FLOAT, default 1.0) - position scales, as in the basic node.theta(FLOAT, default 10000, range 100–1,000,000) - RoPE base frequency. The tooltip's guidance: higher for longer context, lower for motion intensity, small increments only.
Output: model (MODEL).
How to install
Ships in IAMCCS-nodes. ComfyUI Manager search "IAMCCS", or:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Restart. No model downloads; WAN 2.2 from elsewhere. Pack floors: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8.
Gotchas
Take the "experimental" label at face value. Bumping theta to chase 81+ frame coherence is a real trick in the long-video playbook, but it interacts badly with the chunked-segment approach most people actually use - if you're already bridging segments with motion bridges or VACE, theta changes can fight the continuity logic. And "lower theta = more motion" is a siren song: people who crank it for intensity get flicker and face artifacts, then blame the model. Change theta in small steps (the step size is 100), A/B with enabled, and remember the community's long-form default is still: short native clips, RIFE interpolation, careful stitching - with RoPE as seasoning, not as the main dish.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| enabled | BOOLEAN | true | Enable / disable all modifications. |
| scale_topt | FLOAT | 1.00-10–10 | Temporal scale (same as basic MotionScale). |
| scale_yopt | FLOAT | 1.00-10–10 | Height (Y) position scale. |
| scale_xopt | FLOAT | 1.00-10–10 | Width (X) position scale. |
| thetaopt | FLOAT | 10000100–1000000 | RoPE base frequency. Wan 2.2 default = 10 000. Higher (20 000–50 000) = longer effective context, may help >81-frame coherence. Lower (2 000–5 000) = higher motion intensity / potential instability. ⚠ EXPERIMENTAL – change in small increments. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |