文章摘要
针对用户写StableDiffusion绘画提示词常词不达意的问题,讲解了提示词的底层工作逻辑,系统介绍提示词标准结构、权重调整、负面提示词用法,区分SDXL家族与SD3/Flux等DiT架构模型的提示词适配差异,分享了进阶技巧、常见生成问题排错方案,还推荐了相关提示词资源与优化工具,帮助用户写出精准有效的绘画提示词。

为什么你写的Stable Diffusion绘画提示词总是“词不达意”?

你输入“a girl in a garden”,模型给了你一个六指女孩站在水泥地里。你写“cyberpunk city”,出来的画面却像十年前的壁纸网站素材。这不是AI在跟你作对,而是你写的Stable Diffusion绘画提示词没有用模型能“听懂”的方式说话。提示词的本质是一种介于人类语言与机器编码之间的中间语言,它的词汇选择、排列顺序、强调方式,每一个细节都会改变最终画面的走向。这篇文章不讲空泛的概念,只讲能直接上手用的技巧——从基础语法到权重控制,从模型适配到实战排错,帮你把“想要什么”准确地变成“画出来什么”。

Stable Diffusion绘画提示词完全指南- 无序列表

一、理解Stable Diffusion绘画提示词的底层工作方式

1.1 提示词不是“命令”,而是“引导信号”

很多人第一次用Stable Diffusion时,会下意识地把提示词当成搜索框——输入关键词,等待结果。但扩散模型的工作方式完全不同。它从一个纯噪声图像开始,逐步去噪,每一步都根据提示词的引导方向把画面往目标推。这意味着你写下的每个词都不是“检索指令”,而是“导航坐标”。写“cat”,模型不会去数据库里找一张猫图,而是从噪声中逐渐“雕琢”出一只猫。

这个认知差异解释了新手最常见的困惑:为什么我写了“a beautiful woman”,出来的脸却像融化的蜡?因为“beautiful”对模型来说几乎不携带有效的视觉信息,它不知道你心目中的“美”对应的是哪种面部结构、肤色、光影和角度。

1.2 CLIP文本编码器:提示词的“翻译官”

Stable Diffusion 1.5和SDXL系列通过CLIP文本编码器将你的文字转化为512维的特征向量,再与图像编码器的潜在空间对齐。CLIP的训练数据主要来自互联网上的图文对,尤其SDXL系列大量使用了Danbooru、e621等图库的标签式描述。这就解释了为什么SDXL系列对“1girl, solo, masterpiece”这类标签响应良好,而写“一位优雅的年轻女性独自站在窗边”反而效果打折——训练数据里长这样。

CLIP还有一个硬性限制:77个token的窗口。超出部分会被截断。这意味着如果你把最重要的主体描述放在提示词末尾,模型很可能根本看不到。顺序就是权重,这是后面会反复强调的原则。

1.3 不同模型“听”提示词的方式不同

这是很多教程忽略的关键分水岭。SDXL家族(包括Illustrious、NoobAI等衍生模型)依赖CLIP编码器,吃的是标签式输入;而SD3/SD3.5以及Flux、DiT架构的模型(如Tsubaki、Serin)使用了更接近大语言模型的文本编码器(T5-XXL或类似架构),理解自然语言叙述的能力强得多,反而对纯标签堆叠适应不佳。换句话说,在SDXL上有效的提示词写法,直接搬到Flux或SD3上可能完全不work。后文会专门用一个章节来对比不同模型的适配策略。

二、Stable Diffusion绘画提示词的标准结构

2.1 通用范式:前缀 + 主体 + 场景

阿里云PAI ArtLab的官方实践文档给出了一个被广泛验证的结构:前缀(画质词+画风词+镜头效果+光照效果)+ 主体(人物/对象+姿势+服装+道具)+ 场景(环境+细节)。这个结构的合理性在于它符合CLIP编码器“从前往后处理、前面的词影响更大”的特性。

一个典型的SDXL提示词示例:

masterpiece, best quality, ultra detailed, 
a young woman with silver hair, wearing a dark blue kimono, 
standing on a wooden bridge in a traditional Japanese garden, 
cherry blossom petals floating in the air, soft afternoon light, 
cinematic composition, 8k, sharp focus

注意这里主体(young woman with silver hair)被放在了质量词之后、场景词之前。如果把“traditional Japanese garden”放到最前面,背景会变得极其突出,人物反而被压缩。

2.2 质量词的“边际效用递减”

