必须将提示词封装为可复用节点流程:先convert to input生成参数化text接口,再用string concatenate动态拼接,最后group nodes打包为prompt_template_v2.json自定义节点。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在ComfyUI中把零散的绘画提示词固化为可复用流程,必须跳过直接在CLIPTextEncode文本框里手敲提示词的操作——每次改一个词就要重连节点、重试参数、重新保存工作流,等于把ComfyUI当WebUI用,彻底浪费其节点化编程的核心优势。
把提示词逻辑封装进节点链路
打开ComfyUI → 加载任意基础工作流(如sdxl_base.yaml)→ 找到原始的CLIP Text Encode(Prompt)节点。
右键该节点 → 选择“Convert to Input” → 节点顶部出现可编辑的“text”输入槽位,且原提示词自动迁移至默认值栏。
双击该节点 → 在弹出框中将提示词替换为结构化模板:“masterpiece, best quality, (photorealistic:1.3), {subject}, {lighting}, {background}, 8k detail”。【所有占位符必须用英文大括号{}包裹,且命名语义明确,如{subject}不能写成{x1}】
这一步完成后,提示词就脱离了静态文本形态,变成一个带参数接口的模块,后续所有修改都只发生在输入端,不扰动下游连接。
用String Concatenate实现动态注入
方法一:基础拼接流
从utils分类拖入两个String节点,分别命名为“Fixed_Prefix”和“Dynamic_Slot”。
在Fixed_Prefix中填入:“masterpiece, best quality, (photorealistic:1.3), ”;在Dynamic_Slot中填入当前要测试的具体描述,例如“a cyberpunk samurai standing on neon-lit rooftop”。
添加String Concatenate节点 → 将Fixed_Prefix连入string1,Dynamic_Slot连入string2 → Concat输出口直连CLIP Text Encode的text输入口。
方法二:多变量协同注入
再加一个String节点叫“Lighting_Config”,填入“volumetric fog, cinematic rim light”;用第二个String Concatenate把Dynamic_Slot + Lighting_Config拼成新字符串;最后用第三个Concat把Fixed_Prefix和这个新字符串合并。
这种嵌套拼接适合需要同步调整多组语义变量的场景,比如换角色类型时自动联动服装、姿态、光影三要素。
打包为自定义节点组并导出
第一步:选中全部参与提示词构建的节点(包括Fixed_Prefix、Dynamic_Slot、所有Concat节点、CLIP Text Encode)。【务必确认没有遗漏VAE或KSampler等无关节点,否则打包后会引入冗余输入口】
第二步:右键 → “Group Nodes” → 输入名称“Prompt_Template_v2” → 点击确定。
第三步:双击新生成的紫色节点 → 检查左侧输入口是否仅保留base_prompt(已预填)、subject、lighting、background四类语义化接口;删除其他无用输入口。
第四步:点击画布空白处 → Ctrl+S → 保存为“prompt_template_v2.json”。
以后新建项目时,直接拖入该节点,填完四个字段即可运行,无需重建链路、不用查找原始CLIP位置、不担心参数错位。











