要在ComfyUI中实现“一键批量不同风格图像生成”,需用LoadText+TextSplit+ForEach节点循环处理styles.txt中的多行提示词,并将完整生成子图嵌入ForEach body,再通过item输出动态替换CLIPTextEncode文本或拼接风格后缀,最后用含{{item_index}}和{{item_text[:10]}}的命名规则保存图像。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜
要在comfyui中实现“一键批量不同风格图像生成”,需绕过默认单次推理限制,通过动态替换提示词、模型权重或采样参数,在一个工作流内触发多组并行或串行图像输出。核心在于用节点组合替代手动重复操作,避免每次改提示词都要重载工作流。准备多风格提示词列表
打开文本编辑器,按行书写不同风格描述,每行一条完整正向提示词,例如:
“cyberpunk cityscape, neon lights, rain-slicked streets, cinematic lighting”
“watercolor portrait of an old librarian, soft edges, gentle washes, muted palette”
“3D render of a steampunk owl, brass gears, glowing amber eyes, Unreal Engine 5”
保存为 UTF-8 编码的 【styles.txt】 文件,确保无BOM头,否则读取时会报错。
这一步不能用Windows记事本另存为UTF-8——它默认加BOM。推荐用VS Code或Notepad++,编码选“UTF-8(无BOM)”。
加载提示词列表并循环注入
在ComfyUI中,拖入 LoadText 节点 → 连接至 TextSplit 节点(来自Custom Nodes:ComfyUI-TextSpace 或 ComfyUI-Prompt-Enhancer)→ 输出端口连接到 ForEach 节点的 items 输入口。
ForEach 节点会将每一行提示词作为独立迭代项传入内部子图。注意:必须把整个图像生成子图(含CLIPTextEncode、KSampler、VAEDecode等)全部放入 ForEach 的“body”区域,否则只循环提示词不循环渲染。
若未安装 ForEach,需先运行 git clone https://github.com/cubiq/ComfyUI_essentials 并重启UI。该节点不在官方包中,缺失则无法构建批量循环结构。
绑定风格变量到CLIPTextEncode节点
方法一:直接替换文本输入
将 ForEach 的 item 输出 → 连接到主CLIPTextEncode节点的 text 输入口。此时每次循环都会用新提示词覆盖原内容,无需额外节点。
方法二:拼接基础提示 + 风格后缀
若所有图像需共用主体描述(如“a red sports car”),可将固定部分写死在CLIPTextEncode中,再用 TextConcat 节点把 item 输出(风格词)追加到末尾,格式设为“{base},{style}”。注意逗号后留空格,否则可能影响分词效果。
方法三:动态切换LoRA权重
在 ForEach 内部,用 item 值匹配预设LoRA名称(如“anime”→“add-detail.safetensors”),再通过 LoraLoader 的 strength 输入口控制启用强度。需提前把LoRA文件名与风格词严格对应,并用 StringToNumber 或 TextReplace 实现映射逻辑。
配置输出路径与命名规则
第一步:在 SaveImage 节点中,点击 filename_prefix 右侧小齿轮图标 → 选择“Edit” → 输入表达式:batch_style_{{item_index}}_{{item_text[:10]}}
第二步:勾选 SaveImage 的 “output_path” 选项,填入绝对路径如 D:/comfyui/output/batch_styles/。路径末尾必须带斜杠,否则文件会写入根目录且可能因权限失败。
第三步:确保该路径所在磁盘有写入权限。Windows下若写入Program Files目录,即使管理员运行也可能被UAC拦截,【务必改用用户文档或D盘自建文件夹】。

















