Prompts 请见评论区
持续更新于 >> https://code.evink.cn/2023/12/post/stable-diffusion-prompts-compilation/
提示词(Prompts)的几个特质
1.分词
Prompts可以是一个完整的句子,但更常用的是通过英文的逗号(,)来拆分提示词
1
2 $ A blue cat flying <- 完整的句子
$ (masterpiece:1.2), high quality,cat with blue spots,flying <- 逗号分隔2.换行: 提示词可以换行
1
2
3
4 $ A blue cat flying <- 整行
$
$ A blue cat
$ flying <- 换行3.权重: 每个Prompt的默认权重为1,且越靠前,权重越高
所以,对于决定了输出图像风格的Prompt,要在最前给出。如画质/画风提示词,而越往后的提示词,会被SD认为越不重要。
3-1. 一般而言,超过75个词之后的prompt对于输出的影响极其有限4.符号的意义
4-1 小括号、中括号和大括号
小括号和大括号都是用于增加关键词权重的,中括号是用于减少权重的,他们最多可以嵌套3层,如:
1
2
3
4 (red) ((red)) (((red))) <- 小括号
{red} {{red}} {{{red}}} <- 大括号
[red] [[red]] [[[red]]] <- 中括号
其中,每层小括号为关键词提供1.1倍的权重增加,大括号是1.05倍,中括号则是0.9倍的权重减少。即:
1
2
3
4
5
6
7
8
9
10
11
12
13 red = red:1
(red) = red:1.1
((red)) = red:1.21
(((red))) = red:1.331
{red} = red:1.05
{{red}} = red:1.1025
{{{red}}} = red:1.15
[red] = red:0.9
[[red]] = red:0.81
[[[red]]] = red:0.729
除此之外,小括号也可以直接设置权重,也是一般常用的设置方法,如:
1 (red:1.5),(green:0.3)
权重数值的范围一般控制在[0.3, 1.5]之间5.尖括号和Lora
lora也是模型文件,但和SD的模型不同的是,lora通常只有很小的体积,并且要搭配SD模型一起使用。
可以理解为lora是SD模式的风格插件。
而尖括号就是用来调用lora模型的,其格式如下:
1
2
3
4 <LORA:触发词:权重>
如:一个汉服插件提供了 hanfu 这个作为触发词,则
$ girl,in hanfu <LORA:HANFU:0.6>6.下划线: 消除歧义
使用下划线,将两个单词连接为一个单词,这样SD就会将这两个词联系地更加紧密,如:
1
2
3 A plate with coffee cake <- SD可能理解为咖啡和蛋糕
A palte with coffee_cake <- SD可能理解为咖啡味道的蛋糕
进阶规则
1.控制生效时间
1-1. 使用中括号控制Prompt在SD采样进程的参与时间,如:
[flowers:0.7] 这个Prompt的直接结果就是,输出画面中鲜花的比例较少
1 $ Forest, [flowers:0.7] <- 画面采样70%后,剩下的30%过程有flowers参与
1-2. 而若想画面与上面相反,则需要使用双引号,如:
[flowers::0.7] 这个Prompt的直接结果就是,输出画面中鲜花的比例较多
1 $ Forest, [flowers::0.7] <- 前70%过程中,有flowers参与,后30%则没有
1-3. 两个关键词交替时间采样
在中括号中使用两个提示词和一个时间数值,并且用冒号分隔,如:
[stones:flowers:0.7] 则代表前面70%的采样进程中,将只用 提示词stones 进行采样,而后30%的进程中,则只用 提示词flower 进行采样。2.交替采样
在中括号里,以竖线(|)分隔两个提示词,就会在采样进程中,让这两种提示词交替采样,如:
1 $ 1GIRL, [RED|BLUE] HAIR <- 最终生成一个红蓝相间头发的女孩
✨ 更多提示词欢迎各位在评论区(需要梯子)分享