📍 无忆研习社 › 开源解码 › 快手可灵开源 UniVideo 深度解析:视频生成、编辑、理解三合一的统一多模态模型本地部署全攻略

快手可灵开源 UniVideo 深度解析:视频生成、编辑、理解三合一的统一多模态模型本地部署全攻略

摘要:快手可灵团队开源的UniVideo统一视频多模态模型,集视频生成、编辑、理解于一体,打破传统多模型切换壁垒。它采用创新的双流架构,结合Qwen2.5-VL的理解能力和HunyuanVideo的生成能力,支持文生视频、图生视频、视频编辑、视觉问答等多种任务。模型完全开源,支持本地部署和商业使用,为内容创作者、开发者和研究者提供了强大的开源利器。
字号 100%
行距 2.05
当前可见 60% 的内容
本文由「无忆研习社」精心整理,深入剖析快手可灵团队最新开源的 UniVideo 统一视频多模态模型,从技术原理到实战部署,手把手带你玩转这款集视频生成、编辑、理解于一体的开源利器。

前言:为什么 UniVideo 值得关注?

在 AI 视频生成领域,我们常常面临这样的困境:想要生成一段视频,需要用到文生视频模型;想要编辑视频内容,又得切换到专门的视频编辑工具;而如果想让 AI 理解视频内容并进行问答,还得再找一个视频理解模型。三个不同的模型,三套不同的环境配置,三种不同的使用方式——这无疑大大增加了开发和使用的复杂度。

如今,快手可灵团队联合滑铁卢大学开源的 UniVideo 模型,正式打破了这一壁垒。这是一个真正实现了「大一统」的视频多模态模型,用一个模型就能搞定视频生成、视频编辑、视频理解三大核心任务。对于内容创作者、AI 开发者、研究人员而言,这无疑是一个重磅福音。

本文由「无忆研习社」倾情整理,将从技术原理、模型架构、功能特性、本地部署、实际应用等多个维度,为你全方位解读这款开源神器,并提供详尽的本地部署教程,即使是零基础的小白也能轻松上手。


第一章:UniVideo 是什么?

1.1 项目基本信息

UniVideo 是由快手可灵团队(Kling Team)与加拿大滑铁卢大学联合研发并开源的统一视频多模态模型。该项目于 2025 年 10 月首次发布论文预印本,并于 2026 年 1 月正式开源代码和模型权重。

项目核心资源:

1.2 核心特性概览

UniVideo 最大的亮点在于其「三合一」的统一能力,具体包括:

第一,文生视频(Text-to-Video)能力

给模型一段文字描述,它就能生成对应的高清视频。例如输入「一只金毛犬在海滩上奔跑,阳光洒在海面上」,模型就能凭空创造出这样一段生动的视频内容。

第二,视频编辑(Video Editing)能力

给模型一段现有视频和修改指令,它能精准地按照你的要求进行调整。比如「把视频中人物的红色衣服改成蓝色」、「将背景从城市换成森林」等,模型都能准确执行。

第三,视频理解(Video Understanding)能力

给模型一段视频,它不仅能写出详细的内容描述,还能回答你关于视频内容的各种问题,甚至支持多轮对话深入探讨视频中的剧情细节。

这三种能力的统一整合,意味着开发者和用户无需在多个不同的模型之间来回切换,大大简化了工作流程。

1.3 与其他视频模型的对比

相比于市面上其他视频生成模型(如 Sora、Runway、Pika 等),UniVideo 具有以下独特优势:

特性

UniVideo

Sora/Runway/Pika

开源程度

完全开源(代码+权重)

闭源/部分开源

功能统一性

生成+编辑+理解三合一

通常只专注单一任务

部署方式

支持本地部署

大多只提供云端 API

商业使用

Apache-2.0 许可证支持

通常有使用限制

任务组合

支持任务组合(如编辑+风格迁移)

不支持

零样本泛化

图像编辑能力可迁移至视频编辑

通常需要专门训练


第二章:技术原理深度剖析

要真正理解 UniVideo 的强大之处,我们需要深入了解其背后的技术架构。本章由「无忆研习社」为你详细解读 UniVideo 的核心技术原理。

2.1 双流架构设计(Dual-Stream Architecture)

UniVideo 采用了创新的「双流架构」设计,这是其能够统一多种视频任务的关键所在。

理解流(Understanding Stream)

