🚀 ATI:用于可控视频生成的任意轨迹指令
ATI(Any Trajectory Instruction for Controllable Video Generation)是一个基于轨迹的运动控制框架,它将视频生成中的对象、局部和相机运动统一起来。本仓库基于 Wan2.1 官方实现 构建。
属性 |
详情 |
基础模型 |
Wan-AI/Wan2.1-I2V-14B-480P |
语言 |
英文 |
许可证 |
apache-2.0 |
任务类型 |
图像到视频 |
标签 |
视频生成 |
库名称 |
diffusers |
ATI:用于可控视频生成的任意轨迹指令
王昂天, 黄海斌, 方致远, 杨毅丁, 马重阳
字节跳动智能创作团队

🚀 快速开始
本项目是关于 Wan2.1 ATI(用于可控视频生成的任意轨迹指令)的仓库,它是一个基于轨迹的运动控制框架,能将视频生成中的对象、局部和相机运动统一起来。本仓库基于 Wan2.1 官方实现 构建。代码地址:https://github.com/bytedance/ATI
📦 安装指南
ATI 需要与官方 Wan 2.1 相同的环境。请按照 INSTALL.md(Wan2.1)中的说明进行操作。
git clone https://github.com/bytedance/ATI.git
cd ATI
安装所需的包:
pip install .
首先,你需要下载 Wan2.1 的 14B 原始模型:
huggingface-cli download Wan-AI/Wan2.1-I2V-14B-480P --local-dir ./Wan2.1-I2V-14B-480P
然后,从我们的 Hugging Face 仓库下载 ATI-Wan 模型:
huggingface-cli download bytedance-research/ATI --local-dir ./Wan2.1-ATI-14B-480P
最后,将 VAE、T5 和其他杂项检查点从原始 Wan2.1 文件夹复制到 ATI 检查点位置:
cp ./Wan2.1-I2V-14B-480P/Wan2.1_VAE.pth ./Wan2.1-ATI-14B-480P/
cp ./Wan2.1-I2V-14B-480P/models_t5_umt5-xxl-enc-bf16.pth ./Wan2.1-ATI-14B-480P/
cp ./Wan2.1-I2V-14B-480P/models_clip_open-clip-xlm-roberta-large-vit-huge-14.pth ./Wan2.1-ATI-14B-480P/
cp -r ./Wan2.1-I2V-14B-480P/xlm-roberta-large ./Wan2.1-ATI-14B-480P/
cp -r ./Wan2.1-I2V-14B-480P/google ./Wan2.1-ATI-14B-480P/
💻 使用示例
运行 ATI
我们提供了一个演示脚本,用于运行 ATI:
bash run_example.sh -p examples/test.yaml -c ./Wan2.1-ATI-14B-480P -o samples
其中,-p
是配置文件的路径,-c
是检查点的路径,-o
是输出目录的路径,-g
定义要使用的 GPU 数量(如果未指定,将使用所有可用的 GPU;如果指定为 1
,将以单进程模式运行)。
运行完成后,你可以在以下位置找到相应的输出:
samples/outputs
:原始输出视频。
samples/images_tracks
:显示输入图像以及用户指定的轨迹。
samples/outputs_vis
:显示输出视频以及用户指定的轨迹。
预期结果如下:
创建你自己的轨迹
我们提供了一个交互式工具,允许用户在图像上绘制和编辑轨迹:
- 首先运行以下命令:
cd tools/trajectory_editor
python3 app.py
然后在浏览器中打开这个 URL localhost:5000。注意,如果你在服务器上运行编辑器,需要将 localhost
替换为服务器的 IP 地址。
-
打开界面后,点击 Choose File 打开本地图像。

-
可用的轨迹功能:

a. 自由轨迹:直接在图像上点击并拖动鼠标。
b. 圆形(相机控制):
- 在图像上放置一个圆,然后拖动以设置第 0 帧的大小。
- 在圆上放置几个(建议 3 - 4 个)跟踪点。
- 拖动半径控制以实现放大/缩小效果。
c. 静态点:一个随时间保持静止的点。
注意:注意框中的进度条,以控制运动速度。

-
轨迹编辑:在这里选择一个轨迹,然后进行删除、编辑或复制操作。在编辑模式下,直接在图像上拖动轨迹。所选轨迹会以颜色突出显示。

-
相机平移控制:输入水平(X)或垂直(Y)速度(每帧像素)。正 X 向右移动;负 X 向左移动。正 Y 向下移动;负 Y 向上移动。点击 Add to Selected 应用到当前轨迹,或点击 Add to All 应用到所有轨迹。所选点将在现有运动的基础上获得恒定的平移运动。

-
重要提示:编辑完成后,点击 Store Tracks 保存。绘制所有轨迹后,每个图像(不是每个轨迹)都必须单独保存。

-
完成所有编辑后,在 Trajectory Editor 中找到 videos_example
文件夹。
📄 许可证
本项目采用 apache-2.0 许可证。
📚 引用
如果您觉得我们的工作有用,请引用我们的论文:
@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}
}