“masterpiece, best quality, 8k, ultra detailed”这套质量词组合在A1111社区中非常流行,权重通常在1.1到1.4之间。但需要清醒认识到:质量词对画面的提升存在明显的边际效用递减。当你已经从模型本身获得较高基础质量时,继续堆叠质量词的收益微乎其微,反而可能占用宝贵的token空间。在DiT架构模型上,质量标签甚至可能被忽略或产生不一致的效果。

一个反直觉的建议:如果你的提示词已经很具体(包含了材质、光照、构图等细节描述),质量词可以大幅精简,只保留1-2个即可。把节省出来的token留给真正有信息量的描述。

2.3 主体描述的“可视化”原则

模糊的形容词是提示词效果差的首要原因。对比一下:

模糊写法 可视化改写 改写逻辑
a cool character a character with spiky black hair, wearing a worn leather jacket, scar across left cheek 把“cool”拆解为可见的外观元素
beautiful landscape mountain lake at sunrise, snow-capped peaks reflected in still water, pine trees on the shore 把“beautiful”替换为具体的景物和光影条件
很酷的机械 厚重的齿轮关节,外露的液压管线,深灰色金属质感,表面有磨损痕迹 把抽象评价转化为材质和结构描述

模型不认识“酷”,但它认识“spiky black hair”和“worn leather jacket”。你写的每一个词都应该对应画面中一个可辨识的视觉元素。

三、权重控制:让模型知道“什么更重要”

3.1 括号语法的完整规则

Stable Diffusion的权重控制主要通过括号和数字实现。基础规则如下:

小括号 ( ) :权重乘以1.1。(cat) 等价于 (cat:1.1)。叠加小括号会复合计算:((cat)) = (cat:1.21)。

中括号 [ ] :权重乘以0.9。[cat] 等价于 (cat:0.9)。叠加中括号同样复合:[[cat]] = (cat:0.81)。

大括号 { } :权重乘以1.05。{cat} 等价于 (cat:1.05)。用于微调。

显式数字权重:(word:1.3) 直接指定权重值。推荐范围在0.4到1.6之间。权重低于0.4的词几乎不起作用,高于1.6则容易导致画面过拟合——出现色彩溢出、结构畸变等问题。

3.2 权重值怎么选:一个实用的决策框架

不是所有词都需要加权。以下是一个基于实践的权重决策框架:

场景 推荐权重 说明
核心主体特征(发色、瞳色、服装关键元素) 1.2-1.4 确保模型优先响应
次要特征(配饰、背景细节) 1.0-1.1 默认权重或轻微强调
氛围词、风格词 0.8-1.0 作为“背景约束”存在
需要弱化的元素 0.5-0.8 不希望完全消失但不应抢眼
画质增强词 1.1-1.3 适度提升,不宜过高

InvokeAI的文档给出了一个重要的经验法则:权重调整“一到两步就够了”,极端的权重会压倒提示词的其他部分。

3.3 + 和 - 后缀:更直觉的权重写法

InvokeAI等工具支持用 + 和 - 直接调整单个词的权重,每增加一个 + 权重向上复合约10%,每增加一个 - 向下复合约10%。例如:

freckles+  → 雀斑更明显
background crowd-  → 背景人群被弱化
(soft rim light)++  → 柔和的轮廓光显著增强

这种写法比记数字更直觉,适合在调试阶段快速调整。

四、负面提示词:做减法的艺术

4.1 负面提示词的实际工作机制

负面提示词常被误解为“告诉模型不要画什么”,但它的实际机制更微妙。在分类器自由引导(CFG)的公式中,模型同时计算两组预测:一组基于正向提示词(有条件分支),一组基于负面提示词(无条件分支),最终方向是两者的差值。负面提示词的作用是“劫持”无条件分支,让去噪方向远离你指定的概念。

一个重要的推论:负面提示词只在真正运行双通道CFG的模型上有效。SDXL、SD 1.5、SD3/SD3.5(需保持较低CFG值)、Kolors、PixArt-Σ支持原生负面提示词。而Flux.1全系、DALL·E 3、SDXL-Turbo、SD3-Turbo等引导蒸馏模型没有无条件分支可供替换,负面提示词完全不起作用。把负面词塞进正向提示词字符串里(比如写“no text”)在这些模型上会适得其反,反而可能诱导出文字。

4.2 实用的负面提示词分类清单

以下按场景组织,避免一刀切地堆砌:

画质修复类(几乎所有场景都适用):low quality, worst quality, blurry, pixelated, jpeg artifacts, noisy

人体结构类(人物生成必备):extra fingers, missing fingers, deformed hands, extra limbs, bad anatomy, mutated, disfigured, long neck

画面干扰类(商业素材、海报图必备):watermark, text, signature, logo, date stamp, border

