ComfyUI海报提示词生成:一行一个高效方法
ComfyUI用户常见误区:为电商海报批量生成每行一个标题的中文提示词时,若直接在Textbox输入回车,最终输出中所有标题会重叠。根本原因在于CLIP模型无法解析换行符,回车操作被忽略。
解决方案的核心:以结构化分隔符替代回车,利用节点逻辑强制分行渲染。具体而言,使用Format Text节点或Concatenate加Textbox组合,在提示词中嵌入换行符(\n),最后通过Text Overlay节点将文字实际绘制到图像上。
Format Text节点实现标题逐行填充
此方法轻量且无额外依赖,特别适用于Z-Image-Turbo或Qwen-Image-2512等原生支持中文分行的模型。
第一步:从节点库拖出Format Text节点(ComfyUI 0.22.0及以上版本内置),右键→Rename→更名为Title Line Builder。
第二步:双击节点,在模板框内输入:【{line1}】\n【{line2}】\n【{line3}】\n【{line4}】。需注意\n必须小写且前后无空格,大写N或添加空格将导致换行失败。
第三步:在下方四个参数栏分别填入:line1=新品上市;line2=买一送一;line3=限时72小时;line4=扫码立享会员价。四行文字将严格按顺序、分行并带方括号输出。
第四步:将Title Line Builder的output端口连接至CLIP Text Encode节点的text输入口。此时生成的提示词字符串为“【新品上市】\n【买一送一】\n【限时72小时】\n【扫码立享会员价】”,Z-Image模型可识别\n并触发多行排版逻辑。
Concatenate+Textbox组合手动拼接换行符
当模型不支持\n解析(如SDXL基础版),需改用ASCII换行符配合强制编码固化。
纯文本拼接(新手推荐)
新建四个Textbox节点,分别命名为Title1、Title2、Title3、Title4,填入对应标题文字;再拖入Concatenate节点,将四个Textbox的输出按顺序连接至input_1~input_4;最后在Concatenate节点右侧空白处右键→Add Textbox→输入单字符【\n】(反斜杠+n,非回车),将其output连至Concatenate的input_5。这样每行标题后均强制嵌入换行符。
Python脚本节点注入(进阶)
拖入Python Execute节点,在代码框中粘贴:
text_lines = [TEXT1, TEXT2, TEXT3, TEXT4]
result = "\n".join(text_lines)
OUTPUT = result
然后将四个Textbox分别连接到TEXT1~TEXT4输入口。此方法比手动拼接更简洁,但需确保ComfyUI环境已开启Python执行权限。
将标题渲染到图像:绑定Text Overlay节点
仅生成带\n的提示词不足够——它仅影响构图语义,图像上并无实际文字。必须叠加文字渲染节点。
搜索并拖入ComfyUI_Text_overlay节点,检查参数面板是否包含text、font_size、position、align字段。若无则表示未安装该插件,需通过Manager先行安装。
将前一步Format Text或Concatenate输出的完整字符串连接至Text Overlay节点的text输入口;设置font_size=48,align=center,position=center;再将Text Overlay的image输出连接至KSampler的latent_image输入口上游(即VAE Decode之前接入)。
此步骤不可省略:若连接在VAE Decode之后,文字将模糊成马赛克;连接在之前,Z-Image才能将文字作为结构化先验参与去噪过程,确保每行独立清晰、边缘锐利、无重影。
