如果你是一名对AI视频生成感兴趣的开发者,或者正在寻找一款能兼顾视频生成、模型训练的工具,那么VideoX-Fun或许能满足你的需求。它是一个功能完整的视频生成pipeline,不仅能直接使用预训练模型生成不同规格的视频,还支持用户训练自己的模型,实现风格定制。接下来,我们就详细了解一下这款工具的方方面面。

一、VideoX-Fun是什么?

简单来说,VideoX-Fun是一个专注于AI视频生成的工具集。它的核心功能包括:

  • 直接使用预训练模型生成视频(支持文本生视频、图片生视频、视频生视频等多种模式);
  • 训练自定义的Diffusion Transformer基线模型和Lora模型,实现特定风格或场景的视频生成;
  • 支持多种控制条件(如姿态、边缘检测、深度信息等),让视频生成更可控。

从发布至今,VideoX-Fun一直在持续更新,不断提升功能:

  • 2025年4月,更新Wan2.1-Fun-V1.1版本,支持14B与1.3B模型的Control+参考图功能,新增镜头控制,优化Inpaint模型性能;
  • 2024年12月,推出CogVideoX-Fun-V1.5版本,上传图生视频模型及相关训练代码;
  • 2024年11月,加入奖励Lora支持,通过奖励反向传播技术优化视频生成效果,更符合人类偏好;
  • 2024年10月,CogVideoX-Fun Control模型获得diffusers支持,集成到Hugging Face生态;
  • 2024年9月,发布CogVideoX-Fun-V1.1版本,提升视频运动幅度,开放控制模型训练代码。

二、VideoX-Fun能做什么?

VideoX-Fun的功能覆盖了视频生成的全流程,无论是直接生成视频,还是训练自己的模型,都能找到对应的工具支持。

1. 视频生成

支持多种生成模式,包括:

  • 文本生视频(T2V):输入文字描述,生成符合描述的视频;
  • 图片生视频(I2V):以一张图片为基础,生成动态视频;
  • 视频生视频(V2V):参考已有视频的内容或风格,生成新视频;
  • 控制生视频:通过姿态(Pose)、边缘检测(Canny)、深度信息(Depth)等条件,精确控制视频中物体的运动和形态。

生成的视频支持多种分辨率(如512×512、768×768、1024×1024等)、帧数(49帧、81帧、121帧等)和帧率(8FPS、16FPS、24FPS等),满足不同场景的需求。

2. 模型训练

如果你想生成特定风格的视频(比如动漫、写实、手绘等),可以通过VideoX-Fun训练自己的模型:

  • 支持训练基线模型(如Diffusion Transformer);
  • 支持训练Lora模型(轻量级微调,快速适配新风格);
  • 提供完整的数据预处理工具,帮助你准备训练数据。

3. 实用工具

  • 显存优化方案:针对大模型参数带来的显存压力,提供多种显存节省模式,让消费级显卡也能运行;
  • 多平台支持:兼容Windows和Linux系统,方便不同环境的开发者使用;
  • UI界面:提供直观的操作界面,降低使用门槛(如图1)。
VideoX-Fun UI界面

图1:VideoX-Fun的UI界面,操作直观易懂

三、核心模型介绍

VideoX-Fun包含多个系列的预训练模型,覆盖不同的生成需求和参数规模。以下是主要模型的详细信息:

1. Wan2.2系列

Wan2.2是万象系列的新版本,包含多个子模型,支持文本生视频、图生视频及多种控制功能。

模型名称 存储空间 Hugging Face地址 Model Scope地址 描述
Wan2.2-TI2V-5B 🤗Link 😄Link 5B参数的文生视频权重
Wan2.2-T2V-A14B 🤗Link 😄Link 14B参数的文生视频权重
Wan2.2-I2V-A14B 🤗Link 😄Link 14B参数的图生视频权重

Wan2.2-Fun子系列

Wan2.2-Fun在基础模型上增强了功能,支持更多控制条件和首尾图预测。

