Prompts提示词简介
在Stable Diffusion中,Prompts是控制模型生成图像的关键输入参数。它们是一种文本提示,告诉模型应该生成什么样的图像。
Prompts可以是任何文本输入,包括描述图像的文本,如“一只橘色的短毛猫,坐在草地上,背景是蓝天白云”,也可以是关键词的组合,如“鸟,森林,天空”。
通过使用Prompts,我们可以控制生成图像的样式、主题、颜色、纹理等。同时,我们还可以通过调整Prompts的权重来控制不同要素在图像中的突出程度。例如,如果将某个关键词的权重设置得更高,那么模型在生成图像时就会更加注重这个关键词的体现。
除了手动编写Prompts,我们还可以利用一些工具来生成Prompts。例如,可以使用AI绘画工具生成一个初步的图像,然后将其作为参考图,通过调整参考图的参数来生成新的Prompts。这样可以使Prompts更加贴合我们的需求,提高生成图像的质量和效率。
需要注意的是,不同的模型和参数设置会对Prompts的解读和生成结果产生影响。因此,在使用Prompts时需要不断尝试和调整,以找到最佳的组合和权重设置。
提示词是提示而不是判定依据,比如你输入质量判定词汇的时候,其实是在限制数据的范围,而不是 “要求” AI 出一张很好的图片。
提示词语法
基本格式
Stable Diffusion 提示词仅支持用英文,可以是英文句子短语,标签词组。例如:我们要AI画一个女孩在森林漫步的场景图片,我们的提示词可以有两种写法
- a girl was walking in the forest
- a girl,walking,forest,
这两种写法的出图效果是一样的。一般情况下,我们都会使用第二种词组标签的写法,一是能写更少的单词,二是后期修改提示词的时候时候非常方便。
注意事项
- 每个标签之间要用英文逗号分割开来。
- 不区分大小写。Stable Diffusion都会把大写自动转成小写
- 越靠前的标签,权重越大。
- 目前Stable-Diffusion-UI最大支持的提示词是75个。
- 提示词越多生成的绘画出来的内容就越难把控,不要写入两个或者更多相互矛盾(意思相反的提示词)。
- 提示词中包含相同或者类似的提示词越多,画面出现提示词内容权重就越大。
权重系数
权重系数可改变提示词特定部分的比重。
分割符
- , 逗号: 分割词缀,有一定权重排序功能,逗号前权重高,逗号后权重低,因而建议排序:
综述(图像质量+画风+镜头效果+光照效果+主题+构图)
主体(人物&对象+姿势+服装+道具)
细节(场景+环境+饰品+特征)
先把描述图片质量,分辨率、风格的放在提示词的最前面,其次是绘画的主题内容的提示词,最后是绘画细节的提示词。按照这里的顺序书写提示词,绘画的效果会更好。
组合符
- () 圆括号: 增加权重0.1,即权重标为1.1
大部分情况用圆括号即可。
// 权重乘以1.1
(1girl)
- {} 花括号: 增加权重0.05
// 权重乘以1.05
{1girl}
- [] 方括号: 减少权重0.1,也有说是减弱0.05的
方括号中无法自定义权重数值,自定义权重只能使用(x:0.5)形式。
// 权重乘以0.9
[1girl]
- (())、{{}}、[[]] 复用括号: 叠加权重
// 权重乘以1.1*1.1,即权重为1.21
((1girl))
// 权重乘以1.05*1.05,即权重为1.1025
{{1girl}}
// 权重乘以0.9*0.9,即权重为0.81
[[1girl]] // 权重乘以1.1*1.1*1.1,即权重为1.331
(((1girl)))
// 权重乘以1.05*1.05*1.05,即权重为1.157625
{{{1girl}}}
// 权重乘以0.9*0.9*0.9,即权重为0.729
[[[1girl]]]
- : 冒号: 自定义权重数值(仅支持圆括号)
格式:左圆括号 + 词缀 + 冒号 + 数字 + 右圆括号
// 单人女孩词缀,权重为0.75
(1girl:0.75)
// 单人女孩词缀,权重为1.2
(1girl:1.2)
连接符
- AND 和: 将多个词缀聚合在一个提示词顺序位置中,其初始权重一致
// 三个词缀权重一致
bird and dog and pig// 可使用冒号标记其权重
bird:1.5 and dog:1.2 and pig:0.8
- | 竖线 混合两个描述同一对象的提示词要素
//生成白色和黄色混合的花
white | yellow floewer,
- _ 下划线 加强单词之间的联系
在这里插入代码片
标签替换和标签轮转
标签替换
[] 方括号中使用: | 等符号,则可实现较为复杂的分布与交替渲染的需求。
- [from:to:when]: 渲染元素1到多少进度后开始渲染元素2,实现元素1与元素2的互相叠加,可用于两个词条的融合。即 [元素1:元素2:迭代步数比例] 或者即 [元素1:元素2:迭代步数]
// 当图片采样迭代步数到达40%进度后,开始渲染红色
[blue:red:0.4] flower// 前12步渲染蓝色后,开始渲染红色
[blue:red:12] flower
标签轮转
- **[A|B|C] [提示词1|提示词2|提示词3]:**元素1和元素2的交替混合渲染,意思就是渲染一次A,再渲染一次B,再渲染一次A~~以此往复直至最后。
//生成的第一步将使用 blue,第二步将使用red,第三步将使用yellow,第四步将使用blue,依此类推。
[blue|red|yellow]
调取 LoRA & Hypernetworks 模型
<> 尖括号: 调取LoRA或超网络模型等。
输入:<lora:filename:multiplier> 或 <hypernet:filename:multiplier> 可调取相应模型。
//调用lora模型
<lora:cuteGirlMix4_v10>
//调用lora模型 权重为0.5
<lora:cuteGirlMix4_v10:0.5>
Emoji表情符
Emoji (💰,💶,💷,💴,💵,🎊,🪅🪄,🎀,👩🚀) 表情符号也是可以使用并且 非常准确 的。
😃 微笑 😦 不悦 😉 使眼色 😄 开心 😛 吐舌头 :-C 很悲伤 😮 惊讶 张大口 😕 怀疑
Emoji 因为只有一个字符,所以在语义准确度上表现良好。
Emoji 在构图上有影响,比如 💐☺️💐。
提示词使用技巧
Stable Diffusion是一种基于transformer的文本到图像生成模型,可以通过文本提示生成高质量的图像。提示词是给Stable Diffusion输入的文本提示,它可以指导模型生成什么样的图像。选择合适的提示词非常重要,可以大大影响最终生成结果的质量。下面我将详细讲解提示词的使用技巧:
-
以英文写提示词。Stable Diffusion是以英文训练的模型,使用英文提示词可以获得最佳效果。
-
**提示词越具体越好。**提示词应该尽可能明确地指出你想要生成什么样的图像,避免模糊、笼统的描述。例如“一只可爱的猫咪”比“一只猫”更好,“一个穿着蓝色衬衫的女孩”比“一个女孩”更好。明确的描述可以减少模型的困惑,生成更符合预期的结果。
-
**使用多词短语而不是单个词。**使用“坐在海边的少女”而不是简单地用“海”和“女孩”。短语可以更清晰地表示组合意义,单个词往往多义,增加模型需要处理的不确定性。
-
**补充修饰词。**使用形容词和副词来增加描述细节,例如“一只快乐地玩耍的金毛猎犬”。修饰词可以明确对象的属性、状态和动作,减少生成的随机性。
-
指定样式和组成。可以直接指定“风格为糖果色调”“像漫画一样”来指导图像的视觉风格。也可以指定对象“右上角有一只猫”来指导组成。明确指导可以减少需要多次尝试的时间。
-
排除不需要的内容。可以使用“没有文字”“不要水印”等指示来去掉不需要的元素。特别是需要生成照片时,可以指明“无水印照片”以避免生成带商标的图像。
-
对 prompts进行细分。可以把提示词分成几部分,分别控制场景、风格、视角等不同方面。例如“一只雪白的猫,背景是蓝天白云,透视角度仰视”。这可以使得提示更结构化,各个方面可以自由组合。
-
**尝试不同的提示方式。**可以用不同的语句结构、词汇描述同一个意图,看哪种效果更好。也可以尝试用不同语言的提示词。提示词的表述方式对结果有很大影响。
-
**生成时候控制参数。**除了文本提示,生成参数如steps、sampling方法等都会影响结果。可以结合参数控制使结果更可控。
-
查看例图选用已知好的提示词。prompts-engine等网站收集了大量示例图片与prompts,可以直接借鉴使用效果好的提示词。
-
迭代优化找到最佳提示词。生成结果与预期不符时,可以修改提示词重新生成,逐步逼近理想结果。保持提示词的持续优化非常必要。
综上,良好的提示词应具备明确、具体、细节丰富等特点。需要注意提示词的表述方式,区分不同的控制因素,同时结合参数控制使生成可控。要多次迭代试验,优化找到最佳提示词组合。熟练掌握提示词的运用可以大大提高Stable Diffusion的生成能力,是使用中的关键技巧。