说起本地部署ComfyUI和Flux,很多人的第一反应就是:这玩意不是得几万块的显卡才能跑吗?我一开始也这么想,直到自己用一千出头的二手卡把整套流程跑通,才知道以前被云API的价格吓到纯属浪费。这篇文章我把整个省钱方案的思路、硬件、安装、调优和踩坑记录一次写完。无论你是刚入门的萌新,还是被云端积分烧怕了的老用户,只要照着这篇动手,都能在自己电脑上稳定生成Flux高清图。
首先要明确一点:本地部署Flux并没有想象中那么困难,真正的门槛其实就两个——显存和模型文件选择。ComfyUI负责调度所有计算资源,Flux模型负责生成画质,两者配合好以后,你得到的是一台不会失效、不用排队、随时待命的私人出图机器。接下来我按从思路到实操的顺序,把每个环节都拆开讲清楚。
1. 为什么要本地部署Flux?先聊聊省钱的逻辑
1.1 云端API和本地部署的成本对比
先算一笔账。目前市面上的Flux生成API,便宜的按张计费,一张1024x1024的图大概在1毛到3毛人民币之间,贵的商业服务甚至按次按分辨率叠加收费。如果你只是偶尔生成几十张图,这个成本确实无所谓;但如果你做设计参考、批量出草稿、跑Lora测试,每天100张图很常见,一个月下来就是几百到上千元。这是实打实烧掉的现金流。
本地部署花的钱是一次性的:一张二手显卡、一块固态硬盘、每月多出来的电费。以我自己的配置为例,显卡是千元价位的12GB显存型号,满载跑图时整机功耗大概200多瓦,一小时电费按0.6元算,连跑3小时也就几毛钱。换句话说,只要你每个月有几百张的生成需求,本地部署的硬件成本在三四个月内就能回本,之后每次出图都接近免费。
除了钱,还有两个隐形成本。一是隐私:云端API生成的作品会经过服务商的服务器,涉及未公开的产品设计、敏感素材,你根本不知道数据会被怎么留存。二是稳定性:热门时段API经常排队、某些服务还会限流,而本地部署只要显卡不坏,想什么时候跑就什么时候跑,断电都不会有人管。
1.2 适合本地部署的人群与硬件底线
先说结论:并不是所有人都适合本地部署。如果你只是一个月玩几次,云端随开随用就够了,没必要折腾本地。但如果你是下面三种人,本地部署几乎必选:一是在校学生或自由创作者,整个月都在大量跑方案,积分根本不够用;二是设计公司想建内部出图服务,图不能外发;三是网络环境不稳定,在线服务时好时坏,本地部署能保证工作流不中断。
硬件底线方面,我强烈建议显存不低于8GB。8GB显存搭配量化模型和低显存模式,勉强能跑512到768分辨率的Flux,出图慢、容易爆显存,适合拿来体验,不适合作为主力。12GB显存是性价比甜点,可以舒适地跑1024x1024并开启大部分优化;16GB以上属于非常宽裕,24GB则几乎能跑原版高精度模型。除了显卡,内存建议16GB起步,32GB会很舒服,否则模型加载时可能先卡在内存上。
存储这块也别省。Flux的模型文件加起来少说30GB,加上ComfyUI和缓存,建议准备至少80GB可用空间,并且一定要放在固态硬盘里。我实测过机械硬盘加载模型要等一两分钟,固态硬盘十几秒就能进工作流,差距非常明显。
2. 核心方案选型:ComfyUI + Flux 的搭配思路
2.1 为什么选ComfyUI而不是WebUI
Flux模型出来后,很多用过SD WebUI的人习惯性想往WebUI里塞。但WebUI对Flux的支持一直比较别扭:模型结构特殊、需要单独指定文本编码器和VAE,WebUI的旧式加载逻辑经常识别不了,还要打各种补丁。相比之下,ComfyUI的节点式工作流天然就是为这种模块化模型准备的,加载器、采样器、解码器都是独立节点,你可以自由排列组合,思路清晰不容易出错。
ComfyUI另一个优势是显存调度做得更好。它默认按节点自动加载模型并释放显存,配合低显存模式后,能明显降低OOM几率。同样的Flux模型,在WebUI里可能需要16GB显存才能跑,到了ComfyUI里用GGUF量化加offload,8GB显存也能出图。这也是我最终选择ComfyUI的决定性原因。
如果你完全没接触过节点式工作流,说实话刚开始会有点懵,但请相信我,最多半天就能适应。节点就是一个个积木:你得把模型的加载、提示词输入、采样参数、图像输出按顺序连起来。每个节点上面有输入和输出端口,左键拖动连线,右键调参数,逻辑比WebUI那种固定表单直观得多。
2.2 Flux模型版本怎么选:dev、schnell、GGUF量化版本
现在说到重头戏。Flux官方发布了两个基础版本:Flux.1 Dev和Flux.1 Schnell。Dev版本画质更高,更适合作图和细节表现,但授权上有额外限制;Schnell版本开源、无授权限制,出图速度更快,但对提示词的理解和复杂构图稍弱一点。如果你做正经的项目图,老老实实用Dev;如果只是随手玩、批量生成灵感草稿,Schnell完全够用。
上面说的都是未量化的原版文件,体积非常吓人:光unet模型就要20多GB,加上文本编码器和VAE,全套超过30GB。对于显存不够大的机器,跑原版Flux基本等于灾难。所以低显存用户必须走量化路线。
目前主流的量化格式有FP8、NF4和GGUF。FP8权重占用大约12GB,画质损失很小,适合16GB显存以上的机器;NF4量化进一步压缩权重,占用可以压到10GB以内,画质略肉但可用;GGUF格式可以按Q2、Q4、Q5、Q8等档位自由选择,Q4档位权重体积只有原版的四分之一到三分之一,是8到12GB显存机型的最优解。下面这张表是我整理的选择建议:
| 显卡显存 | 推荐方案 | 模型文件示例 | 出图分辨率 |
|---|---|---|---|
| 8GB | GGUF Q4量化 + 低显存模式 | flux1-dev-Q4_K_S.gguf | 512~768 |
| 12GB | GGUF Q5/Q8 或 NF4 | flux1-dev-Q5_K_S.gguf / fp8 | 1024 |
| 16GB | FP8权重 | flux1-dev-fp8.safetensors | 1024~1536 |
| 24GB | 原版FP16 | flux1-dev.safetensors | 2048+ |
注意,GGUF模型的加载方式和普通safetensors不一样,需要先安装ComfyUI-GGUF插件,再用专门的Unet Loader(GGUF)节点加载,否则ComfyUI根本不认这个文件。这个插件后面我会详细说。
2.3 省钱的关键:显存不够时怎么办
很多人以为省钱就是买便宜显卡,其实真正省钱的关键是让手上的显存发挥最大化。举个最简单的例子,同样是12GB显存的3060,有人能流畅跑1024x1024,有人却一张图就OOM,差别就在模型精度选择、Offload策略和采样参数上。
ComfyUI的模型调度有两种模式:一种是把所有模型都塞进显存里,速度最快但吃显存;另一种是按需加载部分模块到显存,其余放在内存里,用时再换进去,这就是--lowvram参数干的事。低显存用户开启这个模式后,即使显存只有8GB,也能勉强把Flux跑起来,代价是每步采样会多几次显存和内存的数据交换,速度慢个不少,但至少能用。
另一个被很多人忽略的是采样步数。Flux不需要像早期SD那样动辄50步,Dev模型一般20到28步就能出很干净的图,Schnell更是4到8步就够。把步数从40降到20,出图时间直接减半,很多人抱怨“本地Flux太慢”,其实多半是步数调太狠了。
3. 从零开始搭建本地环境(实操步骤)
3.1 Python环境与CUDA准备
如果你的电脑里还没有Python环境,先别急着装,先把显卡驱动搞定。打开设备管理器,确认显卡能被Windows识别,然后去NVIDIA官网下载最新驱动装上。接着在命令行输入nvidia-smi,看右上角CUDA Version,大于12.0就基本没有问题了。
ComfyUI的安装环境,我推荐直接用Python 3.10或3.11的64位版本,不要用最新的3.12和3.13。原因是很多底层库目前对3.12以上版本的支持还不太完善,装到一半容易报错。装Python的时候,记得勾选“Add Python to PATH”,这一步不勾,后面敲命令会非常痛苦。
然后是Git。Windows用户可以从官网下载Git安装包,无脑下一步装完。接着随便找个目录,打开命令行,输入:
git clone https://github.com/comfyanonymous/ComfyUI cd ComfyUI如果网络特别慢,也可以直接到GitHub页面下载ZIP压缩包再解压,效果一样。一直下载失败的话,换个时间段多试几次就好。
最后创建虚拟环境。这一步很重要,不要图省事把依赖直接装到系统环境里,不然以后装别的AI工具冲突到你哭。创建和激活命令如下:
python -m venv venv venv\Scripts\activate3.2 安装ComfyUI(含秋叶整合包说明和手动安装)
环境准备好后,进入ComfyUI目录,安装PyTorch和ComfyUI依赖。GPU版PyTorch一定要指定CUDA索引源,不然从PyPI默认装的是CPU版,白折腾半天。命令如下:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 pip install -r requirements.txt装完就可以试着启动:
python main.py终端显示Starting server后,浏览器打开http://127.0.0.1:8188,看到节点画布就说明ComfyUI本体装成功了。默认工作流会要求你加载一个模型,这时候我们先跳过,直接关掉,去准备模型文件。
这部分对新手来说可能有点门槛,所以如果你完全不想折腾命令行,更推荐直接使用秋叶整合包。秋叶整合包本质上就是有人帮你把所有环境、依赖、插件全部打包好,解压后双击启动脚本就能用。它还把Python、Node、各种配置都集成在压缩包里,不会跟系统其他软件冲突。启动时选择GPU模式,等几秒就进界面。
用整合包有个非常关键的点:下载完成后一定要先关掉杀毒软件再解压。这类整合包经常被误报病毒,实际上只是里面包含了某些优化脚本和第三方插件,但杀毒软件分不清,直接给你删掉核心文件,启动必然失败。另外,整合包更新频率挺高,建议隔一两个月去发布页看有没有新版本,老版本有时候会出现Flux节点加载不兼容的问题。
3.3 下载Flux模型文件(文件名、路径、精度)
模型文件是本地部署里最容易出错的环节。以最常见的Flux.1 Dev量化方案为例,你需要准备四类文件:Unet模型(也就是扩散模型本体)、T5文本编码器、CLIP文本编码器、AutoEncoder(VAE)。如果没分清这些文件的类型,加载节点时就会找不到。
ComfyUI的模型目录结构是固定的,别放错位置。建议截图存档:
- Unet模型放到
ComfyUI/models/unet/,文件一般是flux1-dev-fp8.safetensors或者flux1-dev-Q4_K_S.gguf - T5编码器放到
ComfyUI/models/clip/,文件名一般是t5xxl_fp16.safetensors - CLIP编码器放到
ComfyUI/models/clip/,文件名一般是clip_l.safetensors - VAE放到
ComfyUI/models/vae/,文件名一般是ae.safetensors
有些教程会把T5放到一个叫text_encoders的目录里,这个目录主要用于某些特殊工作流,和Flux配套的ComfyUI默认工作流不认。如果你在节点里找不到模型,第一反应先检查是不是放错了目录。
还有一个很容易踩的坑:模型文件下载不完整。Flux的模型动辄十几二十GB,断点续传时少传了几百MB,ComfyUI加载时不一定报文件缺失,而是报各种张量形状错误或Key不匹配。下载完成后,建议用文件哈希工具核对官方SHA256值,如果嫌麻烦,至少把文件大小和官方页面核对一下。
3.4 配置ComfyUI工作流(加载器、采样器节点)
模型文件就位后,打开ComfyUI,在默认工作流基础上改节点就能跑Flux。最简单的Flux文生图工作流包含下面这些节点:
Unet Loader:选择你下载的Unet模型文件。如果装的是GGUF量化模型,要用Unet Loader (GGUF)节点。CLIP Loader:选择t5xxl_fp16.safetensors;再添加一个CLIP Loader,选择clip_l.safetensors,两个文本编码器都要加载。VAE Loader:选择ae.safetensors。CLIP Text Encode:分别连接两个CLIP节点到正向和负向提示词编码节点。Flux的负向提示词一般留空就行。Empty Latent Image:设置宽度、高度为1024、1024,batch size按需调整。KSampler:这是核心采样器,种子随意,steps设置20到28,cfg设置3.5(不包括Schnell,Schnell不需要guidance),sampler_name选euler,scheduler选simple。VAE Decode:把采样结果从潜空间解码成像素图。Save Image:保存最终图片。
连接关系一句话概括:两个文本编码器把提示词变成向量,Unet在潜空间里按采样器参数逐步去噪,VAE把结果解码成图片。新手最容易犯的错是把T5和CLIP的连线搞混,或者以为CFG越大画质越好。Flux对CFG非常敏感,Dev默认3.5左右,超过8基本废了,Schnell更是直接不吃CFG,设置成1.0就行。
如果觉得手搓节点太麻烦,ComfyUI-Flux插件提供了Flux Loader和Flux Block Swap等专用节点,把多个加载器压缩成一个。装上插件后,新建工作流搜索模板,选一个Flux模板就能自动生成完整连线,省去很多重复操作。我等下在第4节详细说插件安装方法。
4. 省钱运行方案实测:各项参数调优
4.1 显存占用与速度实测(不同显卡/量化组合)
很多人在评论区问我,到底什么显卡能跑Flux?与其空谈参数,不如上实测数据。下面是我在几台不同配置机器上,用统一工作流跑1024x1024图片、20步采样得到的大致数据。不同显卡驱动、后台负载都会影响结果,所以我说个大概范围,给大家做参考。
| 显卡 | 显存 | 量化方案 | 显存占用 | 出图耗时 | 体验评价 |
|---|---|---|---|---|---|
| GTX 1660 Super | 6GB | GGUF Q4 + 低显存模式 | 约5GB | 5~6分钟 | 能出图但很煎熬,仅适合验证流程 |
| RTX 3060 | 12GB | GGUF Q4 | 约8GB | 约80秒 | 性价比首选,日常使用完全够 |
| RTX 3060 | 12GB | FP8 | 约11GB | 约60秒 | 画质更好,显存接近极限 |
| RTX 4060 Ti | 16GB | FP8 | 约10GB | 约45秒 | 速度和显存都很均衡 |
| RTX 3080 | 10GB | GGUF Q8 | 约9GB | 约50秒 | 出图稳定,但不适合大batch |
从上表能看出,8GB显存是能不能跑的分界,12GB才是真正能舒服用的起点。如果你预算有限,别盲目追新卡,二手的RTX 3060 12GB性价比真的无敌。顺便提一句,如果你只有6GB显存,也不是完全不能用,把分辨率降到512x512,采样步数降到12步左右,配合GGUF Q4量化,也能出图,只是画质和速度都妥协,应急可以,主力不建议。
4.2 开启加速选项:Torch.compile、SageAttention
硬件到位只是第一步,软件优化还能再薅一波性能。ComfyUI启动时加--fast参数,会开启一系列优化,包括Pytorch自带的图模式和缓存策略,原理是让模型算子预先融合,减少调度开销。实测下来,20步采样大概能提速10%到20%,代价是第一次跑某尺寸时会有几十秒的编译等待,之后就正常了。
另一个重点优化是SageAttention,它用自定义的注意力算子替代PyTorch默认实现,在图像生成这类需要大量注意力计算的场景里,效果非常明显。安装方式是在ComfyUI Manager里搜索ComfyUI-SageAttention,一键安装后重启ComfyUI,再在采样器节点中把注意力模式切换成SageAttention即可。需要注意的是,这个插件需要单独的编译库,Windows下装起来有点麻烦,如果装不上,用xformers也能替代一部分优化效果。
低显存用户的启动参数我额外推荐这个组合:
python main.py --lowvram --fast注意,--lowvram和--highvram不能同时开。如果你显卡24GB以上,反而不要开lowvram,因为它会强制频繁换入换出模型,白白降低速度。同理,--fast在个别老旧显卡上可能因为算子不兼容报错,遇到问题就把它去掉再用。
4.3 工作流节点优化与缓存设置
模型装载和缓存策略也会影响整体体验。ComfyUI默认会缓存已加载的模型,如果你在一个工作流里反复切换模型,缓存可能会导致显存占用一路飙升,直到OOM。遇到这种情况,可以在启动时加--cache-none禁用所有模型缓存,或者只保留L2级缓存。我不建议一上来就全部禁止,因为缓存能显著加快同一模型连续生成的速度,只要不OOM就别动它。
出图分辨率对显存的影响是立体的。以Flux的潜空间结构来说,1024x1024已经能覆盖90%的使用场景,硬要挑战2048x2048,显存占用会呈指数级上升。如果真的需要大图,建议先用1024出图,再用ComfyUI的Upscale Image节点配合放大模型,二次放大到2048甚至更高,省显存而且画质更可控。
最后分享一个工作流层面的习惯:每次调好参数、跑通一个效果,记得把工作流用Export保存成JSON文件。Flux的参数组合非常玄学,下次想要复现同样的风格,直接导入JSON就行了,不用再回忆当时选的是什么采样器、什么调度器。我自己已经积累了三十多个模板,全部存在工作流文件夹里,用起来比云端提示词库还顺手。
5. 常见问题与排查实录
5.1 启动报错:缺少依赖、版本冲突
我刚开始手动安装时,最崩溃的报错就是ModuleNotFoundError: No module named 'torch'。后来才发现是虚拟环境没激活,或者激活后又用了系统Python启动的ComfyUI。解决办法很简单:启动前先确认命令行前缀显示(venv),再执行安装和启动命令。
另一个高频问题是undefined symbol或CUDA driver version is insufficient,这大概率是PyTorch版本和显卡驱动不匹配。先升级显卡驱动,然后卸载重装PyTorch,保证上面安装命令中的CUDA版本和驱动支持的版本一致。注意,PyTorch对CUDA版本向下兼容,驱动支持12.1,那cu121和cu118都能跑;反过来驱动只支持11.8,装cu121就会报错。
如果你是秋叶整合包用户,遇到启动框一闪而过,优先检查解压时有没有被360或Windows Defender删掉文件。实在不行,直接在浏览器打开http://127.0.0.1:8188,如果页面能打开但马上关闭,多半是端口被占用,把ComfyUI的配置端口改掉即可。
5.2 推理时爆显存
爆显存是最多新手问的问题,我记得自己第一次跑Flux,就是在Image Generate阶段直接CUDA out of memory。当时的配置是8GB显卡+FP8模型,在1024分辨率下想都不想就直接跑。后来换了GGUF Q4模型,开低显存模式,瞬间稳了。所以爆显存的第一优先策略永远是降模型精度,而不是买新显卡。
如果你已经在用Q4量化,依然爆显存,试试下面三个调整:第一,把分辨率降到768以下;第二,把batch size保持为1,别贪;第三,启动ComfyUI前关掉浏览器里那些吃显卡的页面,Chrome硬件加速对显存占用尤其凶猛。还有一个隐藏技巧:在系统环境变量里加一行PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True,让PyTorch可以动态扩展显存片段,对碎片化导致的OOM有奇效。
如果上面都不行,最后大招是用CPU Offload方案,也就是图片加载时把T5和VAE放回内存,只在Unet采样时用显存。这个方法牺牲速度但保住出图能力,具体做法是在启动参数里加--cpu-vae和--fast,秋叶整合包则可以勾选“启用低显存模式”。记住,这样跑出来的图,可能在生成后期变慢,别以为是死机了,耐心等就行。
5.3 出图速度慢
出图慢分两种情况:一种是真的速度低于预期,另一种是单张速度正常但是连续出图时卡顿。先说第一种,速度慢往往是GPU没被用起来。打开任务管理器或nvidia-smi,如果生成时GPU利用率只有30%,大概率是模型加载和卸载太过频繁,或者依赖的库没装对。确认你的PyTorch是GPU版,方法是在ComfyUI终端里敲一行:
import torch print(torch.cuda.is_available())输出True就正常,输出False说明装了CPU版,按第3.2节重新安装GPU版。
第二种情况,连续出图时第一张很慢、后面的图快很多,这是模型缓存和编译优化的正常表现,不用焦虑。如果每一张都慢,但GPU利用率很高,那就真的是硬件瓶颈,只能降低采样步数、降低分辨率,或者考虑升级显卡。另外,把工作流里的图像预览节点删掉,也能省下不少资源,毕竟每秒刷新预览图也是一笔开销。
5.4 模型加载失败:文件路径、精度不匹配
模型文件齐全但加载节点找不到文件,99%是文件放错了目录或者扩展名不对。ComfyUI对文件名和格式很严格,GGUF文件必须用ComfyUI-GGUF扩展的节点加载,FP8的safetensors文件则要用普通Unet Loader加载。如果你加载的是FP8模型,却套用了原生FP16的加载流程,也可能出现维度不匹配的报错。
另一个比较容易踩的坑是T5文本编码器加载报KeyError。有人下载的T5文件其实是旧版T5格式,缺少Flux需要的某些权值。解决方法是去官方仓库重新下载标记为t5xxl_fp16的文件,并且确认它真的放进models/clip/目录。别自作聪明改文件名,ComfyUI认文件名,但不认“优化过”的名字。
如果加载VAE时报config相关错误,大概率是下载的VAE文件是SD1.5或其他模型通用的VAE,不是Flux专用VAE。Flux的VAE文件名通常是ae.safetensors,体积约335MB,跟其他开源VAE体积差距很大。看到体积不对,就别浪费时间调试了,直接换文件。
5.5 一些容易忽略的细节
写了这么多,最后再按记忆整理几个容易忽略但实际很影响体验的细节。第一,模型文件和ComfyUI本体最好放在同一块固态硬盘里,跨盘读取会拖慢模型加载;第二,遇到界面卡顿,先把浏览器缓存清一下,ComfyUI的前端资源偶尔会残留旧版脚本;第三,不要看到新版功能就去更新,更新前备份当前能用的整个ComfyUI目录,花不了多少时间,能救命。
还有,Flux对提示词可以采用很自然的描述,不需要像SD那样堆砌一堆质量词。像“a photo of a cat”这种简洁清晰的描述,反而比密密麻麻的prompt更稳定。不要被网上的提示词模板带偏了,Flux理解自然语言的能力远超你的想象。
最后说点掏心窝的话。我自己从云API转本地部署,最大感受是心态变了:以前每出一张图都像在花钱,不敢试错;现在显卡是自己的,参数随便调,跑废了最多费几毛电费。这种自由感,比省下来的钱更值。如果你正犹豫入门Flux,手里又不想投太多钱,别被那些几十GB的原版模型吓退,按这篇文章走GGUF量化路线,一千多块钱的二手卡也能玩得很开心。祝大家出图顺利。