ComfyUI 一键换衣 2.0:FLUX Fill 服装一致性工作流全模型清单与新版避坑指南(12G 显存实测跑通)

前言

去年我发过一篇《ComfyUI 一键换衣-服装一致性》,当时只记录了"补模型"的过程,模型清单不全、参数没写、效果一致性也没定位清楚。最近在 ComfyUI v0.39.0(2026 年新版)+ RTX 4070 Ti(12G 显存) 上把这个工作流完整重跑了一遍------从零搭环境到出图 120 秒,中间踩到一个新版 ComfyUI 必踩的坑(GroundingDINO 直接崩)。

这篇是彻底重写的 2.0 版:完整模型清单(9 个,含上一版漏掉的)、两阶段工作流拆解、全部采样参数、以及手工修复报错的逐步指引。文中全部效果图都是我本机实测产出,参数可复现。

文中用到的全部模型清单、出处仓库与实测参数,已整理在文末「模型出处汇总」。

一、效果预览

工作流输入一张服装商品图(挂在衣架上的玫瑰印花衬衫),输出模特穿上这件衣服的完整试穿图:

左:输入的商品图;右:模型生成的试穿效果(红发模特 + 同款玫瑰印花衬衫 + 街景)。可以看到印花风格、配色、版型都保持了一致,手指、衣褶没有明显畸形。

服装一致性的关键在两件事:FLUX Fill 的局部重绘能力 + Redux 把商品图的图案信息注入生成过程。下面拆开讲。

二、环境与前置条件

项 实测环境
显卡 RTX 4070 Ti(12G 显存)
ComfyUI v0.39.0 官方便携版(Windows portable)
系统 Windows
单次运行耗时 约 120 秒(两阶段共 55 步采样,约 2 秒/步)
显存占用 12G 可跑(模型均为 fp8 量化版)

自定义节点(ComfyUI Manager 里按名字搜索安装,装完重启):

节点包 用到的节点 来源
ComfyUI_Segment_Anything GroundingDinoModelLoader / SAMModelLoader / GroundingDinoSAMSegment GitHub 搜 Segment_Anything
rgthree-comfy Fast Groups Bypasser 等分组控制 rgthree/rgthree-comfy
ComfyUI-KJNodes GetNode / SetNode 飞线 kijai/ComfyUI-KJNodes
ComfyUI-Impact-Pack ImpactInt 等 ltdrdata/ComfyUI-Impact-Pack
was-node-suite-comfyui ImageConcanate 图像拼接 WASasquatch/was-node-suite-comfyui
ComfyUI_essentials ImageConcatMulti 等 cubiq/ComfyUI_essentials
ComfyUI-Custom-Scripts MaskPreview+ 遮罩预览 pythongosssss/ComfyUI-Custom-Scripts
InpaintEasy / ReduxPromptStyler 等 局部重绘与提示词样式 Manager 搜索安装

三、模型准备(9 个,含下载地址)

这一节是 2.0 版最重要的补充。上一版文章漏了 2 个模型、写错了 1 个目录,照着装必然缺件。完整清单如下,目录全部相对 ComfyUI 根目录:

模型文件 用途 放置目录 大小 官方出处
flux1-dev-fp8.safetensors 阶段①生图主模型(fp8) models/diffusion_models 11.9G Kijai/flux-fp8
fluxFillFP8_v10.safetensors 阶段②换装重绘模型(Fill fp8) models/diffusion_models 11.9G Kijai/flux-fp8
t5xxl_fp8_e4m3fn.safetensors 文本编码器 T5 models/clip 4.9G comfyanonymous/flux_text_encoders
clip_l.safetensors 文本编码器 CLIP-L models/clip 246M comfyanonymous/flux_text_encoders
ae.safetensors VAE models/vae 335M black-forest-labs/FLUX.1-schnell
flux1-redux-dev.safetensors Redux 风格参考 models/style_models 129M black-forest-labs/FLUX.1-Redux-dev
sigclip_vision_patch14_384.safetensors Redux 视觉编码器 models/clip_vision 857M black-forest-labs/FLUX.1-Redux-dev
sam_vit_h_4b8939.pth SAM 分割 models/sams 2.56G Meta 官方发布
GroundingDINO_SwinB.cfg.py + groundingdino_swinb_cogcoor.pth 服装检测定位 models/grounding-dino 938M IDEA-Research/GroundingDINO

