首页 > 其他分享 >ComfyUI 节点、插件的基本指南(附整合包)

ComfyUI 节点、插件的基本指南(附整合包)

时间:2024-10-18 18:18:46浏览次数:12  
标签:插件 input1 RETURN 自定义 ComfyUI returnval 节点

ComfyUI 是一个多功能的Stable Diffusion图像/视频生成工具,能够让开发者设计并实现自定义节点,扩展功能。如果你有特定的任务想实现并需要创建一个自定义节点,本指南会带你一步步完成 ComfyUI 自定义节点的创建过程。

开始前的准备

在开始创建自定义节点之前,确保你有必要的工具。你需要一个强大的代码编辑器,比如 Visual Studio Code,并安装 Python 和 JavaScript 的开发扩展。另外,具备 Python 和 JavaScript 的基础知识也很重要。

理解 ComfyUI 节点

ComfyUI 采用基于节点的架构,其中 UI 元素被表示为相互连接的节点。每个节点封装了特定的功能或行为,使得 UI 开发模块化且可扩展。开发者可以创建自定义节点,以满足项目需求,扩展 ComfyUI 的功能。

创建自定义节点

让我们来看看如何使用 Python 和 JavaScript 为 ComfyUI 创建自定义节点。

1. 定义节点参数

首先定义你的自定义节点的参数和属性。这些参数决定了节点在UI界面中的用途和外观。以下是一个简单的自定义节点定义案例,输入一个整数,输出另一个整数。创建并编辑一个名为 BasicTutorialTimesTwo.py 的文件:

class TimesTwo:  
    @classmethod  
    def INPUT_TYPES(cls):  
        inputs = {  
            "required": {  
                "input1": ("INT", {}),  
            }  
        }  
        return inputs  
    RETURN_TYPES = ("INT",)  
    RETURN_NAMES = ("RETURN VALUE",)  
    FUNCTION = "AnyFunctionNameCanGoHere_SeeStep2"  
    CATEGORY = "CivitaiTutorials/BasicNodes"  

2. 实现节点逻辑

接下来,实现自定义节点的逻辑和功能。这可能涉及处理用户输入、执行计算或与外部数据源交互。这些处理是在步骤 1 中指定的函数中完成的:

def funcTimesTwo(self, input1):  
    returnval = 0  
    returnval = input1 * 2  
    return (returnval,)  

把这些结合起来,完整的类如下所示:

class TimesTwo:  
    @classmethod  
    def INPUT_TYPES(cls):  
        inputs = {  
            "required": {  
                "input1": ("INT", {}),  
            }  
        }  
        return inputs  
    RETURN_TYPES = ("INT",)  
    RETURN_NAMES = ("RETURN VALUE",)  
    FUNCTION = "funcTimesTwo"  
    CATEGORY = "CivitaiTutorials/BasicNodes"  
    def funcTimesTwo(self, input1):  
        returnval = 0  
        returnval = input1 * 2  
        return (returnval,)  

3. 与 ComfyUI 集成

最后,将你的自定义节点与 ComfyUI 框架集成,使其在 UI 编辑器中可用。将你的节点注册到 ComfyUI 的节点注册表中,让用户可以轻松地将其添加到项目中。
编辑你的 __init__.py 文件,使其如下所示:

from .BasicTutorialTimesTwo import TimesTwo  
NODE_CLASS_MAPPINGS = {  
    "btTimesTwo": TimesTwo  
}  
NODE_DISPLAY_NAMES_MAPPINGS = {  
    "btTimesTwo": "Basic Tutorial - Times Two"  
}  
__all__ = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAMES_MAPPINGS']  

此时,你可以测试节点了。加载 ComfyUI 并打开你的网页浏览器进入 ComfyUI 界面。在空白区域右键点击以添加一个节点。如果一切设置正确,你应该会看到一个新的菜单选项 CivitaiTutorials。在这个菜单下应该有一个子菜单 BasicNodes,在那里你会找到我们刚刚创建的节点。

在这里插入图片描述

在这里插入图片描述

测试和改进节点

添加节点后,你可能会发现:

  1. 需要手动输入值。

  2. 没有检查输出的方法。
    为了解决这些问题:

  3. 右键点击新节点并选择“将 input1 转换为输入”。

    在这里插入图片描述

    在这里插入图片描述

  4. 将输出连接到显示文本的节点。
    为了实现更高级的功能,可以考虑安装额外的节点包,比如 ComfyUI-quadMoons-nodesComfyUI-CustomScripts。这些包提供将整数转换为字符串并显示文本的节点。连接这些节点,你就能看到自定义节点的输出。

结论

如果一切顺利,你已经成功创建并集成了一个自定义节点到 ComfyUI 中。由于 ComfyUI 是用 Python 编写的,你可以通过查看其源代码来发现更多节点开发的可能性。祝你在开发过程中好运,编码愉快!

