还在花钱请模特拍图?

ComfyUI 一键生成电商摆拍图,面部还能保持一致一张人脸照片 + 一张姿态参考图,ComfyUI 就能帮你批量生成电商模特摆拍图——面部还能保持一致。

不用请模特、不用租场地、不用找摄影师。

你只需要准备两张图,剩下的交给 AI。

这篇文章会带你从零搭建这个工作流,包括环境准备、节点配置、连接方式、参数调优,全部讲清楚。

内容比较硬核,建议先收藏再看。

═════════这个工作流能做什么?

核心能力「电商模特摆拍制造厂 V1.0」是一个基于 ComfyUI 的全自动电商模特图片生成工作流。

给它一张参考人脸 + 一张姿态参考图,就能自动生成高质量的模特摆拍图,而且面部特征保持一致。

整个流程是这样的:输入参考人脸照片 + 姿态参考照片 → 自动提取姿态信息 → 去除背景 → Flux Inpainting 生成人物图 → 二次采样细化 → InstantID 换脸 → SAM 人脸分割 → SDXL Inpainting 修复面部 → 合成最终图片。

一句话总结:一键生成电商模特摆拍图。

技术规格表项目规格工作流版本V1.0ComfyUI 版本v0.9.2(格式版本 0.4)前端版本1.23.4核心基础模型Flux.1-Fill-Dev(Inpainting)、Flux.1-Dev(二次采样)、DreamShaper XL Turbo(面部修复)姿态控制DWPose + ControlNet Union(InstantX)人脸保持InstantID + InsightFace(CUDA)图像理解Florence2(自动生成提示词)风格参考Flux Redux Advanced人脸分割SAM(ViT-B)+ YOLO v8m背景去除InspyrenetRembg总节点数约 50 个节点最大链接数244 条链接推荐分辨率1024 x 1024(生成)/ 自适应(输入)═════════适合哪些场景?

电商产品模特图批量生产服装、饰品等电商商家要出大量不同姿态的模特展示图。

传统方式得请模特、摄影师、租场地,成本很高。

用这个工作流,你只需要一张模特面部照片和多张姿态参考图,就能批量生成不同动作、不同角度的模特摆拍图,成本直接打下来。

社交媒体营销素材生成品牌方要给小红书、抖音、朋友圈做大量视觉素材。

这个工作流可以快速生成风格统一、面部一致的模特展示图,配合不同姿态和场景,日常发布完全够用。

虚拟试衣与造型预览设计师或个人用户想预览不同服装搭配在特定人物身上的效果。

通过调整姿态参考图和输入图像的服装信息,就能实现虚拟试衣和造型预览,帮你做购买决策和设计验证。

═════════技术方案长什么样?

