本文示例都是用的 ReV Animated V1.2.2 模型, 参数是 stable-diffusion-webui 的默认参数。
- https://civitai.com/models/7371/rev-animated
- https://github.com/AUTOMATIC1111/stable-diffusion-webui
提示词一定要用中文么?
我们用一个苹果放在桌子上中英文来做提示词看生成的效果,
从下面两幅图可以看到,中文根本不知道生成的是啥,英文满足我们的期望。
一个苹果放在桌子上
竟然画出了这个
一个苹果放在桌子上
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 3022276479, Size: 512x512, Model hash: 4199bcdd14, Model: revAnimated_v122
用英文时
An apple on the table
An apple on the table
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 3513630856, Size: 512x512, Model hash: 4199bcdd14, Model: revAnimated_v122
逗号分隔语意tag
使用英文逗号 , 分隔不同的关键词tag,空格和换行等不影响tag分隔。
比如我们用下面关键字来绘画
1girl , long hair , low twintails , front ponytail
- “1girl” 是指绘图的主题,通常是指一张只有一个女孩的插画或漫画。
- “long hair” 长头发。
- “low twintails” 是一种发型,是将头发分成两部分,然后在头顶上方的位置绑成两个小辫子的一种发型。
- “front ponytail” 是一种发型,是将头发拉到前面,然后用发带或发夹固定在前额上方的一种发型。这种发型可以让人看起来更加清爽、干净。
1girl , long hair , low twintails , front ponytail
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 3958830808, Size: 512x512, Model hash: 4199bcdd14, Model: revAnimated_v122
要素混合
将 | 加在多个关键词之间,可以实现多个要素的混合。
1girl , blue | black hair , low twintails , front ponytail
蓝黑相间的头发
1girl , blue | black hair , low twintails , front ponytail
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 4004018812, Size: 512x512, Model hash: 4199bcdd14, Model: revAnimated_v122
[cat|tiger]
代表cat和tiger交替绘制,最后能生成虎猫兽。
[cat|tiger]
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 3450602202, Size: 512x512, Model hash: 4199bcdd14, Model: revAnimated_v122
[cow|donkey|horse|zebra|deer|elephant] in a field
代表牛驴马斑马鹿大象交替绘制,最后生成一个奇怪的四不象。
[cow|donkey|horse|zebra|deer|elephant] in a field
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 8773839, Size: 512x512, Model hash: 4199bcdd14, Model: revAnimated_v122
权重
权重会影响生成图片和关键词的联系度,默认的单词顺序就会影响权重,单词顺序越往后,权重越低。
权重数值从0.1~100,默认状态是1,低于1就是减弱,大于1就是加强。
语法糖: () 每用一次代表权重提高 1.1 倍,[] 每用一次代表权重降低 1.1 倍,以此类推。也可以直接在括号里输入冒号后面直接写上权重的数值。
- (word) - 将括号内的提示词权重提高 1.1 倍
- ((word)) - 将括号内的提示词权重提高 1.21 倍 (= 1.1 * 1.1)
- [word] - 将括号内的提示词权重降低 1.1 倍
- (word:1.5) - 将括号内的提示词权重提高 1.5 倍
- (word:0.25) - 将括号内的提示词权重减少4 倍(= 1 / 0.25)
示例
(1girl : 1.2) , long black hair , (cat ears : 1.1) , (nice_dress : 0.9)
- long black hair 长黑头发
- cat ears 猫耳朵
- nice_dress 连衣裙
(1girl : 1.2) , long black hair , (cat ears : 1.1) , (nice_dress : 0.9)
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 2409461809, Size: 512x512, Model hash: 4199bcdd14, Model: revAnimated_v122
渐变
语法:
[from:to:when]
先绘制前面的提示词内容(from),然后再绘制后面的提示词内容(to),当(when)时转变。
举个例子:
[beach girl 10]
这种写法中,如果总步数设置为20,前10步渲染关键词beach 沙滩 ,后面10步渲染关键词girl 女孩。
[beach girl 10]
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 1016618029, Size: 512x512, Model hash: 4199bcdd14, Model: revAnimated_v122
此语法还有两个变体:
[to:when] - 在设定的步数后开始绘制
[from::when] - 在设定的步数后结束绘制
当when小于1时,认为是百分比,下面例子,黑白相间各50%的头发:
1girl , [white : black : 0.5] hair , low twintails , front ponytail
1girl , [white : black : 0.5] hair , low twintails , front ponytail
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 1346704297, Size: 512x512, Model hash: 4199bcdd14, Model: revAnimated_v122
并存
此语法使用大写 AND ,以使两者权重保持一致。
例如下面这个是即像狮子又像熊的动物
a lion AND a bear
a lion AND a bear
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 3135028232, Size: 512x512, Model hash: 4199bcdd14, Model: revAnimated_v122
另外此语法支持指定权重值:默认权重值为 1,也可以指定每个提示词的权重,比如:
a cat :1.3 AND a dog :1.2 AND a panda :2.6
下面这幅画,更像熊猫,但是也有猫和狗的特征。
a cat :1.3 AND a dog :1.2 AND a panda :2.6
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 2243564072, Size: 512x512, Model hash: 4199bcdd14, Model: revAnimated_v122
总结
提示词prompt语法主要就是各种权重、渐变、混合..., 搞懂了提示词prompt语法,我们在写提示词的时候就可以适当使用上面这些技巧。