尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

ComfyUI从入门到精通:零基础搭建AI视频与短剧生成工作流

ComfyUI从入门到精通:零基础搭建AI视频与短剧生成工作流 最近在尝试用AI生成视频和短剧时是不是感觉Stable Diffusion WebUISD的动画功能操作复杂效果不稳定而市面上的在线AI视频工具要么收费昂贵要么限制多多生成的视频质量也参差不齐。如果你也遇到了这些痛点那么是时候了解一下ComfyUI了。ComfyUI 作为 Stable Diffusion 的另一个强大图形界面以其节点式工作流为核心将AI图像生成的每一步都可视化、模块化。这听起来可能有点复杂但它带来的好处是革命性的极高的自由度、可复现性、以及远超WebUI的稳定性和效率。无论是制作AI绘画、生成连贯的AI视频、还是搭建复杂的AI短剧/漫剧工作流ComfyUI 都能让你像搭积木一样清晰、可控地完成创作。本文将从零开始手把手带你搭建 ComfyUI 环境并深入讲解如何构建从“文生图”到“图生视频”、“文生视频”乃至“首尾帧视频”的完整工作流。全程干货代码、配置、节点连接一步一图确保你能跟着教程成功复现。无论你是AI绘画的新手还是想从SD WebUI转向更高效工作流的进阶用户这篇文章都将为你提供一套完整的实战方案。1. ComfyUI 核心概念与环境准备在开始搭建工作流之前我们需要先理解 ComfyUI 的运作逻辑并准备好运行环境。1.1 什么是 ComfyUI为什么选择它ComfyUI 是一个基于节点的 Stable Diffusion GUI。你可以把它想象成一个可视化的编程工具每个节点代表一个功能模块如加载模型、输入提示词、进行采样、保存图片节点之间的连线则定义了数据如图像、潜空间特征、参数的流动方向。与 Stable Diffusion WebUI 相比ComfyUI 的主要优势在于极致可控与透明你能看到并干预生成的每一个步骤方便调试和优化。工作流可保存与分享你可以将搭建好的整个节点流程保存为一个.json或.png文件下次直接加载即可复现极大提升了协作和项目管理的效率。内存效率更高由于其非实时渲染前端的特性ComfyUI 通常比 WebUI 更节省显存能处理更大尺寸的图片或更复杂的流程。更适合复杂任务对于视频生成、批量处理、多模型融合等需要多步骤、条件分支的任务节点式工作流具有天然的结构优势。1.2 环境准备与一键安装对于大多数用户尤其是新手最推荐的方式是使用秋叶大佬的一键整合包。它集成了ComfyUI本体、常用插件、依赖环境以及启动器省去了繁琐的Python环境配置和依赖安装步骤。安装步骤获取整合包在可靠的资源站如B站秋叶aaaki的专栏或相关社群搜索“ComfyUI 秋叶一键整合包”并下载。请确保来源安全。解压文件将下载的压缩包解压到一个英文路径的文件夹中例如D:\ComfyUI_windows。路径中不要包含中文或特殊字符。启动程序进入解压后的文件夹双击运行一键启动.bat或run_nvidia_gpu.bat根据你的显卡选择。等待启动首次运行会自动安装一些依赖请保持网络通畅。启动完成后命令行窗口会显示一个本地URL通常是http://127.0.0.1:8188。访问界面打开浏览器输入上一步的URL如http://127.0.0.1:8188即可看到ComfyUI的空白节点画布界面。至此你的 ComfyUI 基础环境就准备好了。整合包通常已内置了基础模型如v1-5-pruned-emaonly.safetensors但如果需要最新的SDXL模型或各类LoRA需要自行下载并放入对应的models文件夹子目录中。2. ComfyUI 界面与基础节点解析第一次打开ComfyUI面对空白的画布可能会不知所措。别担心我们先来认识一下核心界面和几个最基础的节点。2.1 界面布局概览画布区域中间最大的区域用于放置和连接节点。节点菜单在画布上右键点击可以弹出所有可用的节点分类菜单。队列按钮画布左侧的Queue Prompt按钮用于执行当前工作流。Queue Front是插队到最前。工作流管理右侧有Load加载、Save保存、Clear清空等按钮用于管理你的工作流文件。2.2 必须掌握的五个基础节点任何ComfyUI工作流都始于这几个核心节点Checkpoint Loader (加载模型)作用加载 Stable Diffusion 的大模型Checkpoint。位置右键 -Loaders-Checkpoint Loader。关键参数ckpt_name选择你的模型文件。输出MODEL,CLIP,VAE三个连接点分别供给后续的采样器和编码器使用。CLIP Text Encode (提示词编码器)作用将你的正面Prompt和负面Negative Prompt文本描述编码成模型能理解的向量。位置右键 -Conditioning-CLIP Text Encode。你需要两个一个连接正面提示词一个连接负面提示词。输入text输入框填写提示词clip连接来自Checkpoint Loader的CLIP。输出CONDITIONING连接给采样器。KSampler (采样器)作用这是图像生成的核心通过迭代去噪过程从随机噪声中“画出”图像。位置右键 -Sampling-KSampler。关键参数seed随机种子固定种子可以复现相同图片。steps采样步数影响细节和生成时间。cfg提示词相关性值越高越遵循提示词通常7-9。sampler_name和scheduler采样算法如euler,dpmpp_2m等。输入连接MODEL,正面/负面 conditioning,latent_image初始噪声。输出LATENT生成的潜空间图像。Empty Latent Image (空潜空间图像)作用生成指定尺寸的初始随机噪声作为KSampler的起点。位置右键 -Latent-Empty Latent Image。关键参数width和height设置生成图片的宽高。注意需要是64的倍数如512, 768, 1024。VAE Decode (VAE解码器)作用将KSampler输出的LATENT潜空间表示解码成我们可以看到的RGB像素图像。位置右键 -Latent-VAE Decode。输入samples连接KSampler的LATENTvae连接Checkpoint Loader的VAE。输出IMAGE可以连接保存或预览节点。3. 构建你的第一个工作流基础文生图现在让我们将上面的节点连接起来创建一个最基础的文本生成图像文生图工作流。3.1 节点连接实战请严格按照以下步骤在画布上操作添加Checkpoint Loader右键 -Loaders-Checkpoint Loader。在节点的ckpt_name下拉框中选择一个你已有的模型例如v1-5-pruned-emaonly.safetensors。添加两个CLIP Text Encode右键 -Conditioning-CLIP Text Encode添加两个。一个的text框里输入正面提示词如“masterpiece, best quality, a beautiful landscape”另一个输入负面提示词如“worst quality, low quality, blurry”。连接 CLIP将Checkpoint Loader节点的CLIP输出点分别连接到两个CLIP Text Encode节点的clip输入点。添加Empty Latent Image右键 -Latent-Empty Latent Image。设置width为 512height为 768。添加KSampler右键 -Sampling-KSampler。设置参数seed随机或固定一个数字steps设为 20cfg设为 7.5sampler_name选择eulerscheduler选择normal。连接采样器将Checkpoint Loader的MODEL连接到KSampler的model。将正面CLIP Text Encode的CONDITIONING连接到KSampler的positive。将负面CLIP Text Encode的CONDITIONING连接到KSampler的negative。将Empty Latent Image的LATENT连接到KSampler的latent_image。添加VAE Decode右键 -Latent-VAE Decode。连接解码器将KSampler的LATENT连接到VAE Decode的samples。将Checkpoint Loader的VAE连接到VAE Decode的vae。添加Save Image右键 -Image-Save Image。将VAE Decode的IMAGE连接到Save Image的images。这样生成的图片就会自动保存到ComfyUI\output目录下。3.2 执行与查看结果点击画布左侧的Queue Prompt按钮。稍等片刻你会在命令行窗口看到生成进度。完成后去ComfyUI\output文件夹就能找到生成的图片。恭喜你已经成功搭建并运行了第一个ComfyUI工作流。你可以通过修改提示词、调整采样步数、更换模型等方式探索不同的生成效果。记得随时点击Save按钮保存你的工作流.json文件。4. 进阶工作流图生图与图像处理在文生图的基础上我们可以引入新的节点实现更复杂的功能比如图生图。4.1 使用Load Image节点图生图的核心是有一张输入图片。我们需要Load Image节点。添加节点右键 -Image-Load Image。点击节点上的Choose file to upload按钮从本地选择一张图片。获取图片尺寸Load Image节点会输出图片的IMAGE和尺寸信息。为了后续处理我们通常需要知道它的尺寸。4.2 使用VAE Encode节点图生图需要将输入图片编码到潜空间Latent Space而不是从随机噪声开始。添加节点右键 -Latent-VAE Encode。连接将Load Image的IMAGE连接到VAE Encode的pixels。将Checkpoint Loader的VAE连接到VAE Encode的vae。替换噪声源在之前的文生图流程中断开KSampler与Empty Latent Image的连接。然后将VAE Encode输出的LATENT连接到KSampler的latent_image。这样KSampler就会在你上传图片的潜空间表示基础上进行去噪和重绘实现图生图效果。你还可以在KSampler上调整denoise去噪强度参数控制原图保留的程度1代表完全重绘0代表几乎不变。4.3 图像缩放与裁剪有时输入图片尺寸不符合模型要求非64倍数或者你想进行裁剪。可以使用Image Scale和Image Crop节点在Image-Transform或WAS Suite等插件中。Image Scale可以按比例或指定尺寸缩放图片。Image Crop可以指定区域裁剪图片。将这些节点接在Load Image之后VAE Encode之前即可对输入图片进行预处理。5. 核心挑战构建AI视频与动画工作流从单张图像到连续视频关键在于生成一系列在内容、风格和构图上具有连贯性的帧。ComfyUI 通过节点组合可以系统化地实现这一点。5.1 理解视频生成的关键帧间一致性AI视频不是简单地把一堆独立的图片连起来。帧与帧之间的人物、场景、动作需要保持连贯否则视频会闪烁跳跃。在ComfyUI中我们主要通过以下两种节点来控制一致性Load Video (视频加载)将视频文件分解为连续的图像帧序列。AnimateDiff (动画扩散模型)这是目前实现高质量AI视频/动画最核心的模块。它通过一个额外的运动模块Motion Module在生成每一帧时注入时序信息让模型“知道”前一帧是什么从而生成连贯的下一帧。5.2 安装必要插件ComfyUI Manager 与 AnimateDiff秋叶整合包可能已包含这些插件。如果没有强烈建议安装ComfyUI Manager它可以让插件安装变得非常简单。安装 ComfyUI Manager进入你的 ComfyUI 安装目录下的custom_nodes文件夹。打开命令行或Git Bash执行git clone https://github.com/ltdrdata/ComfyUI-Manager.git重启 ComfyUI。通过 Manager 安装 AnimateDiff重启后在 ComfyUI 界面上方或侧边栏找到Manager按钮。进入Install Node(s)标签页搜索AnimateDiff。找到AnimateDiff Evolved功能更全的版本点击 Install。安装完成后再次重启 ComfyUI。你还需要下载对应的Motion Module模型文件如mm_sd_v15_v2.ckpt并将其放入ComfyUI\models\animatediff文件夹。5.3 工作流搭建文生视频Text to Video现在我们来构建一个利用 AnimateDiff 生成短视频的工作流。这个流程比文生图复杂但结构清晰。核心节点链Checkpoint Loader-CLIP Text Encode-Empty Latent Image-AnimateDiff Loader-KSampler-VAE Decode-Save Image(但会输出多帧)。详细步骤基础部分先像文生图一样搭建Checkpoint Loader、CLIP Text Encode、Empty Latent Image、KSampler、VAE Decode、Save Image的链条。注意Empty Latent Image的batch_size参数现在代表了总帧数。例如想生成16帧视频就设置batch_size为16。宽度和高度设置单帧尺寸。引入 AnimateDiff添加节点右键 -AnimateDiff-AnimateDiff Loader。在motion_model中选择你下载的 Motion Module 文件如mm_sd_v15_v2.ckpt。将AnimateDiff Loader的MOTION_MODEL输出连接到KSampler的model输入注意这里通常需要用一个Model Merge Simple节点或直接将运动模型与基础模型结合具体取决于AnimateDiff版本。更常见的做法是使用AnimateDiff Loader的MOTION_MODEL输出与Checkpoint Loader的MODEL一起输入到一个Apply AnimateDiff Model节点该节点输出的MODEL再给KSampler。请以你安装的AnimateDiff Evolved节点的实际输入输出为准。调整采样器KSampler的latent_image接收的是batch_size为16的潜空间噪声。AnimateDiff 会处理这个批次生成连贯的16张潜空间图像。解码与保存VAE Decode会解码这16张潜空间图输出16张图片。Save Image节点会将其保存为16张独立的PNG图片命名通常包含帧序号。合成视频ComfyUI 本身通常只输出图片序列。你需要使用外部工具如FFmpeg、剪映、Premiere将这些图片序列合成为视频文件。例如使用FFmpeg命令ffmpeg -framerate 8 -i frame_%04d.png -c:v libx264 -pix_fmt yuv420p output_video.mp4-framerate 8表示每秒8帧frame_%04d.png是你的图片序列命名格式。5.4 工作流变体图生视频 首尾帧视频图生视频将Empty Latent Image替换为VAE Encode节点链。但你需要对单张输入图片进行编码然后通过某种方式如使用Latent Repeat节点将其复制成多份作为一个批次输入给KSampler。这样生成的视频会以输入图为起点进行变化。首尾帧视频视频插值这是更高级的应用。你需要ControlNet插件如ipadapter或reference_only来同时约束第一帧和最后一帧的内容。基本思路是使用Load Image加载起始图和结束图。分别用VAE Encode编码它们。在KSampler的positive条件中通过特定的语法或节点如Conditioning Set Timestep Range来指定哪些时间步受起始图影响哪些受结束图影响。AnimateDiff 会在这两种条件的引导下生成从起点平滑过渡到终点的视频帧。这需要更精细的提示词和参数调试。6. 打造AI短剧/漫剧工作流AI短剧/漫剧可以看作是加长版、多镜头、有情节的AI视频。其工作流核心是“分镜管理”和“角色一致性”。6.1 工作流设计思路剧本与分镜首先你需要一个文字剧本并将其分解成多个镜头Shot。每个镜头有对应的描述性提示词。角色一致性这是最大挑战。你需要使用LoRA或Textual Inversion来固定角色形象。为每个主要角色训练一个LoRA模型。场景一致性使用固定的风格化LoRA或模型Checkpoint来保持整体画风统一。分镜生成为每个镜头搭建一个类似“文生视频”或“图生视频”的子工作流。每个子工作流使用相同的角色LoRA和基础模型但提示词描述当前镜头的具体动作和场景。串联与后期分别生成每个镜头的视频片段然后在视频剪辑软件中按照剧本顺序拼接添加旁白、音效、字幕和转场。6.2 在ComfyUI中集成LoRA安装节点确保已安装ComfyUI-Custom-Scripts或直接使用秋叶整合包自带的LoRA节点。添加节点在Checkpoint Loader之后CLIP Text Encode之前添加Lora Loader节点位置可能在Loaders下。配置节点model和clip输入连接Checkpoint Loader的对应输出。lora_name选择你下载的LoRA文件需放入models/loras目录。strength_model和strength_clip控制LoRA对模型和文本的影响强度通常0.5-1.0。连接将Lora Loader的MODEL和CLIP输出连接到后续的CLIP Text Encode和KSampler。你可以串联多个Lora Loader来融合多个LoRA如一个角色LoRA 一个风格LoRA但需要注意强度叠加可能产生冲突。6.3 批量处理与工作流调度对于多镜头短剧手动一个个生成效率太低。你可以使用“通配符”或“提示词队列”节点有些插件节点如WildcardProcessor可以让你在一个文本文件中列出所有镜头的提示词工作流自动按顺序读取并生成。保存多个工作流为不同的场景类型如对话镜头、动作镜头、空镜创建不同的基础工作流模板生成时只需替换提示词和LoRA。借助外部脚本使用Python调用ComfyUI的API实现自动化批量生成。ComfyUI 提供了完整的API支持。7. 常见问题与排查思路FAQ在搭建和使用ComfyUI工作流时你一定会遇到各种问题。以下是高频问题及解决方案。问题现象可能原因排查与解决思路启动时报错或闪退1. 路径包含中文/特殊字符。2. 显卡驱动过旧。3. Python环境冲突。1. 确保ComfyUI安装在纯英文路径。2. 更新NVIDIA显卡驱动到最新版。3. 使用秋叶整合包可避免环境问题。节点缺失无法找到AnimateDiff等节点插件未安装或安装不正确。1. 通过ComfyUI Manager检查并安装。2. 手动安装后重启ComfyUI。3. 检查custom_nodes文件夹下是否有对应插件目录。执行工作流时报错KeyError: ‘model’或类似节点连线错误或缺失。1. 仔细检查每个节点的输入橙色、紫色端口是否都有正确的连线。2. 特别是KSampler的model,positive,negative,latent_image四个输入必须全部连接。生成图片全黑或全灰VAE模型不匹配或解码问题。1. 检查VAE Decode节点的vae输入是否连接了Checkpoint Loader的VAE。2. 有些模型需要特定的VAE尝试在Checkpoint Loader中更换VAE或使用单独的VAE Loader节点。生成视频闪烁严重不连贯1. AnimateDiff运动模型未加载或强度不对。2. 提示词变化太大。3. 采样步数steps太低。1. 确认AnimateDiff Loader节点正确加载了.ckpt运动模型并尝试调整motion_scale等参数。2. 保持镜头内提示词稳定使用BREAK关键字分隔变化部分。3. 增加采样步数如25-30步。显存不足Out of Memory1. 生成分辨率或批处理大小batch_size太大。2. 同时加载了多个大模型。1. 降低Empty Latent Image的宽高或减少视频的batch_size总帧数。2. 使用--lowvram或--medvram参数启动ComfyUI修改启动脚本。3. 及时清理工作流中不用的节点。生成的图像与提示词无关提示词相关性CFG Scale过低。提高KSampler中的cfg参数通常设置在7-9之间。如何安装缺失的节点/包工作流文件来自他人包含你未安装的插件。1. 最方便使用ComfyUI Manager的“安装缺失节点”功能。2. 手动根据错误提示的节点名或包名在Manager中搜索安装或到GitHub查找对应插件仓库手动安装。8. 最佳实践与工程化建议掌握了基础操作后遵循一些最佳实践能让你的ComfyUI使用体验更高效、更专业。8.1 工作流管理模块化与分组对于复杂工作流使用CtrlG将相关节点框选后创建组Group并为其命名如“提示词编码区”、“采样核心区”、“输出保存区”。这能让画布清晰易懂。善用注释右键节点 -Add Note可以为节点或区域添加文本注释说明其功能或参数设置意图。版本化保存每次对工作流做出重大修改或得到满意效果时都使用Save功能保存一个新的.json文件并用有意义的名称命名如文生图_基础_v1.json,动画_角色A奔跑_v2.json。避免覆盖旧文件。备份关键配置除了工作流文件记得备份你精心调整过的提示词、LoRA模型列表、采样参数组合等可以记录在文本文件或笔记中。8.2 性能优化分辨率策略不是所有生成都需要高分辨率。先用小尺寸如512x512进行快速构思和参数调试确定后再用高分辨率如1024x1024出最终图。对于视频可先生成低帧数、小尺寸的预览。模型管理将常用的基础模型、VAE、LoRA、ControlNet模型分类存放在models文件夹的对应子目录下。定期清理不用的模型以节省磁盘空间。利用缓存ComfyUI会对加载过的模型进行缓存。如果频繁切换模型导致显存不足可以尝试在启动参数中添加--disable-xformers如果用了xformers或调整--gpu-only设置但这可能影响性能需要权衡。8.3 提示词与LoRA使用技巧结构化提示词将提示词分为几个部分用BREAK或,分隔便于管理。例如[角色描述], [场景描述], [画质词], [风格词]。LoRA强度微调不要总是将LoRA强度设为1.0。对于角色LoRAstrength_model和strength_clip在0.6-0.8之间可能融合得更自然。对于风格LoRA可以尝试更低的值0.3-0.5。负向提示词通用模板准备一个包含常见劣质特征如变形、模糊、多肢体的负面提示词模板每次生成时都加上能显著提升出图质量。8.4 探索社区与资源学习优秀工作流在Civitai、OpenArt或ComfyUI的官方Discord频道有大量用户分享的.json或.png工作流文件。下载下来导入学习是快速提升的最佳途径。关注插件生态除了AnimateDiff还有许多强大插件如ControlNet用于精确控制构图、姿势、景深等。IPAdapter强大的图像参考功能实现风格迁移、角色一致性。ComfyUI-Impact-Pack包含众多实用节点如预览器、遮罩工具、检测器等。Efficiency Nodes提升工作流执行效率。尝试API调用当你需要批量生成或集成到其他应用时ComfyUI的API非常强大。你可以用Python脚本发送工作流JSON数据到其API端点实现自动化生产。从一张静态图片到一段生动的视频再到一个有情节的短剧ComfyUI 为你提供了从创意到成品的完整工具箱。它可能初看起来复杂但一旦理解了节点间数据流动的逻辑你就会发现其无与伦比的灵活性和强大能力。
返回列表