Views
No views yet
![]() |
ϕ-Noise:
|
![]() |
| I2V Motion Transfer | T2V Motion Transfer | Cut n' Drag |
|---|---|---|
![]() | ![]() | ![]() |
phi_noise_utils.py: core frequency-mixing utilities.video_processing_utils.py: Video utilities: preprocessing and adjusting sizes/lengths.Wan2.2_phi-noise/: A fork of Wan2.2 official GitHub with small adjustments for the integration of our method. git clone git@github.com:ofir1080/Wan2.2_phi-noise.git).freq_mix_temporal and freq_mix_spatial in phi_noise_utils.py can be integrated easily with any diffusion-based video model.torch.fft module). video_processing_utils.py so the FPS, frame size, and clip length match the model requirements. This saves the preprocessed video in addition to the first frame (for I2V Motio Transfer).PYTHONPATH so phi_noise_utils and wan import correctly. Example commands (adjust --nproc_per_node, --ulysses_size, CUDA_VISIBLE_DEVICES, and --ckpt_dir):1export PYTHONPATH=absolute-path/phi-noise/Wan2.2_phi-noise
2export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
3python -m torch.distributed.run \
4 --nproc_per_node 8 --master_port 29501 Wan2.2_phi-noise/generate.py \
5 --ulysses_size 8 --task t2v-A14B --size "832*480" --sample_steps 20 \
6 --ckpt_dir /path/to/checkpoints --offload_model False --convert_model_dtype \
7 --dit_fsdp --prompt "A yellow helicopter is flying in the beach. Camera is fixed and static. Fixed Background." \
8 --pn_ref_path guidance_exmaples/preprocessed_14B-low_81f_duck.mp4 --pn_task t2v_mt \
9 --pn_gamma 5 --pn_alpha 41export PYTHONPATH=absolute-path/to/phi-noise/Wan2.2_phi-noise
2export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
3python -m torch.distributed.run \
4 --nproc_per_node 8 --master_port 29501 Wan2.2_phi-noise/generate.py \
5 --ulysses_size 8 --task t2v-A14B --size "832*480" --sample_steps 20 \
6 --ckpt_dir /path/to/checkpoints --offload_model False --convert_model_dtype \
7 --dit_fsdp --prompt "The cat is turning its head towards the camera and after a second starts waving hello its right paw. Camera is fixed and static. Fixed Background." \
8 --image "guidance_exmaples/mt-it2m/cat_in_nature.jpg" \
9 --pn_ref_path guidance_exmaples/mt-it2m/preprocessed_14B-low_81f_woman_turning.mp4 \
10 --pn_task i2v_mt \
11 --pn_gamma 3 --pn_alpha 31export PYTHONPATH=absolute-path/phi-noise/Wan2.2_phi-noise
2export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
3python -m torch.distributed.run \
4 --nproc_per_node 8 --master_port 29501 Wan2.2_phi-noise/generate.py \
5 --ulysses_size 8 --task i2v-A14B --size "832*480" --sample_steps 20 \
6 --ckpt_dir /path/to/checkpoints --offload_model False --convert_model_dtype --dit_fsdp \
7 --prompt "A flock of birds flies gracefully across the sky above a natural landscape." \
8 --image "guidance_exmaples/cut_n_drag/preprocessed_14B-low_81f_birds_ff.png"\
9 --pn_ref_path guidance_exmaples/cut_n_drag/preprocessed_14B-low_81f_birds.mp4 \
10 --pn_task t2v_mt \
11 --pn_gamma 30 --pn_alpha 3# separators, for example: --pn_alpha arg1#arg2#arg3.1from phi_noise_utils import freq_mix_temporal, freq_mix_spatial
2
3# temporal Φ-noise (for I2V-related tasks)
4latents = freq_mix_temporal(noise_latents, ref_latents, alpha=3, gamma=30.0) # recommended range values: gamma: alpha: [3-6], gamma: [30]
5
6# spatial Φ-noise (for T2V Motion Transfer + Structural Conditioning)
7mixed_latents = freq_mix_spatial(noise_latents, ref_latents, alpha=3, gamma=4.0, dims=("h","w")) # recommended range values: gamma: alpha: [3-4], gamma: [5-10]@article{abramovich2025phinoise,
title = {ϕ-Noise: Training-Free Temporal Video Conditioning
via Phase-Based Noise Manipulation},
author = {Abramovich, Ofir and Cohen, Nadav Z. and
Rosenthal, Adi and Shamir, Ariel},
journal = {arXiv preprint},
year = {2025},
}