三点说明:

  1. HuggingFace 直连慢的读者:在 hf-mirror.com 搜索同名仓库即可国内直下。
  2. 显存紧张可以把 sam_vit_h 换成 sam_vit_b(375M,效果略降),12G 显存实测 vit_h 无压力。
  3. 许可证提醒:FLUX.1-dev / Fill / Redux 系列模型遵循 FLUX Dev Non-Commercial 许可,个人学习研究可用,商用需另行授权。

四、工作流拆解:两阶段流水线

整个工作流分两个阶段(对应画布上下两个分组):

阶段①:商品图 → 模特图(flux1-dev-fp8 + Redux)

  1. LoadImage 载入衬衫商品图;
  2. sigclip 视觉编码器 + flux1-redux-dev 把商品图的视觉特征注入 conditioning(这一步是"图案一致性"的来源);
  3. ReduxPromptStyler 组合提示词(模特描述 + 服装描述);
  4. KSampler:euler / simple / 30 步 / CFG=1 / seed 固定,flux1-dev-fp8 出模特图。

阶段②:定位服装区域 → FLUX Fill 换装重绘(fluxFillFP8_v10)

  1. GroundingDINO 按文本提示(如 "Tops, T-Shirts")定位模特身上的服装区域,SAM 精确分割出 mask(阈值 0.35);
  2. 模特图 + 服装 mask + 商品图拼接后送入 FLUX Fill(inpaint 专用模型),VAEEncode → KSampler(euler / simple / 25 步 / CFG=1)→ VAEDecode;
  3. 输出换装成品图(左商品图 / 右试穿图的对比拼图由 ImageConcanate 生成)。

FLUX 系模型的参数特点:CFG 恒为 1(引导已经 baked 在模型里),scheduler 用 simple,这两点和 SD 系习惯完全不同,照 SD 的经验调 CFG 反而出废图。

五、踩坑实录与手工修复(重点收藏)

坑 1:新版 ComfyUI 运行必崩 ------ GroundingDINO 报 AttributeError

现象:点运行后 7 秒内报错:

复制代码
AttributeError: 'BertModel' object has no attribute 'get_extended_attention_mask'
File ...custom_nodes\comfyui_segment_anything\local_groundingdino\models\GroundingDINO\bertwarper.py, line 23

原因 :2026 年新版 ComfyUI 便携版自带的 transformers 是 5.x,而 GroundingDINO(ComfyUI_Segment_Anything 内置)依赖的 BertModel.get_extended_attention_mask 在新版 transformers 中已被移除。这不是你的模型没下对,也不是节点没装好,是依赖版本冲突。

手工修复(复制即用):在 ComfyUI 目录打开命令行,把 transformers 降到 4.46.3:

复制代码
cd /d D:\ComfyUI_windows_portable
python_embeded\python.exe -s -m pip install transformers==4.46.3 -i https://pypi.tuna.tsinghua.edu.cn/simple

(路径按你的实际安装位置调整;-i 是清华镜像,国内更快。)装完重启 ComfyUI(不是刷新页面,是关掉进程重开),再运行即可。

坑 2:差一个隐藏模型 ------ flux1-dev-fp8

工作流画布上有两个UNETLoader:阶段①用 flux1-dev-fp8(生成模特),阶段②才是 fluxFillFP8(换装重绘)。少装 flux1-dev-fp8 会直接卡在阶段①,这是上一版文章完全没提的模型。

坑 3:fluxFillFP8 不是放 checkpoints!

两个 FLUX 模型都走 UNETLoader,放 models/diffusion_models (老教程里写 models/unet 也行,新版目录叫 diffusion_models)。放 checkpoints 目录的话 UNETLoader 下拉框里永远刷不出来。

坑 4:clip_l 别乱替代

