Day30-视频生成
文生视频
模型介绍和安装
- 模型名称:wan2.2-t2v-rapid-aio-v10.safetensors
- 下载地址:https://pan.baidu.com/s/1hfl5o99a3rwKaKKhZNxQMg?pwd=yrrh 提取码: yrrh
- 模型介绍:
- 核心定位:
- 这是一个专门为文生视频(Text-to-Video)任务优化的AI模型,属于"一体化"(All-in-One)解决方案,在ComfyUI工作流中能快速生成视频内容。
- 模型架构:
- 基于Wan 2.2架构:Wan系列是专门为视频生成设计的模型
- T2V专化:针对文本到视频转换进行了特别训练
- Rapid版本:强调生成速度优化,适合快速迭代
- AIO设计:集成了多个功能于单一模型,减少工作流复杂度
- 技术特点:
- 帧一致性:能生成时间上连贯的视频片段
- 分辨率适配:通常支持512×512或768×768等常见视频帧尺寸
- 运动控制:具有一定的镜头运动和时间动态控制能力
- 快速推理:相比一些大型视频模型,推理速度更快
- 使用场景
- 短视频生成:快速制作社交媒体短视频
- 概念可视化:快速将创意转化为动态视觉
- 核心定位:
节点安装

工作流搭建
新节点:
- 采样算法(SD3)
- 空Latent视频(LTXV)
- 图层工具:清除VRAM
- Video Combine

