哈喽,各位小伙伴大家好,欢迎来到本套视频的第一节课。在本节课中,我们将学习最基础的AI视频生成原理及其使用方式。
视频这一概念最早可以追溯到19世纪末,当时托马斯·爱迪生和威廉·肯尼迪·迪克森发明了活动电影摄影机,自此开启了动态影像的时代。最早的电影由一系列静态照片快速连续放映而成,使观众产生连续运动的错觉。如今,随着智能手机的普及和AI技术的发展,视频制作变得更加便捷和智能。从短视频到直播,从虚拟现实到AI生成内容,视频的形式和应用不断创新,已经成为我们日常生活中不可或缺的一部分。
接下来,我将带领大家通过ComfyUI最直观地理解AI视频的生成原理。在此之前,先简单介绍本课程中会用到的几款通用节点。
安装完成后,界面左侧会出现一个功能栏。点击后可输入目标节点名称,快速查找相关节点;鼠标悬停时还会显示该节点的预览图。安装方法为:点击Manager → 点击Custom Node Manager(自定义节点管理器)→ 搜索“searcher” → 点击安装即可。
该节点可将任意节点的任意模块以广播形式全局分发。例如,我们断开文本提示框(CLIP Text Encode)与模型加载器(CLIP Loader)之间的CLIP连接,此时直接点击生成将失败,因为缺少CLIP模型输入。
传统做法是手动重新连接CLIP输出与输入,但在大规模工作流中容易导致界面混乱。而使用Use Everywhere节点则更为简洁:按住Shift键拖出节点,选择“Use Everywhere”,再观察正负向提示词节点的CLIP输入端口是否已自动高亮——这表示它已被全局注入。此时再次生成,工作流即可正常运行,界面也更清晰整洁。
安装方式同样是在Manager中搜索“use everywhere”,然后进行安装部署。
点击右上角齿轮按钮,进入设置,找到主题选项,可选择“Obsidian Light”或“Obsidian Dark”。启用后节点变为半透明状态,有效避免节点重叠遮挡的问题,同时连线也更加清晰易辨。
该节点支持视频加载、预览,并能调整帧率、转码格式等,在AI视频生成流程中属于必备工具之一。
现在新建一个工作流,正式进入核心内容。我们要学习的第一个关键概念是“Inpaint”,它是ControlNet容器中的一个模型,可通过蒙版精准修改图像中指定区域。
首先搜索并添加“Load Image”节点,上传一张参考图像,例如一位金发双马尾少女;接着搜索“ControlNet Preprocessor”,再搜索“Apply ControlNet”,将预处理器的Image输出连接至Apply ControlNet的Image输入;然后添加“ControlNet Loader”,在模型路径中搜索“Inpaint”并加载对应模型;随后将正向提示词(Positive Prompt)的Conditioning输出连接至ControlNet的Conditioning输入,再将ControlNet的Conditioning输出连接至KSampler的Positive Conditioning输入。
将ControlNet强度设为1.3。接着在加载的图像上右键 → 选择“Open in Mask Editor”(在蒙版编辑器中打开)。这里提醒一下:建议将ComfyUI界面语言设置为英文。原因在于,全球开发者发布的节点,无论其母语是俄语、法语还是其他语言,基本都提供英文命名与说明;而中文翻译可能存在差异,不同译者对同一术语的理解可能不一致,容易造成理解偏差。此外,最新发布的节点往往没有中文适配版本,且报错信息也多为英文,掌握英文有助于准确排查问题。
回到示例:我们想为这位少女添加墨镜,就在她眼睛位置绘制蒙版,点击“Save to Node”保存至节点;关键词中输入“sunglasses”,暂不添加质量词;将ControlNet强度调至0.8,采样步数设为25,CFG值设为7,采样器选择DPM++ 2M Karras,调度器选择Karras;最关键的是潜空间图像尺寸需与原图一致,因此高度设为678,宽度设为512。点击生成后,可以看到人物主体基本不变,仅眼部成功叠加了墨镜效果。
理解Inpaint原理后,我们将其拓展至视频生成。例如上传一张暗黑骑士头像,为其燃烧的剑绘制蒙版;关键词中输入“black flame”和“burning”;在“Empty Latent Image”节点中将Batch Size设为4,生成四张不同变化的图像。
接着添加“Image List to Image Batch”节点,将其输入端连接至VAE Decode节点的Image输出;再添加“Video Combine”节点(属于Video Helper插件的子节点);再次生成,即可得到一段基础视频。