前言:
很多人觉得AI绘画出的图总差那么点意思,其实关键往往不在模型,而在那几行提示词。提示词写得好,作品直接起飞。接下来这篇内容,就把那些真正能提升出图质量的提示词技巧掰开揉碎讲清楚,从基础语法到进阶玩法,再到几个实用插件,一步步带你写出精准高效的Prompt。
一、SD提示词基础
AI绘画提示词基本规则
1、提示词(prompt)由多个词缀构成。
提示词分为正向提示词(positive prompt)和反向提示词(negative prompt),用来告诉AI哪些需要,哪些不需要。

2、词缀的权重默认值都是1,从左到右依次减弱,权重会影响画面生成结果。
比如景色Tag在前,人物就会小:

相反的人物提示词在前景物在后人物会变大或半身:

选择正确的顺序、语法来使用提示词,将更好、更快、更有效率地展现所想所愿的画面。
所以SD提示词撰写的大体逻辑是这样的:
首先我们要保证画面中质量,因此在最前面的永远是强调画面质量的提示词,之后我们要考虑我们的画面风格,你想要什么画风,接着就是我们画面需要体现的主要元素,最后是增添的细节。
若是想明确某主体,应当使其生成步骤向前,生成步骤数加大,词缀排序向前,权重提高:
画面质量 → 主要元素 → 细节
若是想明确风格,则风格词缀应当优于内容词缀:
画面质量 → 风格 → 元素 → 细节
举例:一串长的提示词可以拆分为如下:
- 画面质量:best quality,masterpiece,HDR,UHD,8K,best quality,oil_painting,
- 主要元素:princess,oval face,dancing,smile,bright pupils,
- 细节:Movie light, elves, floating light points, dreams, magic
- 画风lora:如果有的话写在这里

best quality,masterpiece,HDR,UHD,8K,best quality,((oil_painting)),
princess,oval face,dancing,bright pupils,twintails,smile,
Movie light,elves,floating light points,dreams,magic,panoramic,grand scenes,(Bokeh:1.4),
3、AI 会依照概率来选择性执行提示词。
如提示词之间有冲突,AI 会根据权重确定的概率来随机选择执行哪个提示词。
生成图片的大小会影响 Prompt 的效果,图片越大需要的 Prompt 越多,不然 Prompt 会相互污染。
4、Prompt 支持使用 emoji,可通过添加 emoji 图来达到效果。


AI认知的提示词撰写基本语法
1、提示词与提示词之间用英文逗号分隔,同时词之间要用空格隔开。
大家在撰写提示词的时候一定要注意,用英文输入法。
例如:1girl, long hair, smile (主要元素+细节)

2、提示词之间是可以换行的。我们可以利用这一特性让提示词看起来更清楚,但换行时记得加上逗号,这样AI才知道你换行了。
例如:画面质量+主要元素+细节
best quality, masterpiece,
1girl,
long hair, smile,

3、每个提示词默认权重为1,越靠前权重越高。

Girl, books, library,

library, books, Girl,

books, library, Girl,
4、提示词词数量并不是越多越好。如果你想可控生图,提示词数量控制在75个单词以内,关键词超过这个数量对整体画面影响比较小了,但可以增加一些点缀要素。
例如:这个是75个词的提示词
((ultra-detailed)), ((illustration)),((solo)),((((a girl)))),(beautiful detailed girl),(((cheongsam))),((((((arms_behind_back)))))) ,red eyes,((((beautiful detailed eyes)))),white hair,spring festival,(((chinese new year))),(((snow))),((lunar new year)),firecracker,Temple Fair,(detailed fireworks), (firecracker),((the best building)),(((best shadow))),many people,(Flying snowflakes),
超细节,插图,独奏,一个女孩,美丽的细节女孩,春装,手臂,红眼睛,美丽的详细眼睛,白发,春节,中国新年,雪,农历新年,爆竹,庙会,详细的烟花,爆竹,最好的建筑,最好的阴影,很多人,雪花飞溅

将提示词增加到100+个,注意我们在后面加上了一些无关紧要的词意图干扰AI
((ultra-detailed)), ((illustration)),((solo)),((((a girl)))),(beautiful detailed girl),(((cheongsam))),((((((arms_behind_back)))))) ,red eyes,((((beautiful detailed eyes)))),white hair,spring festival,(((chinese new year))),(((snow))),((lunar new year)),firecracker,Temple Fair,(detailed fireworks), (firecracker),((the best building)),(((best shadow))),many people,(Flying snowflakes),
ocean,beach,lake,starry_sky,park,Trapeze,city,cityscape,downtown,Tokyo_Tower,snowy mountain,cliff,claw pose,Swinging,long hair,blouse,collared_shirt,sailor_shirt,t-shirt,

二、提示词符号解析
小括号、中括号、大括号
小括号、中括号、大括号的含义:微调关键词权重。
1、小括号 ( ):一个小括号增加1.1倍权重,最多套三层小括号也就是1.331倍权重。大家可以观察下面的图片,不断用小括号强调黄色花朵的权重。


Garden, red flower, blue flower, yellow flower,
Garden, red flower, blue flower, (yellow flower)


Garden, red flower, blue flower, ((yellow flower))
Garden, red flower, blue flower, (((yellow flower)))
2、大括号 { }:也是增加权重的,但相比小括号更轻微,增加1.05倍,三层大括号权重为1.15倍。
3、中括号 [ ]:减小权重值,会把权重变为原来的0.9倍,三层就是0.729倍。
案例:同样是花园,使用中括号减重红色花朵:

best quality, masterpiece, Garden, red flower, blue flower, yellow flower

best quality, masterpiece, Garden,[[[ red flower]]], blue flower, yellow flower
4、自定义权重:只可使用小括号控制,格式为(x:0.5)。权重取值范围0.4-1.6,权重太小容易被忽视,太大容易拟合图像出错。
案例:使用自定义权重蓝色花朵对比:

best quality, masterpiece, Garden, red flower, (blue flower:0.4), yellow flower

best quality, masterpiece, Garden, red flower, (blue flower:1.6), yellow flower
5、使用尖括号 <> 调用lora:lora简单来说就是风格化模型,可以生成我们想要的特定风格或者人物。

在提示词中使用

样例:使用lora让图片特定风格。
使用lora前
使用lora后
样例:通过权重来调整lora对画面的影响(0.1-1)。

best quality, masterpiece, Garden, red flower, blue flower, yellow flower

best quality, masterpiece, Garden, red flower, blue flower, yellow flower
6、使用下划线和and连接提示词。下划线_起到连接作用,让词与词更紧密连接到一起,防止歧义。例如想让AI生成一个咖啡蛋糕,如果不加下划线它很可能理解不了,会出现单独的咖啡和蛋糕,加了下划线后它就理解得更好了。

masterpiece,best quality, coffee cake,

masterpiece,best quality, coffee_cake,
AND:将多个词缀聚合在一个提示词顺序位置中,其初始权重一致。例如用这个技巧生成多色头发。

best quality, masterpiece, a girl, green hair:1.3 and red hair:1.5 and yellow hair:1.2
三、提示词进阶语法
1、控制提示词的生效时间
[提示词:0-1数值]:意思是采样值达到X(数值)以后才开始计算这个提示词的采样。
例如:Forests, trees,weeds, [flowers:0.7],采样值达到70%以后才开始计算花的采样。

[提示词::0-1数值]:意思是一开始参加采样的词整体到X(数值)以后退出采样。
例如:Forests, trees,weeds, [flowers::0.7],花一开始参加采样,整体到70%以后退出采样。

[提示词1:提示词2:0-1数值]:前X(数值)采样提示词1,后1-X采样提示词2。
例如:best quality, masterpiece,forest, [stone:flower:0.7],前70%石头采样生效,后30%花朵采样生效。

反向:best quality, masterpiece,forest, [flower:stone:0.7],前面花先采样,后面采样石头。

2、交替采样:写法 [提示词1"提示词2]
例如:1girl, [red|blue] hair,(括号外加词缀意味着两个颜色的共享元素),一步红头发,一步蓝头发这样不断循环。

假如不加词缀:[cow " horse] 可以生成牛和马的混合体。

举例:[bird"airplane] in sky 天空中一只飞机鸟。

四、提示词插件推荐
1、One Button Prompt
只需一个主题,就能生成一系列不同风格类型的图片,自动丰富关键词。
安装方法:在线安装或下载后拖到\Extensions\文件夹中。
GitHub: https://github.com/Airjen/OneButtonPrompt

使用方法:在框框内填写提示词,直接生成。


一个白头发女孩拓展生成效果。

一个白头发女孩拓展生成效果。
2、sd-dynamic-prompts
动态提示词插件,方便生成组合式图片。
安装方法同上。
GitHub: https://github.com/adieyal/sd-dynamic-prompts
使用方法:勾选启用。

最大生成数:0就是所有方式都生成一次;组合批次:每个类型生成几张。自动批次组合生成。开启动态提示词插件后,可以使用全新语法进行提示词搭配:A {boy " girl} in {school | street | forest},上面这串语法意思是生成一个老师或者学生分别在学校、街道和森林的6种组合。

丰富提示词功能:打开魔法提示词功能可以丰富提示词。例如输入一个提示词:a girl,词的数量越长,创意越高,AI发挥的越多。

推荐使用模型:succinctly/text2image-prompt-generator。这是一个在简洁/中途提示数据集上微调的GPT-2模型,包含用户一个月内向Midjourney发出的250k条文本提示。该提示生成器可用于自动完成任何文本到图像模型的提示(包括DALL·E家族)。强力推荐,词穷抽卡必备。
AUTOMATIC/promptgen-lexart:从lexica.art艺术网站上训练的模型,微调了100个epoch,适合艺术风格画的魔法扩展。
Gusta vosta/MagicPrompt-Stable-Diffusion:MagicPrompt系列模型中的第一个,经过150,000步和约80,000个数据训练,从图像查找器中过滤提取用于稳定扩散。通用实用,效果卓越。
模型安装注意:第一次使用模型会自动下载,需要等待一下,并关闭启动器的国内Pipy镜像、Git镜像、链接等,否则会报错:Error while generating prompt: ‘NoneType’ object cannot be interpreted as an integer。

动态提示词效果:A girl 拓展为:a girl, read book, wearing green balenciaga top, anime style, artstation, muted colors, cool colors, by Ashley Wood. --ar 2:3 --stop 80 –uplight

3、Prompt-all-in-one
插件功能:一键翻译提示词,中文直接生成英文提示词;直接调用预设好的提示词,便捷添加提示词权重;其他按钮功能;与ChatGPT对接。
插件安装地址:https://github.com/Physton/sd-webui-prompt-all-in-one

4、oldsix-prompt
插件功能:预设丰富的起手式和提示词;可以随机生成提示词的预设。

