
很多刚从 WebUI 转到 ComfyUI 的朋友常会踩进同一个坑:把过去收藏的几十行“起手式魔咒”一股脑复制进 `CLIP Text Encode` 节点,结果跑出来的图要么画面过曝发焦,要么细节完全失真。
其实,ComfyUI 对提示词的处理逻辑和传统一键式界面有本质区别。在 ComfyUI 里,提示词并不是纯文本框,它是将文字经由 CLIP 或 T5 文本编码器转化为向量张量(Tensor)的入口,节点连线中的 CONDITIONING(条件数据流) 才是控制生成走向的核心。弄懂文本编码与节点调度逻辑,才能真正做到精准控图。
一、 ComfyUI 提示词语法底线与权重规则
在 ComfyUI 的原生文本编码节点中,权重书写遵循特定的语法规范。注意看以下几条底层规则:
1.圆括号权重语法:
•格式为 `(关键词:数值)`,例如 `(masterpiece:1.2)`。
•单纯加一层圆括号 `(photorealistic)`,ComfyUI 默认将其权重乘以 1.1;双层括号 `((photorealistic))` 则是 `1.1 * 1.1 = 1.21`。
•权重生效区间通常建议维持在 0.7 到 1.4 之间。超过 1.5 会导致潜空间向量严重偏离,画面容易出现高反差黑斑、肢体异化或烧焦噪点。
2.快捷键微调:
•选中文字后按键盘快捷键 `Ctrl + Up` 或 `Ctrl + Down`,可以以 0.05 或 0.1 为步长快速调整浮点权重,避免手动改写符号出错。
3.括号转义:
•画面中如果本身包含文本或需要保留括号符号(比如动漫角色表情符号 `^_^` 或衣服上的字),必须使用反斜杠转义:`(smile)`,否则系统会误判为权重控制。
4.原生动态通配符语法:
•原生节点直接支持大括号随机采样:`{red|blue|black} sports car`,执行生图时会随机从选项中挑一个输出。
5.77 Token 分块机制:
•传统 SD 1.5 和 SDXL 的 CLIP 模型以 77 个 Token 为一个处理块(包含开始和结束标记,实际有效容量为 75 Token)。当提示词过长时,系统会自动分切为多个 chunk 进行编码,越靠后的分块受注意力衰减的影响越严重。因此,核心主体必须写在前 20 个单词内。
二、 节点连接:Conditioning 到底怎么连?
在默认画布中,最基础的链路如下:
`Load Checkpoint` 输出 CLIP 连入两个 `CLIP Text Encode (Prompt)` 节点,分别负责正向和负向条件,再将输出的 CONDITIONING 连入 `KSampler` 的 positive 和 negative 端口。
但是,如果只停留在“一正一负两个框”,就完全丧失了节点式工具的灵活性。通过接入不同的条件控制节点,可以实现更高维度的画面引导:
•Conditioning (Combine):
•作用:并行合并多组提示词张量(逻辑类似于 WebUI 中的 `AND` 语法)。
•连接方式:将“环境描述”与“人物特写”分别写在两个 `CLIP Text Encode` 中,同时连入 `ConditioningCombine` 节点的 conditioning_1 与 conditioning_2,再把输出给到采样器。
•优势:避免人物外貌标签污染背景道具,保持特征纯净。
•Conditioning (Average):
•作用:按比例混合两组语义张量。
•连接方式:输入 A 与 B 两组条件,通过设置浮点参数(例如 0.6),按权重混合生成过渡风格或融合型角色。
•Conditioning (Concat):
•作用:在 Token 维度沿序列拼接两条提示词,实现分段长文本合并。
•ConditioningSetTimestepRange (步数阶段控制):
•作用:控制某段提示词仅在特定的采样步数区间生效。
•实操设置:把 `timestep_start` 设为 0.0,`timestep_end` 设为 0.4,表示该描述仅在前 40% 的宏观构图阶段介入;在 0.4 到 1.0 阶段切换为微观材质描述。这样可以彻底杜绝微观画质词在初期干扰全局大关系。
三、 主流模型提示词范式横向对比
不同的基底模型所采用的文本编码器(Text Encoder)存在巨大代差,绝对不能用同一套提示词套路应付所有模型。
下表详细对比了四大主流模型的提示词特性、语法机制与采样参数规范:
| 模型架构 | 文本编码器配置 | 提示词语法范式 | 负向提示词依赖度 | 推荐 CFG / Guidance | 常用采样器 / 调度器组合 |
|---|---|---|---|---|---|
| SD 1.5 | CLIP ViT-L/14 (单编码器) | 逗号分隔的短标签(Tag-based)、画质词堆砌 | 极高(必须配齐通病屏蔽词) | 7.0 – 8.5 | `Euler a` / `normal`, `DPM++ 2M Karras` |
| SDXL | 双编码器:CLIP ViT-L + OpenCLIP ViT-bigG | 简短自然语言 + 风格描述,支持双文本框分别编码 | 中等(仅需少量指定排除项) | 4.5 – 6.5 | `DPM++ 2M` / `karras`, `Euler` / `normal` |
| Flux.1 (Dev / Schnell) | 双编码器:CLIP-L + T5-XXL (大型语言模型编码器) | 长段落连贯自然语言叙事,重视空间方位介词 | 无依赖(完全不填或留空) | CFG 设为 1.0;Guidance 设为 3.0 – 4.0 | `euler` / `simple` (Schnell 4步), `euler` / `sgm_uniform` (Dev 20-30步) |
| SD 3.5 | 三编码器:CLIP-L + OpenCLIP-G + T5-XXL | 叙事性描述 + 明确排版与构图参数 | 极低(常规场景建议直接留空) | 3.5 – 5.0 | `euler` / `sgm_uniform` |
避坑提醒:
运行 Flux.1 时,`KSampler` 的 CFG 参数必须硬性锁定为 1.0,画面引导主要依靠 `FluxGuidance` 节点调节(默认 3.5)。如果往 Flux 的 negative 端口接入写满词汇的文本节点并强行拉高 CFG,画面会瞬间崩溃,出现大面积杂色与严重畸变。
四、 提示词写法优化前后实操对照
下面以“雨夜赛博朋克街道上站着一位拿伞的女性”为例,直观展示标签流与自然语言流的写法差异:
| 优化阶段 | 提示词内容(Prompt) | 适用模型 | 典型问题与实际生成表现 |
|---|---|---|---|
| 反面示例 (盲目堆叠) |
`masterpiece, best quality, 1girl, umbrella, cyberpunk street, rainy night, neon light, 8k wallpaper, ultra detailed, extremely delicate` | SD 1.5 | 常见毛病是满屏霓虹杂光,雨伞与人物手部容易粘连,背景建筑空间感扁平,画质词占用了宝贵的 Token 权重。 |
| 优化规范 A (SDXL 结构化标签) |
`(cyberpunk street:1.1), rainy night, reflections on wet asphalt, a woman holding a clear umbrella, neon billboards, cinematic lighting, photorealistic, 35mm film photography, 8k resolution` | SDXL | 空间层级清晰,路面反光与雨伞质感分明,避免了泛滥的空洞画质词,色彩饱和度合理。 |
| 优化规范 B (Flux 自然叙事流) |
`A medium shot of an East Asian woman standing in the middle of a rain-slicked cyberpunk alleyway at night. She is holding a transparent geometric umbrella. Neon signs in cyan and magenta cast vivid reflections onto the puddles on the ground. Soft volumetric fog in the air, captured with a cinematic 50mm lens, shallow depth of field, sharp focus on her face.` | Flux.1 Dev | 借助 T5 强大的文本解析能力,严格执行空间方位(in the middle of)、道具材质(transparent geometric)与景深关系(shallow depth of field),画面故事感极强。 |
五、 借助大语言模型搭建提示词工程 SOP
手动编写高质量自然语言描述效率较低,而通用的聊天助手直接输出的提示词往往掺杂废话。在工作流外侧配合 Claude 3.5 Sonnet、GPT-4o 或 Gemini 1.5 Pro 构建一套专供 ComfyUI 的提示词系统,是目前行业中最稳定的做法。
1. 大模型系统指令模板 (System Prompt)
请在调用 LLM 时设置以下系统提示词。该模板严格剔除空洞词汇,专注于视觉解构:
你是一位专精于 ComfyUI 图像生成(特别是 SDXL 与 Flux.1 架构)的视觉提示词架构师。
你的唯一任务是将用户的粗糙想法扩写为高度精准的图像提示词。
规则规范:
1. 严禁使用 "masterpiece", "best quality", "ultra detailed", "hyper realistic" 等无效修饰词。
2. 严格按照五层结构拆解:
- 画面主体(主体类型、姿态、外观特征、穿着材质)
- 空间环境(场景、空间纵深、天气、地面与背景细节)
- 光影色彩(主光源方向、辅光色调、阴影反差、环境光反射)
- 构图镜头(景别如 medium shot、镜头焦段如 50mm lens、视角与景深)
- 媒介质感(照片胶片质感、渲染引擎特性或特定艺术风格)
3. 若面向 Flux 模型,输出 100-150 词的纯英文自然语言连贯长段落,重点使用介词明确元素之间的相对空间位置;
4. 若面向 SDXL 模型,输出以逗号分隔的核心短语组,合理使用 (tag:1.1) 标注核心权重。
5. 最终只输出纯文本英文提示词内容,严禁输出任何解释、打招呼或前置说明。
2. LLM 与生图核心参数联动配置
为了保证提示词生成与图像渲染的稳定性,需严格控制上下游参数组合:
•LLM 侧推理参数:
•Temperature:设置在 0.3 到 0.5 之间。太高会导致 LLM 凭空捏造与用户原意无关的视觉实体,太低则画面过于刻板。
•Top-P:锁定在 0.85 到 0.9,收敛高概率词汇输出。
•ComfyUI 采样器配置:
•Steps(采样步数):SDXL 设为 25 – 35;Flux.1 Dev 设为 20 – 28。步数过高不会改善画质,反而会造成算力浪费。
•Sampler(采样器):首选 `euler` 或 `dpmpp_2m`。这两个算法在各类风格中收敛速度最平稳。
•Scheduler(调度器):SDXL 推荐 `karras` 或 `exponential`;Flux 必须搭配 `simple` 或 `sgm_uniform`。
六、 高效生图起手式工作流 SOP
要构建稳定出图的生产环境,建议把标准起手式工作流程固化为四个关键节点步骤:
[文本工程与输入] [条件控制层] [潜空间采样] [像素解码与输出]
+-------------------+ +------------------------+ +---------------+ +---------------+
| 原始创意 / LLM扩写 | ------> | CLIP Text Encode (正向) | --> | | -----> | VAE Decode |
+-------------------+ +------------------------+ | | +-------+-------+
| CLIP Text Encode (负向) | --> | KSampler | |
+------------------------+ | | v
| ConditioningSetArea | | (CFG/Steps/ | +---------------+
| (区域构图/条件合并可选) | --> | Sampler/Seed)| | Save / Preview|
+------------------------+ +-------+-------+ +---------------+
^
|
[Empty Latent / 尺寸标准]
第一步:建立规范的文本输入区
在画布最左侧放置两个不同颜色的 `CLIP Text Encode` 节点(绿色代表正向,红色代表负向)。
在正向文本框内,严格遵循“主体 -> 动作与交互 -> 环境 -> 镜头光影”的书写顺序。如果是批量化生产,建议在文本框前串联一个 `Primitive`(原始字符串)节点,便于统一管理提示词输入变量。
第二步:规范潜空间(Latent)分辨率
`Empty Latent Image` 节点的长宽尺寸必须严格遵循模型训练的原生桶比例(Bucket):
•SD 1.5:基准为 `512×512`、`512×768`、`768×512`。直接开高分辨率会导致“多头多肢”体态崩坏。
•SDXL / Flux.1:基准为 `1024×1024`、`896×1152`(3:4 人像竖图)、`1152×896`(4:3 风景横图)、`1216×832`(16:9 宽屏)。尽量不要设置非 64 整数倍的奇葩分辨率。
第三步:精准匹配负向条件
•在 SD 1.5 / SDXL 中,负向提示词只填真实需要排除的问题,切忌无脑粘贴上百字的负向大合集。推荐的基础负向模板:
deformed iris, deformed pupils, bad eyes, semi-realistic, worst quality, bad hands, mutated fingers, extra limbs, poorly drawn hands, missing arms
•在 Flux.1 中,直接在负向 `CLIP Text Encode` 中留空,或者仅通过 `ConditioningZeroOut` 节点给入零条件张量。
第四步:固定种子与变量排查法
在微调提示词时,务必将 `KSampler` 的 `control_after_generate`(生成后操作)设置为 `fixed`(固定种子)。
每次只修改一个单词或调整一组权重数值。只有在保持潜空间初始噪波完全一致的前提下,才能精准验证某一个词汇或节点配置对成图产生的实际影响。验证完毕后再切回 `randomize` 进行大批量抽卡。

评论前必须登录!
立即登录 注册