Skip to content

进阶用法 ​

我们已经学会了基础的用法,但是如果你需要进一步获得更好的作品,你需要了解更多内容。

推荐的指令格式 ​

在这个阶段,我推荐使用更加标准的格式:

text
nai4-5 [普通选项指令] '[prompt]' -K '[多角色提示词]' -u '[negative prompt]'

把 [prompt]、[多角色提示词]、[negative prompt] 用引号引用起来。

为什么推荐加引号

''、""、''、"" 这几种引号都可以。

这里推荐用 '',是因为后续在提示词里用文本渲染写法时,可能会用到 "" 或 "",可能会影响提示词的识别。

其中 -K '[多角色提示词]' 是可选的,想了解怎么画多个人物,直接看 多角色提示词。

权重 ​

首先理解权重——控制某个标签(Tag)对生成画面影响程度的数值。

在 NovelAI 中我们通过:

  • {tag} — 增强权重 × 1.05
  • [tag] — 减弱权重 ÷ 1.05

通常我们可以通过提高权重来强调某个或者多个 tag。

多个 { 或 [ 相互嵌套时,权重会逐层相乘,因此 {{ 会使被包裹的那部分提示词权重变为 1.1025 倍。

演示 ​

同样一条提示词,只改 close-up 的括号层数:

text
nai4-5 -x 663827834 'girl, catgirl under a cherry blossom tree,[[[[[[[[close-up]]]]]]]]'
text
nai4-5 -x 663827834 'girl, catgirl under a cherry blossom tree,[[[close-up]]]'
text
nai4-5 -x 663827834 'girl, catgirl under a cherry blossom tree,close-up'
8 层方括号,close-up 被大幅弱化,画面为半身
8 层 [[
×0.677 · 半身
3 层方括号,close-up 被略微弱化,画面为面部特写
3 层 [[
×0.864 · 面部
不加括号,close-up 权重为 1.0,画面为极致特写
无括号
×1.000 · 极致特写

点击任意一张可看大图

方括号是减弱,不是增强

[ 每层 ÷1.05,所以嵌套越深,close-up 越弱,镜头拉得越远。想要强调请用 {。

数值强调(::) ​

在 nai4 及其以后的模型新增了数值语法。

与写成 {{{{{this}}}}} 这样的形式不同,你可以在提示词中使用 :: 来指定一个数值强调权重:

  • 直接在 :: 前面输入想要的权重数字(例如 1.5::),它右侧的所有内容都会按该强调权重被强化;
  • 要结束被强化的区间,只需在前面放一个不带数字的 ::;
  • 用于抑制时,可以使用 0.0 到 1.0 之间的数值。

一个示例提示词可以是:

text
1girl, 1.5::rain, night ::, 0.5::coat ::, black shoes

在这个例子中,rain, night 会获得 1.5 的增强强调,而 coat 会被弱化到 0.5。

贴士

此外,:: 还起到闭合所有已开启括号的作用。

所以如果你依然喜欢用 {} 和 [],但懒得去配平括号,只要在想要强调的区间末尾放一个 ::,就能把它们统统闭合(例如 {{{{{rain ::),完全不必去数!

注意

数值强调仅适用于 V4 及更新的模型。

数字结尾的 tag 要小心

如果某个 tag 的最后一个字符是数字,那个数字会影响这个 tag 的实际权重。数字比较大时还会画出鬼图,甚至触发 500 错误。

比如:

text
1.5::bm94199::

这条会触发 500 错误,因为模型内部把 94199 当成了权重,而这个权重明显过大了。

解决方案:用空格把数字和 :: 隔开。

text
1.5::bm94199 ::

尽量避免除了权重以外的数字和 :: 贴在一起。

负数值强调 ​

在 nai4-5 及其以后的模型新增了负数值强调与抑制。

使用数值强调时,你还可以输入负数。负数往往可以成为一种更有效的负面提示手段。

如果某个角色平时总是戴着帽子,而你想让他把帽子摘掉,通常一个 -1::hat :: 就足以让帽子消失。如果还不够,可以用更强的负数值让它消失,像这样:-3::hat ::

不过,负向强调并不只限于把物体从画面中移除。它同样能有效地提示出某个标签所代表概念的反面。例如:

  • 如果你觉得画面里缺少色彩,-1::monochrome :: 通常就能把调色盘重新带回来。
  • 如果你觉得生成的图缺少精细细节,那么像 -2.5::flat color :: 或 -6::simple illustration :: 这样的写法就能立刻让它变得华丽起来。
  • 如果你的角色最后出现在一片白色的虚空里,那么 -1::simple background ::, location 或类似的写法,应该能帮助他们找回一些不那么缥缈的地点。

在很多方面,负数值强调所起的作用与不希望出现的内容相似,但它并不是要全面取代后者。一个好用的经验法则是:

负数值强调更擅长有针对性的移除与概念反转,而不希望出现的内容则可以塞进一长串不希望出现的标签,把 AI 从这些概念上引开。

注意

负数值强调仅适用于 V4.5 及更新的模型。

一个常见的坑 ​

注意

如果你用了数值语法,但是没有使用推荐格式,可能会遇到:

选项 *** 输入无效,输入帮助以查看用法

这是因为这里的 - 让我们的机器人错误识别了选项指令。

所以用数值强调时,请务必使用上面推荐的指令格式——用引号把提示词包起来。

小划工作站 ​

推荐使用 小划工作站,你可以在浏览器打开它,它能协助你完成更加标准的指令格式,并且带有权重高亮提示。