综合介绍
FramePack 是一个开源的视频生成工具,专注于让视频扩散技术更实用。它通过独特的下一帧预测神经网络,将输入帧压缩到固定长度,使生成工作量与视频长度解耦。这意味着即使生成长视频,显存需求也不会显著增加。FramePack 最低只需 6GB 显存,就能以 30fps 生成上千帧视频,适合普通消费级 GPU。项目由 Lvmin Zhang 开发,基于 Hunyuan 视频模型优化,模型参数仅 13 亿,兼顾效率与轻量化。FramePack 提供简单易用的 Gradio 界面,支持图像到视频生成,生成速度在优化后可达 1.5 秒每帧。它适用于内容创作者、开发者以及对视频生成感兴趣的普通用户。
功能列表
- 图像到视频生成:从单张图像生成动态视频,支持长视频扩展。
- 低显存优化:最低 6GB 显存即可生成 60 秒 30fps 视频。
- 下一帧预测:通过压缩上下文,生成工作量与视频长度无关。
- Gradio 用户界面:提供直观的上传图像、输入提示词和预览生成视频功能。
- 多种注意力机制支持:支持 PyTorch、xformers、flash-attn 和 sage-attention。
- 跨平台兼容:支持 Linux 和 Windows,兼容 NVIDIA RTX 30XX/40XX/50XX 系列 GPU。
- 优化生成速度:使用 teacache 优化后,生成速度可达 1.5 秒每帧。
- 批量训练支持:支持类似图像扩散的超大批量训练。
使用帮助
安装流程
FramePack 的安装过程较为技术化,适合有一定 Python 和 GPU 环境配置经验的用户。以下是详细的安装步骤,基于 Windows 和 Linux 系统,参考官方 GitHub 页面和网络资源。
环境要求
- 操作系统:Linux 或 Windows。
- GPU:NVIDIA RTX 30XX/40XX/50XX 系列,支持 fp16 和 bf16(GTX 10XX/20XX 未测试)。
- 显存:最低 6GB(生成 60 秒 30fps 视频)。
- Python 版本:推荐 Python 3.10(注意:Python 版本需严格匹配,否则可能导致库不兼容)。
- CUDA:需安装与 GPU 兼容的 CUDA 版本(如 CUDA 12.6)。
安装步骤
- 克隆 FramePack 仓库
打开终端或命令提示符,运行以下命令克隆项目:git clone https://github.com/lllyasviel/FramePack.git cd FramePack
- 创建虚拟环境
为避免依赖冲突,建议创建 Python 虚拟环境:python -m venv venv
激活虚拟环境:
- Windows:
venv\Scripts\activate.bat
- Linux:
source venv/bin/activate
- Windows:
- 安装 PyTorch 和依赖
安装与 CUDA 版本匹配的 PyTorch(以 CUDA 12.6 为例):pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
安装项目依赖:
pip install -r requirements.txt
- (可选)安装 Sage Attention 或 Flash Attention
为提升性能,可安装 Sage Attention(需根据 CUDA 和 Python 版本选择正确 wheel 文件):pip install https://github.com/woct0rdho/SageAttention/releases/download/v2.1.1-windows/sageattention-2.1.1+cu126torch2.6.0-cp312-cp312-win_amd64.whl
注意:Sage Attention 可能略微影响生成质量,初次使用可跳过。
- 启动 Gradio 界面
安装完成后,运行以下命令启动界面:python demo_gradio.py
启动后,终端会显示类似
http://127.0.0.1:7860/
的 URL。使用浏览器访问该地址即可进入 FramePack 的 Gradio 界面。
常见安装问题
- Python 版本不匹配:若依赖安装失败,检查 Python 版本是否为 3.10。使用
python --version
查看当前版本。 - 依赖冲突:若
requirements.txt
中的库版本不兼容,可删除av
、numpy
、scipy
的版本指定,重新安装最新版本:pip install av numpy scipy
- 显存不足:若显存低于 6GB,生成可能失败。建议使用更高显存的 GPU 或缩短视频长度。
使用方法
FramePack 的核心功能是从单张图像生成视频,并支持通过提示词控制视频内容。以下是详细操作流程。
1. 访问 Gradio 界面
启动 demo_gradio.py
后,浏览器会显示 FramePack 的用户界面。界面分为左右两部分:
- 左侧:上传图像和输入提示词。
- 右侧:显示生成的视频和潜在预览(latent preview)。
2. 上传图像
点击左侧的图像上传区域,选择一张本地图像(建议分辨率为 544x704 或类似尺寸)。FramePack 会基于此图像生成视频内容。
3. 输入提示词
在提示词文本框中输入描述视频动作的短句。推荐使用简洁、动作导向的提示词,例如:
The girl dances gracefully, with clear movements, full of charm.
A robot jumps energetically, spinning in a futuristic city.
FramePack 官方建议通过 GPT 生成动作提示词,格式为:
You are an assistant that writes short, motion-focused prompts for animating images. When the user sends an image, respond with a single, concise prompt describing visual motion.
4. 生成视频
点击界面中的生成按钮,FramePack 会开始处理。生成过程分段进行,每段生成约 1 秒视频,逐步拼接成完整视频。生成进度通过进度条和潜在预览显示。生成的文件保存在 ./outputs/
文件夹中。
5. 查看和调整
生成初期可能只得到短视频(如 1 秒)。这是正常现象,需等待更多片段生成以完成完整视频。若对结果不满意,可调整提示词或更换输入图像重新生成。
优化生成速度
- 启用 teacache:在生成设置中开启 teacache 可将速度从 2.5 秒/帧提升至 1.5 秒/帧。
- 使用高性能 GPU:如 NVIDIA 4090,生成速度更快。
- 关闭 sage-attention:若安装了 sage-attention,初次测试可禁用以保证生成质量。
特色功能操作
低显存生成
FramePack 的核心优势是低显存需求。通过压缩输入上下文,生成 60 秒 30fps 视频仅需 6GB 显存。用户无需额外配置,系统自动优化显存分配。
下一帧预测
FramePack 使用下一帧预测神经网络,逐帧生成视频。用户可在 Gradio 界面实时查看每段生成的潜在预览,确保视频内容符合预期。
Gradio 界面
Gradio 界面简单直观,支持快速上传和预览。用户可通过 --share
参数将界面分享到公网,或通过 --port
和 --server
参数自定义端口和服务器地址:
python demo_gradio.py --share --port 7861 --server 0.0.0.0
应用场景
- 内容创作
FramePack 适合视频创作者生成动态短视频。例如,从一张角色图像生成舞蹈视频,用于社交媒体内容制作。低显存需求让普通用户也能轻松上手。 - 游戏开发
开发者可利用 FramePack 生成动态场景动画,如角色移动或环境变化,节省手动建模时间。轻量化模型支持实时渲染可能性。 - 教育和演示
教师或培训师可从静态图像生成教学视频,展示动态过程(如科学实验模拟)。Gradio 界面操作简单,适合非技术用户。 - 边缘计算
FramePack 的 13 亿参数模型适合部署到边缘设备,如移动设备或嵌入式系统,用于本地化视频生成。
QA
- FramePack 支持哪些 GPU?
支持 NVIDIA RTX 30XX、40XX、50XX 系列 GPU,最低 6GB 显存。GTX 10XX/20XX 未测试,可能不兼容。 - 生成视频需要多长时间?
在 NVIDIA 4090 上,未优化时为 2.5 秒/帧,启用 teacache 后为 1.5 秒/帧。生成 5 秒视频约需 3-4 分钟。 - 如何提高生成质量?
使用高质量输入图像,编写清晰的动作提示词,禁用 sage-attention 并关闭 teacache 以进行最终高质量生成。 - 能否生成超长视频?
可以,FramePack 支持生成上千帧视频(如 60 秒 30fps)。显存需求固定,不会因视频长度增加。