理解流的核心是一个多模态大语言模型(MLLM),具体采用的是阿里通义千问团队开源的 Qwen2.5-VL-7B-Instruct 模型。这个模型负责:

  • 处理和理解文本指令
  • 解析图像和视频输入的语义信息
  • 进行复杂的多模态推理
  • 生成高级语义特征供生成流使用

Qwen2.5-VL 是目前开源界最强大的多模态大语言模型之一,它采用了动态分辨率技术,能够处理任意尺寸的图像,并且支持超过一小时的长视频理解。在 UniVideo 中,Qwen2.5-VL 就像是给模型装上了一双「洞察秋毫的眼睛」和一颗「聪明的大脑」。

生成流(Generation Stream)

生成流的核心是一个多模态扩散 Transformer(MMDiT),基于腾讯开源的 HunyuanVideo 视频生成模型构建。HunyuanVideo 是目前开源领域最大的视频生成模型之一,拥有约 130 亿参数,能够生成电影级画质的视频内容。在 UniVideo 中,它负责:

  • 根据理解流提供的语义特征生成视频
  • 保持视频的时间一致性和空间一致性
  • 处理精细的视觉细节

这种「最强大脑 + 最快画手」的组合,让 UniVideo 在理解力和表现力上都达到了开源界的顶峰。

2.2 连接器设计(Connector Design)

理解流和生成流之间通过一个可训练的 MLP(多层感知机)连接器进行桥接。具体来说:

  1. Qwen2.5-VL 处理多模态输入后,输出最后一层的隐藏状态(hidden states)
  2. MLP 连接器将这些隐藏状态转换到 MMDiT 能够理解的特征空间
  3. 转换后的特征与 VAE 编码的视觉潜在表示一起输入到 MMDiT

这种设计的巧妙之处在于:

  • 保留了 MLLM 原有的文本生成能力
  • 实现了语义信息和视觉细节的双重传递
  • 连接器参数量小,训练效率高

2.3 双路径视觉输入

UniVideo 对视觉输入采用了独特的双路径处理方式:

语义路径(Semantic Path)

视觉输入(图像或视频)首先经过 Qwen2.5-VL 的语义编码器处理,提取高级语义特征。这些特征包含了对内容的理解,如「这是一个人」、「他穿着红色衣服」、「背景是海滩」等抽象概念。

视觉路径(Visual Path)

同时,视觉输入也会经过 VAE(变分自编码器)编码,生成低级视觉潜在表示。这些表示保留了精细的视觉细节,如纹理、颜色、边缘等。

双路径的结合确保了模型既能理解「是什么」,又能保持「看起来如何」,这对于视频编辑和身份保持任务尤为重要。

2.4 统一指令范式

UniVideo 将所有任务统一到一个多模态指令范式下,通过为视觉输入分配 ID 标签(如 <Image 1>、<Video 1>)来实现。这种设计的优势包括:

  • 模型可以自动区分不同任务
  • 支持任务组合(如「编辑+风格迁移」可以在单个指令中完成)
  • 简化了用户使用方式

2.5 三阶段训练策略

UniVideo 的训练分为三个阶段,每个阶段都有特定的目标:

第一阶段:连接器对齐

  • 冻结 MLLM 和 MMDiT,只训练 MLP 连接器
  • 使用约 4000 万文生图和 1000 万文生视频数据
  • 目标是让连接器学会如何将 MLLM 的语义特征转换到 MMDiT 的输入空间

第二阶段:生成器微调

  • 冻结 MLLM,微调连接器和 MMDiT
  • 使用约 1 万高质量文生图和文生视频数据
  • 目标是提升生成质量,使其达到 MMDiT 原有的性能水平

第三阶段:多任务训练

  • 继续冻结 MLLM,训练连接器和 MMDiT
  • 引入上下文生成、视频编辑、图像编辑、图生视频等多种任务
  • 目标是让模型掌握统一的多任务能力

这种渐进式训练策略确保了模型能够稳定地学习各种能力,同时避免了灾难性遗忘。

2.6 零样本泛化能力

UniVideo 的一个重要特性是其零样本泛化能力,具体表现在:

任务组合

即使没有专门训练过「编辑+风格迁移」的组合任务,模型也能在单个指令中同时完成这两个操作,比如「将视频中的人物换成卡通风格,同时把背景改成星空」。

图像到视频的能力迁移

虽然 UniVideo 没有在大规模自由形式视频编辑数据上训练,但它可以将从图像编辑数据中学到的能力迁移到视频编辑任务上,处理诸如「绿幕抠图」、「材质更换」等未见过的编辑指令。


第三章:功能模块详解

