ComfyUI实战:搭建本地生图+视频一体化AI工作流
本地AI 部署现在并不是新鲜话题,但“生图 + 视频一体化”这个组合仍然让很多人既感兴趣又怕踩坑。所谓一体化方案,并不是某个大模型同时干两件事,而是把开源生图模型、开源视频生成模型、节点式工作流引擎和模型管理组件拼成一条完整链路:输入一句话,先出图,再让图动起来,或者直接把一句话变成短视频。下面的内容以 ComfyUI 作为统一调度层,从环境准备、模型下载、工作流搭建到结果验证,把这条链路完整走一遍。
先说明一个态度:网上常见的“跑不出效果你找我”这类承诺并不严谨。本地 AI 效果受显卡型号、显存、驱动、Python 版本、模型文件、节点版本等多个变量影响,任何一环不一致,结果都可能完全不同。与其相信一句口号,不如把每一步的原理和检查点搞清楚。读完这篇文章,你可以获得一套能够自己排查问题的部署方法,而不是一个碰运气的安装包。整条链路会拆成五件事:理解一体化结构、准备环境、跑通生图、接入视频、验证与排错。
1. 先拆解“生图+视频一体化”到底由哪些部分组成
1.1 一体化是流程一体化,不是一个模型干所有事
很多第一次接触这类方案的人会误以为存在一个“生图大模型”加一个“视频大模型”打成一个包。实际上,开源社区的一体化方案是分层组合:
- 生图模型负责静态画面的构图、光影、风格,常见的有 SD 1.5、SDXL、Flux 系列。
- 视频模型负责在时间维度上生成连续帧,常见的有 Wan 2.1/2.2、LTX-Video、AnimateDiff、Stable Video Diffusion 等。
- 工作流引擎负责把“文字描述、模型加载、采样、解码、输出合成”串起来,ComfyUI 是这一层最常用的开源选择。
- 附件组件负责视频合成、帧序列处理、模型管理,例如 VideoHelperSuite、ComfyUI Manager。
所以,一体化方案的本质是“流水线一体化”,不是模型一体化。生图模型和视频模型各管一段,工作流引擎把两段结果按顺序接起来。理解这一点,后续遇到报错时才能判断问题出在哪个环节。
1.2 为什么推荐 ComfyUI 作为统一调度层
ComfyUI 是一个基于节点的开源工作流工具,用户通过连接节点来定义生成任务。和 WebUI 这类偏“填表式”的工具相比,它在生图 + 视频一体化场景上有几个实打实的优势:
第一,节点可以复用。生图链路已经生成好的图片或 latent,可以直接作为图生视频视频链路的输入,不需要单独写胶水代码。
第二,自定义节点生态完整。视频生成模型基本都有对应的 wrapper 节点,安装后就能在画布里拖拽使用,典型的有 WanVideoWrapper、AnimateDiff Evolved、VideoHelperSuite 等。
第三,工作流可以导出为 JSON 文件。一个团队里,A 调好的参数和节点连接关系,发给 B 后导入即可复现,非常适合排查“为什么我跑出来不一样”这类问题。
第四,自带 API 模式。ComfyUI 启动后本身监听本地 HTTP 端口,可以把工作流封装成请求提交,方便接入自己的脚本和业务系统。
1.3 本地开源方案与在线工具的真实差异
在一些推广文案里会看到“效果硬刚即梦 2.5”之类的说法。这里需要提醒一句:即梦这类产品是云端大规模集群推理,本地单卡方案在模型规模上天然不占优。所谓“硬刚”必须落到具体模型、具体提示词、具体硬件上才有意义,任何脱离环境的对比都容易变成口号。
从选型角度,本地方案和在线工具的取舍关系可以用一张表说明:
| 对比维度 | 在线 AI 创作工具(如即梦) | 本地开源方案 |
|---|---|---|
| 算力来源 | 云端大规模集群 | 本地单卡,受显存和内存限制 |
| 单次成本 | 订阅或按生成次数计费 | 主要是电费和硬件折旧 |
| 数据隐私 | 素材和生成结果会经过云端 | 数据不离开本机 |
| 可控性 | 官方限定的参数和风格 | 模型、采样器、CFG、LoRA、工作流全部可控 |
| 使用门槛 | 打开网页即可用 | 需要安装环境、下载模型、处理依赖 |
| 模型协议 | 由平台规则决定 | 取决于具体开源模型的许可证 |
这张表说明的核心判断是:本地方案适合对隐私、成本、可控性有要求的场景,但要求使用者具备基本的命令行和排错能力。如果只是偶尔生成一张图,在线工具体验更好;如果要把生图和视频链路做成可复用的生产流程,本地方案更值得投入。
2. 环境准备:显存、驱动、Python 与 ComfyUI 安装
2.1 先确认显卡和显存底线
在下载任何模型之前,先确认硬件能不能跑,否则后面所有安装都是在浪费时间。本地生图和视频生成对显卡的依赖程度很高,尤其是显存。
| 显存 | 能稳定运行的典型范围 | 建议 |
|---|---|---|
| 6GB | SD 1.5 生图;视频生成非常吃力 | 只做生图学习 |
| 8GB | SDXL 生图低显存模式;部分小视频模型 | 可以开始尝试完整链路 |
| 12GB | SDXL 生图流畅;中小视频模型 | 推荐入门配置 |
| 16GB | 多数中小视频模型可跑 | 一体化方案的舒适区 |
| 24GB 及以上 | 更大参数的模型 | 追求更高效果时再考虑 |
除了显存,还有几个容易被忽略的硬件项:内存建议 32GB 起,因为视频帧序列在解码阶段会占用大量内存;系统盘和工作目录建议放在固态硬盘,模型加载和帧写入的速度差距非常明显;电源和散热也要跟上,长视频生成会让显卡持续高负载运行。
2.2 检查 NVIDIA 驱动和 CUDA
ComfyUI 本身不直接依赖 CUDA Toolkit,而是依赖 PyTorch 的 CUDA 支持。真正决定能否用 GPU 的,是 NVIDIA 驱动版本和 PyTorch 编译时对应的 CUDA 版本。打开命令行执行:
nvidia-smi正常输出会包含三块关键信息:显卡型号、Driver 版本、CUDA 版本。例如 Driver 版本 560.x、CUDA 版本 12.6,说明当前驱动支持 CUDA 12.6 及以下版本。
这里有一个常见的坑:有人以为安装了 CUDA Toolkit 就等于驱动可用。实际上 PyTorch 是通过驱动和显卡交互的,驱动版本太老,即使装了新版 Toolkit,PyTorch 也可能无法调用 GPU。建议把 NVIDIA 驱动更新到较新的稳定版,再去安装 PyTorch。
2.3 安装 ComfyUI:源码安装与便携整合包
社区里常见的一键安装包、整合包,本质上是把 Python、PyTorch、ComfyUI 主程序和常用自定义节点预先打包压缩。优点是省去环境配置,缺点是版本被固定,一旦某个节点更新或模型不兼容,定位问题会更困难。
如果打算长期使用并维护自己的工作流,推荐走源码安装,流程可控性更高:
git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI python -m venv venv # Windows venv\Scripts\activate # Linux / macOS source venv/bin/activate pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 pip install -r requirements.txt关键点有三个。
第一,一定要用虚拟环境,不要直接装到系统 Python。ComfyUI 的自定义节点会安装大量第三方依赖,直接装到系统环境很容易造成依赖冲突。
第二,PyTorch 的安装命令里的cu124表示对应 CUDA 12.4。这个版本号要以 PyTorch 官方页面当前支持的版本为准,避免安装了不匹配的版本导致 CUDA 不可用。如果机器没有 NVIDIA 显卡,也可以装 CPU 版,但生图和视频基本没法实际使用。
第三,requirements.txt只能保证 ComfyUI 主程序依赖完整,视频相关自定义节点的依赖需要单独安装,后面会专门讲。
2.4 启动成功需要看到哪些标志
在虚拟环境激活状态下启动:
python main.py正常启动时,控制台最后会出现类似输出:
Starting server To see the GUI go to: http://127.0.0.1:8188此时用浏览器访问http://127.0.0.1:8188,能看到一个中间是画布、左侧有节点列表的页面。到这里只说明主程序起来了,GPU 是否真正参与计算,还要在第一次生图时验证。
3. 跑通第一条本地生图工作流
3.1 下载生图模型并放到正确目录
ComfyUI 默认不会自带任何生图模型。需要从模型平台下载.safetensors格式的模型文件,放到models/checkpoints目录。常见的下载平台是 Hugging Face 和阿里魔搭 ModelScope,国内网络环境下优先使用 ModelScope,速度通常更稳定。
以 SDXL 和 Flux 两类模型为例:
- SDXL base 模型文件约 6 到 7GB,8GB 显存可以配合低显存模式运行。
- Flux.1-dev 模型体积明显更大,加上文本编码器和 VAE,整体占用超过 20GB,推荐 16GB 以上显存;如果显存不够,可以找社区发布的 fp8 或 GGUF 量化版本。
模型放好之后,回到 ComfyUI 页面刷新节点列表。如果模型文件没有出现,最常见的原因是目录放错,或者文件名包含特殊字符。
ComfyUI 目录结构里还有几个需要注意的位置:
ComfyUI/ ├── main.py ├── requirements.txt ├── models/ │ ├── checkpoints/ # 完整模型文件,如 SDXL、Flux checkpoint │ ├── diffusion_models/ # 只包含扩散模型本体的文件 │ ├── vae/ # VAE 解码模型 │ ├── text_encoders/ # 文本编码器 │ ├── loras/ # LoRA 微调文件 │ ├── clip/ # CLIP 模型 │ └── vae_approx/ ├── custom_nodes/ # 自定义节点目录 ├── input/ # 图生视频时放置输入图片 └── output/ # 生成结果输出目录3.2 用默认模板搭建最小文生图链路
ComfyUI 页面顶部菜单的 Load 里有默认模板,选择 Default 之后,画布上会出现一套完整的文生图链路。最小链路包含下面这些节点:
- Load Checkpoint:加载 checkpoint 模型,同时负责 CLIP 文本编码和 VAE。
- CLIP Text Encode:把提示词编码成模型能理解的向量,正面提示词和负面提示词各一个。