风格排除类(按需选用):cartoon, 3d, realistic, anime, painting——注意这些词是互斥关系,根据你想要的目标风格反向选择。

4.3 负面提示词的两个“不要”

不要堆砌。负面提示词不是越多越好,建议控制在10-15个词以内。过长的负面列表会稀释每个词的引导效果,反而让模型的去噪方向变得模糊。

不要在CFG过低时指望负面词。当CFG值接近1时,负面提示词的影响趋近于零。SD3.5在使用负面提示词时,推荐CFG保持在4到4.5。

五、不同模型的提示词适配策略

5.1 SDXL家族 vs SD3/Flux/DiT家族:核心差异

这是当前提示词实践中最重要的分界线。理解这个差异,可以避免把大量时间浪费在“为什么我的提示词在这个模型上有效、在那个模型上无效”的困惑中。

维度 SDXL家族(含Illustrious、NoobAI) SD3/Flux/DiT家族
文本编码器 CLIP + OpenCLIP T5-XXL或类LLM编码器
偏好格式 标签式,逗号分隔 自然语言句子
权重语法 支持(word:1.2) 通常不支持或不必要
质量词效果 显著 微弱甚至无效果
负面提示词 原生支持 Flux不支持,SD3需低CFG
多角色处理 容易特征混淆 自然语言描述关系更有效
典型提示词 1girl, solo, silver hair, kimono, garden, soft light A young woman with silver hair wearing a kimono stands on a wooden bridge in a garden, soft afternoon light filtering through cherry blossoms

这个差异的根源在于训练数据。CLIP编码器在Danbooru、e621等标签图库上训练,因此SDXL“认识”标签;而T5类编码器在更广泛的语言数据上训练,对自然语言的语义理解更强。

5.2 多角色构图:SDXL的软肋与应对

SDXL在生成两个或更多角色时经常出现“特征混淆”——角色的发色、服装、面部特征会在彼此之间混合。常用的应对方案是区域分离语法(如PixAI平台的 right: / left: 区块标记),但这本质上是一种“补丁”,效果不稳定。

在DiT架构模型上,多角色构图的表现明显更好。直接用自然语言描述角色之间的关系和位置,例如:“On the left, a young man in a black coat looks toward the right; on the right, a woman in a white dress turns to face him”——这种叙述方式在SDXL上几乎无效,但在DiT模型上能获得更自然的结果。

5.3 从SDXL迁移到DiT:需要“丢掉”的习惯

如果你习惯了SDXL的写法,切换到Flux或Tsubaki等DiT模型时,以下习惯需要主动放弃:

  • 1boy, solo, masterpiece, best quality → 改为自然句子描述
  • 大量质量标签(8k, ultra-detailed, extremely detailed) → DiT模型本身画质稳定,重复质量词可能干扰效果
  • 下划线连接(black_hair, looking_at_viewer) → DiT直接理解自然英文
  • 括号权重(black hair:1.2) → DiT不认识这种语法,想强调某元素就把它放在句子更靠前的位置

六、进阶技巧:让Stable Diffusion绘画提示词更精准

6.1 交替与调度语法

A1111 WebUI支持在生成过程中动态切换提示词。[apple:peach:0.9] 表示前90%的步骤使用“apple”,最后10%切换为“peach”。生成的画面中苹果的特征占主导,但隐约带有桃子的色泽或形态。这种语法适合需要“渐变”或“融合”效果的场景。

6.2 .blend() 和 .and():概念融合与分离

InvokeAI支持的Compel语法提供了更精细的控制方式:

.blend() 用于混合两个概念的语义:("portrait photo", "oil painting").blend(0.7, 0.3) 生成70%照片质感+30%油画笔触的混合结果。

.and() 用于将多个描述子句分别编码而非合并为一个长句:("red silk dress", "studio portrait", "soft rim light").and()。当普通提示词总是把多个概念“揉在一起”导致混乱时,.and() 值得一试。

6.3 基于顺序的“软控制”

不依赖任何特殊语法,仅仅调整提示词中词语的顺序,就能改变画面的重心。Stable Diffusion按从前到后的顺序处理提示词,靠前的词对画面的影响更大。

一个实用的顺序模板:

质量词 → 主体核心特征 → 主体次要特征 → 姿势/动作 → 场景/背景 → 光照 → 风格/画质

日本社区的验证实验表明,同样的词语、同样的种子,仅仅交换顺序,主角的大小、构图和色彩分布就会出现明显变化。

七、实战排错指南:常见问题与修复方案

7.1 人物手部畸形