本章由「无忆研习社」为你详细介绍 UniVideo 支持的各种功能模块,帮助你全面了解这款模型的实际能力。

3.1 视频理解(Video Understanding)

视频理解是 UniVideo 的核心能力之一,它可以:

视频描述生成

给定一段视频,模型能够生成详细的文字描述,包括场景、人物、动作、情绪等各个方面。

视觉问答(VQA)

用户可以针对视频内容提出问题,模型会根据视频内容给出准确的回答。支持的问题类型包括:

  • 事实性问题:「视频中有几个人?」
  • 描述性问题:「主角穿的是什么颜色的衣服?」
  • 推理性问题:「为什么那个人看起来很开心?」
  • 时序性问题:「事件发生的顺序是怎样的?」

多轮对话

UniVideo 支持多轮对话式的视频理解,用户可以不断追问、深入探讨视频中的细节。

3.2 文生视频(Text-to-Video)

文生视频是视频生成的基础能力,用户只需提供文字描述,模型就能生成对应的视频内容。

使用示例:

输入:A cat playing piano in a jazz bar, cinematic lighting, 4K quality
输出:[生成的视频]

技术特点:

  • 支持复杂的场景描述
  • 生成的视频具有良好的时间连贯性
  • 支持各种风格和场景类型

3.3 图生视频(Image-to-Video)

给定一张图片和描述,模型可以将静态图片「动起来」,生成以该图片为起始帧的视频。

应用场景:

  • 将产品图片转化为动态展示
  • 将人像照片生成动态视频
  • 将风景照片添加动态效果

3.4 视频编辑(Video Editing)

视频编辑是 UniVideo 的特色能力,支持多种编辑类型:

纯文本编辑(V2V Edit)

只通过文字指令对视频进行编辑,例如:

输入视频:一个人在跑步
编辑指令:将他的运动服改成宇航服
输出:[编辑后的视频]

图文结合编辑(I+V2V Edit)

同时提供参考图片和文字指令进行编辑,例如:

输入视频:一个人在唱歌
参考图片:一件红色礼服
编辑指令:将她的衣服换成参考图片中的红色礼服
输出:[编辑后的视频]

上下文视频编辑(In-Context Video Editing)

支持更复杂的编辑操作,包括:

  • 身份替换(ID Swap):将视频中的某个人换成另一个人
  • 身份添加(ID Addition):在视频中添加新的人物
  • 身份删除(ID Deletion):从视频中移除某个人物
  • 风格化(Stylization):改变视频的整体风格

3.5 图像编辑(Image Editing)

除了视频任务,UniVideo 也支持图像编辑:

输入图片:一张咖啡杯的照片
编辑指令:将咖啡杯改成陶瓷材质
输出:[编辑后的图片]

3.6 多身份生成(Multi-ID Generation)

这是一个高级功能,允许用户同时指定多个参考身份来生成视频:

参考图片1:人物A的照片
参考图片2:人物B的照片
文字描述:两个人在公园里散步聊天
输出:[包含人物A和B的视频]

3.7 视觉提示生成(Visual Prompt Generation)

UniVideo 支持通过视觉提示来指导视频生成,用户可以提供:

  • 手绘草图
  • 标注图
  • 示意图
  • 流程图

模型会理解这些视觉提示的含义,并据此生成相应的视频内容,无需编写复杂的文字描述。


第四章:环境配置与依赖安装

本章开始进入实战环节,「无忆研习社」将手把手教你配置 UniVideo 的运行环境。

4.1 硬件要求

在开始之前,请确保你的设备满足以下最低硬件要求:

显卡要求:

任务类型

最低显存

推荐显存

视频理解

16GB

24GB+

图像生成/编辑

24GB

40GB+

视频生成/编辑

40GB

80GB+

推荐显卡:

  • NVIDIA RTX 4090(24GB):可运行基础任务
  • NVIDIA A100(40GB/80GB):可运行完整功能
  • NVIDIA H100/H20:最佳体验

其他硬件:

  • CPU:建议 8 核心以上
  • 内存:建议 64GB 以上
  • 硬盘:模型权重约 50GB,建议 SSD

4.2 操作系统要求

  • 推荐使用 Ubuntu 22.04 或 Ubuntu 24.04
  • 也支持其他 Linux 发行版(如 CentOS、Debian)
  • Windows 用户建议使用 WSL2

4.3 创建 Conda 环境

首先,我们需要创建一个独立的 Python 虚拟环境:

# 如果还没有安装 Conda,请先安装 Miniconda 或 Anaconda
# wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# bash Miniconda3-latest-Linux-x86_64.sh

# 克隆项目仓库
git clone https://github.com/KlingTeam/UniVideo.git
cd UniVideo

# 使用官方提供的环境配置文件创建环境
conda env create -f environment.yml

# 激活环境
conda activate univideo

官方的 environment.yml 文件会自动安装以下核心依赖:

  • Python 3.11
  • PyTorch 2.4.1 + CUDA 12.1
  • diffusers 0.34.0
  • transformers 4.51.3

4.4 手动安装依赖(备选方案)

如果上述方法遇到问题,你也可以手动创建环境并安装依赖:

# 创建新环境
conda create -n univideo python=3.11 -y
conda activate univideo

# 安装 PyTorch(根据你的 CUDA 版本选择)
# CUDA 12.1
pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu121

# 安装 Flash Attention 2(加速注意力计算)
pip install flash-attn --no-build-isolation

# 安装其他依赖
pip install -r requirements.txt

# 安装 Gradio(用于 Web 演示界面)
pip install gradio

4.5 依赖说明

以下是 UniVideo 使用的主要依赖库及其作用:

依赖库

版本

作用

torch

2.4.1

深度学习框架

transformers

4.51.3

Hugging Face 模型库

diffusers

0.34.0

扩散模型库

flash-attn

>=2.0

高效注意力实现

gradio

最新

Web 演示界面

accelerate

最新

分布式训练加速

safetensors

最新

安全的模型权重格式

4.6 验证安装

安装完成后,可以运行以下命令验证环境是否配置正确:

# 检查 Python 版本
python --version
# 应输出:Python 3.11.x

# 检查 PyTorch 和 CUDA
python -c "import torch; print(f'PyTorch: {torch.__version__}'); print(f'CUDA available: {torch.cuda.is_available()}'); print(f'CUDA version: {torch.version.cuda}')"

# 检查 transformers
python -c "import transformers; print(f'Transformers: {transformers.__version__}')"

# 检查 diffusers
python -c "import diffusers; print(f'Diffusers: {diffusers.__version__}')"

如果所有检查都通过,说明环境配置成功,可以继续下一步。


第五章:模型权重下载与配置

本章由「无忆研习社」详细介绍如何下载和配置 UniVideo 所需的模型权重。

5.1 需要下载的模型

UniVideo 需要下载以下三个核心组件:

  1. UniVideo 核心权重:模型的核心参数,包括连接器和微调后的权重
  2. Qwen2.5-VL-7B-Instruct:理解流使用的多模态大语言模型
  3. HunyuanVideo:生成流使用的视频生成模型

5.2 使用官方脚本下载

官方提供了一键下载脚本,可以自动下载所有需要的模型:

# 确保在 UniVideo 项目目录下
cd UniVideo

# 运行下载脚本
python download_ckpt.py

下载的模型将保存到 ckpts/ 目录下。

5.3 手动下载(备选方案)

如果官方脚本下载速度较慢,你也可以手动下载:

方法一:从 Hugging Face 下载

# 安装 huggingface_hub
pip install huggingface_hub

# 下载 UniVideo 权重
huggingface-cli download KlingTeam/UniVideo --local-dir ckpts/univideo

# 下载 Qwen2.5-VL
huggingface-cli download Qwen/Qwen2.5-VL-7B-Instruct --local-dir ckpts/qwen2.5-vl-7b

# 下载 HunyuanVideo
huggingface-cli download tencent/HunyuanVideo --local-dir ckpts/hunyuanvideo

方法二:从 ModelScope 下载(国内推荐)

# 安装 modelscope
pip install modelscope

# 使用 Python 下载
from modelscope import snapshot_download

# 下载模型(以 Qwen2.5-VL 为例)
snapshot_download('qwen/Qwen2.5-VL-7B-Instruct', cache_dir='./ckpts')

5.4 模型权重变体说明

UniVideo 提供了两种权重变体,对应论文中描述的两种架构设计:

变体 1(hidden)

img, video, txt -> MLLM -> last layer hidden -> MMDiT

图像、视频和文本输入经过 MLLM 处理,最后一层的隐藏状态直接输入到 MMDiT。

变体 2(queries)

img, video, txt, queries -> MLLM -> txt + queries last layer hidden -> MMDiT

除了图像、视频和文本,还引入了可学习的查询令牌(queries),最终将文本和查询的隐藏状态输入到 MMDiT。

