AI绘图提示词Stable Diffusion Prompt 笔记

2023-09-18 16:42:04

基础

  • 提示词分为正向提示词(positive prompt)和反向提示词(negative prompt),用来告诉AI哪些需要,哪些不需要
  • 词缀的权重默认值都是1,从左到右依次减弱,权重会影响画面生成结果。
  • AI 会依照概率来选择性执行,如提示词之间有冲突,AI 会根据权重确定的概率来随机选择执行哪个提示词。
  • 生成图片的大小会影响 Prompt 的效果,图片越大需要的 Prompt 越多,不然 Prompt 会相互污染。

例子

使用webui

Negative prompt

easynegative, canvas frame, cartoon, 3d, ((disfigured)), ((bad art)), ((deformed)),((extra limbs)),((close up)),((b&w)), wierd colors, blurry, (((duplicate))), ((morbid)), ((mutilated)), [out of frame], extra fingers, mutated hands, ((poorly drawn hands)), ((poorly drawn face)), (((mutation))), (((deformed))), ((ugly)), blurry, ((bad anatomy)), (((bad proportions))), ((extra limbs)), cloned face, (((disfigured))), out of frame, ugly, extra limbs, (bad anatomy), gross proportions, (malformed limbs), ((missing arms)), ((missing legs)), (((extra arms))), (((extra legs))), mutated hands, (fused fingers), (too many fingers), (((long neck))), Photoshop, video game, ugly, tiling, poorly drawn hands, poorly drawn feet, poorly drawn face, out of frame, mutation, mutated, extra limbs, extra legs, extra arms, disfigured, deformed, cross-eye, body out of frame, blurry, bad art, bad anatomy, 3d render

权重语法

权重逻辑

若是想明确某主体,应当使其生成步骤向前,生成步骤数加大,词缀排序向前,权重提高。
画面质量 → 主要元素 → 细节

// 超高分辨率, 8k, 漫画风, 相机取景框,一个男子, 奔跑(动词原型), 黑色头发, 橙色太阳, 蓝色天空
absurdres, 8k, comic, viewfinder, 1 male, run, black hair, orange sun, blue sky,

若是想明确风格,则风格词缀应当优于内容词缀
画面质量 → 风格 → 元素 → 细节

未证实:风格权重或许需要优于画面质量,从而不至于被画面质量污染特殊风格质感。

// 超高分辨率, 8k, 漫画风, 相机取景框, 一个男子, 奔跑(现在分词), 黑色头发, 橙色太阳, 蓝色天空
absurdres, 8k, comic, viewfinder, 1 male, running, black hair, orange sun, blue sky,

这2个例子,run 改为 running

分割符

, 逗号:分割词缀,有一定权重排序功能,逗号前权重高,逗号后权重低,因而建议排序:

  1. 综述(图像质量+画风+镜头效果+光照效果+主题+构图)
  2. 主体(人物&对象+姿势+服装+道具)
  3. 细节(场景+环境+饰品+特征) 

组合符

: 冒号:自定义权重数值
格式:左圆括号 + 词缀 + 冒号 + 数字 + 右圆括号

// 单人女孩词缀,权重为0.75
(1girl:0.75) 

() 仅圆括号:增加权重0.1  大部分情况用圆括号即可。

// 权重乘以1.1
(1girl) 

{} 花括号:增加权重0.05

// 权重乘以1.05
{1girl}

[] 方括号:减少权重0.1,也有说是减弱0.05的
方括号中无法自定义权重数值,自定义权重只能使用(x:0.5)形式。

// 权重除以1.1
[1girl] 

(()){{}}[[]] 复用括号:叠加权重

// 权重乘以1.1*1.1,即权重为1.21
((1girl))

+ 加号

