ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

ComfyUI Krea2套系写真工作流:用白玉模型实现角色一致性出图

2026/9/7 11:20:39 拓冰建站 浏览量
ComfyUI Krea2套系写真工作流:用白玉模型实现角色一致性出图 做 AI 写真的朋友大概率都遇到过同一个问题单张图片可以很好看但想生成一整套写真时第一张还是瓜子脸第二张脸就变圆了第三张连眼神都换了。这不是提示词写得不够好而是整套流程没有解决“角色一致性”这个核心问题。今天要聊的这套 ComfyUI Krea2 套系写真生成工作流价值正在于此。它把角色参考、风格模型、批量出图串成一条完整的节点流水线再叠加上以人像质感见长的白玉模型目标是让“套系写真一键生成”这件事真正在本地跑起来。读完这篇文章你会明白三件事Krea2 工作流到底解决了什么痛点白玉模型和角色参考在流水线的哪个环节起作用在 ComfyUI 里把它跑通需要准备哪些环境以及最常见的报错应该怎么排查。这里先给一个明确判断这类写真工作流真正的门槛不在“安装”而在“理解节点链路的协作方式”。能把底模、角色参考、采样参数这三者之间的关系看懂你其实就已经超过了大部分只会点 Queue 按钮的玩家。1. 这篇文章真正要解决的问题先不急着讲节点我们回到真实场景。你接了一个约拍后期项目或者想给自己做一组 AI 写真。单张人像生成其实已经很成熟随便写个 prompt 都能出漂亮小姐姐。但“套系写真”的要求完全不同人物必须是同一个人五官、脸型、发型不能漂移。风格必须统一一组照片要像同一个影棚、同一套灯光、同一套调色。出图量要大一组写真通常要 10 到 30 张不能一张张手动调整。每一次生成都要能做微调换服装、换场景、换构图但脸不能变。这几个需求用传统 Stable Diffusion WebUI 也能做到一部分但要同时满足操作成本很高。你需要在图生图、ControlNet、LoRA、重绘之间来回切换而且每一步的“参考”都可能断掉。ComfyUI 的解决思路完全不同它把整个生成过程拆成节点用连线把“底模加载—角色参考—提示词编码—采样去噪—图像解码—保存”固定下来。你保存一个工作流文件就等于把整套生产流程固化成了一个可复用工具。这里顺便回答一个新手常问的问题ComfyUI 和 WebUI 到底怎么选对比维度Stable Diffusion WebUIComfyUI操作方式表单式填参数点生成节点式连线条搭流程批量任务适合少量出图适合批量流水线复杂工作流复用插件组合依赖记忆保存为 JSON一键复用自定义能力较弱靠插件强节点可自由组合上手门槛低中高但理解后更灵活API 自动化有但不如原生方便原生 API适合工程化如果你只是偶尔画一张头像WebUI 够用。但只要你接触“套系”“批量”“角色固定”这类需求ComfyUI 几乎是绕不开的。这篇内容适合四类读者做电商模特图、约拍后期的工作室人员想系统学习 ComfyUI 节点逻辑的初学者准备把“角色参考”链路做成标准工作流的自由职业者以及单纯想在本机跑通一个完整写真项目的折腾型玩家。2. 核心概念ComfyUI 工作流、白玉模型、角色参考2.1 ComfyUI 工作流到底怎么理解ComfyUI 的工作流可以类比成一条手工生产线。每一个节点是一个“工位”有的工位负责加载模型有的工位负责理解文字有的工位负责加入参考图特征有的工位负责去噪生成图像最后一个工位负责把结果保存到硬盘。节点和节点之间的连线就是物料传送带。数据从左边流到右边每一步都在上一步的基础上做处理。你看到的一张成图本质上是这条流水线上所有节点协作后的最终产物。用术语说ComfyUI 的核心是“有向无环图”。通俗讲每个节点有输入和输出数据只能从上游流向下游不能绕回形成死循环。这样设计的好处是你可以随时把一个节点替换掉或者改变某条连接整个流程依然可以运行。写真工作流里最高频的几个官方节点新手必须认识CheckpointLoaderSimple加载底模Checkpoint它同时输出模型的 UNet、CLIP 和 VAE 三个部分。CLIPTextEncode把提示词文本编码成模型能理解的向量。KSampler采样器负责在潜空间里执行扩散去噪是真正的“画图”环节。VAEDecode把潜空间图像解码回正常像素图。LoadImage加载参考图。SaveImage保存生成图片。这些节点本身不难。难的地方在于理解它们的输入输出类型。例如CLIPTextEncode输出的CONDITIONING不是普通文本KSampler接收的LATENT也不是普通图片。社区里大量报错本质都是类型不匹配把一个图片输出接到了文本输入上。2.2 白玉模型在流水线里的位置“白玉模型”是这套工作流里的底模Checkpoint。底模是整条流水线的地基它决定生成照片的色彩风格、皮肤质感、光影倾向和审美取向。从这套工作流的命名和定位来看白玉模型主打的是“唯美写真”方向人像皮肤质感偏细腻光影过渡更柔和色彩带有明显的亚洲审美倾向非常适合古风、汉服、日常轻写真这类主题。你可以把“底模”理解为摄影团队里的摄影师和影棚摄影师决定了照片的整体风格这是底模的作用。化妆师和造型师负责给人物做妆造这是提示词的作用。客人本人提供自己的照片这是角色参考图的作用。后期修图师把照片调得干净通透这是采样器和细节优化节点的作用。如果换个底模即使提示词和角色参考图完全不变最终成片的氛围也会变化。所以在这套 Krea2 工作流里白玉模型不是锦上添花而是“唯美写真”这个结果最直接的贡献者。实际操作时你需要把模型文件放到ComfyUI/models/checkpoints/目录下文件名最好是英文或数字避免特殊字符。在工作流里Checkpoint 节点的ckpt_name下拉框中就会出现你放置的模型。2.3 角色参考三种主流实现方式“角色参考”是一个总称具体怎么实现在 AI 绘画技术栈里通常有几种不同路线。理解它们你才能判断自己拿到的 Krea2 工作流到底用的是什么插件。方案原理一致性门槛适合场景IPAdapter 图像提示提取参考图的语义特征注入采样过程较强偏风格和整体人设低加载模型即可用风格延续、服装参考、人物设定InstantID / PhotoMaker 人脸一致性专门做人脸 ID 特征保留很强聚焦五官统一中需要对应模型换脸写真、多人同框保持同一人LoRA 训练针对固定人物训练小模型最强最稳定高需要准备训练集长期固定的 IP 人物、虚拟代言人在这套写真工作流里“角色参考”通常表现为一条独立链路读取参考图 → 提取角色特征 → 把特征注入模型 → 参与采样。具体是用 IPAdapter 还是 InstantID 方案取决于作者在工作流里放了哪些节点。一个关键参数是“参考强度”。强度太低角色特征不够明显生成出来和参考图不像强度太高又会把参考图的背景、衣服、姿势全部带进来导致你没法自由换装换场景。理想的做法是把参考强度设在“脸像、但构图可变化”的区间这样才叫角色参考而不是图生图复制。2.4 Krea2 工作流到底是什么定位严格说Krea2 不是一个独特的底层算法而是一套“被打包好的节点组合方案”。它的价值在于作者已经把底模选择、角色参考、提示词模板、采样器、后处理这些环节全部接好使用者只需要做两件事放入自己的角色参考图填入想要的服装和场景描述然后点击生成。这套工作流的定位恰恰对应了一个行业趋势ComfyUI 正在从“极客工具”走向“生产力工具”。以前只有会搭节点的人才能享受工作流复用的效率现在通过分享 JSON 工作流文件普通用户也能直接用上专业出图方案。所以拿到一个 Krea2 工作流 JSON 文件时不要神化它。你真正要做的是拆开它看懂每条连线理解每个节点参数的含义然后根据自己想要的写真风格去微调。3. 环境准备与前置条件3.1 硬件与软件要求ComfyUI 本质是本地运行 Stable Diffusion 系列模型因此对硬件有明确要求显卡NVIDIA 显卡优先因为 CUDA 生态最成熟。建议显存 8GB 起步12GB 以上会更从容。内存建议 16GB 以上。磁盘需要预留 20GB 以上空间因为底模、VAE、LoRA、参考图模型都比较占空间。操作系统Windows 10/11、Ubuntu 20.04 以上、macOS 均可但 Windows 和 Linux 对 NVIDIA 显卡支持最好。这里要提醒一点如果你的显存只有 6GB也不是完全不能跑。可以通过--lowvram或--medvram参数启动让模型分块加载速度会慢一些但至少能出图。版本号请以实际项目为准本文重点演示通用思路。3.2 三种安装方式ComfyUI 的安装方式主要有三种方式一使用一键整合包Windows 新手最推荐。这类整合包除了 ComfyUI 本体还会预装 Python 环境、常用自定义节点、模型管理工具等。你只需要下载解压双击启动脚本即可。比较常见的是“秋叶 ComfyUI 整合包”适合不想折腾 Python 环境的人。方式二官方 Git 仓库手动安装。这种方式更可控也方便理解 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 python -m pip install -r requirements.txt方式三云服务器或 Linux 环境部署。如果你本地显卡性能不够或者想做一个团队共享的出图服务可以把 ComfyUI 部署到带 GPU 的云服务器上通过端口访问 Web 界面。但需要注意提供服务时一定要做好访问控制只允许可信 IP 访问 8188 端口不要让公网任意访问否则任何人都能调用你的绘图资源。安装完成后启动命令都是统一的python main.py启动成功后在浏览器打开http://127.0.0.1:8188就能看到 ComfyUI 的节点编辑界面。默认端口号是 8188可以在启动命令中通过--port修改。3.3 ComfyUI 的目录结构跑工作流之前必须了解 ComfyUI 的模型目录。很多“模型没生效”的问题本质是文件放错了位置。目录用途常见文件类型models/checkpoints/底模也就是合并后的主模型.safetensors、.ckptmodels/loras/LoRA 附加模型.safetensorsmodels/vae/VAE 模型.safetensorsmodels/controlnet/ControlNet 控制模型.safetensorsmodels/ipadapter/IPAdapter 图像提示模型.safetensors、.bininput/上传或放置参考图.png、.jpgoutput/保存生成的图片.png3.4 安装 ComfyUI Manager加载别人分享的工作流后最常遇到的问题是“缺少自定义节点”。ComfyUI Manager 是解决这个问题的标准工具它可以帮助你搜索、安装、更新自定义节点。如果整合包里没带 Manager可以通过以下方式安装在 ComfyUI 的custom_nodes/目录下克隆 Manager 仓库然后重启 ComfyUI。安装完成后Web 界面右侧会出现一个 “Manager” 按钮。点击后通过 “Install Missing Custom Nodes” 即可扫描当前工作流缺失的节点并批量安装。需要说明的是ComfyUI Manager 是社区项目具体界面文字可能随版本更新而变化但“安装缺失节点”这个入口通常都在。4. 核心流程拆解从参考图到写真成片当你把一份 Krea2 工作流 JSON 文件拖进 ComfyUI 界面后画面里会出现一堆节点和连线。新手看到密密麻麻的节点往往会慌其实拆开看核心只有四个阶段。4.1 阶段一参考图输入这是整套写真工作流和其他文生图工作流最明显的区别。节点LoadImage负责读取你上传的角色参考图。你需要提前准备一张目标人物的正面清晰照片光线均匀、五官完整、不要有头发遮挡。这里的易错点在于参考图可以直接参与条件注入也可以先经过一些预处理节点。如果工作流里设置了“参考图强度”“控制权重”这类参数它们决定了参考图对最终结果的影响力。在实际项目中参考图并不是越多越好反而是一张干净的正脸效果最好。多张不同角度的参考图在拼接时容易出现特征冲突。4.2 阶段二提示词设计提示词决定了“拍什么场景”和“穿什么衣服”它和参考图是一个分工关系。参考图回答“这个人是谁”提示词回答“他/她在做什么、穿什么、身处什么环境”。一套有效的写真正向提示词通常包含这些维度人物主体1girl、1boy、solo。服装描述汉服、白纱、西装、校服。场景描述室内影棚、海边、古镇、樱花树下。光线与氛围柔和光、逆光、电影感、唯美。画质词best quality、ultra detailed、8k。负面提示词则建议围绕画质缺陷和结构畸形来写例如低画质、模糊、多余的手指、变形的脸、水印、文字。不要写一堆语义不明的情感负面词重点放在控制图像结构。4.3 阶段三采样与推理这是工作流真正“画图”的环节核心节点是KSampler。它的几个关键参数直接决定出图效果steps步数一般 20 到 30 之间。太少会欠拟合细节不足太多会过度精修画面反而变硬。cfg提示词引导强度也叫 CFG Scale。写真方向通常 3 到 7 之间。cfg 太高会让画面出现过饱和和伪影太低会让画面偏离提示词。sampler_name采样器名称例如euler、dpmpp_2m、uni_pc等。不同采样器速度和质量有差异但不必纠结先跟着工作流默认值跑通。denoise去噪强度。如果是图生图或局部重绘场景这个值低于 1表示保留原图基础上重绘如果是文生图一般设为 1。对于写真工作流这里最容易犯的错误是“参考图接了但 denoise 设置过高”导致参考特征被完全覆盖生成结果和参考图完全不像。另一个常见问题是把采样步数和 cfg 照搬其他模型的经验值结果发现换了底模后画面风格完全不对。正确的做法是每更换一次底模都要重新用小步数测试这三组参数的组合。4.4 阶段四后处理与保存采样完成后潜空间图像还需要经过VAEDecode解成像素图再交给SaveImage写入磁盘。很多高质量写真工作流还会在输出前加入面部修复节点例如 FaceDetailer 或类似的面部细化节点。这个节点会把人脸区域单独裁剪出来做一次高清重绘再贴回原图。这样做的好处是极大降低“脸崩”概率。判断一套写真是否“套系感”十足除了角色一致还要看色调是否统一。如果你发现连续生成的多张图片风格跳跃可以考虑在工作流里固定种子Seed同时保持提示词模板不变只修改服装和场景等变量字段。5. 完整示例工作流 JSON、启动命令与 API 批量出图下面进入实操环节。我会先给你一个最小的工作流拓扑示例再告诉你如何通过 ComfyUI API 批量出图。5.1 先分清 UI 工作流和 API 工作流ComfyUI 里保存工作流有两种格式UI 格式用于在 Web 界面里打开编辑包含节点坐标、尺寸等界面信息。API 格式用于通过接口提交任务只包含必要的节点和输入输出连接。直接拿 UI 格式的 JSON 去调用/prompt接口大概率会报错。所以下面示例我展示的是 API 格式方便理解数据流也方便封装成工具。你本机保存工作流时可以在界面右上角选择“Export (API)”。5.2 最小 API 工作流示例这是一个只使用官方节点的最小文生图流程对应“底模加载 正向提示词 负向提示词 采样 解码 保存”的完整链路。Krea2 写真工作流比这复杂但核心骨架完全一致。{ 1: { class_type: CheckpointLoaderSimple, inputs: { ckpt_name: Baiyu.safetensors } }, 2: { class_type: CLIPTextEncode, inputs: { text: 1girl, hanfu, soft lighting, delicate skin, photorealistic, best quality, clip: [1, 1] } }, 4: { class_type: CLIPTextEncode, inputs: { text: lowres, bad anatomy, bad hands, watermark, blurry, clip: [1, 1] } }, 5: { class_type: EmptyLatentImage, inputs: { width: 832, height: 1216, batch_size: 1 } }, 6: { class_type: KSampler, inputs: { seed: 42, steps: 28, cfg: 5, sampler_name: euler, scheduler: normal, denoise: 1, model: [1, 0], positive: [2, 0], negative: [4, 0], latent_image: [5, 0] } }, 7: { class_type: VAEDecode, inputs: { samples: [6, 0], vae: [1, 2] } }, 8: { class_type: SaveImage, inputs: { filename_prefix: krea2_photo, images: [7, 0] } } }注意两点文件路径中的ckpt_name要改成你实际放在models/checkpoints/下的底模文件名角色参考相关节点由于依赖具体自定义插件没有统一类名所以在实际工作流中你会看到多出的分支连接建议根据作者提供的节点清单确认。5.3 启动命令与显存设置如果你要跑角色参考加面部修复这类较重的写真工作流可以在启动时添加显存优化参数。# 常规启动 python main.py # 低显存模式 python main.py --lowvram # 中等显存模式性能和速度折中 python main.py --medvram # 指定端口 python main.py --port 8188低显存模式会把模型一部分留在内存中按需调度到显存所以速度会下降。如果只是临时测试可以先用--medvram如果连续爆显存再退到--lowvram。5.4 使用 Python 调用 ComfyUI API 批量出图写真项目真正的生产力体现在批量出图。手动一张张点 Queue 效率太低正确做法是通过 ComfyUI 的 API 接口批量提交任务。下面是一个最小可运行的脚本它读取你做好的 API 格式工作流 JSON修改提示词和种子后提交到 ComfyUI。import json import random import time import urllib.request COMFYUI_SERVER http://127.0.0.1:8188 def submit_prompt(workflow, client_idcsdn_demo): payload { prompt: workflow, client_id: client_id } data json.dumps(payload).encode(utf-8) req urllib.request.Request( COMFYUI_SERVER /prompt, datadata, headers{Content-Type: application/json} ) with urllib.request.urlopen(req, timeout30) as resp: result json.loads(resp.read().decode(utf-8)) return result[prompt_id] def get_history(prompt_id): url f{COMFYUI_SERVER}/history/{prompt_id} with urllib.request.urlopen(url, timeout30) as resp: return json.loads(resp.read().decode(utf-8)) def main(): # 这里需要导入 API 格式的工作流 JSON而不是 UI 格式 with open(krea2_workflow_api.json, r, encodingutf-8) as f: workflow json.load(f) prompt_base 1girl, hanfu, soft lighting, delicate skin fashion_list [white dress, red hanfu, blue qipao] scene_list [studio background, cherry blossom, ancient street] for i in range(3): new_prompt f{prompt_base}, {fashion_list[i]}, {scene_list[i]}, best quality seed random.randint(1, 999999999) # 找到工作流里的 CLIPTextEncode 正向提示词节点并替换 for node_id, node in workflow.items(): if node[class_type] CLIPTextEncode: text node[inputs].get(text, ) # 简单判断正向节点通常不含 lowres 等负面词 if lowres not in text: node[inputs][text] new_prompt if node[class_type] KSampler: node[inputs][seed] seed prompt_id submit_prompt(workflow) print(fTask {i 1} submitted, prompt_id {prompt_id}) # 轮询等待任务完成 while True: time.sleep(3) history get_history(prompt_id) if prompt_id in history: print(fTask {i 1} done) break if __name__ __main__: main()这段代码的核心逻辑是读取 API 格式工作流 → 按服装和场景批量改写正向提示词 → 修改随机种子 → 提交到 ComfyUI → 轮询任务状态。实际使用时你需要根据 Krea2 工作流里的节点 ID 调整哪个节点是正向提示词节点哪个是负向提示词节点。也可以根据节点属性精确匹配而不是简单看文本内容。5.5 一套可复用的写真提示词模板这里给一个相对通用的中文写真提示词模板帮助你把“角色参考”和“场景变量”分层管理。正向提示词模板 [主体] 1girl, solo, [服装] 白色汉服, 薄纱, 飘逸, [场景] 竹林, 清晨薄雾, 自然光, [镜头] 半身像, 轻微仰拍, 85mm 镜头, 景深, [氛围] 唯美, 柔和光影, 细腻皮肤, 胶片质感, [画质] best quality, ultra detailed, photorealistic, 8k 负面提示词模板 lowres, bad anatomy, bad hands, missing fingers, extra fingers, blurry, watermark, text, logo, deformed face, ugly, oversaturated实际使用时把 [场景] [服装] 替换成你需要的变量即可。需要提醒的是不同底模对中文提示词的支持程度不同如果发现中文描述不生效建议把关键词改成英文。6. 运行结果与效果验证6.1 前端手动运行在 ComfyUI 界面中拖入工作流 JSON 后按顺序检查以下几项是否所有节点都正常显示没有红色报错。Checkpoint 节点是否选中了白玉模型文件名。LoadImage节点是否已经加载参考图。正向提示词和负向提示词是否填写完整。确认无误后点击 “Queue Prompt” 按钮。你会看到节点从后往前依次变成绿色或蓝色高亮这就是流水线正在运转。底部会显示当前执行到哪个阶段终端里会输出进度信息和耗时。生成成功后图片会默认保存到ComfyUI/output/目录文件名是你在SaveImage节点的filename_prefix中设置的前缀加时间戳。6.2 如何判断一张图是否真正成功这一步很多人会忽略。写真工作流不是“能出图”就算成功而是要看三层指标第一层基础质量。人物五官结构正确没有崩脸、崩手、多余肢体。如果这层不过关后面的角色参考就没有意义。第二层角色一致性。把生成图和参考图放在一起对比脸型、五官比例、肤色是否接近。一组 10 张图里至少要有 8 张以上保持明显相似才算角色参考生效。第三层套系统一感。所有图片放在一起要能看出是同一套写真。服装质感一致、色调一致、人物在画面中的占比和构图逻辑一致。如果你发现在换场景后角色五官虽然相似但整体气质变化很大优先检查参考强度参数是否偏低或参考图本身不够清晰。6.3 运行失败先看哪里当某个节点报错时ComfyUI 会把节点标红。点击红色节点可以看到错误摘要。推荐按以下顺序排查看红色节点是哪个记录它的节点名称。看报错信息是哪一类模型路径不存在、参数类型不匹配还是显存不足。看终端日志尾部的 50 行通常就是定位问题的关键。如果报错包含 “Input and output types do not match”说明某条连线接错了多半是节点升级后端口含义变化导致。7. 常见问题与排查思路下表汇总了这套 Krea2 写真工作流在实际使用中最高频的报错和排查方法建议直接收藏备用。问题现象可能原因排查方式解决方案加载 JSON 后提示“请安装缺失的包以使用此工作流”缺少自定义节点或 Python 依赖查看终端输出的缺失包名打开 ComfyUI Manager 的 “Install Missing Custom Nodes”通过 Manager 批量安装缺失节点若仍失败在 ComfyUI 的 Python 环境中手动执行pip install 对应包名节点在执行过程中报错整条链路中断节点输入输出类型不匹配模型文件路径错误点击报错节点查看 Error Details检查节点连线箭头颜色确认输入输出类型一致检查底模和参考图模型路径是否正确角色参考不生效生成结果完全不像参考图参考图分支未接入采样参考强度太低denoise 设置过高检查参考图节点到采样器的连线查看参考强度参数把参考图特征正确注入条件分支适当提高参考强度把 denoise 调低后重试生成图五官结构崩坏底模人像能力一般缺少面部修复节点观察是否大部分图都崩检查是否加载 FaceDetailer 类节点换回更适合人像的白玉模型加入面部修复节点适当降低 cfg显存不足OOM 报错分辨率过高模型较大同时开了太多分支查看显卡显存占用曲线使用--medvram或--lowvram启动降低生成分辨率中途不要同时跑多个任务出图全是噪点或纯色块VAE 缺失或加载错误查看 Checkpoint 输出是否有 VAE在日志中搜索 vae 相关警告把模型的 VAE 文件放到models/vae/并在工作流中显式加载图片风格不统一套系感差种子未固定提示词模板不统一调色步骤缺失查看多次生成是否使用不同 seed检查提示词是否频繁改动固定 seed使用提示词模板管理场景变量必要时加入色彩统一后处理节点生成速度极慢CPU 推理显存不足导致模型频繁换入换出查看任务耗时和显存占用使用 NVIDIA 显卡减小分辨率降低 steps避免多个重度插件同时运行SaveImage 节点不输出文件output目录权限异常前缀包含非法字符检查终端中输出路径提示修改filename_prefix为纯英文检查目录写入权限上面这些问题是社区里出现频率最高的几类。其中“角色参考不生效”和“显存不足”在写真工作流中尤其常见。处理的原则是一致的先定位到具体节点再判断是连接问题、参数问题还是环境问题。8. 最佳实践与工程建议8.1 参考图库要规范做套系写真不能临时找参考图。建议建立规范的参考图库目录按人物分每张图片命名要包含角度和用途信息例如role_ref/ zhangsan_front.png zhangsan_side.png zhangsan_body.png lisi_front.png原则上角色参考图只用正脸正面照作为首选。这张图越清晰、光线越均匀、妆容越接近你想要的最终风格参考效果越好。模糊图和侧脸图尽量不用。8.2 把提示词模板化和变量化维护一个提示词模板文件把固定部分和可变部分分开。固定部分包括画质词、光线词、镜头词可变部分包括服装、场景、动作。这样在批量出图时只需要在 Python 脚本里替换变量部分不需要每次重写整个 prompt。# prompt_template.yaml base: 1girl, solo, soft lighting, delicate skin, photorealistic cloth: - white dress - red hanfu - blue qipao scene: - studio background - cherry blossom - ancient street negative: lowres, bad anatomy, bad hands, watermark, blurry8.3 固定种子与配置归档套系写真最怕“这次跑出的图明天复现不出来”。即使角色参考图和提示词完全一样只要 seed 变化结果就会不同。因此每次正式跑套系前建议把 seed、steps、cfg、底模名、参考强度、采样器这些参数记录到一起和对应的工作流 JSON 一起归档。文件的命名建议包含日期和主题例如krea2_wedding_20250115.json。8.4 定期备份关键目录ComfyUI 工作流本身是 JSON 文件很小真正占空间的是模型和输出图。对于工作流相关的文件建议纳入版本管理哪怕只是用网盘同步ComfyUI/user/、ComfyUI/custom_nodes/和你的workflows/目录。否则换台电脑或者重装系统后即使有 JSON 文件也可能因为缺少节点而无法打开。8.5 节点管理要克制ComfyUI 支持自定义节点很多用户一上来就会装几十个插件。但这会给写真工作流带来两个问题启动变慢、冲突变多。同一个功能最好只保留一个节点包例如面部修复只选一款角色参考只选一条技术路线。插件装得多排查问题时定位难度会直线上升。8.6 版权与使用边界这部分的提醒比技术本身更重要。用 AI 生成真人肖像写真要特别注意肖像权和授权问题。如果参考图来自真实客户务必获得对方明确授权如果生成结果用于商业用途还要确认底模和 LoRA 的许可证是否允许商用。不要生成涉及名誉侵害、色情或违规内容的图片也不要把真实人物形象用在违背其意愿的场景中。技术工具本身没有立场但使用者的边界决定了它是否安全。另外如果你的 ComfyUI 部署在服务器上一定要设置访问控制至少要限制端口访问来源。不要把接口直接暴露在公网否则别人可以无限制调用你的绘图资源并消耗你的显存。8.7 性能优化的优先级当写真工作流跑得慢时优化顺序建议是先看分辨率是否偏高写真常用分辨率并不需要一刀切开到 1024x1536可以尝试 832x1216 或更低。再看 steps 是否冗余28 步和 24 步画质差距也许很小速度却能提升明显。再看是否有不必要的后处理节点比如两个面部修复节点叠加。最后再考虑换显卡或换云 GPU。9. 总结与后续学习方向回到最开始的问题Krea2 套系写真工作流的本质是什么它不是某个神秘的魔法模型而是“白玉模型 角色参考链路 ComfyUI 节点编排”的组合产物。角色一致性不是某一个节点单独完成的而是底模、参考特征、提示词、采样参数共同作用的结果。如果你只是拿来直接用那这篇文章帮你跑通了环境、理解了节点、学会了批量出图如果你希望更进一步建议按这个顺序继续深入第一学习 ComfyUI 的 API 模式把手工操作全部替换成脚本结合提示词模板做批量写真生产第二研究 LoRA 训练当角色参考图无法满足你的高一致性需求时为固定人物训练一个专属 LoRA 是更稳定的选择第三尝试自己编写节点理解工作流就不再是“使用工具”而变成“制造工具”。最后给一个实践建议这套 Krea2 工作流拿到手后先不要急着跑大量图。花一个晚上把它提供的角色参考图换掉、提示词改成你自己的场景、采样器参数逐项测试一遍记录哪些改动影响了角色一致性、哪些影响了画面氛围。这套工作流就真正变成你的了。