模型名称 存储空间 Hugging Face地址 Model Scope地址 描述
Wan2.2-Fun-A14B-InP 64.0 GB 🤗Link 😄Link 14B参数文图生视频权重,多分辨率训练,支持首尾图预测
Wan2.2-Fun-A14B-Control 64.0 GB 🤗Link 😄Link 14B参数视频控制权重,支持Canny、Depth、Pose等控制条件,81帧、16FPS,多语言支持
Wan2.2-Fun-A14B-Control-Camera 64.0 GB 🤗Link 😄Link 14B参数相机镜头控制权重,81帧、16FPS,多语言支持
Wan2.2-Fun-5B-InP 23.0 GB 🤗Link 😄Link 5B参数文图生视频权重,121帧、24FPS,支持首尾图预测
Wan2.2-Fun-5B-Control 23.0 GB 🤗Link 😄Link 5B参数视频控制权重,支持多种控制条件,121帧、24FPS,多语言支持
Wan2.2-Fun-5B-Control-Camera 23.0 GB 🤗Link 😄Link 5B参数相机镜头控制权重,121帧、24FPS,多语言支持
Wan2.2-VACE-Fun-A14B 64.0 GB 🤗Link 😄Link 基于VACE方案训练的14B控制权重,支持多种控制条件和主体指定,81帧、16FPS

2. Wan2.1系列

Wan2.1是万象系列的上一代模型,同样包含多个子模型,适合对参数规模和功能有不同需求的场景。

模型名称 Hugging Face地址 Model Scope地址 描述
Wan2.1-T2V-1.3B 🤗Link 😄Link 1.3B参数文生视频权重
Wan2.1-T2V-14B 🤗Link 😄Link 14B参数文生视频权重
Wan2.1-I2V-14B-480P 🤗Link 😄Link 14B参数480P图生视频权重
Wan2.1-I2V-14B-720P 🤗Link 😄Link 14B参数720P图生视频权重

Wan2.1-Fun子系列

Wan2.1-Fun增强了控制功能,支持参考图+控制条件的组合模式。

模型名称 存储空间 Hugging Face地址 Model Scope地址 描述
Wan2.1-Fun-V1.1-1.3B-InP 19.0 GB 🤗Link 😄Link 1.3B参数文图生视频权重,多分辨率训练,支持首尾图预测
Wan2.1-Fun-V1.1-14B-InP 47.0 GB 🤗Link 😄Link 14B参数文图生视频权重,多分辨率训练,支持首尾图预测
Wan2.1-Fun-V1.1-1.3B-Control 19.0 GB 🤗Link 😄Link 1.3B参数视频控制权重,支持多种控制条件和轨迹控制,81帧、16FPS
Wan2.1-Fun-V1.1-14B-Control 47.0 GB 🤗Link 😄Link 14B参数视频控制权重,支持多种控制条件和轨迹控制,81帧、16FPS
Wan2.1-Fun-V1.1-1.3B-Control-Camera 19.0 GB 🤗Link 😄Link 1.3B参数相机镜头控制权重,81帧、16FPS
Wan2.1-Fun-V1.1-14B-Control-Camera 47.0 GB 🤗Link 😄Link 14B参数相机镜头控制权重,81帧、16FPS

3. CogVideoX-Fun系列

CogVideoX-Fun专注于图生视频和控制生成,支持更高的分辨率(最高1280×1280)。

V1.5版本

模型名称 存储空间 Hugging Face地址 Model Scope地址 描述
CogVideoX-Fun-V1.5-5b-InP 20.0 GB 🤗Link 😄Link 5B参数图生视频权重,支持512/768/1024分辨率,85帧、8FPS
CogVideoX-Fun-V1.5-Reward-LoRAs 🤗Link 😄Link 奖励反向传播模型,优化视频生成效果,更符合人类偏好

V1.1版本

模型名称 存储空间 Hugging Face地址 Model Scope地址 描述
CogVideoX-Fun-V1.1-2b-InP 13.0 GB 🤗Link 😄Link 2B参数图生视频权重,支持512/768/1024/1280分辨率,49帧、8FPS
CogVideoX-Fun-V1.1-5b-InP 20.0 GB 🤗Link 😄Link 5B参数图生视频权重,添加Noise增强运动幅度,支持多分辨率,49帧、8FPS
CogVideoX-Fun-V1.1-2b-Pose 13.0 GB 🤗Link 😄Link 2B参数姿态控制生视频权重,支持多分辨率,49帧、8FPS
CogVideoX-Fun-V1.1-2b-Control 13.0 GB 🤗Link 😄Link 2B参数控制生视频权重,支持Canny/Depth/Pose等条件,多分辨率,49帧、8FPS
CogVideoX-Fun-V1.1-5b-Pose 20.0 GB 🤗Link 😄Link 5B参数姿态控制生视频权重,支持多分辨率,49帧、8FPS
CogVideoX-Fun-V1.1-5b-Control 20.0 GB 🤗Link 😄Link 5B参数控制生视频权重,支持多种控制条件,多分辨率,49帧、8FPS
CogVideoX-Fun-V1.1-Reward-LoRAs 🤗Link 😄Link 奖励反向传播模型,优化V1.1版本生成效果