整体架构流程图text┌─────────────────────────────────────────────────────────────────────────────┐│ 电商模特摆拍制造厂 V1.0 架构流程 │├─────────────────────────────────────────────────────────────────────────────┤│ ││ ┌──────────┐ ┌──────────┐ ││ │ 人脸照片 │ │ 姿态照片 │ ← 用户输入 ││ │(LoadImage │ │(LoadImage│ ││ │ #121) │ │ #22) │ ││ └────┬─────┘ └────┬─────┘ ││ │ │ ││ ▼ ▼ ││ ┌──────────┐ ┌────────────┐ ││ │ 等比缩放 │ │ 等比缩放 │ ← 统一尺寸到1024 ││ │(#35) │ │(#36) │ ││ └────┬─────┘ └──┬───┬─────┘ ││ │ │ │ ││ ▼ │ ▼ ││ ┌──────────┐ │ ┌──────────┐ ││ │Inspyrenet │ │ │Inspyrenet │ ← 去除背景,提取人物遮罩 ││ │ Rembg#27 │ │ │ Rembg#51 │ ││ └────┬─────┘ │ └────┬─────┘ ││ │ │ │ ││ ▼ │ ▼ ││ ┌──────────┐ │ ┌──────────┐ ││ │ 裁剪人物 │ │ │ 遮罩切换 │ ← 选择最佳遮罩 ││ │ (#50) │ │ │ (#107) │ ││ └────┬─────┘ │ └────┬─────┘ ││ │ │ │ ││ ▼ │ ▼ ││ ┌──────────┐ │ ┌──────────┐ ││ │ 去透明度 │ │ │ 遮罩扩展 │ ││ │ (#29) │ │ │ (#52) │ ││ └────┬─────┘ │ └────┬─────┘ ││ │ │ │ ││ ├──────────┤ │ ││ ▼ ▼ ▼ ││ ┌────────────────────────┐ ││ │ 拼接参考图与姿态图 │ ← makeImageForICLora ││ │ (#20) │ ││ └──────────┬─────────────┘ ││ │ ││ ┌─────────┼─────────────────┐ ││ │ │ │ ││ ▼ ▼ ▼ ││ ┌──────┐ ┌──────────┐ ┌───────────┐ ││ │Redux │ │ Florence2 │ │ DWPose │ ← 提取风格/提示词/姿态 ││ │ (#8) │ │(#114+#113)│ │ (#57) │ ││ └──┬───┘ └────┬─────┘ └─────┬─────┘ ││ │ │ │ ││ ▼ ▼ ▼ ││ ┌──────────────────────────────────┐ ││ │ ControlNet Union 姿态控制 │ ← ControlNetApplySD3 (#59) ││ └──────────────┬───────────────────┘ ││ │ ││ ▼ ││ ┌──────────────────────────────────┐ ││ │ 第一阶段:Flux Fill Inpainting │ ← KSampler #13, 25步, denoise=1.0 ││ │ 生成人物基础图 │ ││ └──────────────┬───────────────────┘ ││ │ ││ ▼ ││ ┌──────────────────────────────────┐ ││ │ 第二阶段:Flux Dev 二次采样 │ ← KSampler #69, 5步, denoise=0.12 ││ │ 细节增强与去噪 │ ││ └──────────────┬───────────────────┘ ││ │ ││ ▼ ││ ┌──────────────────────────────────┐ ││ │ 裁剪回原始尺寸 (#54) │ ← ImageCrop+ 恢复原始画幅 ││ └──────────────┬───────────────────┘ ││ │ ││ ┌────────────┼─────────────────────┐ ││ │ │ │ ││ ▼ ▼ ▼ ││ ┌────────┐ ┌──────────────────┐ ┌──────────────┐ ││ │Any │ │ YOLO人脸检测 │ │ CropFace │ ││ │Switch │ │ (#79+#98) │ │ (#37) │ ││ │(#102) │ └────────┬─────────┘ └──────┬───────┘ ││ └───┬────┘ │ │ ││ │ ▼ │ ││ │ ┌──────────────┐ │ ││ │ │ SAM分割 │ │ ││ │ │ (#78+#80) │ │ ││ │ └──────┬───────┘ │ ││ │ │ │ ││ │ ▼ │ ││ │ ┌──────────────┐ │ ││ │ │ 遮罩裁剪区域 │ │ ││ │ │ (#83) │ │ ││ │ └──────┬───────┘ │ ││ │ │ │ ││ │ ┌───────────┤ │ ││ │ │ │ │ ││ │ ▼ ▼ ▼ ││ │ ┌─────┐ ┌──────────────────────────┐ ││ │ │裁剪 │ │ InstantID 换脸 │ ← ApplyInstantID (#86) ││ │ │(#81)│ │ + InpaintModelConditioning│ ││ │ └──┬──┘ │ (#92) + KSampler (#93) │ ││ │ │ └────────────┬─────────────┘ ││ │ │ │ ││ │ │ ▼ ││ │ │ ┌──────────────┐ ││ │ │ │ 缩放回区域尺寸│ ← ImageResize+ (#94) ││ │ │ └──────┬───────┘ ││ │ │ │ ││ ▼ │ ▼ ││ ┌─────────┴────────────────────┐ ││ │ ImageComposite+ (#101) │ ← 合成修复后的面部到原图 ││ └──────────────┬───────────────┘ ││ │ ││ ▼ ││ ┌──────────────────────────────┐ ││ │ HDR效果(可选)(#152) │ ← 后处理增强(默认关闭) ││ └──────────────┬───────────────┘ ││ │ ││ ▼ ││ ┌──────────────────────────────┐ ││ │ SaveImage (#112) │ ← 保存最终结果 ││ └──────────────────────────────┘ │└─────────────────────────────────────────────────────────────────────────────┘核心技术说明表技术模块核心算法/模型作用说明背景去除InspyrenetRembg精准分割人物与背景,生成高质量遮罩图像理解Florence2 (base)自动分析参考图片内容,生成详细描述文本作为正向提示词风格迁移Flux Redux Advanced将参考图的视觉风格特征注入生成条件,确保生成图风格一致姿态控制DWPose + ControlNet Union (InstantX)提取参考图的人体姿态关键点,精确控制生成图中人物的姿势人物生成Flux.1-Fill-Dev (Inpainting)基于姿态和风格条件,在遮罩区域生成完整人物图像二次细化Flux.1-Dev + LoRA (AWPortrait + 4步加速)对初次生成结果进行低强度二次采样,增强细节和真实感人脸保持InstantID + InsightFace + ControlNet SDXL将参考人脸特征精确迁移到生成图中的人物面部,保持身份一致性人脸分割SAM (ViT-B) + YOLO v8m 人脸检测精确分割面部区域,为面部修复提供精准遮罩面部修复DreamShaper XL Turbo (SDXL Inpainting)在分割的面部区域进行高质量 Inpainting 修复图像合成ImageComposite+将修复后的面部无缝合成回原始生成图HDR 增强LayerFilter: HDREffects(可选)可选的 HDR 后处理效果,增强画面层次感═════════需要准备什么环境?

硬件要求项目最低配置推荐配置GPUNVIDIA RTX 3060 12GBNVIDIA RTX 4080 16GB 及以上显存12GB VRAM16GB+ VRAM内存16GB RAM32GB+ RAM存储50GB 可用空间100GB+ SSD系统Windows 10/11 或 LinuxWindows 11 / Ubuntu 22.04注意:这个工作流用了 Flux 系列模型(fp8 精度)、SDXL 模型、InstantID、SAM 等多个模型,显存压力比较大。

建议用 16GB 以上显存的显卡。

fp8 量化版本可以在 12GB 显存上跑起来。

必装插件(15个)在 ComfyUI 的 custom_nodes 目录下执行以下命令:bash# 1. ComfyUI ControlNet 辅助预处理器(DWPose 等)cd custom_nodesgit clone comfyui_controlnet_aux.git# 2. ComfyUI Essentials(图像裁剪、缩放、合成、遮罩模糊等基础工具)git clone ComfyUI_essentials.git# 3. ComfyUI InstantID(人脸身份保持)git clone ComfyUI-InstantID.git# 4. ComfyUI LayerStyle(图像缩放、裁剪、去透明度、HDR等图层工具)git clone ComfyUI_LayerStyle.git# 5. ComfyUI LayerStyle Advance(Florence2 图像理解)git clone ComfyUI_LayerStyle_Advance.git# 6. WAS Node Suite(Mask Crop Region 遮罩裁剪区域)git clone was-node-suite-comfyui.git# 7. ComfyUI Impact Pack(UltralyticsDetectorProvider、SAMLoader、BboxDetectorSEGS 等)git clone ComfyUI-Impact-Pack.git# 8. rgthree-comfy(Any Switch 条件切换、Fast Groups Bypasser)git clone rgthree-comfy.git# 9. ComfyUI KJNodes(ImageResizeKJ 图像缩放)git clone ComfyUI-KJNodes.git# 10. Masquerade Nodes(Get Image Size 获取图像尺寸)git clone masquerade-nodes-comfyui.git# 11. ComfyUI Advanced Reflux Control(ReduxAdvanced 风格控制)git clone ComfyUI_AdvancedRefluxControl.git# 12. Face Crop(CropFace 人脸裁剪)git clone ComfyUI-text-cursor.git# 注意:CropFace 节点来自 face-cf 插件,请在 ComfyUI Manager 中搜索 "face-cf" 安装# 13. ComfyUI Inspire Pack(HyperTile 分块加速)git clone ComfyUI-Inspire-Pack.git# 14. pysssss 自定义节点(PlaySound 播放提示音)git clone ComfyUI-Custom-Scripts.git# 15. ShakkerLabs Union ControlNet 类型设置节点# 该节点通常包含在 ComfyUI 加密工作流支持包中,请在 ComfyUI Manager 中搜索安装提示:装完插件记得重启 ComfyUI。

部分插件可能还需要额外装 Python 依赖。

推荐用 ComfyUI Manager 做一键安装和依赖管理,省心。

模型文件清单及存放路径主模型(放入 `models/unet/` 或 `models/checkpoints/`)模型文件用途存放路径flux1-fill-dev.safetensorsFlux Inpainting 模型(第一阶段生成)models/unet/flux1-dev-fp8-774199fce69c.safetensorsFlux Dev 模型(二次采样细化)models/unet/dreamshaperXL_turboDpmppSDE.safetensorsDreamShaper XL Turbo(面部修复)models/checkpoints/CLIP 模型(放入 `models/clip/`)模型文件用途t5xxl_fp8_e4m3fn.safetensorsT5-XXL 文本编码器(fp8 精度)clip_l.safetensorsCLIP-L 文本编码器VAE 模型(放入 `models/vae/`)模型文件用途Flux_ae.sftFlux 专用 VAE 解码器ControlNet 模型(放入 `models/controlnet/`)模型文件用途FLUX.1-dev-Controlnet-Union-InstantX.safetensorsFlux ControlNet Union(姿态控制)control_instant_id_sdxl.safetensorsInstantID ControlNet SDXL(人脸控制)风格模型(放入 `models/style_models/`)模型文件用途flux1-redux-dev.safetensorsFlux Redux 风格迁移模型CLIP Vision 模型(放入 `models/clip_vision/`)模型文件用途sigclip_vision_patch14_384.safetensorsSigCLIP 视觉编码器(Redux 使用)InstantID 模型(放入 `models/instantid/`)模型文件用途ip-adapter.binInstantID IP-Adapter 模型SAM 模型(放入 `models/sams/`)模型文件用途sam_vit_b_01ec64.pthSAM ViT-B 分割模型人脸检测模型(放入 `models/ultralytics/bbox/`)模型文件用途face_yolov8m.ptYOLOv8m 人脸检测模型LoRA 模型(放入 `models/loras/`)模型文件用途权重AWPortraitFL LoRA_1.0.safetensors人像增强 LoRA0.7Flux Dev模型4步出图lora_Flux Dev 4-step.safetensors4 步加速出图 LoRA1.0Florence2 模型(自动下载或放入对应目录)模型用途Florence2 base图像描述生成(自动提示词)DWPose 模型(放入 `models/controlnet/` 或插件对应目录)模型文件用途yolox_l.onnxDWPose 人体检测dw-ll_ucoco_384_bs5.torchscript.ptDWPose 关键点检测═════════怎么搭建节点?

节点配置清单(按功能分组)第一组:模型加载节点节点ID节点类型功能说明关键参数1UNETLoader加载 Flux Fill Inpainting 模型模型: flux1-fill-dev.safetensors, 精度: fp8_e4m3fn2DualCLIPLoader加载双 CLIP 文本编码器clip1: t5xxl_fp8_e4m3fn.safetensors, clip2: clip_l.safetensors, 类型: flux4VAELoader加载 Flux VAE模型: Flux_ae.sft9StyleModelLoader加载 Redux 风格模型模型: flux1-redux-dev.safetensors10CLIPVisionLoader加载 CLIP 视觉编码器模型: sigclip_vision_patch14_384.safetensors60ControlNetLoader加载 ControlNet Union模型: FLUX.1-dev-Controlnet-Union-InstantX.safetensors76UNETLoader加载 Flux Dev 模型(二次采样)模型: flux1-dev-fp8-774199fce69c.safetensors, 精度: fp8_e4m3fn80SAMLoader加载 SAM 分割模型模型: sam_vit_b_01ec64.pth, 设备: Prefer GPU84ControlNetLoader加载 InstantID ControlNet模型: control_instant_id_sdxl.safetensors85InstantIDFaceAnalysis加载 InsightFace 人脸分析设备: CUDA98UltralyticsDetectorProvider加载 YOLO 人脸检测模型模型: bbox/face_yolov8m.pt99InstantIDModelLoader加载 InstantID 模型模型: ip-adapter.bin100CheckpointLoaderSimple加载 DreamShaper XL(面部修复)模型: dreamshaperXL_turboDpmppSDE.safetensors113LoadFlorence2Model加载 Florence2 图像理解模型版本: base第二组:图像输入与预处理节点节点ID节点类型功能说明关键参数121LoadImage加载人脸参考照片用户上传图片22LoadImage加载姿态参考照片(含服装)用户上传图片35ImageScaleByAspectRatio V2人脸照片等比缩放缩放方式: height, 插值: lanczos, 对齐: 836ImageScaleByAspectRatio V2姿态照片等比缩放缩放方式: height, 插值: lanczos, 对齐: 866Int目标尺寸参数值: 102427InspyrenetRembg人脸照片去背景模式: default51InspyrenetRembg姿态照片去背景(提取遮罩)模式: default50CropByMask按遮罩裁剪人物方式: mask_area, 边距: 20px29ImageRemoveAlpha去除透明通道填充色: #000000107Any Switch (rgthree)遮罩来源选择器输入1: 姿态照片遮罩, 输入2: 缩放后遮罩52GrowMask遮罩扩展扩展量: 20, 锐化: true第三组:图像理解与条件生成节点节点ID节点类型功能说明关键参数114Florence2Image2Prompt自动生成图像描述任务: more detailed caption, 分辨率: 10246CLIPTextEncode正向提示词编码(Florence2 自动填入)文本由 Florence2 自动生成7CLIPTextEncode负向提示词编码文本: 空(留空即可)8ReduxAdvanced风格特征注入权重: 1, 缩放: area, 裁剪: autocrop with mask, start: 0.8, end: 0.1第四组:姿态控制节点节点ID节点类型功能说明关键参数20makeImageForICLora拼接参考图与姿态图拼接方式: left-right, 模式: auto57DWPreprocessorDWPose 姿态关键点提取body: enable, hand: enable, face: enable, 分辨率: 102456Get Image Size获取拼接图尺寸-62ImageResizeKJ姿态图缩放到目标尺寸插值: nearest-exact58SetShakkerLabsUnionControlNetType设置 ControlNet 类型类型: pose59ControlNetApplySD3应用 ControlNet 姿态控制强度: 1.0, start: 0, end: 0.7第五组:第一阶段生成节点(Flux Fill Inpainting)节点ID节点类型功能说明关键参数11InpaintModelConditioning第一阶段 Inpainting 条件无噪声条件: true12FluxGuidanceFlux 引导强度(第一阶段)guidance: 5013KSampler第一阶段采样器steps: 25, cfg: 1.2, 采样器: euler, 调度器: simple, denoise: 1.041VAEDecode第一阶段 VAE 解码-第六组:二次采样细化节点节点ID节点类型功能说明关键参数118LoraLoaderModelOnly加载人像增强 LoRALoRA: AWPortraitFL LoRA_1.0.safetensors, 权重: 0.7120LoraLoaderModelOnly加载 4 步加速 LoRALoRA: Flux Dev 4-step.safetensors, 权重: 1.074DifferentialDiffusion差异扩散处理-75FluxGuidanceFlux 引导强度(二次采样)guidance: 3.573easy int采样步数参数值: 569KSampler二次采样器steps: 5, cfg: 1, 采样器: euler, 调度器: sgm_uniform, denoise: 0.1271VAEDecode二次采样 VAE 解码-70HyperTile (Inspire)分块加速(已折叠,备用)tile_size: 256第七组:人脸检测与分割节点节点ID节点类型功能说明关键参数54ImageCrop+裁剪回原始尺寸裁剪位置: top-left, 尺寸由 makeImageForICLora 提供102Any Switch (rgthree)图像来源选择器传递裁剪后的图像79BboxDetectorSEGSYOLO 人脸边框检测threshold: 0.5, dilation: 1078SAMDetectorCombinedSAM 精确人脸分割检测策略: center-183Mask Crop Region遮罩裁剪区域计算padding: 50, 区域: dominant88GrowMask面部遮罩扩展expand: 082MaskBlur+遮罩边缘模糊blur: 64, 设备: gpu81ImageCrop+按面部区域裁剪图像尺寸与位置由 Mask Crop Region 提供87ImageResize+缩放裁剪面部到标准尺寸尺寸: 1048x1048, 插值: lanczos, 模式: keep proportion37CropFace裁剪参考人脸检测模型: retinaface_resnet5097MaskToImage遮罩转图像(预览用)-第八组:InstantID 换脸与面部修复节点节点ID节点类型功能说明关键参数89CLIPTextEncode面部修复负向提示词文本: 空90CLIPTextEncode面部修复正向提示词文本: 空86ApplyInstantID应用 InstantID 换脸weight: 1, strength: 0, ip_weight: 192InpaintModelConditioning面部修复 Inpainting 条件无噪声条件: true93KSampler面部修复采样器steps: 10, cfg: 1, 采样器: euler_ancestral, 调度器: sgm_uniform, denoise: 0.591VAEDecode面部修复 VAE 解码-94ImageResize+缩放回裁剪区域尺寸尺寸由 Mask Crop Region 提供第九组:图像合成与输出节点节点ID节点类型功能说明关键参数101ImageComposite+合成修复面部到原图合成位置由 Mask Crop Region 的 left_int/top_int 提供152HDREffectsHDR 效果增强(可选)mode: 4(默认关闭/旁路),参数: 多档调节112SaveImage保存最终图片前缀: ComfyUI95PlaySound (pysssss)完成提示音触发: always, 音频: notify.mp3第十组:辅助与调试节点节点ID节点类型功能说明关键参数108Fast Groups Bypasser (rgthree)快速切换节点组启用/禁用颜色匹配: yellow116PreviewImage预览第一阶段生成结果-117PreviewImage预览二次采样结果-149SetNode存储大模型引用变量名: 大模型150SetNode存储返图引用变量名: 返图═════════节点怎么连?

数据流总览图text ┌─ 模型加载层 ─┐ │ │ ▼ ▼ ┌─ 图像预处理层 ─┐ ┌─ 条件生成层 ─┐ │ │ │ │ ▼ ▼ ▼ ▼ ┌─ 姿态控制层 ─┐ ┌─ 风格注入层 ─┐ │ │ │ │ └──────┬───────┘ └──────┬───────┘ │ │ ▼ ▼ ┌─ 第一阶段 Inpainting ─────┐ │ (Flux Fill, 25步) │ └──────────┬────────────────┘ │ ▼ ┌─ 二次采样细化 ───────────┐ │ (Flux Dev + LoRA, 5步) │ └──────────┬──────────────┘ │ ▼ ┌─ 人脸检测与分割 ────────┐ │ (YOLO + SAM) │ └──────────┬─────────────┘ │ ▼ ┌─ InstantID 换脸 ───────┐ │ + SDXL 面部修复 │ └──────────┬─────────────┘ │ ▼ ┌─ 合成输出 ─────────────┐ │ (ImageComposite) │ └──────────┬─────────────┘ │ ▼ ┌─ 保存图片 ─┐完整连接表下面是工作流中所有关键连接,按数据流顺序排列。

连线的时候对着这个表一条一条接就行。

模型加载 → 处理节点链接ID源节点源输出目标节点目标输入数据类型171Node 1 (UNETLoader)MODELNode 13 (KSampler)modelMODEL2Node 2 (DualCLIPLoader)CLIPNode 6 (CLIPTextEncode)clipCLIP3Node 2 (DualCLIPLoader)CLIPNode 7 (CLIPTextEncode)clipCLIP42Node 4 (VAELoader)VAENode 11 (InpaintModelConditioning)vaeVAE54Node 4 (VAELoader)VAENode 41 (VAEDecode)vaeVAE87Node 4 (VAELoader)VAENode 59 (ControlNetApplySD3)vaeVAE110Node 4 (VAELoader)VAENode 71 (VAEDecode)vaeVAE5Node 9 (StyleModelLoader)STYLE_MODELNode 8 (ReduxAdvanced)style_modelSTYLE_MODEL6Node 10 (CLIPVisionLoader)CLIP_VISIONNode 8 (ReduxAdvanced)clip_visionCLIP_VISION79Node 60 (ControlNetLoader)CONTROL_NETNode 58 (SetType)control_netCONTROL_NET98Node 76 (UNETLoader)MODELNode 69 (KSampler)modelMODEL183Node 76 (UNETLoader)MODELNode 118 (LoraLoader)modelMODEL227Node 76 (UNETLoader)MODELNode 149 (SetNode)MODELMODEL112Node 80 (SAMLoader)SAM_MODELNode 78 (SAMDetector)sam_modelSAM_MODEL126Node 84 (ControlNetLoader)CONTROL_NETNode 86 (ApplyInstantID)control_netCONTROL_NET125Node 85 (InstantIDFaceAnalysis)FACEANALYSISNode 86 (ApplyInstantID)insightfaceFACEANALYSIS115Node 98 (UltralyticsDetector)BBOX_DETECTORNode 79 (BboxDetectorSEGS)bbox_detectorBBOX_DETECTOR124Node 99 (InstantIDModelLoader)INSTANTIDNode 86 (ApplyInstantID)instantidINSTANTID128Node 100 (CheckpointLoader)MODELNode 86 (ApplyInstantID)modelMODEL134Node 100 (CheckpointLoader)CLIPNode 89 (CLIPTextEncode)clipCLIP135Node 100 (CheckpointLoader)CLIPNode 90 (CLIPTextEncode)clipCLIP137Node 100 (CheckpointLoader)VAENode 91 (VAEDecode)vaeVAE140Node 100 (CheckpointLoader)VAENode 92 (InpaintModelCond)vaeVAE176Node 113 (LoadFlorence2)FLORENCE2Node 114 (Florence2Prompt)florence2_modelFLORENCE2图像预处理数据流链接ID源节点源输出目标节点目标输入数据类型38Node 22 (LoadImage)IMAGENode 36 (ScaleByAspect)imageIMAGE39Node 22 (LoadImage)MASKNode 36 (ScaleByAspect)maskMASK187Node 121 (LoadImage)IMAGENode 35 (ScaleByAspect)imageIMAGE94Node 66 (Int=1024)INTNode 35 (ScaleByAspect)scale_to_lengthINT95Node 66 (Int=1024)INTNode 36 (ScaleByAspect)scale_to_lengthINT34Node 35 (ScaleByAspect)imageNode 27 (Rembg)imageIMAGE66Node 27 (Rembg)IMAGENode 50 (CropByMask)imageIMAGE67Node 27 (Rembg)MASKNode 50 (CropByMask)mask_for_cropMASK63Node 50 (CropByMask)croped_imageNode 29 (RemoveAlpha)RGBA_imageIMAGE69Node 36 (ScaleByAspect)imageNode 51 (Rembg)imageIMAGE36Node 36 (ScaleByAspect)imageNode 20 (makeImage)image_2IMAGE163Node 51 (Rembg)MASKNode 107 (AnySwitch)any_01MASK164Node 36 (ScaleByAspect)maskNode 107 (AnySwitch)any_02MASK162Node 107 (AnySwitch)MASKNode 52 (GrowMask)maskMASK71Node 52 (GrowMask)MASKNode 20 (makeImage)mask_2MASK32Node 29 (RemoveAlpha)RGB_imageNode 20 (makeImage)image_1IMAGE条件生成与风格注入链接ID源节点源输出目标节点目标输入数据类型177Node 29 (RemoveAlpha)RGB_imageNode 114 (Florence2)imageIMAGE178Node 114 (Florence2)textNode 6 (CLIPTextEncode)textSTRING4Node 6 (CLIPTextEncode)CONDITIONINGNode 8 (ReduxAdvanced)conditioningCONDITIONING43Node 29 (RemoveAlpha)RGB_imageNode 8 (ReduxAdvanced)imageIMAGE68Node 50 (CropByMask)croped_maskNode 8 (ReduxAdvanced)maskMASK88Node 8 (ReduxAdvanced)CONDITIONINGNode 59 (ControlNetApply)positiveCONDITIONING89Node 7 (CLIPTextEncode)CONDITIONINGNode 59 (ControlNetApply)negativeCONDITIONING姿态控制数据流链接ID源节点源输出目标节点目标输入数据类型92Node 20 (makeImage)imageNode 57 (DWPose)imageIMAGE93Node 20 (makeImage)imageNode 56 (GetImageSize)imageIMAGE83Node 57 (DWPose)IMAGENode 62 (ImageResizeKJ)imageIMAGE86Node 20 (makeImage)imageNode 62 (ImageResizeKJ)get_image_sizeIMAGE84Node 56 (GetImageSize)widthNode 62 (ImageResizeKJ)widthINT85Node 56 (GetImageSize)heightNode 62 (ImageResizeKJ)heightINT80Node 58 (SetType)CONTROL_NETNode 59 (ControlNetApply)control_netCONTROL_NET81Node 62 (ImageResizeKJ)IMAGENode 59 (ControlNetApply)imageIMAGE第一阶段 Inpainting链接ID源节点源输出目标节点目标输入数据类型90Node 59 (ControlNetApply)positiveNode 11 (InpaintModelCond)positiveCONDITIONING91Node 59 (ControlNetApply)negativeNode 11 (InpaintModelCond)negativeCONDITIONING40Node 20 (makeImage)imageNode 11 (InpaintModelCond)pixelsIMAGE41Node 20 (makeImage)maskNode 11 (InpaintModelCond)maskMASK8Node 11 (InpaintModelCond)positiveNode 12 (FluxGuidance)conditioningCONDITIONING11Node 12 (FluxGuidance)CONDITIONINGNode 13 (KSampler)positiveCONDITIONING12Node 11 (InpaintModelCond)negativeNode 13 (KSampler)negativeCONDITIONING13Node 11 (InpaintModelCond)latentNode 13 (KSampler)latent_imageLATENT52Node 13 (KSampler)LATENTNode 41 (VAEDecode)samplesLATENT二次采样链接ID源节点源输出目标节点目标输入数据类型185Node 118 (LoraLoader)MODELNode 120 (LoraLoader)modelMODEL186Node 120 (LoraLoader)MODELNode 74 (DiffDiffusion)modelMODEL101Node 74 (DiffDiffusion)MODELNode 70 (HyperTile)modelMODEL108Node 11 (InpaintModelCond)positiveNode 75 (FluxGuidance)conditioningCONDITIONING99Node 75 (FluxGuidance)CONDITIONINGNode 69 (KSampler)positiveCONDITIONING109Node 11 (InpaintModelCond)negativeNode 69 (KSampler)negativeCONDITIONING105Node 13 (KSampler)LATENTNode 69 (KSampler)latent_imageLATENT100Node 73 (easy int=5)INTNode 69 (KSampler)stepsINT102Node 69 (KSampler)LATENTNode 71 (VAEDecode)samplesLATENT裁剪与人脸分割链接ID源节点源输出目标节点目标输入数据类型107Node 71 (VAEDecode)IMAGENode 54 (ImageCrop+)imageIMAGE73Node 20 (makeImage)widthNode 54 (ImageCrop+)widthINT74Node 20 (makeImage)heightNode 54 (ImageCrop+)heightINT75Node 20 (makeImage)xNode 54 (ImageCrop+)x_offsetINT76Node 20 (makeImage)yNode 54 (ImageCrop+)y_offsetINT225Node 54 (ImageCrop+)IMAGENode 150 (SetNode)IMAGEIMAGE236Node 54 (ImageCrop+)IMAGENode 102 (AnySwitch)any_01IMAGE114Node 102 (AnySwitch)IMAGENode 78 (SAMDetector)imageIMAGE116Node 102 (AnySwitch)IMAGENode 79 (BboxDetector)imageIMAGE117Node 102 (AnySwitch)IMAGENode 81 (ImageCrop+)imageIMAGE113Node 79 (BboxDetector)SEGSNode 78 (SAMDetector)segsSEGS123Node 78 (SAMDetector)MASKNode 83 (MaskCropRegion)maskMASK133Node 83 (MaskCropRegion)cropped_maskNode 88 (GrowMask)maskMASK122Node 88 (GrowMask)MASKNode 82 (MaskBlur+)maskMASKInstantID 换脸与面部修复链接ID源节点源输出目标节点目标输入数据类型45Node 29 (RemoveAlpha)RGB_imageNode 37 (CropFace)imageIMAGE158Node 37 (CropFace)IMAGENode 86 (ApplyInstantID)imageIMAGE118Node 83 (MaskCropRegion)width_intNode 81 (ImageCrop+)widthINT119Node 83 (MaskCropRegion)height_intNode 81 (ImageCrop+)heightINT120Node 83 (MaskCropRegion)left_intNode 81 (ImageCrop+)x_offsetINT121Node 83 (MaskCropRegion)top_intNode 81 (ImageCrop+)y_offsetINT132Node 81 (ImageCrop+)IMAGENode 87 (ImageResize+)imageIMAGE131Node 87 (ImageResize+)IMAGENode 86 (ApplyInstantID)image_kpsIMAGE141Node 87 (ImageResize+)IMAGENode 92 (InpaintModelCond)pixelsIMAGE129Node 90 (CLIPTextEncode)CONDITIONINGNode 86 (ApplyInstantID)positiveCONDITIONING130Node 89 (CLIPTextEncode)CONDITIONINGNode 86 (ApplyInstantID)negativeCONDITIONING143Node 86 (ApplyInstantID)MODELNode 93 (KSampler)modelMODEL138Node 86 (ApplyInstantID)positiveNode 92 (InpaintModelCond)positiveCONDITIONING139Node 86 (ApplyInstantID)negativeNode 92 (InpaintModelCond)negativeCONDITIONING142Node 82 (MaskBlur+)MASKNode 92 (InpaintModelCond)maskMASK144Node 92 (InpaintModelCond)positiveNode 93 (KSampler)positiveCONDITIONING145Node 92 (InpaintModelCond)negativeNode 93 (KSampler)negativeCONDITIONING146Node 92 (InpaintModelCond)latentNode 93 (KSampler)latent_imageLATENT136Node 93 (KSampler)LATENTNode 91 (VAEDecode)samplesLATENT147Node 91 (VAEDecode)IMAGENode 94 (ImageResize+)imageIMAGE148Node 83 (MaskCropRegion)width_intNode 94 (ImageResize+)widthINT149Node 83 (MaskCropRegion)height_intNode 94 (ImageResize+)heightINT合成与输出链接ID源节点源输出目标节点目标输入数据类型153Node 102 (AnySwitch)IMAGENode 101 (ImageComposite)destinationIMAGE154Node 94 (ImageResize+)IMAGENode 101 (ImageComposite)sourceIMAGE155Node 83 (MaskCropRegion)left_intNode 101 (ImageComposite)xINT156Node 83 (MaskCropRegion)top_intNode 101 (ImageComposite)yINT150Node 101 (ImageComposite)IMAGENode 95 (PlaySound)any*239Node 101 (ImageComposite)IMAGENode 152 (HDREffects)imageIMAGE244Node 152 (HDREffects)imageNode 112 (SaveImage)imagesIMAGE搭建自检清单连完线之后,逐项对一遍,确保没有漏接:模型加载完整性:确认所有模型文件已放入正确目录,所有加载节点无报错图像输入:两个 LoadImage 节点分别连接到对应的 ScaleByAspectRatio 节点尺寸参数统一:Int 节点(值 1024)同时连接到两个 ScaleByAspectRatio 的 scale_to_length去背景链路:Node 27 的 IMAGE 输出 → Node 50 → Node 29;Node 51 的 MASK 输出 → Node 107Florence2 链路:Node 29 RGB_image → Node 114 image → Node 6 text → Node 8 conditioningRedux 风格链路:Node 9/10 → Node 8,Node 29 RGB → Node 8 image,Node 50 mask → Node 8 maskDWPose 链路:Node 20 image → Node 57 → Node 62 → Node 59ControlNet 链路:Node 60 → Node 58 → Node 59第一阶段采样:Node 59 → Node 11 → Node 12 → Node 13,Node 1 → Node 13 model二次采样链路:Node 76 → Node 118 → Node 120 → Node 74,Node 13 LATENT → Node 69人脸分割链路:Node 54 → Node 102 → Node 79/78 → Node 83 → Node 81/82InstantID 链路:Node 37 → Node 86,Node 99/85/84/100 → Node 86面部修复链路:Node 86 → Node 92 → Node 93 → Node 91 → Node 94合成输出链路:Node 94 + Node 102 → Node 101 → Node 152 → Node 112═════════4步上手使用步骤一:准备输入图片人脸参考照片(Node 121 - LoadImage):选一张清晰的正面或侧面人脸照片分辨率建议不低于 512x512面部特征清晰、光照均匀、别有严重遮挡姿态参考照片(Node 22 - LoadImage):选一张包含目标姿态的全身照这张图决定了最终生成图的人物姿势和服装风格建议用电商风格的模特摆拍照也支持带 Alpha 通道的透明背景图步骤二:加载工作流打开 ComfyUI 界面把 电商模特摆拍制造厂_V1.0.json 拖进 ComfyUI 画布确认所有节点加载成功,没有红色报错有缺失节点的话,回到「需要准备什么环境?

」章节装对应插件步骤三:上传图片并运行在 Node 121(左侧 LoadImage)上传人脸参考照片在 Node 22(右侧 LoadImage)上传姿态参考照片点「Queue Prompt」开始生成等 1-3 分钟(看你的硬件配置)跑完会播放提示音,结果在 SaveImage 节点里步骤四:查看与保存结果Node 112(SaveImage)里看最终结果Node 116 可以看第一阶段的中间结果Node 117 可以看二次采样后的结果生成图片自动保存在 ComfyUI 的 output/ 目录═════════参数怎么调?

这部分是进阶内容。

如果你用默认参数跑出来的效果已经不错,可以先跳过。

需要微调的时候再回来看。

第一阶段采样参数(Node 13 - KSampler)参数默认值调节范围说明steps2515-40采样步数,越多细节越丰富但速度越慢cfg1.21.0-2.0Flux 模型建议保持低 CFGsamplereulereuler/euler_ancestraleuler 生成稳定,ancestral 更有随机变化schedulersimplesimple/sgm_uniformsimple 适合高步数,sgm_uniform 适合低步数denoise1.00.8-1.0Inpainting 模式通常设为 1.0seedrandom-固定 seed 可复现结果FluxGuidance 引导强度节点默认值调节范围说明Node 12(第一阶段)5020-80值越大越遵循提示词,越小越自由发挥Node 75(二次采样)3.52.0-5.0二次采样不宜过高,否则过度修改二次采样参数(Node 69 - KSampler)参数默认值调节范围说明steps53-8配合 4 步加速 LoRA,少量步数即可cfg11-2低 CFG 保持自然denoise0.120.05-0.25核心参数:太低无效果,太高过度修改ControlNet 姿态控制(Node 59)参数默认值调节范围说明strength1.00.5-1.2姿态遵循程度,1.0 为完全遵循start_percent00-0.2开始控制的时间点end_percent0.70.5-1.0结束控制的时间点,过低可能姿态不准InstantID 换脸参数(Node 86)参数默认值调节范围说明weight10.5-1.5IP-Adapter 权重,控制面部特征迁移强度strength00-0.5ControlNet 面部结构强度ip_weight10.5-1.5IP 特征权重面部修复采样(Node 93 - KSampler)参数默认值调节范围说明steps108-20面部修复步数cfg11-3SDXL 低 CFG 效果自然samplereuler_ancestraleuler/euler_ancestralancestral 面部更自然denoise0.50.3-0.7核心参数:控制面部修改程度LoRA 权重LoRA 模型默认权重调节范围说明AWPortrait LoRA0.70.3-1.0人像质量增强,过高可能过曝4步加速 LoRA1.00.8-1.2加速出图效率,建议保持 1.0Redux 风格控制(Node 8)参数默认值调节范围说明weight10.5-1.5风格迁移强度styleareaarea/center特征提取方式cropautocrop with mask-裁剪方式start0.80.5-1.0风格注入开始比例end0.10-0.3风格注入结束比例MaskBlur 遮罩模糊(Node 82)参数默认值调节范围说明blur6416-128面部遮罩模糊程度,越大融合越自然═════════常见问题(8个)Q1:运行时提示"节点未找到"或"插件缺失"怎么办?

按照前面「必装插件」那部分的列表,确认 15 个插件都装好了。

推荐用 ComfyUI Manager 的「Install Missing Custom Nodes」功能自动检测和安装。

装完记得重启 ComfyUI。

Q2:显存不足(CUDA Out of Memory)怎么解决?

这个工作流同时加载了好几个大模型,显存确实吃紧。

你可以试试:确保用的是 fp8 精度版本的 Flux 模型关掉其他占 GPU 的程序启动 ComfyUI 时加 --lowvram 或 --fp8_e4m3fn-unet 参数把二次采样步数减到 3 步实在不行就考虑升级到 16GB 以上显存的卡Q3:生成的人物姿势不准确怎么调?

姿态准确度主要看这几个地方:ControlNet 强度(Node 59):提高 strength 值(默认 1.0)end_percent(Node 59):提高到 0.8-1.0,让姿态控制持续更久DWPose 分辨率(Node 57):当前 1024,可以试试 1280输入图质量:姿态参考图里的人物姿势要清晰明确Q4:生成的面部跟参考人脸不像怎么办?

面部相似度由 InstantID 控制,可以这样调:InstantID weight(Node 86):提高到 1.2-1.5面部修复 denoise(Node 93):降到 0.3-0.4,减少面部修改参考人脸质量:照片要清晰、正面、无遮挡检查 CropFace 节点(Node 37)是不是正确裁剪了参考人脸Q5:面部修复后有明显拼接痕迹?

这通常是遮罩过渡不自然造成的:增大 MaskBlur+(Node 82)的 blur 值,从 64 提到 96 或 128调大 Mask Crop Region(Node 83)的 padding,到 80-100确认 ImageComposite+(Node 101)的合成位置参数没错Q6:生成速度太慢,怎么加速?

几个方向:降低第一阶段步数(Node 13)到 15-20 步二次采样步数(Node 69)已经只有 5 步了,可以保持启用 HyperTile 节点(Node 70,目前是折叠状态)做分块加速用更低精度的模型(如 fp8)降低输入图目标尺寸(Node 66 从 1024 降到 768)Q7:怎么批量处理多组图片?

ComfyUI 支持这几种批处理方式:用 ComfyUI 的 Queue 功能,在 LoadImage 节点里依次切换图片加入队列写 Python 脚本通过 ComfyUI API 批量提交不同输入图用批处理节点替换 LoadImage,直接加载文件夹里的图片固定姿态参考图,只换人脸参考图,快速生成同姿态不同人物Q8:HDR 效果节点(Node 152)是什么?

为什么默认关闭?

HDR 效果是一个可选的后处理模块(mode=4,即旁路/关闭状态),用来增强画面的动态范围和层次感。

默认关的原因:不是所有场景都需要 HDRHDR 太强会让图片看起来不自然你可以根据需要右键该节点选「Enable」或「Bypass」来开关要启用的话,右键 Node 152 → 选「Set Active」就行。

建议先小幅调参数看看效果。

═════════总结这个工作流的优势全自动化:从图像理解到姿态提取、人物生成、换脸修复,全流程自动,不用手动写提示词面部一致性:InstantID + SAM 精确分割 + SDXL Inpainting 三重保障,面部和参考人脸高度一致姿态精准:DWPose + ControlNet Union 组合,姿态控制非常准双阶段生成:Flux Fill Inpainting 负责整体,Flux Dev 二次采样负责细节,质量和效率兼顾智能提示词:Florence2 自动分析参考图生成描述,Redux 注入风格特征,你什么都不用写灵活可调:所有关键参数都能调,适配各种场景适合谁用?

电商运营:批量生成模特展示图,省掉拍摄成本设计师/美术:快速出概念图、造型预览AIGC 创作者:有 ComfyUI 基础,想学复杂的多阶段图像生成流程短视频/自媒体:需要制作个性化视觉素材后续可以优化的方向多人物支持:当前主要针对单人场景,后续可以扩展多人姿态控制和换脸服装可控性:引入更精细的服装分割和控制,实现虚拟换装背景融合:加入背景生成/替换模块,全场景定制视频化:结合 Wan2.1/LTX 等视频模型,把静态摆拍图扩展为短视频质量评估:增加自动质量评估节点,自动筛选最佳结果界面优化:通过 rgthree 节点组管理,进一步简化操作═════════这篇教程内容比较多,建议你先收藏/点赞,搭建的时候对着看。

如果你在搭建过程中遇到问题,或者有更好的参数调优经验,欢迎在评论区留言交流。

看到了都会回复。

觉得有用的话,转发给同样在做 AI 电商的朋友吧。