两种变体各有优劣:

  • 变体 1 更简洁,计算效率更高
  • 变体 2 在某些任务上可能有更好的效果

5.5 检查模型文件

下载完成后,你的目录结构应该类似于:

UniVideo/
├── ckpts/
│   ├── univideo/
│   │   ├── univideo_hidden.safetensors    # 变体1权重
│   │   └── univideo_queries.safetensors   # 变体2权重
│   ├── qwen2.5-vl-7b/
│   │   ├── config.json
│   │   ├── model.safetensors
│   │   └── ...
│   └── hunyuanvideo/
│       ├── config.json
│       ├── diffusion_pytorch_model.safetensors
│       └── ...
├── configs/
│   ├── univideo_qwen2p5vl7b_hidden_hunyuanvideo.yaml
│   └── univideo_qwen2p5vl7b_queries_hunyuanvideo.yaml
├── demo/
├── univideo_inference.py
└── ...

5.6 配置文件说明

UniVideo 使用 YAML 格式的配置文件来指定模型路径和参数,主要配置项包括:

# 示例配置结构
model:
  mllm_path: "ckpts/qwen2.5-vl-7b"          # MLLM 模型路径
  mmdit_path: "ckpts/hunyuanvideo"          # MMDiT 模型路径
  univideo_ckpt: "ckpts/univideo/univideo_hidden.safetensors"  # UniVideo 权重

generation:
  num_inference_steps: 50                    # 推理步数
  guidance_scale: 7.5                        # 引导强度
  height: 480                                # 输出高度
  width: 640                                 # 输出宽度
  num_frames: 16                             # 输出帧数

如果你的模型下载到了其他位置,需要修改配置文件中的相应路径。


第六章:推理与使用教程

环境和模型都准备好了,现在「无忆研习社」带你进入实际使用环节。

6.1 使用命令行推理

UniVideo 提供了统一的推理脚本 univideo_inference.py,支持所有任务类型。

视频理解任务

cd UniVideo
python univideo_inference.py \
    --task understanding \
    --config configs/univideo_qwen2p5vl7b_hidden_hunyuanvideo.yaml

文生视频任务

python univideo_inference.py \
    --task t2v \
    --config configs/univideo_qwen2p5vl7b_hidden_hunyuanvideo.yaml

图生视频任务

python univideo_inference.py \
    --task i2v \
    --config configs/univideo_qwen2p5vl7b_hidden_hunyuanvideo.yaml

视频编辑任务

# 纯文本编辑
python univideo_inference.py \
    --task v2v_edit \
    --config configs/univideo_qwen2p5vl7b_hidden_hunyuanvideo.yaml

# 图文结合编辑
python univideo_inference.py \
    --task i+v2v_edit \
    --config configs/univideo_qwen2p5vl7b_hidden_hunyuanvideo.yaml

图像编辑任务

python univideo_inference.py \
    --task i2i_edit \
    --config configs/univideo_qwen2p5vl7b_hidden_hunyuanvideo.yaml

多身份生成任务

python univideo_inference.py \
    --task multiid \
    --config configs/univideo_qwen2p5vl7b_hidden_hunyuanvideo.yaml

文生图任务

python univideo_inference.py \
    --task t2i \
    --config configs/univideo_qwen2p5vl
🔒
该内容仅对更高等级社区用户开放
请谨慎解锁时效性强且发布日期较早的文章
单篇解锁后若未显示全文请刷新页面
您当前:游客 · 可见 60% 内容 · 升级至 注册用户 可见 70%
👀
游客
可见 60%
✓ 当前
注册用户
注册用户
可见 70%
社区精英
社区精英
可见 100%
社区守护
社区守护
可见 100%
仅解锁本文,永久有效。如需PDF珍藏版,请联系站长获取。 当前单篇价格 ¥9.9
✏️ 发表评论

请先登录后发表评论

前往登录
📊 站点统计
今日发布0 篇
文章总数1107 篇
昨日发布1 篇
本月发布31 篇
建站时间456 天
🔍 搜索
站长微语

联系站长

QQ:2805463528
AIGC 技术社区
致力于解码 AI前沿技术 与经验分享
纯粹的技术应用社区

💡 欢迎您的建议与反馈,让社区变得更好

快速通道
联系站长
站长QQ二维码
AI交流群
AI交流群
仍在路上

那些寒夜里追赶过的方向

那些冷眼下没放弃的理想

一篇一篇写到现在

仍在路上

"不羁放纵爱自由"

—— 致敬 Beyond
持续创作中 莫潇羽 · 无忆研习社
▲