旧版本(V1.0,已过时)

模型名称 存储空间 Hugging Face地址 Model Scope地址 描述
CogVideoX-Fun-2b-InP 13.0 GB 🤗Link 😄Link 2B参数图生视频权重,支持多分辨率,49帧、8FPS
CogVideoX-Fun-5b-InP 20.0 GB 🤗Link 😄Link 5B参数图生视频权重,支持多分辨率,49帧、8FPS

四、如何使用VideoX-Fun生成视频?

使用VideoX-Fun生成视频的流程并不复杂,只需按照以下步骤操作,即使是新手也能快速上手。

1. 准备工作

首先,需要获取模型文件。你可以通过上面表格中的Hugging Face或Model Scope链接下载对应的模型权重。同时,确保你的环境满足运行要求(如安装Python、PyTorch、diffusers等依赖)。

2. 选择显存节省方案

由于部分模型参数较大(如14B模型),对显卡显存要求较高。VideoX-Fun提供了3种显存节省方案,可根据你的显卡配置选择:

  • model_cpu_offload:模型使用后会转移到CPU,节省部分显存,适合显存中等的显卡;
  • model_cpu_offload_and_qfloat8:在model_cpu_offload基础上,对transformer模型进行float8量化,节省更多显存,但可能轻微降低生成效果;
  • sequential_cpu_offload:模型每一层使用后转移到CPU,显存占用最低,但生成速度较慢,适合显存较小的消费级显卡。

如果你的显卡显存充足(如16GB以上),推荐使用model_cpu_offload,兼顾效果和速度。

3. 运行生成脚本

根据生成需求,选择对应的Python脚本:

(1)视频生视频(V2V)

  • 准备参考视频:可以使用官方提供的演示视频(play_guitar.mp4);
  • 运行脚本:examples/cogvideox_fun/predict_v2v.py
  • 生成结果会保存在samples/cogvideox-fun-videos_v2v文件夹中。

(2)控制生视频(如Canny、Pose、Depth)

  • 准备控制视频:控制视频是经过Canny、Pose等算子处理后的视频,可使用官方演示视频(pose.mp4);
  • 修改参数:在examples/cogvideox_fun/predict_v2v_control.py中,设置control_video(控制视频路径)、validation_image_end(目标图片)、prompt(文本描述)、neg_prompt(不希望出现的内容)、guidance_scale(引导强度)和seed(随机种子);
  • 运行脚本:examples/cogvideox_fun/predict_v2v_control.py
  • 生成结果保存在samples/cogvideox-fun-videos_v2v_control文件夹中。

(3)结合自定义Lora模型

如果需要使用自己训练的Lora模型,修改examples/{model_name}/predict_t2v.pyexamples/{model_name}/predict_i2v.py中的lora_path(Lora模型路径)即可。

五、如何训练自己的模型?

如果你想让模型生成特定风格的视频,可以通过VideoX-Fun训练自己的模型。训练流程包括数据预处理和模型训练两部分。

1. 数据预处理

训练模型需要准备高质量的数据集,包括视频、图片及对应的文本描述。

(1)数据集结构

推荐的数据集结构如下:

📦 project/
├── 📂 datasets/
│   ├── 📂 internal_datasets/
│       ├── 📂 train/
│       │   ├── 📄 00000001.mp4  # 视频文件
│       │   ├── 📄 00000002.jpg  # 图片文件
│       │   └── 📄 .....
│       └── 📄 json_of_internal_datasets.json  # 数据元信息

(2)元信息文件格式

json_of_internal_datasets.json是描述数据的关键文件,格式如下:

  • 相对路径格式:
[
    {
      "file_path": "train/00000001.mp4",
      "text": "一群穿西装戴墨镜的年轻人走在城市街道上。",
      "type": "video"
    },
    {
      "file_path": "train/00000002.jpg",
      "text": "一群穿西装戴墨镜的年轻人走在城市街道上。",
      "type": "image"
    }
]
  • 绝对路径格式:
[
    {
      "file_path": "/mnt/data/videos/00000001.mp4",
      "text": "一群穿西装戴墨镜的年轻人走在城市街道上。",
      "type": "video"
    },
    {
      "file_path": "/mnt/data/train/00000001.jpg",
      "text": "一群穿西装戴墨镜的年轻人走在城市街道上。",
      "type": "image"
    }
]

其中,type字段指定文件类型(video或image),text字段是对应的描述文本。

(3)长视频处理

