This is the repo for Wan2.1 ATI (Any Trajectory Instruction for Controllable Video Generation), a trajectory-based motion control framework that unifies object, local and camera movements in video generation. This repo is based on
Wan2.1 offical implementation
. Code:
https://github.com/bytedance/ATI
Install
ATI requires a same environment as offical Wan 2.1. Follow the instruction of INSTALL.md (Wan2.1).
git clone https://github.com/bytedance/ATI.git
cd ATI
Install packages
pip install .
First you need to download the 14B original model of Wan2.1.
where
-p
is the path to the config file,
-c
is the path to the checkpoint,
-o
is the path to the output directory,
-g
defines the number of gpus to use (if unspecificed, all avalible GPUs will be used; if
1
is given, will run on single process mode).
Once finished, you will expect to fine:
samples/outputs
for the raw output videos.
samples/images_tracks
shows the input image togather with the user specified trajectories.
samples/outputs_vis
shows the output videos togather with the user specified trajectories.
Expected results:
Input Image & Trajectory
Generated Videos (Superimposed Trajectories)
Create You Own Trajectory
We provide an interactive tool that allow users to draw and edit trajectories on their images.
First run:
cd tools/trajectory_editor
python3 app.py
then open this url
localhost:5000
in the browser. Note if you run the editor on the server, you need to replace
localhost
with the server's IP address.
Get the interface shown below, then click
Choose File
to open a local image.
Available trajectory functions:
a.
Free Trajectory
: Click and then drag with the mouse directly on the image.
b.
Circular (Camera Control)
:
Place a circle on the image, then drag to set its size for frame 0.
Place a few (3–4 recommended) track points on the circle.
Drag the radius control to achieve zoom-in/zoom-out effects.
c.
Static Point
: A point that remains stationary over time.
Note:
Pay attention to the progress bar in the box to control motion speed.
Trajectory Editing
: Select a trajectory here, then delete, edit, or copy it. In edit mode, drag the trajectory directly on the image. The selected trajectory is highlighted by color.
Camera Pan Control
: Enter horizontal (X) or vertical (Y) speed (pixels per frame). Positive X moves right; negative X moves left. Positive Y moves down; negative Y moves up. Click
Add to Selected
to apply to the current trajectory, or
Add to All
to apply to all trajectories. The selected points will gain a constant pan motion on top of their existing movement.
Important:
After editing, click
Store Tracks
to save. Each image (not each trajectory) must be saved separately after drawing all trajectories.
Once all edits are complete, locate the
videos_example
folder in the
Trajectory Editor
.
Citation
Please cite our paper if you find our work useful:
@article{wang2025ati,
title={{ATI}: Any Trajectory Instruction for Controllable Video Generation},
author={Wang, Angtian and Huang, Haibin and Fang, Zhiyuan and Yang, Yiding, and Ma, Chongyang}
journal={arXiv preprint},
volume={arXiv:2505.22944},
year={2025}
}
ATI huggingface.co is an AI model on huggingface.co that provides ATI's model effect (), which can be used instantly with this bytedance-research ATI model. huggingface.co supports a free trial of the ATI model, and also provides paid use of the ATI. Support call ATI model through api, including Node.js, Python, http.
ATI huggingface.co is an online trial and call api platform, which integrates ATI's modeling effects, including api services, and provides a free online trial of ATI, you can try ATI online for free by clicking the link below.
bytedance-research ATI online free url in huggingface.co:
ATI is an open source model from GitHub that offers a free installation service, and any user can find ATI on GitHub to install. At the same time, huggingface.co provides the effect of ATI install, users can directly use ATI installed effect in huggingface.co for debugging and trial. It also supports api for free installation.