在webui的相关课程中,我们对提示词的书写规则及权重设置等进行了详细描述,本节简要汇总如下内容,在comfyui中基本用法类似,但是由于comfyui和webui在提示词的权重调整方式不同,直接复制webui的图像并不能直接获得与webui一致的图像。
1 提示词基础用法
1.1 提示词基础
(1)正向提示词:想要图像中出现的内容,要素一般包括:主体描述、场景描述、画质要求、风格描述、构图要求等
(2)反向提示词:不希望图像中出现的内容;
(3)提示词权重:书写方式主要包括两种,包括“数值描述法”和“括号编辑法”
1)数值描述法:通过直接给定提示词一个数值,来标识该提示词的权重
示例:1 girl,black hair,(red eye:1.2),long dress
2)括号编辑法:通过在提示词外面增加不同种类的括号以及调整括号数量,来标识该提示词权重;
每增加一组小括号,代表权重提高1.1倍(即×1.1)
每增加一组中括号,代表权重变为0.9倍(即×0.9)
每增加一组大括号,代表权重提高1.05倍(即×1.05)
注意:不同的括号权重之间为相乘的关系
示例:{(red eye)} 代表red eye 这个关键词的权重变为1×1.1×1.05=1.155倍
(4)提示词混合:通过AND连接提示词,将不同特征/元素通过提示词写法进行混合。
(5)提示词连接:通过下划线“_”起到连接的作用,让词与词更紧密连接到一起,防止因单词之间的空格引起歧义。
(6)提示词生效时间:
控制提示词开始时间,格式:[提示词:数值]
控制提示词结束时间,格式:[提示词::数值]
提示词交替生效,格式:[提示词X:提示词Y]
提示词分段交替生效,格式:[提示词X:提示词Y:数值]
(7)BREAK断句:
断开同一类型提示词,比如几个描述颜色的词在一起容易使SD出图混淆,通过BREAK断开,来防止出现词语之间互相影响导致出现歧义。
1.2 复现webui提示词
从C站和liblib复制的图片提示词,在comfyui中生成的图像常常不如人意,但是在webui中则可以生成很好效果的图片。这是由于webUI与comfyUI种子生成随机噪声的方式不同,webui靠GPU执行,comfyui通过CPU执行。
另外,webui会对提示词中过高权重的词组进行平均,让不同的提示词之间获得更加均衡的效果,但comfyui则更加遵循提示词的权重效果,所以直接复制webui的提示词,在comfyui中可能获得完全不同的效果。
在comfyui中复制webui的提示词效果,需要用到两个插件:
ComfyUI-Inspire-Pack及ComfyUI_ADV_CLIP_emb
1.2.1 ComfyUI-Inspire-Pack
项目地址:https://github.com/ltdrdata/ComfyUI-Inspire-Pack
安装方法:管理器搜索ComfyUI Inspire Pack,安装即可。
我们主要借助ComfyUI-Inspire-Pack插件中A1111适配的“K采样器(inspire)”节点,去代替工作流中的K采样器,从而让comfyui按照webui的方式去生成随机噪声。“A1111适配”代表webui的生成方式。
节点新建路径:添加节点→inspire节点→A1111适配→K采样器(inspire)
噪波模式选择GPU(=A1111)即可
1.2.2 ComfyUI_ADV_CLIP_emb
项目地址:https://github.com/BlenderNeko/ComfyUI_ADV_CLIP_emb
安装方法:管理器中搜索Advanced CLIP Text Encode,安装重启即可
主要是利用ComfyUI_ADV_CLIP_emb插件中的 CLIP 文本编码(高级)节点,对提示权重的解释方式进行更多控制,选择webui的方式。
节点新建路径:添加节点→条件→高级→clip文本编码器(BNK)
token规格化保持默认的none,权重差值方式选择A1111。
完整版工作流示意如下:
2 提示词预设插件
2.1 SixgodPrompts-提示词分类选择及自动翻译
在webui中我们就使用过这款“老六”插件,它不进对提示词进行分类方便选择,还可以使用随机灵感功能用于抽卡,同时我们可以输入中文提示词它还会帮我们自动翻译成英文。如今,我们在comfyui中也可以安装该插件,大大方便我们的提示词编写及翻译效率。
2.1.1 插件安装
项目地址:https://github.com/thisjam/comfyui-sixgod_prompt
(1)通过Git下载安装:打开文件夹..\ComfyUI\custom_nodes,地址栏输入cmd,打开命令行工具,输入下面的地址执行:
git clone https://github.com/thisjam/comfyui-sixgod_prompt
(2)通过压缩包文件安装:
下载地址:https://codeload.github.com/thisjam/comfyui-sixgod_prompt/zip/refs/heads/main
文件夹安装位置:..\ComfyUI-aki-v1.6\ComfyUI\custom_nodes
2.1.2 节点介绍
新建节点路径:鼠标右键→新建节点→条件→SixGldprompts
该插件常用的两个节点是SixGldprompts和SixGldprompts_Text
SixGldprompts是主要功能节点,可以调用该插件全部功能,进行正反提示词选择及自动翻译等;
SixGldprompts_Text则可以作为独立的翻译插件使用。
2.1.3 SixGldprompts使用方法
(1)新建两个SixGldprompts节点,先建立的是正面提示词框,后建立的是负面提示框。注意:节点需要通过搜索一个个添加,不可以通过复制方式建立。
为方便区分正反向提示词框,可以通过改变节点颜色或者重命名方式调整。
(2)节点新建完成后,点击图标或通过键盘Alt+Q键调出隐藏的工作面板(该工作面板即该节点的操作界面,在此工作界面完成提示词选择后会自动同步到提示词框界面)
(3)首先点击左上角的“同步数据”来更新绑定提示词库
(4)打开提示词库的选项板,可以看到各种分类及其下属的提示词。
通过鼠标左键点击选中的提示词,会自动同步到正向提示词框,字体显示为绿色。左键再次点击可取消选择正向提示词。
通过鼠标右键点击选中的提示词,会自动同步到反向提示词框,字体显示为红色。右键再次点击可取消选择反向提示词。
(5)点击图标或通过键盘Alt+Q键隐藏工作面板,可以看到在工作面板选择的提示词都已在提示词框中。
(6)在节点的提示词框中输入中文,新增的内容也会在工作流执行时后台自动翻译成英文输出。
(7)使用两个SixGodPrompt节点直接代替原工作流中的CLIP 文本编码器节点即可。
2.1.4 SixGodPrompt_Text使用方法
SixGodPrompt_Text是一个带自动中文翻译功能的节点,我们可以通过该节点输入中文,并向CLIP文本编码器输入英文提示词,代替在CLIP文本编码器中直接输入英文提示词。
2.2 SDXL风格化提示词插件
SDXL风格化提示词插件可以自动添加风格提示词,提供正反向提示词的统一编辑,仅适用于XL版本大模型,其他版本模型会报错;
该插件提前预设了多种特定风格提示词,选择插件中的选项即可以自动添加到提示词中,可以代替一部分Lora效果。
项目地址:https://github.com/twri/sdxl_prompt_styler
2.2.1安装方式
打开Manager管理器,搜索SDXL Prompt Styler,点击“安装”,重启comfyUI。
如果安装不成功,可以下载文件后安装至文件夹..\ComfyUI\custom_nodes
2.2.2 节点介绍
通过“新建节点”→“实用工具”→“SDXL风格化提示词”,建立节点,可以看到节点内容包含正反向提示词的输入及风格的选项。
SD系列风格化提示词同时具备输入正向提示词与反向提示词的功能,且预设的各种风格均同时自带正、反向提示词(只有风格选择base时,正反向提示词均为空),一般情况下我们可以只添加正向提示词而无需添加反向提示词便可获得较好的效果(也可以根据实际需求添加)。
SDXL风格化提示词的界面十分简单,主要包括正、反向文本输入框,风格选项,记录提示词及风格中预设的正、反向提示词生效的开关。
预设风格可以看成提前根据目标风格所打包好的正向提示词和反向提示词组合,使用时直接调取,并在输入框中添加新的提示词。
2.2.3 使用方法
我们将正、反向提示词clip编码器中的文本编辑调整为节点输入,SDXL风格化提示词输出节点与之连接后,即可在SDXL风格化提示词中完成提示词编辑及生效。基础文生图添加SDXL风格化提示词示例:
示例:
选择大模型,SDXL风格化提示词节点的正反向提示词中均不填写任何内容,查看提示词输出文本内容及生成图像情况。
可以根据“显示文本”节点看出,在提示词框中不填写任何内容的情况下,也会使用所选择的“黏土风格”预设的正向提示词与反向提示词。
我们继续尝试在正向提示词框中添加“1 girl”,反向提示词框中添加“NSFW”,可以看到预设的正反向提示词不变的基础上,新增了我们添加的正反向提示词。
3 embedding模型调用
学习webUI时,我们已经了解Embedding可以直接通过这个词组包告诉SD相关的特征,常用于反向提示词。如“低分辨率、模糊、畸形、多余的手指、额外的肢体”等避免生成低质量图像的大段反向提示词,可以通过“嵌入式embedding”整合打包为一个模型包在编辑提示词时直接调用。
webUI中通过在反向提示词框中输入embedding名称或者直接在embedding页面选中对应的模型便可生效,comfyui中无法通过选中模型的形式调用embedding,需要手动在反向提示词框中输入embedding模型的名称,格式为“embedding:模型位置”。
clip提示词框中的文本会自动补全,所以我们只需要输入embeddings的前几个字母便会自动显示已经下载的embeddings模型,选中需要的那个模型即可。
总结:
博主致力于打造一个comfyui学习交流的专业小圈子,欢迎正在学习comfyui等ai技术的伙伴加入。在这里大家共同分享comfyui的基础知识、最新模型与工作流、行业前沿信息等,也可以讨论comfyui商业落地的思路与方向、实现副业自由。
欢迎感兴趣的小伙伴,免费赠送:博主自用的整合包(已安装超全节点与必备模型)、基础学习资料、云端使用路径、高级工作流……
致敬每一位在路上的学习者,你我共勉!Ai技术发展迅速,学习comfyUI是紧跟时代的第一步,促进商业落地并创造价值才是学习的实际目标。
——画青山学习专栏———————————————————————————————
Webui基础学习与实操:https://blog.csdn.net/vip_zgx888/category_13005532.html
Comfyui基础学习与实操:https://blog.csdn.net/vip_zgx888/category_13006170.html
comfyui功能精进与探索:https://blog.csdn.net/vip_zgx888/category_13005478.html
系列专栏持续更新中,欢迎订阅关注,共同学习,共同进步!
—————————————————————————————————————————