一句话定义
CLIP Text Encode 节点把你的文字送入文本编码器(CLIP / T5 等),输出一串条件张量(CONDITIONING)——它不直接生成图像,而是在每一步去噪中通过 cross-attention 告诉模型"该往哪个方向走"。
为什么重要
- 提示词不是咒语而是向量:理解编码机制,你才能解释权重语法、77 token 限制、负面提示词为何有效。
- 不同家族用不同编码器(SD1.5 单 CLIP、SDXL 双 CLIP、Flux CLIP+T5),这是工作流换模型的第一个改动点(见 SDXL 与多编码器家族:换模型换什么/Flux 架构与工作流:cfg=1 的新物种)。
前置知识
扩散模型直觉:从噪声到图像的迭代雕刻(条件在去噪循环中的角色)。
核心概念
- Tokenizer:文字 → token 序列;每个 token 是词典里的编号,同义词会映射到不同 token。
- 文本编码器:token → 一组特征向量。SD1.5 用 CLIP ViT-L/14,天然窗口 77 token;SDXL 用 CLIP-L + OpenCLIP-bigG 双编码器;Flux 加上 T5-XXL(长上下文,吃自然语言)。
- CONDITIONING 类型:编码结果的容器,ComfyUI 中可被 combine/concat/set-mask 等节点加工(见 条件节点组与区域引导:一幅图多个提示词)。
- cross-attention 注入:去噪 UNet 的中间层以条件为 Key/Value 查询,实现"文字引导生成"。
原理与机制
"a cat on the beach"
→ tokenizer → [BOS] a cat on the beach [EOS] [PAD] … (补到 77)
→ CLIP text encoder → 77×768 特征张量(每个位置一个向量)
→ CONDITIONING → KSampler 的每一步 cross-attention- 77 限制与切块:超长提示词按 77 token 切成多段分别编码后拼接——ComfyUI 自动处理,但段与段之间注意力不互通,重要内容尽量前置(见 提示词工程:权重、结构与负面写法)。
- 负面提示词:编码一条"不想要"的文本作为另一路条件,KSampler 用 CFG 公式把两路差值放大(CFG 与负面引导:引导强度的数学)——模型并没有"负面"概念,是引导数学让它成立。
- Embedding(Textual Inversion):把训练出的概念向量放
models/embeddings/,在提示词里直接写文件名即可触发。
公式 / 模型 / 图示
正条件 c+ ← "photo of a lighthouse at sunset"
负条件 c− ← "blurry, watermark"
去噪每步: ε = MODEL(x_t, t) 经 cross-attention 接收 c+/c− 的 K/V
CFG 融合: ε_final = ε(c−) + s·(ε(c+) − ε(c−)) (s=cfg,见 kp-108)直观类比
CLIP 编码器像翻译官:把你的人话译成"画师的意图向量"。画师(MODEL)听不懂外语,但每画一笔都看一眼意图向量;负面提示词是"别画成这样"的示意图,靠 CFG 的"正负差值放大器"生效。
实例与案例
- 同一句中英文提示词在 SD1.5 上效果迥异:CLIP 主要以英文语料训练,中文 token 化后语义丢损;中文用户应先翻译为英文(或选择支持中文编码的模型家族)。
- 权重语法
(word:1.3)的本质是把该 token 位置的注意力权重放大——机制即"调向量的音量"(提示词工程:权重、结构与负面写法 详解)。 - 拿到 Flux 工作流看到两个 CLIP Text Encode?不,通常是一个文本框喂 DualCLIPLoader 出来的 CLIP;出现 T5 编码节点是因为 T5 独立编码(见 Flux 架构与工作流:cfg=1 的新物种)。
常见误区
- "提示词越长越好":跨 77 切块后后半段注意力衰减;核心主体前置更有效。
- "负面提示词是万能橡皮擦":它只能把结果从 c− 方向拉开,过度堆砌会互相稀释(见 CFG 与负面引导:引导强度的数学)。
- "CONDITIONING 就是文字":是特征张量;所以它还能来自图像(IPAdapter)、蒙版(条件节点组与区域引导:一幅图多个提示词)等非文本来源。
- "中文模型不存在":国产家族(Qwen-Image 等)原生支持中文编码,但那是"换模型"而非"CLIP 变聪明"。
自测题
- CONDITIONING 张量在去噪过程中通过什么机制起作用?
- 为什么 SD1.5 的提示词在 77 token 处会被"切块",切块带来什么副作用?
- 负面提示词的数学原理是什么?
- 为什么中文提示词在 SD1.5 上效果差?
参考答案
- cross-attention:UNet 中间层以条件特征为 K/V,查询引导每步去噪方向。
- 编码窗口 77 token;切块后各段独立编码拼接,段间注意力不互通,重要内容应前置。
- CFG:最终引导 = 负条件结果 + 强度 ×(正 − 负)差值,把生成从"负方向"拉开。
- CLIP 的训练语料以英文为主,中文 token 化与语义对齐质量低,应译成英文使用。
与其他知识点的关系
- 提示词工程:权重、结构与负面写法 是编码机制的"用户手册"(权重语法、结构化写法)。
- CFG 与负面引导:引导强度的数学 是正负条件的"混合器"(CFG 数学)。
- IPAdapter 与参考图控制:让图像自己当提示词 展示条件还能来自图像(IPAdapter)。
延伸阅读
- CLIP 论文(Learning Transferable Visual Models):arxiv.org/abs/2103.00020
- ComfyUI 文档 Text Encoding 概念:docs.comfy.org
前置知识
关联知识点
提示词工程:权重、结构与负面写法CFG 与负面引导:引导强度的数学SDXL 与多编码器家族:换模型换什么Flux 架构与工作流:cfg=1 的新物种