上一版我记录过"用 ViT-L-14-TEXT 替代 clip_l"的说法------重跑时核对工作流 JSON,DualCLIPLoader 引用的其实一直是 clip_l.safetensors,ViT-L 替代是当时排查时的误记。老老实实下 clip_l(246M)就好。

坑 5:GroundingDINO 用的是 SwinB,且是"两件套"

下拉框里选 GroundingDINO_SwinB (938MB),对应 models/grounding-dino/ 下两个文件 :GroundingDINO_SwinB.cfg.py(配置)和 groundingdino_swinb_cogcoor.pth(权重),缺一个都加载失败。别下成 swint_ogc------工作流引用的不是它。

坑 6:还有个 SAM 模型

上一版同样没写:SAMModelLoader 需要下载 sam_vit_h_4b8939.pth(2.56G)到 models/sams/。

坑 7:模型放对了但下拉框没有

ComfyUI 对模型目录有缓存,新放文件后刷新页面(F5),还不行就重启进程。前端节点的下拉(比如带 "(segment anything)" 后缀的那些)也要等节点包加载完才刷新。

六、模型出处汇总

6.1 工作流与测试素材

工作流原始版本出自知乎作者的分享(见文末出处),未经原作者授权不再提供二次分发下载;本文实测使用的测试图为自拍商品图。后续如需打包配置,将通过平台资源渠道发布。

6.2 模型官方出处(速查)

  • flux1-dev-fp8 / fluxFillFP8_v10:HuggingFace 仓库 Kijai/flux-fp8(hf-mirror.com 同名镜像可国内直下)
  • t5xxl_fp8 / clip_l:HuggingFace 仓库 comfyanonymous/flux_text_encoders
  • ae.safetensors(VAE):HuggingFace 仓库 black-forest-labs/FLUX.1-schnell
  • flux1-redux-dev 与 sigclip_vision_patch14_384:HuggingFace 仓库 black-forest-labs/FLUX.1-Redux-dev
  • sam_vit_h_4b8939.pth:Meta 官方发布(文件名即全称,可直接搜索)
  • GroundingDINO SwinB 权重与配置:HuggingFace 仓库 IDEA-Research

结语

12G 显存在 2026 年跑 FLUX 换装已经完全够用------前提是全 fp8 模型 + 正确的目录结构 + transformers 降级。服装一致性如果仍不理想,优先检查两点:GroundingDINO 的文本提示是否准确圈住了目标服装、阶段②的 mask 扩边参数是否太小。

你在跑这个工作流时卡在哪一步?评论区贴报错,我逐条回。

工作流原始版本出自知乎作者的分享,本文在其基础上做了新版本适配验证与模型清单补全,感谢原作者。

相关推荐
半个落月1 小时前
LangGraph.js 实战:从状态图到分支、循环、检查点与人工中断
javascript·人工智能·langchain
临床数据科学和人工智能兴趣组1 小时前
正则表达式的基础语法的基本符号
开发语言·人工智能·python·正则表达式·r语言·r语言-4.2.1·workbudyy
王中阳Go1 小时前
Go 后端转 AI:非科班怎么补?一张 3 列路线表(可保存)
开发语言·人工智能·后端·python·golang·大语言模型
IT_陈寒1 小时前
Vite热更新失效?你可能也踩了这个坑
前端·人工智能·后端
桃西西呀1 小时前
LangGraph4j之一:客服请求分诊既要循环又要分流,我用 LangGraph4j 把控制流抽成了数据
人工智能·llm·ai编程
leizhen198408092 小时前
中国 AI 反超的临界点,与世界格局正在发生的三重变化(漫画)
人工智能
Rosanci2 小时前
AI 写完不等于能用:以“验收标准 + 仓库检查”为中心的 AI 编程质控流程
人工智能·ai 编程
众链网络2 小时前
Agent 的成本大头不在“写“,在“判断“:拆解专用决策模型的三层架构
java·开发语言·人工智能·微服务
guhunyihan2 小时前
无代码系统搭建平台,探索恐象 AI 带来的开发新范式
大数据·人工智能