赞
踩
众所周知,comfyui是一个AI绘图领域的一个十分好用的工具,可以完成很多十分复杂的工作流。工作效率远远高于 传统的webui。同时,入门门槛十分低,在bilibili看一个小时教程即可完全入门。
所以很多工作室将comfyui工作流作为stable diffusion开发的主要工具。
本文即来教大家如何使用comfyui写自己的插件。保证通俗易懂,看完就会。
(当然默认你已经安装了comfyui,并且知道怎么使用。并且了解python简单的语法)
首先,在comfyui文件目录下,custom_nodes 文件夹是我们要放置我们的插件的地方。
下面我将演示一下,如何使用代码写一个最简单的插件。 首先,新建一个py文件,命名为example.py
- class example_class:
- @classmethod
- def INPUT_TYPES(s):
- return {
- "required": {
- "image": ("IMAGE",),
- },
- "optional":{
- "width":("INT", {"default": 512, "min": 0, "step": 1}),
- "type": (
- ["ImagePrompt", "PyraCanny", "CPDS", "FaceSwap"],
- {"default": "ImagePrompt"},)
-
-
- }
- }
-
- CATEGORY = "example_list/example"
-
- RETURN_TYPES = ("IMAGE",)
- FUNCTION = "example_func"
-
- def example_func(self, image,width,type):
- return (image,)
-
-
-
- NODE_CLASS_MAPPINGS = {
- "example": example_class,
- }
-
- NODE_DISPLAY_NAME_MAPPINGS = {
- "example": "displayname",
-
- }
无论写什么节点,都可以先无脑把这套框架搬运过去。下面我将一行行介绍这些代码,当然懂代码的可能看到这里就已经懂了。
要写一个节点,首先要声明一个类,class,然后要写的第一个函数就是INPUT_TYPES 这个函数。他要控制我们写的节点中输入是什么。
首先,require里要写必须要连接的节点, 在comfyui中如果不连接就会报错,optional是可选的选项,
如果我们节点 的输入是类型是上一个节点输出的类型,"image": ("IMAGE",),就像这样就可以了。
括号里写输出节点的输出类型就OK了。
如果节点的输入类型是,int数字或者float 数字,那么就像这样。
"width":("INT", {"default": 512, "min": 0, "step": 1}),
default 是默认的数字,min是最小值,max 是最大值,step是comfyui里左右调整时的步长。
如果输入是选择题,就像这样。
"type": (
["ImagePrompt", "PyraCanny", "CPDS", "FaceSwap"],
{"default": "ImagePrompt"},)
CATEGORY 控制这个节点你在comfyui右键后,存放的位置。
RETURN_TYPES :输出的节点的类型
example_func 就是功能函数,要实现的功能都在这里写就行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。