为了帮助大家更好地掌握 ComfyUI,我在去年花了几个月的时间,撰写并录制了一套ComfyUI的基础教程,共六篇。这套教程详细介绍了选择ComfyUI的理由、其优缺点、下载安装方法、模型与插件的安装、工作流节点和底层逻辑详解、遮罩修改重绘/Inpenting模块以及SDXL工作流手把手搭建。

由于篇幅原因,本文精选几个章节,详细版点击下方卡片免费领取

一、ComfyUI配置指南

  • 报错指南
  • 环境配置
  • 脚本更新
  • 后记

img

二、ComfyUI基础入门

  • 软件安装篇
  • 插件安装篇

img

三、 ComfyUI工作流节点/底层逻辑详解

  • ComfyUI 基础概念理解
  • Stable diffusion 工作原理
  • 工作流底层逻辑
  • 必备插件补全

img

四、ComfyUI节点技巧进阶/多模型串联

  • 节点进阶详解
  • 提词技巧精通
  • 多模型节点串联

img

五、ComfyUI遮罩修改重绘/Inpenting模块详解

  • 图像分辨率
  • 姿势

img

六、ComfyUI超实用SDXL工作流手把手搭建

  • Refined模型
  • SDXL风格化提示词
  • SDXL工作流搭建

img

由于篇幅原因,本文精选几个章节,详细版点击下方卡片免费领取

img

标签:插件,input1,RETURN,自定义,ComfyUI,returnval,节点
From: https://blog.csdn.net/m0_58477260/article/details/143052539

相关文章

  • cargo deny 插件
    cargodeny2024-10-18插件Rust它专门用于帮助Rust开发者检查项目依赖项的安全性、许可证合规性、多版本依赖管理等.执行cargodenycheck启用检查.deny.toml文件基本配置:#关于advisories部分的更多文档可以在这里找到:#https://embarkstudios.github.io/cargo-d......
  • Idea插件-arthas idea
    ......
  • k8s多master节点配置高可用
    你们集群的master是单master还是多master多master是如何建立高可用的?负载均衡器(LoadBalancer):通过使用负载均衡器,如Nginx或HAProxy,可以实现对kube-apiserver的负载均衡和反向代理。这确保了客户端请求可以均匀地分配到多个Master节点上。Keepalived:使用Keepalived软件......
  • VS Code插件安装
    官网下载:点击跳转安装教程,一直点下一步建议安装扩展,方便开发,搜索扩展关键字:php,进行分别安装配置中文,快捷键Ctrl+Shift+P或者F1打开全局命令面板,找到ConfigureDisplayLanguage点击进入到选择语言,这里选择中文完成安装,再关闭重启vscode!......
  • DzzOffice网盘插件修复无权限的用户可以查看文件夹信息问题
    问题描述:在我的网盘页面,即访问域名://index.php?mod=explorer#home&fid=fid值,通过修改fid值可以使文件夹右侧信息显示非本人的。修复解释:在查询当前文件夹信息前先检查文件夹是否是我的网盘里的,如果是,在判断当前文件夹是否是当前用户的。修复方法:文件:dzz/explorer/dynamic......
  • 【closerAI ComfyUI】电商模特一键换装解决方案来了!细节到位无瑕疵!再加上flux模型加持
    不得了了兄弟们。这应该是电商界的福音,电商模特一键换装解决方案来了!细节到位无瑕疵!再加上flux模型加持,这个工作流不服不行!这期我们主要讨论如何使用stablediffusioncomfyUI制作完美无瑕疵的换装工作流。**这一次我们用到的节点是catVTON节点。CatVTON介绍[CatVTON是......
  • ComfyUI-Flux-PuLID-定制写真生成工作流整合包,含提示词反推,相关软件包及工作流均已打
    本期本期带来基于PuLID-for-FLUX的ComfyUI定制写真工作流,通过一张面部参考图像生成真实感十足的高保真写真图像,基于Flux底层模型,更为写实。**其中包含“输入提示词生成图像”和“参考图像反推提示词生成图像”两套工作流,**工作流操作较简单,相关ComfyUI软件包、模型、节点、......
  • 免费插件集-illustrator插件-Ai插件-剪切路径
    文章目录1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.总结1.介绍本文介绍一款免费插件,加强illustrator使用人员工作效率,实现多路径集合路径剪切功能。首先从下载网址下载这款插件https://download.csdn.net/download/m0_67316550/87890501,或者http://www.zhi......
  • 大画丹青 PS-AI插件
    大画丹青——让设计更高效【下载地址】:领先的、稳定的、安全的StableDiffusionAPI服务提供商【产品简介】:一款与AdobePhotoshop无缝衔接的AI绘画软件,为设计师在使用Photoshop处理图像时提供丰富的AI绘画功能与灵感。【产品功能】:flux文生图、文生图、图生图、局部重绘、......
  • 24. 两两交换链表中的节点
    给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。示例1:输入:head=[1,2,3,4]输出:[2,1,4,3]示例2:输入:head=[]输出:[]示例3:输入:head=[1]输出:[1]解题思路:1.递归方法实现节点对的交换......