文生视频工作原理
文生视频的核心思想:将一段文字描述,通过AI逐步“翻译”成一段连续、动态的视频。
想象你要拍摄一部8秒钟的微电影,剧本是:“一个现代女性在博物馆拿手机拍照,然后不小心摔倒了”。传统拍摄需要演员、场地、摄影机、剪辑师。而AI生成视频则是这样工作的:文本输入 → 理解剧本 → 搭建场景 → 逐帧绘制 → 连接成片。
各节点作用详解
1. Checkpoint加载器(简易)
作用:加载AI的“大脑”
- 原理:这是整个系统的预训练模型,包含了AI学习过的所有视觉知识和绘画规则。
- 比喻:就像聘请一位经验丰富的导演+摄影师+动画师团队,他们已经看过数百万部电影和图片,知道如何把文字变成画面。
2. CLIP文本编码
作用:把文字翻译成AI能懂的“视觉密码”
- 原理:CLIP将文本和图像映射到同一个语义空间中。
- 比喻:编剧把剧本拆解成分镜指令。
- 工作过程:
- 输入:“现代女性”、“博物馆”、“拍照”、“摔倒”
- 输出:一组768维的数学向量(数字密码)
- 这些向量不是文字,而是视觉特征的数学描述
3. 空Latent视频(LTXV)
作用:创建视频的“空白画布”
- 原理:在潜空间中创建一个空的视频容器。
- 比喻:准备一部空的电影胶片,确定了长度和尺寸,但内容全是空白。
- 参数意义:
- 宽度768×高度512:每帧画面的分辨率
- 长度161帧:总帧数(161÷18≈8.9秒视频)
- 批量大小1:一次生成1个视频
4. 采样算法(SD3)
作用:确定AI的“绘画方法论”
-
原理:定义了如何从噪声逐步生成清晰图像的具体数学方法。
-
比喻:决定画家是从轮廓开始画,还是从细节开始画。
-
SD3的特点:
- 稳定性高,生成质量好
- 支持较少的采样步数(如4步)也能出效果
-
参数:移位
-
控制生成内容的“创意自由度”
- 实际有效范围:0.0 ~ 20.0(超过20通常无实际意义)
- 常见工作范围:0.5 ~ 10.0
-
想象你在教AI画画:
- 移位=0:AI严格按你教的方法画,不出格
- 移位=1.0:AI会加入一些自己的想法,可能超出预期
- 移位=8.00(如图中设置):AI有很大的创意发挥空间
-
典型分段区间:
移位值 范围描述 常见用途 0.0 ~ 1.0 保守/精确区 产品设计、精确概念图 1.0 ~ 3.0 标准/平衡区 常规创作、商业项目 3.0 ~ 6.0 创意/艺术区 艺术创作、概念探索 6.0 ~ 10.0 高自由/实验区 实验艺术、风格探索 10.0+ 极端随机区 纯实验、抽象艺术
-
5. K采样器
作用:执行实际的图像生成过程(核心引擎)
-
原理:执行扩散模型的反向过程,将随机噪声逐步转化为有意义的图像。
-
比喻:导演实际指导每一帧的拍摄。
-
工作步骤:
-
初始化:在潜空间创建161帧的随机噪声(像电视雪花)
-
去噪过程(以4步为例):
第1步:AI问“根据剧本,这堆噪声应该是什么?” → 减少一些噪声,露出大致轮廓 第2步:AI问“现在更像什么了?” → 进一步细化,出现基本形状 第3步:AI问“细节应该是什么?” → 添加纹理和细节 第4步:AI问“最终效果如何?” → 精修完成,得到清晰图像
-
-
采样器名称:
euler_ancestral(一种快速收敛的采样方法) -
调度器:
beta(控制噪声减少的节奏)
6. VAE解码
作用:将潜空间表示转换为真实图像
- 原理:变分自编码器的解码部分,将压缩表示“解压”成像素图像。
- 比喻:将设计稿加工成成品照片。
7. Video Combine
作用:将静态帧序列合成为视频文件
- 原理:使用视频编码器将图片序列压缩为标准视频格式。
- 比喻:将拍好的照片胶卷冲洗成电影放映带。
- 参数配置:
- 帧率18:每秒播放18帧(基本流畅)
- 格式H.264 MP4:最通用的视频格式
- CRF 19:压缩质量参数(23是默认,19更高质量)
- 像素格式yuv420p:兼容性最好的色彩编码
- 输出结果:一个可直接播放的
.mp4文件
8. 图层工具:清除VRAM
作用:清理显卡内存,防止资源耗尽
- 原理:释放不再需要的模型和数据,为后续操作腾出空间。
- 比喻:拍完一场戏后,清理片场,准备下一场。
- 两种清理模式:
- 清除缓存:清理中间计算结果(如已处理的图像数据)
- 清除模型:卸载AI模型本身(约5-7GB)
- 使用场景:
- 生成多个视频后防止内存不足
- 切换不同模型前释放空间
- 解决程序崩溃问题
图生视频
加载模型:
-
wan2.2-i2v-rapid-aio-v10.safetensors存放到models的checkpoint文件夹下
- 专门为图生视频优化的模型,可以理解图片内容并生成合理的动态延伸
-
clip_vision_h.safetensors存放到models下面的clip-vision文件夹下
- 加载CLIP视觉编码器,可以将图片转换为语义向量
图生视频核心原理
与文生视频的根本区别
| 文生视频 | 图生视频 |
|---|---|
| 输入:文字描述 | 输入:参考图片 + 文字引导 |
| 起点:完全随机噪声 | 起点:基于图片的潜空间表示 |
| 控制:完全由文字引导 | 控制:图片内容 + 文字引导 |
节点详解
加载CLIP视觉
通俗理解:
想象你要请一位艺术评论家来分析一幅画:
- 这位评论家需要丰富的艺术知识
clip_vision_h.safetensors就是这位评论家的“知识库”- 这个节点就是请出这位专家
实际作用:
- 功能:加载CLIP模型的视觉编码部分
- 文件:
clip_vision_h.safetensors - 训练数据:这个模型看过数亿张图片,学会了:
- 识别物体、人物、场景
- 理解颜色、构图、风格
- 将视觉信息映射到语义空间
工作示例:
输入:一张“戴面纱的女人”图片
↓
CLIP视觉模型激活
↓
模型开始工作:
1. “哦,这是一个人物肖像”
2. “女性,大约25-30岁”
3. “戴着传统面纱”
4. “背景是古朴建筑”
5. “整体是国画风格”
技术细节:
- 与文本CLIP的关系:同一个模型的两个部分
- 文本CLIP:理解文字意思
- 视觉CLIP:理解图片内容
CLIP视觉编码
通俗理解:
评论家开始详细分析画作,并写出分析报告:
- 这份报告用专业术语写成
- 其他节点能看懂这份报告
- 报告是数字形式的,不是文字
实际作用:
- 输入:图片 + CLIP视觉模型
- 过程:提取图片的深层语义特征
- 输出:768维的语义向量(数字密码)
具体编码过程:
# 假设图片内容:戴面纱的女人
图片像素 → CLIP视觉编码器 → 语义向量
# 向量中的部分数值可能代表:
数值[0:100]: 人物特征(0.8表示“女性”)
数值[100:200]: 服饰特征(0.9表示“面纱”)
数值[200:300]: 风格特征(0.7表示“国画风”)
数值[300:400]: 场景特征(0.6表示“古朴建筑”)
重要特点:
- 不是像素复制:而是提取“本质特征”
- 可计算的距离:
- “戴面纱的女人”和“戴帽子的女人”向量距离近
- “戴面纱的女人”和“汽车”向量距离远
- 与文本兼容:同一个向量空间
- 文字“女人”也会生成类似向量
示例对比:
原始图片:1024×768×3 ≈ 235万个像素值
编码后:1×768个数值(压缩了3000倍!)
好处:
1. 节省计算资源
2. 抓住本质,忽略细节噪音
3. 便于与其他条件(文本)融合
Wan图像到视频
这是整个工作流的心脏,负责:
- 接收所有输入条件
- 生成视频潜空间序列
- 确保时间连贯性
Video Combine
返回可视化视频画面。
参数:
frame_rate = 18 # 每秒18帧
format = "video/h264-mp4" # 最通用的视频格式
pix_fmt = "yuv420p" # 像素格式
视频换脸
核心节点安装
1. ReActor(换脸节点):ReActor 是一个基于深度学习的 面部替换模型,专门用于在视频中进行高质量的人脸交换。
- 打开ComfyUI管理器(如果有安装)
- 点击"Install Custom Nodes"(安装自定义节点)
- 搜索"ReActor"
- 点击安装
2. RIFE VFI(视频帧插值节点):是一种先进的 帧插值算法,可以将低帧率视频“补帧”为高帧率视频。在换脸流程中,它的用途是提升视频流畅度、减少因帧跳跃导致的面部跳动或卡顿;
在ComfyUI管理器中搜索"frame interpolation"