如果你的数据是长视频,可以参考cogvideox/video_caption/README.md中的工具,进行切分、清洗和自动生成描述。

2. 模型训练(以Video DiT为例)

(1)配置数据集路径

根据数据集中的路径类型(相对路径/绝对路径),修改训练脚本中的参数:

  • 相对路径:编辑scripts/{model_name}/train.sh,设置:
export DATASET_NAME="datasets/internal_datasets/"
export DATASET_META_NAME="datasets/internal_datasets/json_of_internal_datasets.json"
  • 绝对路径:编辑scripts/train.sh,设置:
export DATASET_NAME=""
export DATASET_META_NAME="/mnt/data/json_of_internal_datasets.json"

(2)运行训练脚本

执行以下命令开始训练:

sh scripts/train.sh

(3)参数设置细节

不同模型的训练参数设置略有差异,具体可参考:

  • Wan2.1-Fun:scripts/wan2.1_fun/README_TRAIN.mdscripts/wan2.1_fun/README_TRAIN_LORA.md
  • Wan2.1:scripts/wan2.1/README_TRAIN.mdscripts/wan2.1/README_TRAIN_LORA.md
  • CogVideoX-Fun:scripts/cogvideox_fun/README_TRAIN.mdscripts/cogvideox_fun/README_TRAIN_LORA.md

六、常见问题解答(FAQ)

1. 不同系列的模型有什么区别?该如何选择?

  • Wan2.2系列:最新版本,参数规模覆盖5B和14B,支持更高的帧率(24FPS)和更多控制条件,适合对视频流畅度和可控性要求高的场景;
  • Wan2.1系列:上一代模型,参数规模1.3B到14B,帧率16FPS,功能稳定,适合入门使用;
  • CogVideoX-Fun系列:专注图生视频,支持更高分辨率(1280×1280),适合生成高清视频,帧率8FPS,运动幅度可通过版本选择(V1.1比V1.0更大)。

选择建议:优先考虑最新版本(如Wan2.2-Fun或CogVideoX-Fun-V1.5),如果显卡显存有限(如8GB以下),可选择参数较小的模型(如2B、1.3B)。

2. 显存不足怎么办?

VideoX-Fun提供了3种显存节省方案,按显存占用从低到高排序:sequential_cpu_offload < model_cpu_offload_and_qfloat8 < model_cpu_offload。如果显存仍然不足,可尝试:

  • 降低生成视频的分辨率(如从1024×1024改为512×512);
  • 减少生成的帧数(如从81帧改为49帧);
  • 选择参数更小的模型(如2B模型)。

3. 如何评估生成视频的质量?

可以从以下几个维度评估:

  • 内容相关性:是否符合输入的文本描述或参考图;
  • 运动流畅度:帧之间的过渡是否自然,无卡顿;
  • 清晰度:画面是否清晰,无模糊或 artifacts;
  • 控制精度(针对控制生成):是否准确遵循Canny、Pose等控制条件。

此外,CogVideoX-Fun的Reward-LoRAs模型可自动优化视频,使其更符合人类偏好,可作为辅助评估工具。

4. 训练模型需要多少数据?

训练基线模型通常需要大量数据(数千到数万样本),而Lora模型微调可使用较少数据(数百样本)。数据质量比数量更重要,建议选择清晰、主题一致的视频/图片,并提供准确的文本描述。

5. 支持Windows系统吗?

是的,VideoX-Fun同时支持Windows和Linux系统,使用方法一致。

七、参考文献

VideoX-Fun的开发参考了多个开源项目和技术,相关资源如下:

  • CogVideo:https://github.com/THUDM/CogVideo/
  • EasyAnimate:https://github.com/aigc-apps/EasyAnimate
  • Wan2.1:https://github.com/Wan-Video/Wan2.1/
  • Wan2.2:https://github.com/Wan-Video/Wan2.2/
  • ComfyUI-KJNodes:https://github.com/kijai/ComfyUI-KJNodes
  • ComfyUI-EasyAnimateWrapper:https://github.com/kijai/ComfyUI-EasyAnimateWrapper
  • ComfyUI-CameraCtrl-Wrapper:https://github.com/chaojie/ComfyUI-CameraCtrl-Wrapper
  • CameraCtrl:https://github.com/hehao13/CameraCtrl
  • VACE:https://github.com/ali-vilab/VACE

通过以上内容,相信你对VideoX-Fun已有了全面的了解。无论是直接生成视频,还是训练自定义模型,它都能提供灵活且强大的支持。如果你是AI视频创作领域的开发者或爱好者,不妨尝试使用,探索更多视频生成的可能性。