(+ 等于 1.1, ++ 等于1.1的平方, +++ 等于1.1的立方

- 等于 0.9, --等于0.9的平方

a tall thin man (picking apricots+)++ (apricots effectively gets +++)

https://github.com/invoke-ai/InvokeAI/blob/main/docs/features/PROMPTS.md

 

一般流程:先把要描述的画面写下生成一次,根据生成结果边试边改不满意或遗漏的描述,要强调的概念用 (xxx: 1.x ) 语法形式来提升权重,其中 xxx 是你要强调的词,1.x 代表要提升的比例,如 1.5 就是提升 150% 的权重。
权重取值范围 0.4-1.6,权重太小容易被忽视,太大容易拟合图像出错。例:(beautiful:1.3) 。
叠加权重:通过叠加小括号方式提高权重,每加一层相当于提高1.1倍权重,例:((((beautiful eyes)))) 。

// 跳跃的权重最高
(absurdres),  8k, comic, ((viewfinder)), 1male, running, (jumping:1.5), black hair, orange sun, blue sky,

 连接符

  • AND :将多个词缀聚合在一个提示词顺序位置中,其初始权重一致
// 三个词缀权重一致
bird and dog and pig

// 可使用冒号标记其权重
bird:1.5 and dog:1.2 and pig:0.8

实际使用时发现用and连接词缀,可能会出现物体合并的现象,比如白菜和肉,可能会生成一张白菜里包着肉的诡异图片。

分布与交替渲染

[] 方括号中使用:| 等符号,则可实现较为复杂的分布与交替渲染的需求。

// 渲染蓝色到40%进度后,开始渲染红色
[blue:red:0.4]

// 前12步渲染蓝色后,开始渲染红色
[blue:red:12]

 注:
step > 1 时表示该组合在前多少步时做为 A 渲染,之后作为 B 渲染。
step < 1 时表示迭代步数(参与总步骤数)的百分比。

// 在执行40%的步骤后,开始渲染蓝色
[blue:0.4]
// 在执行15步之后,开始渲染蓝色
[blue:15]
// 在执行了40%的步骤后,停止渲染蓝色
[blue::0.4]
// 在执行了15步后停止渲染蓝色
[blue::15]
// 融合蓝色与红色,紫色?
[blue|red]
// 某物与某物的交替演算,用于生成融合生物,句中词缀含义为融合牛与马。
[cow|horse] 
// 一个蓝红混色染发的短发女孩
1 girl, [blue|red]hair, short hair

best quality, very detailed, absurdres,  8k, comic, [viewfinder], one lady with long [blue|red]hair is sitting on ground, birds around her, blue sky+[orange sun], 

 

// [viewfinder] : 权重减少0.1 权重0.9
// 1male+running :+ 连接符
// ([red:blue:0.3]hair) : 渲染红色到30%进度后,开始渲染蓝色
// [[orange sun]] : 权重 0.9*0.9
absurdres,  8k, comic, [viewfinder], (1 male)+running, 1 female ([red:blue:0.3]hair)(long hair) jumping, [[orange sun]], [blue sky], (bird and horse) in sky, 

资源

词缀获取渠道

AI绘图提示词/咒语/词缀/关键词使用指南(Stable Diffusion Prompt 设计师操作手册)_暂时先用这个名字的博客-CSDN博客

https://www.fiverr.com/resources/guides/graphic-design/5-ai-art-ideas

    • [A:B:step] [元素1:元素2:步骤比例] :渲染元素1到多少进度后开始渲染元素2,实现元素1与元素2的互相叠加,有类似于[from:to:when]的感觉,可用于两个词条的融合
    • [A:step] [元素1:步骤比例] :从多少进度开始渲染元素1
    • [A::step] [元素1::步骤比例]:渲染到多少进度的时候停止元素1的渲染(其它元素的渲染继续)
    • [A|B] [元素1|元素2]:元素1和元素2的交替混合渲染,意思就是渲染一次A,再渲染一次B,再渲染一次A~~以此往复直至最后
    • [A|B]C [元素1|元素2]元素3
      括号外加词缀意味着融合过程中的共享元素。

参考:

https://wgmimedia.com/midjourney-prompts-for-anime/

更多推荐

详细介绍下路由器的LAN接口

路由器的LAN口(LocalAreaNetworkport)是指用于连接局域网(LAN)设备的接口。它提供了有线连接的接口,允许局域网内的设备通过以太网线连接到路由器,并与其他局域网设备进行通信。以下是对路由器的LAN口的详细介绍:功能:LAN口的主要功能是提供有线网络连接,用于连接局域网内的设备,如台式电脑、网络打印

探索状态驱动开发的奇妙世界——Cola-StateMachine的介绍与使用

文章目录1.前言2.Cola-StateMachine概述3.Cola-StateMachine相关API4.Cola-StateMachine实战5.其他1.前言前面接受了Spring实现的状态机SpringStateMachine,这个状态机的优点在于功能很完备,缺点也是功能十分完备。完备到什么程度了,提供了状态机

ICS TRIPLEX T8310 自动化控制模块

ICSTRIPLEXT8310是一种自动化控制模块,通常用于工业控制和自动化系统中,以实现对各种过程和设备的自动控制。以下是可能包括在ICSTRIPLEXT8310自动化控制模块中的一些常见产品功能:PLC(可编程逻辑控制器)功能:T8310模块通常具备PLC功能,可编程逻辑控制,以实现自动化控制逻辑和任务。多通道输入

C#webform Static DataTable 多人同时操作网页数据重复问题

在C#WebForms中,如果声明一个static变量,它将在整个应用程序域(ApplicationDomain)中保持持久化状态。每个用户的请求都在同一个应用程序域中处理,因此static变量在不同页面间保持相同的值。当一个用户发起请求时,Web服务器会创建一个新的线程来处理该请求,但它仍然在同一个应用程序域中运行。

C#通过重写Panel改变边框颜色与宽度的方法

在C#中,Panel控件是一个容器控件,用于在窗体或用户控件中创建一个可用于容纳其他控件的面板。Panel提供了一种将相关控件组合在一起并进行布局的方式。以下是Panel控件的详细使用方法:在窗体上放置Panel控件:在VisualStudio的窗体设计器中,从工具箱中拖动并放置一个Panel控件到你的窗体上。添加其他

【大数据】Doris 构建实时数仓落地方案详解(一):实时数据仓库概述

本系列包含:Doris构建实时数仓落地方案详解(一):实时数据仓库概述Doris构建实时数仓落地方案详解(二):Doris核心功能解读Doris构建实时数仓落地方案详解(三):Doris实时数仓设计Doris构建实时数仓落地方案详解(一):实时数据仓库概述1.数据仓库的发展历程2.数据仓库技术的发展3.数仓的相关技术栈

grafana结合Skywalking追踪Trace(一)

SW应用中对Trace的跟踪一直占有重要的地位,即可以用户指定的tag值,可以筛选出感兴趣的trace(跟踪链),用户可以通过跟踪链追踪各个Span的详细情况。但是在使用SWOAP原生页面中会存在两个问题:1)Trace数量太多了,需要反复搜索才能找到2)找到的Trace,往往代表一类业务,但原生的OAP无法提供Tra