这是最高频的问题。修复思路分两层:负面提示词层面加入 extra fingers, missing fingers, fused fingers, bad hands, mutated hands;正向提示词层面确保手部没有被遮挡或处于极端角度,并适当提高手部相关描述的权重。如果使用SDXL,可以配合Hand Refiner或ControlNet的深度图来进行局部修复。

7.2 主体太小或被背景“吞没”

典型原因是提示词顺序把背景词放得太靠前,或者主体的权重不足。解决方案:把主体描述移到提示词前段,并给关键特征加权重 (主体特征:1.3)。同时在负面提示词中加入 wide shot, full body(如果你想要的是中近景)。

7.3 风格“串味”:想要写实却出了卡通感

在负面提示词中加入目标风格的排除词(cartoon, anime, illustration, 3d render),并在正向提示词中强化写实相关的描述:photorealistic, 85mm lens, natural skin texture, shallow depth of field。注意SDXL对风格词的敏感度较高,而在DiT模型上,风格主要通过描述性句子来引导,而非标签列表。

7.4 颜色“染”到不该染的地方

这是CLIP编码器的一个已知现象:当提示词中出现多个颜色描述时,模型可能把颜色“分配”给错误的对象。例如“a girl with red hair wearing a blue dress”有时会生成红裙子。解决方案是使用区域分离语法或调整颜色描述的先后顺序——把更重要的颜色描述放在前面。

八、Stable Diffusion绘画提示词的资源与工具

8.1 提示词库与灵感来源

水仙的AI提示词是一个开源的中文提示词库,收录了超过5,000条提示词,覆盖Stable Diffusion、Flux、Midjourney等模型,支持关键词搜索、拼音首字母检索和标签分面筛选。

Image Prompt Library是一个在HuggingFace上的结构化数据集,包含超过61,000条经过质量筛选的提示词,按6种语法家族(逗号分隔、标签式、增强提示词、日常语言、S表达式、结构化字段)进行了分类。

Civitai仍然是获取模型专属提示词范例和LoRA触发词的首选社区,每个模型页面下方通常有用户分享的生成参数。

8.2 提示词优化工具

画境师(Art Prompt System) 是一个中文AI绘画提示词生成与优化工具,提供模板库和智能生成功能,适合中文用户快速构建结构化提示词。

Promptify浏览器扩展支持从网页图片反向生成可复用的提示词,并支持多种输出格式(通用、Midjourney、Stable Diffusion)。

九、常见问题解答

Q1:Stable Diffusion绘画提示词必须用英文写吗?

主流SDXL和SD3模型对英文的支持最好。部分模型(如快手的Kolors)支持中文,但理解完整度通常不如英文。如果你的英文写作有困难,可以先用中文构思,再用翻译工具转为英文,但建议避免机翻后直接使用——术语翻译偏差会显著影响效果。

Q2:提示词越长越好吗?

不一定。CLIP编码器的77 token窗口是硬限制,超出部分直接截断。SDXL的75个可用token(77总数减2个保留位)是硬性上限。SD3的T5-XXL支持更长的输入,但过于冗长的提示词也可能导致模型“注意力分散”,关键细节反而被淹没。精准比长度重要。

Q3:为什么负面提示词加了“no people”,画面里反而出现了人?

在引导蒸馏模型(如Flux、SDXL-Turbo)上,负面提示词根本不起作用,把“no people”写进正向提示词反而可能诱导出人。在支持负面提示词的模型上,也建议用具体的负面描述(如 crowd, multiple people)而不是否定句式(no people)。

Q4:SDXL和Flux的提示词写法可以通用吗?

不建议通用。SDXL偏好标签式输入和权重语法,Flux偏好自然语言叙述。用SDXL的标签写法喂给Flux,效果往往不如用SDXL写法喂给SDXL;反之亦然。如果你在多个模型之间切换,建议为每个模型维护独立的提示词模板。

Q5:权重调到1.5以上会怎样?

权重过高会导致“语义过载”——目标特征被过度放大,挤占其他元素的编码空间,结果可能是色彩溢出、结构畸变或画面整体失衡。A1111的权重归一化机制意味着超过一定阈值的权重会被压缩,实际效果可能和你预期的不一致。建议权重控制在0.4到1.6之间,只在极少数需要强制强调的场景下使用更高值。

Q6:怎么写提示词才能让画面更有“电影感”?

电影感的提示词组合通常包含三个维度:镜头(85mm lens, shallow depth of field, close-up)、光照(cinematic lighting, rim light, volumetric light, golden hour)、色彩(teal and orange color grading, muted tones, film grain)。但要避免只堆叠这些词而不描述画面内容——电影感建立在具体的主体和场景之上,不是靠风格词单独实现的。

以上内容不代表本平台立场,仅供读者参考