你是否曾经想过,如何使用稳定扩散(Stable Diffusion)模型来生成精美的图像?本文将为你提供关于如何构建有效的提示词(Prompt)的详细指南,以便让AI按照你的愿望生成图像。无需担心,我们将逐步解释提示词的构成、权重逻辑、分隔符、组合符、连接符等关键概念,让你能够更好、更快、更高效地使用这一强大的模型。
一、基础综述
1.1 提示词的构成
提示词是由多个词缀构成的,可以分为正向提示词和反向提示词,用于告诉AI生成图像时需要考虑哪些元素,哪些元素应该排除。反向提示词描述了我们不想要的内容。例如,"NSFW"表示不适合在工作时查看的内容,包括限制级内容、低画质相关以及一些容易变形的身体部位描述等。为了方便,你可以下载"Easynegative"文件,它已经将一些常用的反向提示词整合在一起,只需输入关键词即可获得更好的效果。
1.2 词缀的权重
每个词缀都有一个默认权重值为1,从左到右依次减弱。这些权重值将影响生成图像的结果。例如,如果景色的词缀放在前面,人物可能会变得较小,反之,如果人物的词缀在前面,人物可能会变得更大或者只显示半身。因此,选择正确的词缀顺序和语法将更好地表达你想要的画面。
1.3 提示词的概率执行
AI会根据概率选择性地执行提示词。如果提示词之间存在冲突,AI将根据权重确定执行哪个提示词的概率。生成图片的大小会影响提示词的效果,较大的图片可能需要更多的提示词,否则提示词可能会相互干扰。提示词还支持使用表情符号(emoji),它们具有较好的表现力,可以通过添加表情符号图像来达到效果。
二、权重语法
2.1 权重逻辑
如果你想要明确某个主题,应该增加该主题的生成步骤、提高词缀的权重。以下是权重逻辑的示例:
- 画面质量 → 主要元素 → 细节
- 画面质量 → 风格 → 元素 → 细节
你还可以尝试将风格的权重优先于画面质量,以确保特殊风格质感不会被画面质量污染。
2.2 分隔符
逗号(,)是分隔词缀的符号,它具有一定的权重排序功能,逗号前的词缀权重较高,逗号后的词缀权重较低。因此,建议按照以下排序方式组织你的提示词:
- 综述(图像质量+画风+镜头效果+光照效果+主题+构图)
- 主体(人物&对象+姿势+服装+道具)
- 细节(场景+环境+饰品+特征)
例如:
absurdres, 8k, comic, viewfinder, 1male, run, black hair, orange sun, blue sky,
2.3 组合符
冒号(:)、圆括号(())、花括号({})和方括号([])是自定义权重数值的符号,用于调整词缀的权重。以下是示例:
- 圆括号:增加权重0.1,如
(1girl)
表示权重乘以1.1。 - 花括号:增加权重0.05,如
{1girl}
表示权重乘以1.05。 - 方括号:减少权重0.1,如
[1girl]
表示权重除以1.1。 - 复用括号:叠加权重,如
((1girl))
表示权重乘以1.1*1.1,即1.21。
叠加权重时,每加一层相当于提高1.1倍权重。权重的取值范围在0.4到1.6之间,权重太小可能会被忽视,太大可能会导致图像生成错误。
2.4 连接符
连接符包括AND(和)、|(或)、_(下划线)、+(加号)、|(竖线)和,(逗号)。它们用于组合词缀,实现不同元素的融合或并列。以下是示例:
- AND(和):将多个词缀在一个提示词位置中聚合,其初始权重一致,如
bird and dog and pig
或bird:1.5 and dog:1.2 and pig:0.8
。 - |(或):元素的权重可以不一致,如
(red hair:1.1)+(yellow hair:1.25)+(green hair:1.4)
或(red hair:1.1)|(yellow hair:1.25)|(green hair:1.4)
。 - _(下划线):类似于竖线,用于组合不同词缀,如`(red hair:1
.1)(yellow hair:1.25)(green hair:1.4)`。
- +(加号):用于表示权重相加,如
(red hair:1.1)+(yellow hair:1.25)+(green hair:1.4)
。 - ,(逗号):在对象一致时,逗号具有连接的功能,如
(red hair:1.1),(yellow hair:1.25),(green hair:1.4)
。
三、分布交替渲染
在方括号([])中使用:、|等符号可以实现复杂的分布与交替渲染需求。以下是示例:
[A:B:step] [元素1:元素2:步骤比例]
:渲染元素1到多少进度后开始渲染元素2,实现元素1与元素2的互相叠加。例如,[blue:red:0.4]
表示渲染蓝色到40%进度后,开始渲染红色。[A:step] [元素1:步骤比例]
:从多少进度开始渲染元素1,例如,[blue:0.4]
表示在执行40%的步骤后开始渲染蓝色。[A::step] [元素1::步骤比例]
:渲染到多少进度的时候停止元素1的渲染,其他元素的渲染继续,例如,[blue::0.4]
表示在执行了40%的步骤后停止渲染蓝色。[A|B] [元素1|元素2]
:元素1和元素2的交替混合渲染,例如,[blue|red]
表示融合蓝色与红色。[xx|xx|xx|xx|xx…]
:本质上是一种在平等权重下融合词缀生成单个元素,不限制混合元素的数量。
3.1 举例
以下是一些示例,帮助你更好地理解分布交替渲染:
-
(absurdres), 8k, comic, ((viewfinder)), 1male, running, (jumping:1.5), black hair, orange sun, blue sky,
在这个示例中,我们强调跳跃(jumping)的权重最高,生成的图像将具有明显的跳跃感。 -
absurdres, 8k, comic, [viewfinder], (1male), running|jumping, (red hair:1.1)(yellow hair:1.25)(green hair:1.4), (orange sun)_(blue sky),
这个示例中,我们融合了跑步(running)和跳跃(jumping),并且增强了绿色头发的权重。这将导致图像中出现具有绿色头发的人物,并且可能有一些头发为白色的人物。此外,橙色太阳和蓝色天空也会同时出现。
四、调取 LoRA & Hypernetworks 模型
如果需要使用LoRA或超网络(Hypernetworks)模型,可以在提示词中使用尖括号(<>)。例如,<lora:cuteGirlMix4_v10:0.5>
可以调用相应的模型。确保在文件夹中保存了相关模型文件,例如【…\models\lora】或【…\models\hypernetworks】。
结语
希望这份详细的稳定扩散提示词使用指南能够帮助你更好地掌握如何构建有效的提示词,以生成令人满意的图像。记住,实践是提高技能的最佳方法,所以不要害怕尝试不同的提示词组合和权重,让你的创作更具创意和表现力。