开源日报 0820:Python编程学习的完整指南

这篇文章推荐了几个优秀的开源项目,包括Python编程学习项目、前端好文精选项目、高性能机器学习研究库、程序员的英语学习指南、网络应用程序安全测试项目、Kubernetes的DNS同步项目以及用于时态一致视频处理的内容变形场项目。这些项目都具有一定的优势和特点,能够帮助用户学习和提升技能。无论是对于编程学习、前端开发、

JavaWeb开发-07-MySQL(二)

一.数据库操作-DQL--准备测试数据INSERTINTOtb_emp(id,username,password,name,gender,image,job,entrydate,create_time,update_time)VALUES(1,'jinyong','123456','金庸',1,'1.jpg',4,'2

Cython 笔记 (Python/Jython)

目录1.Cython笔记(Python)2.python加速库cython简介2.1.Cython是什么?2.2.如何安装Cython?2.3.简单示例2.4.性能比对2.5.总结3.PYTHON,CYTHON,JYTHON,IRONPYTHON的区别(注意:此篇有误导,表述不一定正确,只提供一个方向)3.1.PYTH

知识管理系统重构,对卡片盒笔记的理解又进了一步 | Obsidian实践

去年4、5月份的时候接触到《卡片笔记写作法:如何实现从阅读到写作》,便被其中知识管理的理念深深吸引,并且在它的推荐下,果断投入到Obsidian的使用中。这期间,我常常自诩为“Obsidian重度用户”和“彩虹屁爱好者”,乐此不疲地分享Obsidian实践经验,并孜孜不倦地向身边每一位“忘性大”的朋友推荐。截至到今天为

热文推荐