模型下载

下载链接:https://pan.baidu.com/s/1VV1hnY-UqwtcJkLaMgRXeg?pwd=eeu7 提取码: eeu7
整体目标
我们使用的是 ComfyUI 的 ReActor + RIFE VFI + Load/Combine 视频节点 组合,来完成:
- 上传视频 → 加载视频
- 换脸处理(ReActor)
- 插帧补帧(RIFE)提升流畅度
- 输出合成视频
核心节点介绍
节点一:**Load Video (Upload) **——【加载原始视频】
从本地上传一个视频文件,并解析其信息(如帧率、分辨率等),供后续节点使用。
参数详解:
| 参数 | 值 | 含义 |
|---|---|---|
video |
dance.mp4 |
你要上传的视频文件名(实际运行时点击“choose video to upload”选择) |
force_rate |
30 |
强制将视频帧率设为 30 fps(即使原视频不是)。有助于统一处理速度。 |
custom_width / custom_height |
0 |
自定义宽高,0 表示不修改原尺寸。若填入数值会缩放视频。 |
frame_count_cap |
93 |
最多读取多少帧(防止内存爆炸)。比如只处理前93帧测试。 |
skip_first_frames |
0 |
跳过开头几帧(用于跳过黑屏或无脸画面)。 |
select_every_nth |
2 |
每隔 N 帧选一帧处理(例如=2 就是每隔一帧处理,降低计算量)。 |
format |
AnimateDiff |
指定输出格式,这里表示要用于 AnimateDiff 类型模型(非关键,主要是兼容性) |
💡 提示:如果你视频很长,建议适当设置
frame_count_cap和select_every_nth来节省时间和显存。
节点二:**ReActor - Fast Face Swap **——【核心换脸节点】
这是真正的“换脸”操作核心!它能识别源视频中的人脸,然后替换成你指定的目标人脸(source_image)。
参数详解:
| 参数 | 值 | 含义 |
|---|---|---|
input_image |
✅ 已勾选 | 输入的原始视频帧(来自上一步 Load Video) |
source_image |
✅ 已勾选 | 你的“目标人脸”照片(即你想换上去的脸) |
face_model |
inswapper_128.onnx |
使用的换脸模型(推荐使用 inswapper 系列,速度快且效果好) |
face_boost |
ON | 开启增强模式,提高面部细节还原质量 |
swap_model |
inswapper_128.onnx |
换脸模型路径(与 face_model 相同) |
face_detection |
retinaface_resnet50 |
人脸检测算法,准确率高,适合复杂背景 |
face_restore_model |
codeformer-v0.1.0.pth |
修复换脸后可能出现的模糊或失真问题(如皮肤质感) |
face_restore_visibility |
0.50 |
修复强度(0~1),越高越清晰但可能过度处理 |
codeformer_weight |
0.50 |
CodeFormer 模型权重,控制修复程度 |
detect_gender_input / detect_gender_source |
no | 是否根据性别优化检测,一般保持 no 即可 |
input_faces_index |
0 |
选择输入视频中第几个脸进行替换(多个脸时用) |
source_faces_index |
0 |
选择 source_image 中第几个脸作为模板(多脸图时用) |
console_log_level |
1 |
控制日志输出级别,1 是正常提示 |
✅ 关键技巧:
- 如果你想让换脸更自然,建议开启
face_boostface_restore_visibility和codeformer_weight可以调到0.7~0.8提升画质- 若你有多个脸,记得调整
faces_index
节点三:RIFE VFI ——【插帧补帧,提升流畅度】
对处理后的视频帧进行“插帧”(Video Frame Interpolation),把原本每秒30帧变成60帧甚至更高,使动作更顺滑!
参数详解:
| 参数 | 值 | 含义 |
|---|---|---|
frames |
✅ 已勾选 | 输入的是已经换完脸的视频帧序列 |
ckpt_name |
rife47.pth |
使用的插帧模型文件(rife47 是目前最常用且效果好的版本) |
clear_cache_after_n_frames |
10 |
每处理10帧清一次缓存,避免内存溢出 |
multiplier |
2 |
帧数倍增系数,2 表示原来30fps → 60fps;3 → 90fps |
fast_mode |
true |
快速模式,牺牲一点点精度换取速度 |
ensemble |
true |
启用集成预测(多个模型投票),提升稳定性 |
scale_factor |
1 |
缩放因子,1 表示不缩放,保留原分辨率 |
💡 注意:
- 插帧会让视频更流畅,但也增加显卡负担
- 推荐使用
rife47或rife49,性能和效果平衡最好- 设置
multiplier=2是最常见的需求(30→60fps)
节点四:Video Combine ——【合并并导出最终视频】
把所有处理好的帧(包括换脸+插帧后的结果)重新组合成一个完整的视频文件并保存。
参数详解:
| 参数 | 值 | 含义 |
|---|---|---|
frame_rate |
30 |
输出视频的帧率(注意:如果前面用了 RIFE 插帧,应改为 60 才匹配) |
loop_count |
0 |
循环播放次数,0 表示只播放一次 |
filename_prefix |
AllInOne01 |
输出文件名前缀(最终文件名为 AllInOne01.mp4) |
format |
video/h264-mp4 |
输出格式,MP4 是通用格式,H.264 是编码方式 |
pix_fmt |
yuv420p |
颜色格式,兼容性最强,几乎所有设备都能播放 |
crf |
19 |
压缩质量参数(CRF),值越小质量越高(18~23 是推荐范围) |
save_metadata |
false |
不保存元数据(如创建时间等),减小文件大小 |
trim_to_audio |
false |
不裁剪到音频长度(适用于无声音视频) |
pingpong |
false |
是否来回播放(如动画回放),一般不用 |
save_output |
true |
是否保存输出文件(必须打开才能看到结果) |
✅ 实用建议:
- 如果你在 RIFE 中设置了
multiplier=2,请在这里把frame_rate改成60- CRF 设为
19是高质量,但文件较大;想压缩可设23- 输出路径通常在 ComfyUI 的
output文件夹下
使用建议
- 显存不足怎么办?
- 减少
frame_count_cap - 增加
select_every_nth(如设为 4,只处理每4帧) - 关闭
face_boost或降低face_restore_visibility
- 减少
- 换脸不自然?
- 尝试更换
face_model(如inswapper_128.onnxvsinswapper_128_v2.onnx) - 调整
face_restore_visibility到 0.7~0.8 - 确保 source_image 是清晰正面照
- 尝试更换
- 视频卡顿?
- 检查
frame_rate是否与 RIFE 的multiplier匹配 - 使用
fast_mode=true在 RIFE 中加速
- 检查
- 如何调试?
- 先只处理前几帧测试(
frame_count_cap=10) - 分步运行:先跑 Load → ReActor → 查看中间帧是否正常
- 先只处理前几帧测试(

浙公网安备 33010602011771号