mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2026-02-28 22:57:31 +08:00
merge with main branch
This commit is contained in:
parent
22c3674e25
commit
cb70ba9efa
@ -5,6 +5,7 @@
|
||||

|
||||
|
||||
## NOTICE
|
||||
* V2.37 Show a ✅ mark to accounts that have been active on GitHub for more than six months.
|
||||
* V2.33 Security policy is applied.
|
||||
* V2.21 [cm-cli](docs/en/cm-cli.md) tool is added.
|
||||
* V2.18 to V2.18.3 is not functioning due to a severe bug. Users on these versions are advised to promptly update to V2.18.4. Please navigate to the `ComfyUI/custom_nodes/ComfyUI-Manager` directory and execute `git pull` to update.
|
||||
|
||||
@ -3210,6 +3210,17 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "[a/ImageReward](https://github.com/THUDM/ImageReward): Human preference learning in text-to-image generation. This is a [a/paper](https://arxiv.org/abs/2304.05977) from NeurIPS 2023"
|
||||
},
|
||||
{
|
||||
"author": "shadowcz007",
|
||||
"title": "comfyui-sound-lab",
|
||||
"id": "soundlab",
|
||||
"reference": "https://github.com/shadowcz007/comfyui-sound-lab",
|
||||
"files": [
|
||||
"https://github.com/shadowcz007/comfyui-sound-lab"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:Music Gen, Audio Play, Stable Audio"
|
||||
},
|
||||
{
|
||||
"author": "ostris",
|
||||
"title": "Ostris Nodes ComfyUI",
|
||||
@ -6953,6 +6964,17 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI native implementation of [a/IC-Light](https://github.com/lllyasviel/IC-Light)."
|
||||
},
|
||||
{
|
||||
"author": "huchenlei",
|
||||
"title": "ComfyUI DenseDiffusion",
|
||||
"id": "densediffusion",
|
||||
"reference": "https://github.com/huchenlei/ComfyUI_densediffusion",
|
||||
"files": [
|
||||
"https://github.com/huchenlei/ComfyUI_densediffusion"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "[a/DenseDiffusion](https://github.com/naver-ai/DenseDiffusion) custom node for ComfyUI."
|
||||
},
|
||||
{
|
||||
"author": "nathannlu",
|
||||
"title": "ComfyUI Pets",
|
||||
@ -6978,7 +7000,7 @@
|
||||
{
|
||||
"author": "11dogzi",
|
||||
"title": "Comfyui-ergouzi-Nodes",
|
||||
"id": "ergouzi",
|
||||
"id": "ergouzi-nodes",
|
||||
"reference": "https://github.com/11dogzi/Comfyui-ergouzi-Nodes",
|
||||
"files": [
|
||||
"https://github.com/11dogzi/Comfyui-ergouzi-Nodes"
|
||||
@ -6986,6 +7008,17 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "This is a node group kit that covers multiple nodes such as local refinement, tag management, random prompt words, text processing, image processing, mask processing, etc"
|
||||
},
|
||||
{
|
||||
"author": "11dogzi",
|
||||
"title": "Comfyui-ergouzi-samplers",
|
||||
"id": "ergouzi-samplers",
|
||||
"reference": "https://github.com/11dogzi/Comfyui-ergouzi-samplers",
|
||||
"files": [
|
||||
"https://github.com/11dogzi/Comfyui-ergouzi-samplers"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Partial redraw sampler and variant seed sampler"
|
||||
},
|
||||
{
|
||||
"author": "BXYMartin",
|
||||
"title": "ComfyUI-InstantIDUtils",
|
||||
@ -7246,6 +7279,17 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "This node is primarily based on Easy-OCR to implement OCR text recognition functionality."
|
||||
},
|
||||
{
|
||||
"author": "prodogape",
|
||||
"title": "ComfyUI-OmDet",
|
||||
"id": "omdet",
|
||||
"reference": "https://github.com/prodogape/ComfyUI-OmDet",
|
||||
"files": [
|
||||
"https://github.com/prodogape/ComfyUI-OmDet"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This node is mainly based on [a/OmDet](https://github.com/om-ai-lab/OmDet) for object detection, and it outputs related images, masks, and Labelme JSON information."
|
||||
},
|
||||
{
|
||||
"author": "Alysondao",
|
||||
"title": "Comfyui-Yolov8-JSON",
|
||||
@ -7890,16 +7934,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "Custom Node for comfyUI for virtual lighting based on normal map.\nYou can use normal maps to add virtual lighting effects to your images."
|
||||
},
|
||||
{
|
||||
"author": "AppleBotzz",
|
||||
"title": "ComfyUI_LLMVISION",
|
||||
"reference": "https://github.com/AppleBotzz/ComfyUI_LLMVISION",
|
||||
"files": [
|
||||
"https://github.com/AppleBotzz/ComfyUI_LLMVISION"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This repository provides integration of GPT-4 and Claude 3 models into ComfyUI, allowing for both image and text-based interactions within the ComfyUI workflow."
|
||||
},
|
||||
{
|
||||
"author": "A4P7J1N7M05OT",
|
||||
"title": "ComfyUI-PixelOE",
|
||||
@ -8171,6 +8205,17 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "You can call Chatglm's API in comfyUI to translate and describe pictures, and the API similar to OpenAI."
|
||||
},
|
||||
{
|
||||
"author": "smthemex",
|
||||
"title": "ComfyUI_StableAudio_Open",
|
||||
"id": "stable-audio-open-1.0",
|
||||
"reference": "https://github.com/smthemex/ComfyUI_StableAudio_Open",
|
||||
"files": [
|
||||
"https://github.com/smthemex/ComfyUI_StableAudio_Open"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "You can use stable-audio-open-1.0 in comfyUI"
|
||||
},
|
||||
{
|
||||
"author": "smthemex",
|
||||
"title": "ComfyUI_HiDiffusion_Pro",
|
||||
@ -8735,17 +8780,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "Photoshop type functions and adjustment layers: 30 blend modes, Selective Color, Blend If, Color Balance, Solid Color Images, Black and White, Hue/Saturation, Levels, and RGB Splitting and Merging."
|
||||
},
|
||||
{
|
||||
"author": "Shinsplat",
|
||||
"title": "ComfyUI-Shinsplat",
|
||||
"id": "shinsplat",
|
||||
"reference": "https://github.com/Shinsplat/ComfyUI-Shinsplat",
|
||||
"files": [
|
||||
"https://github.com/Shinsplat/ComfyUI-Shinsplat"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes: Clip Text Encode (Shinsplat), Clip Text Encode SDXL (Shinsplat), Lora Loader (Shinsplat)."
|
||||
},
|
||||
{
|
||||
"author": "da2el-ai",
|
||||
"title": "D2 Steps",
|
||||
@ -9530,6 +9564,17 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes: AnyNode. Nodes that can be anything you ask. Auto-Generate functional nodes using LLMs. Create impossible workflows. API Compatibility: (OpenAI, LocalLLMs, Gemini)."
|
||||
},
|
||||
{
|
||||
"author": "lks-ai",
|
||||
"title": "ComfyUI Stable Audio Open 1.0 Sampler",
|
||||
"id": "stableaudiosampler",
|
||||
"reference": "https://github.com/lks-ai/ComfyUI-StableAudioSampler",
|
||||
"files": [
|
||||
"https://github.com/lks-ai/ComfyUI-StableAudioSampler"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes: StableAudioSampler. Wraps the new Stable Audio Open Model in the sampler that dropped Jun 5th. See Github for Features"
|
||||
},
|
||||
{
|
||||
"author": "SayanoAI",
|
||||
"title": "Comfy-RVC",
|
||||
@ -9828,9 +9873,9 @@
|
||||
"author": "vanche1212",
|
||||
"title": "ZMG PLUGIN",
|
||||
"id": "zmg",
|
||||
"reference": "https://github.com/vanche1212/ComfyUI-fq393",
|
||||
"reference": "https://github.com/vanche1212/ComfyUI-ZMG-Nodes",
|
||||
"files": [
|
||||
"https://github.com/vanche1212/ComfyUI-fq393"
|
||||
"https://github.com/vanche1212/ComfyUI-ZMG-Nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:ApiRequestNode, LoadVideoNode, JsonParserNode, OllamaRequestNode, OldPhotoColorizationNode."
|
||||
@ -9890,6 +9935,17 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "This is a simple plugin for ComfyUI that allows you to import A1111 CSV styles into ComfyUI prompts."
|
||||
},
|
||||
{
|
||||
"author": "chakib-belgaid",
|
||||
"title": "ComfyUI-autosize",
|
||||
"id": "autosize",
|
||||
"reference": "https://github.com/chakib-belgaid/ComfyUI-autosize",
|
||||
"files": [
|
||||
"https://github.com/chakib-belgaid/ComfyUI-autosize"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A ComfyUI utility plugin designed to optimize the latent space for generating high-quality results. It approximates the closest size model for better generation results."
|
||||
},
|
||||
{
|
||||
"author": "ThereforeGames",
|
||||
"title": "ComfyUI-Unprompted",
|
||||
@ -9901,14 +9957,152 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "This is a ComfyUI node that processes your input text with the [a/Unprompted templating language](https://github.com/ThereforeGames/unprompted). Early alpha release.\n"
|
||||
},
|
||||
{
|
||||
"author": "Tool Of North america",
|
||||
"title": "Easy automatic (square) image cropper using Yolo",
|
||||
"id": "tooldigital",
|
||||
"reference": "https://github.com/tooldigital/ComfyUI-Yolo-Cropper",
|
||||
"files": [
|
||||
"https://github.com/tooldigital/ComfyUI-Yolo-Cropper"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A very simple and easy to use node to automaticaaly create (square) image crops and masks using YoloV8. This can be very useful when using controlnet and ip adapters"
|
||||
},
|
||||
{
|
||||
"author": "luandev",
|
||||
"title": "ComfyUI CrewAI",
|
||||
"id": "crewai",
|
||||
"reference": "https://github.com/luandev/ComfyUI-CrewAI",
|
||||
"files": [
|
||||
"https://github.com/luandev/ComfyUI-CrewAI"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI-CrewAI aims to integrate Crew AI's multi-agent collaboration framework into the ComfyUI environment. By combining the strengths of Crew AI's role-based, collaborative AI agent system with ComfyUI's intuitive interface, we will create a robust platform for managing and executing complex AI tasks seamlessly"
|
||||
},
|
||||
{
|
||||
"author": "chandlergis",
|
||||
"title": "ComfyUI_EmojiOverlay",
|
||||
"id": "emoji-overlay",
|
||||
"reference": "https://github.com/chandlergis/ComfyUI_EmojiOverlay",
|
||||
"files": [
|
||||
"https://github.com/chandlergis/ComfyUI_EmojiOverlay"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:Image Emoji Overlay"
|
||||
},
|
||||
{
|
||||
"author": "JayLyu",
|
||||
"title": "ComfyUI_BaiKong_Node",
|
||||
"id": "baikong",
|
||||
"reference": "https://github.com/JayLyu/ComfyUI_BaiKong_Node",
|
||||
"files": [
|
||||
"https://github.com/JayLyu/ComfyUI_BaiKong_Node"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:BK Img To Color, BK Color Selector"
|
||||
},
|
||||
{
|
||||
"author": "risunobushi",
|
||||
"title": "comfyUI_FrequencySeparation_RGB-HSV",
|
||||
"id": "freq-sep",
|
||||
"reference": "https://github.com/risunobushi/comfyUI_FrequencySeparation_RGB-HSV",
|
||||
"files": [
|
||||
"https://github.com/risunobushi/comfyUI_FrequencySeparation_RGB-HSV"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A collection of simple nodes for Frequency Separation / Frequency Recombine with RGB and HSV methods"
|
||||
},
|
||||
{
|
||||
"author": "zohac",
|
||||
"title": "ComfyUI_ZC_DrawShape",
|
||||
"id": "drawshape",
|
||||
"reference": "https://github.com/zohac/ComfyUI_ZC_DrawShape",
|
||||
"files": [
|
||||
"https://github.com/zohac/ComfyUI_ZC_DrawShape"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:ZC DrawShape Node"
|
||||
},
|
||||
{
|
||||
"author": "DataCTE",
|
||||
"title": "Prompt Injection Node for ComfyUI",
|
||||
"id": "prompt-injection",
|
||||
"reference": "https://github.com/DataCTE/prompt_injection",
|
||||
"files": [
|
||||
"https://github.com/DataCTE/prompt_injection"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This custom node for ComfyUI allows you to inject specific prompts at specific blocks of the Stable Diffusion UNet, providing fine-grained control over the generated image. It is based on the concept that the content/subject understanding of the model is primarily contained within the MID0 and MID1 blocks, as demonstrated in the B-Lora (Content Style implicit separation) paper. Features.\nInject different prompts into specific UNet blocks Three different node variations for flexible workflow integration Customize the learning rate of specific blocks to focus on content, lighting, style, or other aspects Potential for developing a 'Mix of Experts' approach by swapping blocks on-the-fly based on prompt content"
|
||||
},
|
||||
{
|
||||
"author": "FrankChieng",
|
||||
"title": "ComfyUI_llm_easyanimiate",
|
||||
"id": "llm-easyanimate",
|
||||
"nodename_pattern": "^FrankChiengEasyAnimate",
|
||||
"reference": "https://github.com/frankchieng/ComfyUI_llm_easyanimiate",
|
||||
"files": [
|
||||
"https://github.com/frankchieng/ComfyUI_llm_easyanimiate"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "implementation easyanimate with llama3-8b-6bit instruction LLM generation prompt help"
|
||||
},
|
||||
{
|
||||
"author": "nuanarchy",
|
||||
"title": "ComfyUI-NuA-FlashFace",
|
||||
"id": "nua-flashface",
|
||||
"reference": "https://github.com/nuanarchy/ComfyUI-NuA-FlashFace",
|
||||
"files": [
|
||||
"https://github.com/nuanarchy/ComfyUI-NuA-FlashFace"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI implementation of [a/FlashFace: Human Image Personalization with High-fidelity Identity Preservation](https://github.com/ali-vilab/FlashFace)\nNOTE: You need to downalod models manually."
|
||||
},
|
||||
{
|
||||
"author": "LZpenguin",
|
||||
"title": "ComfyUI-Text",
|
||||
"id": "comfy-text",
|
||||
"reference": "https://github.com/LZpenguin/ComfyUI-Text",
|
||||
"files": [
|
||||
"https://github.com/LZpenguin/ComfyUI-Text"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:Add_text_by_mask"
|
||||
},
|
||||
{
|
||||
"author": "denfrost",
|
||||
"title": "Den_ComfyUI_Workflows",
|
||||
"id": "den",
|
||||
"reference": "https://github.com/denfrost/Den_ComfyUI_Workflow",
|
||||
"files": [
|
||||
"https://github.com/denfrost/Den_ComfyUI_Workflow"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Custom nodes make easy Advanced Workflows. Focus on Image/Video and ControlNet efficiency and performances. Manipulation of Latent Space, Automatic pipeline with a bit efforts."
|
||||
},
|
||||
{
|
||||
"author": "marduk191",
|
||||
"title": "marduk191 workflow settings",
|
||||
"id": "marnodes",
|
||||
"reference": "https://github.com/marduk191/comfyui-marnodes",
|
||||
"files": [
|
||||
"https://github.com/marduk191/comfyui-marnodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A node to set workflow settings."
|
||||
},
|
||||
{
|
||||
"author": "haohaocreates",
|
||||
"title": "ComfyUI-HH-Image-Selector",
|
||||
"id": "hh-image-selector",
|
||||
"reference": "https://github.com/haohaocreates/ComfyUI-HH-Image-Selector",
|
||||
"files": [
|
||||
"https://github.com/haohaocreates/ComfyUI-HH-Image-Selector"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "comfuio custom node that returns an image from a batch based on selected criteria such as RGB value, brightness, etc (credits to chris goringe's custom nodes tutorial )."
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
@ -10213,16 +10407,6 @@
|
||||
"install_type": "copy",
|
||||
"description": "Extension to show random cat GIFs while queueing prompt."
|
||||
},
|
||||
{
|
||||
"author": "archifancy",
|
||||
"title": "Image-vector-for-ComfyUI",
|
||||
"reference": "https://github.com/archifancy/Image-vector-for-ComfyUI",
|
||||
"files": [
|
||||
"https://github.com/archifancy/Image-vector-for-ComfyUI/raw/main/AIvector.py"
|
||||
],
|
||||
"install_type": "copy",
|
||||
"description": "Nodes:AIvector. A wrapped comfyui node for converting pixels to vectors using Vtracer. Check it out here: [a/https://github.com/visioncortex/vtracer](https://github.com/visioncortex/vtracer)."
|
||||
},
|
||||
{
|
||||
"author": "barckley75",
|
||||
"title": "comfyUI_DaVinciResolve",
|
||||
@ -10246,6 +10430,37 @@
|
||||
"install_type": "copy",
|
||||
"description": "Nodes:Selector. Quick and dirty parameter generator node for ComfyUI."
|
||||
},
|
||||
{
|
||||
"author": "DannyStone1999",
|
||||
"title": "ComfyUI-Depth2Mask",
|
||||
"reference": "https://github.com/DannyStone1999/ComfyUI-Depth2Mask",
|
||||
"files": [
|
||||
"https://github.com/DannyStone1999/ComfyUI-Depth2Mask/raw/main/Depth2Mask.py"
|
||||
],
|
||||
"install_type": "copy",
|
||||
"description": "Nodes:Depth2Mask"
|
||||
},
|
||||
{
|
||||
"author": "Limbicnation",
|
||||
"title": "ComfyUIDepthEstimation",
|
||||
"reference": "https://github.com/Limbicnation/ComfyUIDepthEstimation",
|
||||
"files": [
|
||||
"https://github.com/Limbicnation/ComfyUIDepthEstimation/raw/main/depth_estimation_node.py"
|
||||
],
|
||||
"pip": ["transformers"],
|
||||
"install_type": "copy",
|
||||
"description": "A custom depth estimation node for ComfyUI using transformer models. It integrates depth estimation with automatic gamma correction, contrast adjustment, and edge detection, based on the [a/TransformDepth](https://github.com/Limbicnation/TransformDepth) repository."
|
||||
},
|
||||
{
|
||||
"author": "seghier",
|
||||
"title": "ComfyUI_LibreTranslate",
|
||||
"reference": "https://github.com/seghier/ComfyUI_LibreTranslate",
|
||||
"files": [
|
||||
"https://github.com/seghier/ComfyUI_LibreTranslate/raw/main/translate_node.py"
|
||||
],
|
||||
"install_type": "copy",
|
||||
"description": "Use LibreTranslation in ComfyUI [a/https://github.com/LibreTranslate/LibreTranslate](https://github.com/LibreTranslate/LibreTranslate)"
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
@ -91,6 +91,16 @@
|
||||
"title_aux": "Comfyui-ergouzi-Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/11dogzi/Comfyui-ergouzi-samplers": [
|
||||
[
|
||||
"EGBYZZCYQ",
|
||||
"EGCYQJB",
|
||||
"EGCYQJBCJ"
|
||||
],
|
||||
{
|
||||
"title_aux": "Comfyui-ergouzi-samplers"
|
||||
}
|
||||
],
|
||||
"https://github.com/1mckw/Comfyui-Gelbooru": [
|
||||
[
|
||||
"Gelbooru (ID)",
|
||||
@ -127,9 +137,12 @@
|
||||
"SAMIN String Attribute Selector",
|
||||
"SANMIN Adapt Coordinates",
|
||||
"SANMIN AdjustTransparency",
|
||||
"SANMIN BlurMaskArea",
|
||||
"SANMIN ChineseToCharacter",
|
||||
"SANMIN ClothingWildcards",
|
||||
"SANMIN ConvertToEnglish",
|
||||
"SANMIN EditWildcards",
|
||||
"SANMIN Float",
|
||||
"SANMIN LoadPathImagesPreview",
|
||||
"SANMIN SCALE AND FILL BLACK",
|
||||
"SANMIN SanmiSaveImageToLocal",
|
||||
@ -498,10 +511,19 @@
|
||||
"https://github.com/Acly/comfyui-tooling-nodes": [
|
||||
[
|
||||
"ETN_ApplyMaskToImage",
|
||||
"ETN_AttentionMask",
|
||||
"ETN_BackgroundRegion",
|
||||
"ETN_CropImage",
|
||||
"ETN_DefineRegion",
|
||||
"ETN_ExtractImageTile",
|
||||
"ETN_ExtractMaskTile",
|
||||
"ETN_GenerateTileMask",
|
||||
"ETN_ListRegionMasks",
|
||||
"ETN_LoadImageBase64",
|
||||
"ETN_LoadMaskBase64",
|
||||
"ETN_SendImageWebSocket"
|
||||
"ETN_MergeImageTile",
|
||||
"ETN_SendImageWebSocket",
|
||||
"ETN_TileLayout"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI Nodes for External Tooling"
|
||||
@ -576,17 +598,6 @@
|
||||
"title_aux": "ComfyUI-SimpleCounter"
|
||||
}
|
||||
],
|
||||
"https://github.com/AppleBotzz/ComfyUI_LLMVISION": [
|
||||
[
|
||||
"CLAUDE_CHAT",
|
||||
"CLAUDE_VISION",
|
||||
"GPT4_CHAT",
|
||||
"GPT4_VISION"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_LLMVISION"
|
||||
}
|
||||
],
|
||||
"https://github.com/ArcherFMY/Diffusion360_ComfyUI": [
|
||||
[
|
||||
"Diffusion360LoaderImage2Pano",
|
||||
@ -1111,6 +1122,14 @@
|
||||
"title_aux": "Comfy Couple"
|
||||
}
|
||||
],
|
||||
"https://github.com/DannyStone1999/ComfyUI-Depth2Mask/raw/main/Depth2Mask.py": [
|
||||
[
|
||||
"Depth2Mask"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Depth2Mask"
|
||||
}
|
||||
],
|
||||
"https://github.com/DarKDinDoN/comfyui-checkpoint-automatic-config": [
|
||||
[
|
||||
"CheckpointAutomaticConfig",
|
||||
@ -1120,6 +1139,16 @@
|
||||
"title_aux": "ComfyUI Checkpoint Automatic Config"
|
||||
}
|
||||
],
|
||||
"https://github.com/DataCTE/prompt_injection": [
|
||||
[
|
||||
"AdvancedPromptInjection",
|
||||
"PromptInjection",
|
||||
"SimplePromptInjection"
|
||||
],
|
||||
{
|
||||
"title_aux": "Prompt Injection Node for ComfyUI"
|
||||
}
|
||||
],
|
||||
"https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": [
|
||||
[],
|
||||
{
|
||||
@ -1253,12 +1282,7 @@
|
||||
"https://github.com/Extraltodeus/Stable-Diffusion-temperature-settings": [
|
||||
[
|
||||
"CLIP Temperature",
|
||||
"Dynamic scale as float",
|
||||
"Unet Temperature SD1",
|
||||
"Unet Temperature SD1 per layer",
|
||||
"Unet Temperature SDXL",
|
||||
"Unet Temperature SDXL per layer",
|
||||
"Unet Temperature any model"
|
||||
"Unet Temperature"
|
||||
],
|
||||
{
|
||||
"title_aux": "Stable-Diffusion-temperature-settings"
|
||||
@ -1790,6 +1814,8 @@
|
||||
],
|
||||
"https://github.com/GraftingRayman/ComfyUI_GraftingRayman": [
|
||||
[
|
||||
"GR Flip Tile Random Inverted",
|
||||
"GR Flip Tile Random Red Ring",
|
||||
"GR Image Details Displayer",
|
||||
"GR Image Details Saver",
|
||||
"GR Image Resize",
|
||||
@ -2153,6 +2179,15 @@
|
||||
"title_aux": "ComfyUI-JNodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/JayLyu/ComfyUI_BaiKong_Node": [
|
||||
[
|
||||
"BK_ColorSelector",
|
||||
"BK_Img2Color"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_BaiKong_Node"
|
||||
}
|
||||
],
|
||||
"https://github.com/JcandZero/ComfyUI_GLM4Node": [
|
||||
[
|
||||
"GLM3_turbo_CHAT",
|
||||
@ -2446,6 +2481,17 @@
|
||||
"title_aux": "ImagesGrid"
|
||||
}
|
||||
],
|
||||
"https://github.com/LZpenguin/ComfyUI-Text": [
|
||||
[
|
||||
"CombinationText",
|
||||
"PlaceholderText",
|
||||
"ReplaceText",
|
||||
"ShowText"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Text"
|
||||
}
|
||||
],
|
||||
"https://github.com/LarryJane491/Image-Captioning-in-ComfyUI": [
|
||||
[
|
||||
"LoRA Caption Load",
|
||||
@ -2725,17 +2771,6 @@
|
||||
"title_aux": "ComfyUI-BadmanNodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/MarkoCa1/ComfyUI-Text": [
|
||||
[
|
||||
"CombinationText",
|
||||
"PlaceholderText",
|
||||
"ReplaceText",
|
||||
"ShowText"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_Text"
|
||||
}
|
||||
],
|
||||
"https://github.com/MarkoCa1/ComfyUI_Segment_Mask": [
|
||||
[
|
||||
"AutomaticMask(segment anything)"
|
||||
@ -2797,6 +2832,7 @@
|
||||
"HueShift",
|
||||
"ImageDimensions",
|
||||
"ImageResizeLong",
|
||||
"ImageZigzag",
|
||||
"IndoorBackgrounds",
|
||||
"IndoorDir",
|
||||
"IntEvaluate",
|
||||
@ -3354,6 +3390,7 @@
|
||||
[
|
||||
"AudioBatchValueNode",
|
||||
"AudioTranscriptionNode",
|
||||
"DownloadAudio",
|
||||
"ImageRepeatInterleavedNode",
|
||||
"LatentRepeatInterleavedNode",
|
||||
"LoadAudio",
|
||||
@ -3384,8 +3421,12 @@
|
||||
],
|
||||
"https://github.com/Scorpinaus/ComfyUI-DiffusersLoader": [
|
||||
[
|
||||
"CombinedDiffusersLoader",
|
||||
"CombinedDiffusersSD15Loader",
|
||||
"CombinedDiffusersSDXLLoader",
|
||||
"DiffusersClipLoader",
|
||||
"DiffusersUNETLoader",
|
||||
"DiffusersVAELoader",
|
||||
"SD15CLIPLoader",
|
||||
"SD15UNETLoader",
|
||||
"SD15VAELoader",
|
||||
@ -3679,17 +3720,6 @@
|
||||
"title_aux": "Eagleshadow Custom Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/Shinsplat/ComfyUI-Shinsplat": [
|
||||
[
|
||||
"Clip Text Encode (Shinsplat)",
|
||||
"Clip Text Encode SDXL (Shinsplat)",
|
||||
"Lora Loader (Shinsplat)",
|
||||
"Sum Wrap (Shinsplat)"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Shinsplat"
|
||||
}
|
||||
],
|
||||
"https://github.com/ShmuelRonen/ComfyUI-SVDResizer": [
|
||||
[
|
||||
"SVDRsizer"
|
||||
@ -3814,6 +3844,7 @@
|
||||
"Stability Creative Upscale",
|
||||
"Stability Erase",
|
||||
"Stability Image Core",
|
||||
"Stability Image Ultra",
|
||||
"Stability Inpainting",
|
||||
"Stability Outpainting",
|
||||
"Stability Remove Background",
|
||||
@ -5342,7 +5373,9 @@
|
||||
"LiamLibLoadImage",
|
||||
"LiamLibSaveImg",
|
||||
"LiamLibSaveText",
|
||||
"PreviewReliefImage"
|
||||
"PreviewReliefImage",
|
||||
"SpeechRecognitionLiam",
|
||||
"SpeechSynthesisLiam"
|
||||
],
|
||||
{
|
||||
"title_aux": "LiamUtil"
|
||||
@ -5646,7 +5679,7 @@
|
||||
],
|
||||
"https://github.com/audioscavenger/ComfyUI-Thumbnails": [
|
||||
[
|
||||
"ComfyUIThumbnails"
|
||||
"LoadImageThumbnails"
|
||||
],
|
||||
{
|
||||
"author": "AudioscavengeR",
|
||||
@ -5696,7 +5729,8 @@
|
||||
"Bedrock - Claude",
|
||||
"Bedrock - Claude Multimodal",
|
||||
"Bedrock - SDXL",
|
||||
"Bedrock - Titan Image",
|
||||
"Bedrock - Titan Inpainting",
|
||||
"Bedrock - Titan Text to Image",
|
||||
"Image From S3",
|
||||
"Image From URL",
|
||||
"Image To S3",
|
||||
@ -6112,6 +6146,7 @@
|
||||
],
|
||||
"https://github.com/bobmagicii/comfykit-custom-nodes": [
|
||||
[
|
||||
"LoraThree",
|
||||
"LoraWithMeta",
|
||||
"TypecasterImage",
|
||||
"TypecasterLatent"
|
||||
@ -6298,6 +6333,15 @@
|
||||
"title_aux": "ComfyUI LLaVA Captioner"
|
||||
}
|
||||
],
|
||||
"https://github.com/chakib-belgaid/ComfyUI-autosize": [
|
||||
[
|
||||
"CustomAutoSize",
|
||||
"SDXLAutoSize"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-autosize"
|
||||
}
|
||||
],
|
||||
"https://github.com/chakib-belgaid/Comfyui_Prompt_styler": [
|
||||
[
|
||||
"Prompt_Styler"
|
||||
@ -6314,6 +6358,14 @@
|
||||
"title_aux": "ComfyUI-IMG_Query"
|
||||
}
|
||||
],
|
||||
"https://github.com/chandlergis/ComfyUI_EmojiOverlay": [
|
||||
[
|
||||
"Image Emoji Overlay"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_EmojiOverlay"
|
||||
}
|
||||
],
|
||||
"https://github.com/chaojie/ComfyUI-AniPortrait": [
|
||||
[
|
||||
"AniPortraitLoader",
|
||||
@ -6813,6 +6865,7 @@
|
||||
"LayerMask: MaskMotionBlur",
|
||||
"LayerMask: MaskPreview",
|
||||
"LayerMask: MaskStroke",
|
||||
"LayerMask: MediapipeFacialSegment",
|
||||
"LayerMask: PersonMaskUltra",
|
||||
"LayerMask: PersonMaskUltra V2",
|
||||
"LayerMask: PixelSpread",
|
||||
@ -6838,6 +6891,7 @@
|
||||
"LayerStyle: Stroke",
|
||||
"LayerStyle: Stroke V2",
|
||||
"LayerUtility: AddBlindWaterMark",
|
||||
"LayerUtility: BatchSelector",
|
||||
"LayerUtility: Boolean",
|
||||
"LayerUtility: BooleanOperator",
|
||||
"LayerUtility: ColorImage",
|
||||
@ -7813,6 +7867,39 @@
|
||||
"title_aux": "comfyui_facetools"
|
||||
}
|
||||
],
|
||||
"https://github.com/denfrost/Den_ComfyUI_Workflow": [
|
||||
[
|
||||
"Den_BatchIndex_AS",
|
||||
"Den_CropImage_AS",
|
||||
"Den_Eval_AS",
|
||||
"Den_GPTLoaderSimple_llama",
|
||||
"Den_GPTSampler_llama",
|
||||
"Den_ImageMixMasked_As",
|
||||
"Den_ImageToLatentSpace",
|
||||
"Den_ImageToMask_AS",
|
||||
"Den_Int2Any_AS",
|
||||
"Den_LatentAdd_AS",
|
||||
"Den_LatentMixMasked_As",
|
||||
"Den_LatentMix_AS",
|
||||
"Den_LatentToImages_AS",
|
||||
"Den_LoadLatent_AS",
|
||||
"Den_MapRange_AS",
|
||||
"Den_MaskToImage_AS",
|
||||
"Den_Math_AS",
|
||||
"Den_NoiseImage_AS",
|
||||
"Den_Number2Float_AS",
|
||||
"Den_Number2Int_AS",
|
||||
"Den_Number_AS",
|
||||
"Den_SVD_img2vid",
|
||||
"Den_SaveLatent_AS",
|
||||
"Den_TextToImage_AS",
|
||||
"Den_TextWildcardList_AS",
|
||||
"Increment_AS"
|
||||
],
|
||||
{
|
||||
"title_aux": "Den_ComfyUI_Workflows"
|
||||
}
|
||||
],
|
||||
"https://github.com/deroberon/StableZero123-comfyui": [
|
||||
[
|
||||
"SDZero ImageSplit",
|
||||
@ -8104,20 +8191,23 @@
|
||||
"Eden_String",
|
||||
"FolderScanner",
|
||||
"GetRandomFile",
|
||||
"Get_Prefixed_Imgs",
|
||||
"HistogramMatching",
|
||||
"IMG_blender",
|
||||
"IMG_padder",
|
||||
"IMG_resolution_multiple_of",
|
||||
"IMG_scaler",
|
||||
"IMG_unpadder",
|
||||
"IPAdapterRandomRotateEmbeds",
|
||||
"If ANY execute A else B",
|
||||
"ImageDescriptionNode",
|
||||
"LatentTypeConversion",
|
||||
"Linear_Combine_IP_Embeds",
|
||||
"LoadImagesByFilename",
|
||||
"LoadRandomImage",
|
||||
"Load_Embeddings_From_Folder",
|
||||
"MaskFromRGB",
|
||||
"MaskFromRGB_KMeans",
|
||||
"SaveExplorationState",
|
||||
"Random_Style_Mixture",
|
||||
"SaveImageAdvanced",
|
||||
"SavePosEmbeds",
|
||||
"VAEDecode_to_folder",
|
||||
@ -8191,10 +8281,10 @@
|
||||
"Selector"
|
||||
],
|
||||
{
|
||||
"author": "\u02f6\ud835\udfa2\u292c\u2ad2\u2d56s\u143c\u02f6",
|
||||
"description": "Preset aspect ratios and inference parameters.",
|
||||
"nickname": "Selector",
|
||||
"title": "Selector",
|
||||
"author": "\"\u02f6\ud835\udfa2\u292c\u2ad2\u2d56s\u143c\u02f6\"",
|
||||
"description": "\"Selector and Recourse for exdysa workflow. Preset aspect ratios, general settings, fallback switches.\"",
|
||||
"nickname": "\"Selector\"",
|
||||
"title": "\"Selector\"",
|
||||
"title_aux": "comfyui-selector"
|
||||
}
|
||||
],
|
||||
@ -8291,6 +8381,7 @@
|
||||
"FL_ImageCaptionSaver",
|
||||
"FL_ImageDimensionDisplay",
|
||||
"FL_ImageDurationSync",
|
||||
"FL_ImageNotes",
|
||||
"FL_ImagePixelator",
|
||||
"FL_ImageRandomizer",
|
||||
"FL_InfiniteZoom",
|
||||
@ -8433,6 +8524,7 @@
|
||||
"https://github.com/fmatray/ComfyUI_BattlemapGrid": [
|
||||
[
|
||||
"Battlemap Grid",
|
||||
"Compass",
|
||||
"Map Generator",
|
||||
"Map Generator(Outdoors)"
|
||||
],
|
||||
@ -8516,6 +8608,13 @@
|
||||
"title_aux": "ComfyUI_MagicClothing"
|
||||
}
|
||||
],
|
||||
"https://github.com/frankchieng/ComfyUI_llm_easyanimiate": [
|
||||
[],
|
||||
{
|
||||
"nodename_pattern": "^FrankChiengEasyAnimate",
|
||||
"title_aux": "ComfyUI_llm_easyanimiate"
|
||||
}
|
||||
],
|
||||
"https://github.com/fsdymy1024/ComfyUI_fsdymy": [
|
||||
[
|
||||
"Preview Image Without Metadata",
|
||||
@ -8954,17 +9053,24 @@
|
||||
"Image20SwitcherNode",
|
||||
"Image3SwitcherNode",
|
||||
"Image5SwitcherNode",
|
||||
"MonoClip_node",
|
||||
"PixelArt_node",
|
||||
"VAEDecodePreview_node",
|
||||
"image2contrastMask_node",
|
||||
"image2imbgg_node",
|
||||
"image_halftone",
|
||||
"image_histograms_node",
|
||||
"image_histograms_node_compact",
|
||||
"images_side_by_side",
|
||||
"smart_checkpoint_loader"
|
||||
"imgbbLoader_node",
|
||||
"smart_checkpoint_loader",
|
||||
"storeURL_node"
|
||||
],
|
||||
{
|
||||
"author": "YFG",
|
||||
"description": "This extension calculates the histogram of an image and outputs the results as graph images for individual channels as well as RGB and Luminosity.",
|
||||
"nickname": "\ud83d\udc2f YFG Histograms",
|
||||
"title": "YFG Histograms",
|
||||
"description": "This extension loads a model checkpoint file and extracts the model state dictionary or the entire model, treating all checkpoints as if they are in the root directory.",
|
||||
"nickname": "\ud83e\udde0 YFG Smart Checkpoint Loader",
|
||||
"title": "YFG Smart Checkpoint Loader",
|
||||
"title_aux": "\ud83d\ude38 YFG Comical Nodes"
|
||||
}
|
||||
],
|
||||
@ -9041,6 +9147,14 @@
|
||||
"title_aux": "ComfyUI-Image-Matting"
|
||||
}
|
||||
],
|
||||
"https://github.com/haohaocreates/ComfyUI-HH-Image-Selector": [
|
||||
[
|
||||
"Image Selector"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-HH-Image-Selector"
|
||||
}
|
||||
],
|
||||
"https://github.com/hay86/ComfyUI_AceNodes": [
|
||||
[
|
||||
"ACE_AnyInputSwitchBool",
|
||||
@ -9058,6 +9172,7 @@
|
||||
"ACE_ImageRemoveBackground",
|
||||
"ACE_ImageSaveToCloud",
|
||||
"ACE_Integer",
|
||||
"ACE_MaskBlur",
|
||||
"ACE_Seed",
|
||||
"ACE_Text",
|
||||
"ACE_TextConcatenate",
|
||||
@ -9123,6 +9238,8 @@
|
||||
[
|
||||
"About_us",
|
||||
"CLIPTextEncode_party",
|
||||
"Dingding",
|
||||
"Dingding_tool",
|
||||
"KSampler_party",
|
||||
"LLM",
|
||||
"LLM_api_loader",
|
||||
@ -9143,6 +9260,8 @@
|
||||
"ebd_tool",
|
||||
"end_dialog",
|
||||
"end_workflow",
|
||||
"feishu",
|
||||
"feishu_tool",
|
||||
"file_combine",
|
||||
"file_combine_plus",
|
||||
"github_tool",
|
||||
@ -9280,6 +9399,15 @@
|
||||
"title_aux": "ComfyUI_DanTagGen"
|
||||
}
|
||||
],
|
||||
"https://github.com/huchenlei/ComfyUI_densediffusion": [
|
||||
[
|
||||
"DenseDiffusionAddCondNode",
|
||||
"DenseDiffusionApplyNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI DenseDiffusion"
|
||||
}
|
||||
],
|
||||
"https://github.com/hughescr/ComfyUI-OpenPose-Keypoint-Extractor": [
|
||||
[
|
||||
"Openpose Keypoint Extractor"
|
||||
@ -10529,6 +10657,18 @@
|
||||
"title_aux": "comfy-mecha"
|
||||
}
|
||||
],
|
||||
"https://github.com/lks-ai/ComfyUI-StableAudioSampler": [
|
||||
[
|
||||
"StableAudioSampler"
|
||||
],
|
||||
{
|
||||
"author": "lks-ai",
|
||||
"description": "A Simple integration of Stable Audio Diffusion with knobs and stuff!",
|
||||
"nickname": "stableaudio",
|
||||
"title": "StableAudioSampler",
|
||||
"title_aux": "ComfyUI Stable Audio Open 1.0 Sampler"
|
||||
}
|
||||
],
|
||||
"https://github.com/lks-ai/anynode": [
|
||||
[
|
||||
"AnyNode",
|
||||
@ -10703,6 +10843,7 @@
|
||||
"https://github.com/lquesada/ComfyUI-Inpaint-CropAndStitch": [
|
||||
[
|
||||
"InpaintCrop",
|
||||
"InpaintExtendOutpaint",
|
||||
"InpaintStitch"
|
||||
],
|
||||
{
|
||||
@ -11022,6 +11163,21 @@
|
||||
"title_aux": "ComfyUI Inspire Pack"
|
||||
}
|
||||
],
|
||||
"https://github.com/luandev/ComfyUI-CrewAI": [
|
||||
[
|
||||
"\ud83d\udcceCrewAI Agent",
|
||||
"\ud83d\udcceCrewAI Agent List",
|
||||
"\ud83d\udcceCrewAI Crew",
|
||||
"\ud83d\udcceCrewAI LLM Chat GPT",
|
||||
"\ud83d\udcceCrewAI LLM Hugging Face",
|
||||
"\ud83d\udcceCrewAI LLM OpenAI",
|
||||
"\ud83d\udcceCrewAI Task",
|
||||
"\ud83d\udcceCrewAI Task List"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI CrewAI"
|
||||
}
|
||||
],
|
||||
"https://github.com/m-sokes/ComfyUI-Sokes-Nodes": [
|
||||
[
|
||||
"Custom Date Format | sokes \ud83e\uddac",
|
||||
@ -11062,6 +11218,18 @@
|
||||
"title_aux": "ComfyUI-SubjectStyle-CSV"
|
||||
}
|
||||
],
|
||||
"https://github.com/marduk191/comfyui-marnodes": [
|
||||
[
|
||||
"marduk191_workflow_settings"
|
||||
],
|
||||
{
|
||||
"author": "\u02f6marduk191",
|
||||
"description": "A node to set workflow settings.",
|
||||
"nickname": "marduk191 workflow settings",
|
||||
"title": "marduk191 workflow settings",
|
||||
"title_aux": "marduk191 workflow settings"
|
||||
}
|
||||
],
|
||||
"https://github.com/marhensa/sdxl-recommended-res-calc": [
|
||||
[
|
||||
"RecommendedResCalc"
|
||||
@ -11616,6 +11784,15 @@
|
||||
"title_aux": "ntdviet/comfyui-ext"
|
||||
}
|
||||
],
|
||||
"https://github.com/nuanarchy/ComfyUI-NuA-FlashFace": [
|
||||
[
|
||||
"FlashFace_Loader_NuA",
|
||||
"FlashFace_Sampler_NuA"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-NuA-FlashFace"
|
||||
}
|
||||
],
|
||||
"https://github.com/nullquant/ComfyUI-BrushNet": [
|
||||
[
|
||||
"BlendInpaint",
|
||||
@ -11882,6 +12059,7 @@
|
||||
"BMAB Prompt",
|
||||
"BMAB Remove Background",
|
||||
"BMAB Resize By Person",
|
||||
"BMAB Resize By Ratio",
|
||||
"BMAB Resize and Fill",
|
||||
"BMAB SD-WebUI API BMAB Extension",
|
||||
"BMAB SD-WebUI API ControlNet",
|
||||
@ -11921,6 +12099,14 @@
|
||||
"title_aux": "Comfyui-Minio"
|
||||
}
|
||||
],
|
||||
"https://github.com/prodogape/ComfyUI-OmDet": [
|
||||
[
|
||||
"Apply OmDet"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-OmDet"
|
||||
}
|
||||
],
|
||||
"https://github.com/pythongosssss/ComfyUI-Custom-Scripts": [
|
||||
[
|
||||
"CheckpointLoader|pysssss",
|
||||
@ -12018,6 +12204,7 @@
|
||||
],
|
||||
"https://github.com/receyuki/comfyui-prompt-reader-node": [
|
||||
[
|
||||
"SDAnyConverter",
|
||||
"SDBatchLoader",
|
||||
"SDLoraLoader",
|
||||
"SDLoraSelector",
|
||||
@ -12108,6 +12295,17 @@
|
||||
"title_aux": "comfyui-ricklove"
|
||||
}
|
||||
],
|
||||
"https://github.com/risunobushi/comfyUI_FrequencySeparation_RGB-HSV": [
|
||||
[
|
||||
"FrequencyCombination",
|
||||
"FrequencyCombinationHSV",
|
||||
"FrequencySeparation",
|
||||
"FrequencySeparationHSV"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyUI_FrequencySeparation_RGB-HSV"
|
||||
}
|
||||
],
|
||||
"https://github.com/rklaffehn/rk-comfy-nodes": [
|
||||
[
|
||||
"RK_CivitAIAddHashes",
|
||||
@ -12272,6 +12470,14 @@
|
||||
"title_aux": "SRL's nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/seghier/ComfyUI_LibreTranslate/raw/main/translate_node.py": [
|
||||
[
|
||||
"LibreTranslate"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_LibreTranslate"
|
||||
}
|
||||
],
|
||||
"https://github.com/sergekatzmann/ComfyUI_Nimbus-Pack": [
|
||||
[
|
||||
"AdjustAndRoundDimensions",
|
||||
@ -12395,6 +12601,16 @@
|
||||
"title_aux": "comfyui-mixlab-nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/shadowcz007/comfyui-sound-lab": [
|
||||
[
|
||||
"AudioPlay",
|
||||
"Musicgen_",
|
||||
"StableAudio_"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui-sound-lab"
|
||||
}
|
||||
],
|
||||
"https://github.com/shadowcz007/comfyui-ultralytics-yolo": [
|
||||
[
|
||||
"DetectByLabel"
|
||||
@ -12608,6 +12824,9 @@
|
||||
],
|
||||
"https://github.com/smthemex/ComfyUI_ChatGLM_API": [
|
||||
[
|
||||
"Glm_4_9b_Chat",
|
||||
"Glm_4v_9b",
|
||||
"Glm_Lcoal_Or_Repo",
|
||||
"ZhipuaiApi_Character",
|
||||
"ZhipuaiApi_Txt",
|
||||
"ZhipuaiApi_img"
|
||||
@ -12636,7 +12855,8 @@
|
||||
],
|
||||
"https://github.com/smthemex/ComfyUI_ID_Animator": [
|
||||
[
|
||||
"ID_Animator"
|
||||
"ID_Animator",
|
||||
"ID_Repo_Choice"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_ID_Animator"
|
||||
@ -12677,10 +12897,20 @@
|
||||
"title_aux": "ComfyUI_Pipeline_Tool"
|
||||
}
|
||||
],
|
||||
"https://github.com/smthemex/ComfyUI_StableAudio_Open": [
|
||||
[
|
||||
"StableAudio_Open",
|
||||
"Use_LocalModel_Or_Repo"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_StableAudio_Open"
|
||||
}
|
||||
],
|
||||
"https://github.com/smthemex/ComfyUI_StoryDiffusion": [
|
||||
[
|
||||
"Character_Batch",
|
||||
"Comic_Type",
|
||||
"Pre_Translate_prompt",
|
||||
"Storydiffusion_Img2Img",
|
||||
"Storydiffusion_Text2Img"
|
||||
],
|
||||
@ -13191,6 +13421,14 @@
|
||||
"title_aux": "ComfyUI-AudioReactor"
|
||||
}
|
||||
],
|
||||
"https://github.com/tooldigital/ComfyUI-Yolo-Cropper": [
|
||||
[
|
||||
"ToolYoloCropper"
|
||||
],
|
||||
{
|
||||
"title_aux": "Easy automatic (square) image cropper using Yolo"
|
||||
}
|
||||
],
|
||||
"https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": [
|
||||
[
|
||||
"CaptureWebcam",
|
||||
@ -13400,14 +13638,15 @@
|
||||
"title_aux": "unwdef-nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/vanche1212/ComfyUI-fq393": [
|
||||
"https://github.com/vanche1212/ComfyUI-ZMG-Nodes": [
|
||||
[
|
||||
"APIRequestNode",
|
||||
"JsonParserNode",
|
||||
"LoadVideoPath",
|
||||
"LoadVideoUpload",
|
||||
"OldPhotoColorizationNode",
|
||||
"OllamaRequestNode"
|
||||
"OllamaRequestNode",
|
||||
"Waveform2Audio"
|
||||
],
|
||||
{
|
||||
"title_aux": "ZMG PLUGIN"
|
||||
@ -13804,6 +14043,7 @@
|
||||
"easy a1111Loader",
|
||||
"easy applyBrushNet",
|
||||
"easy applyFooocusInpaint",
|
||||
"easy applyInpaint",
|
||||
"easy applyPowerPaint",
|
||||
"easy boolean",
|
||||
"easy cascadeKSampler",
|
||||
@ -14194,6 +14434,18 @@
|
||||
"title_aux": "EasyCaptureNode for ComfyUI"
|
||||
}
|
||||
],
|
||||
"https://github.com/zohac/ComfyUI_ZC_DrawShape": [
|
||||
[
|
||||
"ZcDrawShape"
|
||||
],
|
||||
{
|
||||
"author": "Zohac",
|
||||
"description": "nodes for artists, designers and animators.",
|
||||
"nickname": "Zc DrawShape",
|
||||
"title": "Zc DrawShape",
|
||||
"title_aux": "ComfyUI_ZC_DrawShape"
|
||||
}
|
||||
],
|
||||
"https://github.com/zombieyang/sd-ppp": [
|
||||
[
|
||||
"Get Image From Photoshop Layer",
|
||||
|
||||
3571
github-stats.json
3571
github-stats.json
File diff suppressed because it is too large
Load Diff
@ -23,7 +23,7 @@ sys.path.append(glob_path)
|
||||
import cm_global
|
||||
from manager_util import *
|
||||
|
||||
version = [2, 36]
|
||||
version = [2, 37]
|
||||
version_str = f"V{version[0]}.{version[1]}" + (f'.{version[2]}' if len(version) > 2 else '')
|
||||
|
||||
comfyui_manager_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
||||
|
||||
@ -208,9 +208,11 @@ async def populate_github_stats(json_obj, json_obj_github):
|
||||
if url in json_obj_github:
|
||||
json_obj['custom_nodes'][i]['stars'] = json_obj_github[url]['stars']
|
||||
json_obj['custom_nodes'][i]['last_update'] = json_obj_github[url]['last_update']
|
||||
json_obj['custom_nodes'][i]['trust'] = json_obj_github[url]['author_account_age_days'] > 180
|
||||
else:
|
||||
json_obj['custom_nodes'][i]['stars'] = -1
|
||||
json_obj['custom_nodes'][i]['last_update'] = -1
|
||||
json_obj['custom_nodes'][i]['trust'] = False
|
||||
return json_obj
|
||||
|
||||
|
||||
|
||||
52
glob/security_check.py
Normal file
52
glob/security_check.py
Normal file
@ -0,0 +1,52 @@
|
||||
import sys
|
||||
import subprocess
|
||||
import os
|
||||
|
||||
|
||||
def security_check():
|
||||
print("[START] Security scan")
|
||||
|
||||
custom_nodes_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
|
||||
|
||||
guide = {"ComfyUI_LLMVISION": """
|
||||
1.Remove pip packages: openai-1.16.3.dist-info, anthropic-0.21.4.dist-info, openai-1.30.2.dist-info, anthropic-0.26.1.dist-info, %LocalAppData%\\rundll64.exe
|
||||
2.Remove these files in your system: lib/browser/admin.py, Cadmino.py, Fadmino.py, VISION-D.exe
|
||||
3.Check your Windows registry for the key listed above and remove it.
|
||||
4.Change all of your passwords, everywhere.
|
||||
"""}
|
||||
|
||||
node_blacklist = {"ComfyUI_LLMVISION": "ComfyUI_LLMVISION"}
|
||||
|
||||
pip_blacklist = {"AppleBotzz": "ComfyUI_LLMVISION"}
|
||||
|
||||
installed_pips = subprocess.check_output([sys.executable, '-m', "pip", "freeze"], text=True)
|
||||
|
||||
detected = set()
|
||||
for k, v in node_blacklist.items():
|
||||
if os.path.exists(os.path.join(custom_nodes_path, k)):
|
||||
print(f"[SECURITY ALERT] custom node '{k}' is dangerous.")
|
||||
detected.add(v)
|
||||
|
||||
for k, v in pip_blacklist.items():
|
||||
if k in installed_pips:
|
||||
detected.add(v)
|
||||
break
|
||||
|
||||
if len(detected) > 0:
|
||||
for line in installed_pips.split('\n'):
|
||||
for k, v in pip_blacklist.items():
|
||||
if k in line:
|
||||
print(f"[SECURITY ALERT] '{line}' is dangerous.")
|
||||
|
||||
print("\n########################################################################")
|
||||
print(" Malware has been detected, forcibly terminating ComfyUI execution.")
|
||||
print("########################################################################\n")
|
||||
|
||||
for x in detected:
|
||||
print(f"\n======== TARGET: {x} =========")
|
||||
print(f"\nTODO:")
|
||||
print(guide[x])
|
||||
|
||||
exit(-1)
|
||||
|
||||
print("[DONE] Security scan")
|
||||
951
js/custom-nodes-downloader.js
Normal file
951
js/custom-nodes-downloader.js
Normal file
@ -0,0 +1,951 @@
|
||||
import { app } from "../../scripts/app.js";
|
||||
import { api } from "../../scripts/api.js"
|
||||
import { ComfyDialog, $el } from "../../scripts/ui.js";
|
||||
import { install_checked_custom_node, manager_instance, rebootAPI } from "./common.js";
|
||||
|
||||
|
||||
async function getCustomNodes() {
|
||||
var mode = manager_instance.datasrc_combo.value;
|
||||
|
||||
var skip_update = "";
|
||||
if(manager_instance.update_check_checkbox.checked)
|
||||
skip_update = "&skip_update=true";
|
||||
|
||||
const response = await api.fetchApi(`/customnode/getlist?mode=${mode}${skip_update}`);
|
||||
|
||||
const data = await response.json();
|
||||
return data;
|
||||
}
|
||||
|
||||
async function getCustomnodeMappings() {
|
||||
var mode = manager_instance.datasrc_combo.value;
|
||||
|
||||
const response = await api.fetchApi(`/customnode/getmappings?mode=${mode}`);
|
||||
|
||||
const data = await response.json();
|
||||
return data;
|
||||
}
|
||||
|
||||
async function getConflictMappings() {
|
||||
var mode = manager_instance.datasrc_combo.value;
|
||||
|
||||
const response = await api.fetchApi(`/customnode/getmappings?mode=${mode}`);
|
||||
|
||||
const data = await response.json();
|
||||
|
||||
let node_to_extensions_map = {};
|
||||
|
||||
for(let k in data) {
|
||||
for(let i in data[k][0]) {
|
||||
let node = data[k][0][i];
|
||||
let l = node_to_extensions_map[node];
|
||||
if(!l) {
|
||||
l = [];
|
||||
node_to_extensions_map[node] = l;
|
||||
}
|
||||
l.push(k);
|
||||
}
|
||||
}
|
||||
|
||||
let conflict_map = {};
|
||||
for(let node in node_to_extensions_map) {
|
||||
if(node_to_extensions_map[node].length > 1) {
|
||||
for(let i in node_to_extensions_map[node]) {
|
||||
let extension = node_to_extensions_map[node][i];
|
||||
let l = conflict_map[extension];
|
||||
|
||||
if(!l) {
|
||||
l = [];
|
||||
conflict_map[extension] = l;
|
||||
}
|
||||
|
||||
for(let j in node_to_extensions_map[node]) {
|
||||
let extension2 = node_to_extensions_map[node][j];
|
||||
if(extension != extension2)
|
||||
l.push([node, extension2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return conflict_map;
|
||||
}
|
||||
|
||||
async function getUnresolvedNodesInComponent() {
|
||||
try {
|
||||
var mode = manager_instance.datasrc_combo.value;
|
||||
|
||||
const response = await api.fetchApi(`/component/get_unresolved`);
|
||||
|
||||
const data = await response.json();
|
||||
return data.nodes;
|
||||
}
|
||||
catch {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
export class CustomNodesInstaller extends ComfyDialog {
|
||||
static instance = null;
|
||||
|
||||
install_buttons = [];
|
||||
message_box = null;
|
||||
data = null;
|
||||
|
||||
static ShowMode = {
|
||||
NORMAL: 0,
|
||||
MISSING_NODES: 1,
|
||||
UPDATE: 2,
|
||||
};
|
||||
|
||||
clear() {
|
||||
this.install_buttons = [];
|
||||
this.message_box = null;
|
||||
this.data = null;
|
||||
}
|
||||
|
||||
constructor(app, manager_dialog) {
|
||||
super();
|
||||
this.manager_dialog = manager_dialog;
|
||||
this.search_keyword = '';
|
||||
this.element = $el("div.comfy-modal", { parent: document.body }, []);
|
||||
|
||||
this.currentSortProperty = ''; // The property currently being sorted
|
||||
this.currentSortAscending = true; // The direction of the current sort
|
||||
}
|
||||
|
||||
startInstall(target) {
|
||||
const self = CustomNodesInstaller.instance;
|
||||
|
||||
self.updateMessage(`<BR><font color="green">Installing '${target.title}'</font>`);
|
||||
}
|
||||
|
||||
disableButtons() {
|
||||
for(let i in this.install_buttons) {
|
||||
this.install_buttons[i].disabled = true;
|
||||
this.install_buttons[i].style.backgroundColor = 'gray';
|
||||
}
|
||||
}
|
||||
|
||||
apply_searchbox(data) {
|
||||
let keyword = this.search_box.value.toLowerCase();
|
||||
for(let i in this.grid_rows) {
|
||||
let data = this.grid_rows[i].data;
|
||||
let content = data.author.toLowerCase() + data.description.toLowerCase() + data.title.toLowerCase() + data.reference.toLowerCase();
|
||||
|
||||
if(this.filter && this.filter != '*') {
|
||||
if(this.filter == 'True' && (data.installed == 'Update' || data.installed == 'Fail')) {
|
||||
this.grid_rows[i].control.style.display = null;
|
||||
}
|
||||
else if(this.filter != data.installed) {
|
||||
this.grid_rows[i].control.style.display = 'none';
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if(keyword == "")
|
||||
this.grid_rows[i].control.style.display = null;
|
||||
else if(content.includes(keyword)) {
|
||||
this.grid_rows[i].control.style.display = null;
|
||||
}
|
||||
else {
|
||||
this.grid_rows[i].control.style.display = 'none';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async filter_missing_node(data) {
|
||||
const mappings = await getCustomnodeMappings();
|
||||
|
||||
// build regex->url map
|
||||
const regex_to_url = [];
|
||||
for (let i in data) {
|
||||
if(data[i]['nodename_pattern']) {
|
||||
let item = {regex: new RegExp(data[i].nodename_pattern), url: data[i].files[0]};
|
||||
regex_to_url.push(item);
|
||||
}
|
||||
}
|
||||
|
||||
// build name->url map
|
||||
const name_to_urls = {};
|
||||
for (const url in mappings) {
|
||||
const names = mappings[url];
|
||||
|
||||
for(const name in names[0]) {
|
||||
let v = name_to_urls[names[0][name]];
|
||||
if(v == undefined) {
|
||||
v = [];
|
||||
name_to_urls[names[0][name]] = v;
|
||||
}
|
||||
v.push(url);
|
||||
}
|
||||
}
|
||||
|
||||
const registered_nodes = new Set();
|
||||
for (let i in LiteGraph.registered_node_types) {
|
||||
registered_nodes.add(LiteGraph.registered_node_types[i].type);
|
||||
}
|
||||
|
||||
const missing_nodes = new Set();
|
||||
const workflow = app.graph.serialize();
|
||||
const group_nodes = workflow.extra && workflow.extra.groupNodes ? workflow.extra.groupNodes : [];
|
||||
let nodes = workflow.nodes;
|
||||
|
||||
for (let i in group_nodes) {
|
||||
let group_node = group_nodes[i];
|
||||
nodes = nodes.concat(group_node.nodes);
|
||||
}
|
||||
|
||||
for (let i in nodes) {
|
||||
const node_type = nodes[i].type;
|
||||
if(node_type.startsWith('workflow/'))
|
||||
continue;
|
||||
|
||||
if (!registered_nodes.has(node_type)) {
|
||||
const urls = name_to_urls[node_type.trim()];
|
||||
if(urls)
|
||||
urls.forEach(url => {
|
||||
missing_nodes.add(url);
|
||||
});
|
||||
else {
|
||||
for(let j in regex_to_url) {
|
||||
if(regex_to_url[j].regex.test(node_type)) {
|
||||
missing_nodes.add(regex_to_url[j].url);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let unresolved_nodes = await getUnresolvedNodesInComponent();
|
||||
for (let i in unresolved_nodes) {
|
||||
let node_type = unresolved_nodes[i];
|
||||
const url = name_to_urls[node_type];
|
||||
if(url)
|
||||
missing_nodes.add(url);
|
||||
}
|
||||
|
||||
return data.filter(node => node.files.some(file => missing_nodes.has(file)));
|
||||
}
|
||||
|
||||
async invalidateControl() {
|
||||
this.clear();
|
||||
|
||||
// splash
|
||||
while (this.element.children.length) {
|
||||
this.element.removeChild(this.element.children[0]);
|
||||
}
|
||||
|
||||
const msg = $el('div', {id:'custom-message'},
|
||||
[$el('br'),
|
||||
'The custom node DB is currently being updated, and updates to custom nodes are being checked for.',
|
||||
$el('br'),
|
||||
'NOTE: Update only checks for extensions that have been fetched.',
|
||||
$el('br')]);
|
||||
msg.style.height = '100px';
|
||||
msg.style.verticalAlign = 'middle';
|
||||
msg.style.color = "var(--fg-color)";
|
||||
|
||||
this.element.appendChild(msg);
|
||||
|
||||
// invalidate
|
||||
let data = await getCustomNodes();
|
||||
this.data = data.custom_nodes;
|
||||
this.channel = data.channel;
|
||||
|
||||
this.conflict_mappings = await getConflictMappings();
|
||||
|
||||
if(this.show_mode == CustomNodesInstaller.ShowMode.MISSING_NODES)
|
||||
this.data = await this.filter_missing_node(this.data);
|
||||
|
||||
this.element.removeChild(msg);
|
||||
|
||||
while (this.element.children.length) {
|
||||
this.element.removeChild(this.element.children[0]);
|
||||
}
|
||||
|
||||
this.createHeaderControls();
|
||||
await this.createGrid();
|
||||
this.apply_searchbox(this.data);
|
||||
this.createBottomControls();
|
||||
}
|
||||
|
||||
updateMessage(msg, btn_id) {
|
||||
this.message_box.innerHTML = msg;
|
||||
if(btn_id) {
|
||||
const rebootButton = document.getElementById(btn_id);
|
||||
const self = this;
|
||||
rebootButton.addEventListener("click",
|
||||
function() {
|
||||
if(rebootAPI()) {
|
||||
self.close();
|
||||
self.manager_dialog.close();
|
||||
}
|
||||
});
|
||||
console.log(rebootButton);
|
||||
}
|
||||
}
|
||||
|
||||
invalidate_checks(is_checked, install_state) {
|
||||
if(is_checked) {
|
||||
for(let i in this.grid_rows) {
|
||||
let data = this.grid_rows[i].data;
|
||||
let checkbox = this.grid_rows[i].checkbox;
|
||||
let buttons = this.grid_rows[i].buttons;
|
||||
|
||||
checkbox.disabled = data.installed != install_state;
|
||||
|
||||
if(checkbox.disabled) {
|
||||
for(let j in buttons) {
|
||||
buttons[j].style.display = 'none';
|
||||
}
|
||||
}
|
||||
else {
|
||||
for(let j in buttons) {
|
||||
buttons[j].style.display = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.checkbox_all.disabled = false;
|
||||
}
|
||||
else {
|
||||
for(let i in this.grid_rows) {
|
||||
let checkbox = this.grid_rows[i].checkbox;
|
||||
if(checkbox.check)
|
||||
return; // do nothing
|
||||
}
|
||||
|
||||
// every checkbox is unchecked -> enable all checkbox
|
||||
for(let i in this.grid_rows) {
|
||||
let checkbox = this.grid_rows[i].checkbox;
|
||||
let buttons = this.grid_rows[i].buttons;
|
||||
checkbox.disabled = false;
|
||||
|
||||
for(let j in buttons) {
|
||||
buttons[j].style.display = null;
|
||||
}
|
||||
}
|
||||
|
||||
this.checkbox_all.checked = false;
|
||||
this.checkbox_all.disabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
check_all(is_checked) {
|
||||
if(is_checked) {
|
||||
// lookup first checked item's state
|
||||
let check_state = null;
|
||||
for(let i in this.grid_rows) {
|
||||
let checkbox = this.grid_rows[i].checkbox;
|
||||
if(checkbox.checked) {
|
||||
check_state = this.grid_rows[i].data.installed;
|
||||
}
|
||||
}
|
||||
|
||||
if(check_state == null)
|
||||
return;
|
||||
|
||||
// check only same state items
|
||||
for(let i in this.grid_rows) {
|
||||
let checkbox = this.grid_rows[i].checkbox;
|
||||
if(this.grid_rows[i].data.installed == check_state)
|
||||
checkbox.checked = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// uncheck all
|
||||
for(let i in this.grid_rows) {
|
||||
let checkbox = this.grid_rows[i].checkbox;
|
||||
let buttons = this.grid_rows[i].buttons;
|
||||
checkbox.checked = false;
|
||||
checkbox.disabled = false;
|
||||
|
||||
for(let j in buttons) {
|
||||
buttons[j].style.display = null;
|
||||
}
|
||||
}
|
||||
|
||||
this.checkbox_all.disabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
sortData(property, ascending = true) {
|
||||
this.data.sort((a, b) => {
|
||||
// Check if either value is -1 and handle accordingly
|
||||
if (a[property] === -1) return 1; // Always put a at the end if its value is -1
|
||||
if (b[property] === -1) return -1; // Always put b at the end if its value is -1
|
||||
// And be careful here, (-1<'2024-01-01') and (-1>'2024-01-01') are both false! So I handle -1 seperately.
|
||||
if (a[property] < b[property]) return ascending ? -1 : 1;
|
||||
if (a[property] > b[property]) return ascending ? 1 : -1;
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
|
||||
resetHeaderStyles() {
|
||||
const headers = ['th_author', 'th_title', 'th_stars', 'th_last_update']; // Add the IDs of all your sortable headers here
|
||||
headers.forEach(headerId => {
|
||||
const header = this.element.querySelector(`#${headerId}`);
|
||||
if (header) {
|
||||
header.style.backgroundColor = ''; // Reset to default background color
|
||||
// Add other style resets if necessary
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
toggleSort(property) {
|
||||
// If currently sorted by this property, toggle the direction; else, sort ascending
|
||||
if (this.currentSortProperty === property) {
|
||||
this.currentSortAscending = !this.currentSortAscending;
|
||||
} else {
|
||||
this.currentSortAscending = false;
|
||||
}
|
||||
this.currentSortProperty = property;
|
||||
|
||||
this.resetHeaderStyles(); // Reset styles of all sortable headers
|
||||
|
||||
// Determine the ID of the header based on the property
|
||||
let headerId = '';
|
||||
if (property === 'stars') {
|
||||
headerId = 'th_stars';
|
||||
} else if (property === 'last_update') {
|
||||
headerId = 'th_last_update';
|
||||
} else if (property === 'author') {
|
||||
headerId = 'th_author';
|
||||
} else if (property === 'title') {
|
||||
headerId = 'th_title';
|
||||
}
|
||||
|
||||
// If we have a valid headerId, change its style to indicate it's the active sort column
|
||||
if (headerId) {
|
||||
const activeHeader = this.element.querySelector(`#${headerId}`);
|
||||
if (activeHeader) {
|
||||
activeHeader.style.backgroundColor = '#222';
|
||||
// Slightly brighter. Add other style changes if necessary.
|
||||
}
|
||||
}
|
||||
|
||||
// Call sortData with the current property and direction
|
||||
this.sortData(property, this.currentSortAscending);
|
||||
|
||||
// Refresh the grid to display sorted data
|
||||
this.createGrid();
|
||||
this.apply_searchbox(this.data);
|
||||
}
|
||||
|
||||
async createGrid() {
|
||||
// Remove existing table if present
|
||||
var grid = this.element.querySelector('#custom-nodes-grid');
|
||||
var panel;
|
||||
let self = this;
|
||||
if (grid) {
|
||||
grid.querySelector('tbody').remove();
|
||||
panel = grid.parentNode;
|
||||
} else {
|
||||
grid = document.createElement('table');
|
||||
grid.setAttribute('id', 'custom-nodes-grid');
|
||||
|
||||
this.grid_rows = {};
|
||||
|
||||
var thead = document.createElement('thead');
|
||||
|
||||
var headerRow = document.createElement('tr');
|
||||
thead.style.position = "sticky";
|
||||
thead.style.top = "0px";
|
||||
thead.style.borderCollapse = "collapse";
|
||||
thead.style.tableLayout = "fixed";
|
||||
|
||||
var header0 = document.createElement('th');
|
||||
header0.style.width = "20px";
|
||||
this.checkbox_all = $el("input",{type:'checkbox', id:'check_all'},[]);
|
||||
header0.appendChild(this.checkbox_all);
|
||||
this.checkbox_all.checked = false;
|
||||
this.checkbox_all.disabled = true;
|
||||
this.checkbox_all.addEventListener('change', function() { self.check_all.call(self, self.checkbox_all.checked); });
|
||||
|
||||
var header1 = document.createElement('th');
|
||||
header1.innerHTML = ' ID ';
|
||||
header1.style.width = "20px";
|
||||
|
||||
var header2 = document.createElement('th');
|
||||
header2.innerHTML = 'Author';
|
||||
header2.style.width = "150px";
|
||||
header2.style.cursor = 'pointer';
|
||||
header2.setAttribute('id', 'th_author');
|
||||
header2.onclick = () => this.toggleSort('author');
|
||||
|
||||
var header3 = document.createElement('th');
|
||||
header3.innerHTML = 'Name';
|
||||
header3.style.width = "20%";
|
||||
header3.style.cursor = 'pointer';
|
||||
header3.setAttribute('id', 'th_title');
|
||||
header3.onclick = () => this.toggleSort('title');
|
||||
|
||||
var header4 = document.createElement('th');
|
||||
header4.innerHTML = 'Description';
|
||||
header4.style.width = "60%";
|
||||
// header4.classList.add('expandable-column');
|
||||
|
||||
var header5 = document.createElement('th');
|
||||
header5.innerHTML = ' ★ ';
|
||||
header5.style.width = "130px";
|
||||
header5.setAttribute('id', 'th_stars');
|
||||
header5.style.cursor = 'pointer';
|
||||
header5.onclick = () => this.toggleSort('stars');
|
||||
|
||||
var header6 = document.createElement('th');
|
||||
header6.innerHTML = 'Last Update';
|
||||
header6.style.width = "130px";
|
||||
header6.setAttribute('id', 'th_last_update');
|
||||
header6.style.cursor = 'pointer';
|
||||
header6.onclick = () => this.toggleSort('last_update');
|
||||
|
||||
var header7 = document.createElement('th');
|
||||
header7.innerHTML = 'Install';
|
||||
header7.style.width = "130px";
|
||||
|
||||
header0.style.position = "sticky";
|
||||
header0.style.top = "0px";
|
||||
header1.style.position = "sticky";
|
||||
header1.style.top = "0px";
|
||||
header2.style.position = "sticky";
|
||||
header2.style.top = "0px";
|
||||
header3.style.position = "sticky";
|
||||
header3.style.top = "0px";
|
||||
header4.style.position = "sticky";
|
||||
header4.style.top = "0px";
|
||||
header5.style.position = "sticky";
|
||||
header5.style.top = "0px";
|
||||
header6.style.position = "sticky";
|
||||
header6.style.top = "0px";
|
||||
header7.style.position = "sticky";
|
||||
header7.style.top = "0px";
|
||||
|
||||
thead.appendChild(headerRow);
|
||||
headerRow.appendChild(header0);
|
||||
headerRow.appendChild(header1);
|
||||
headerRow.appendChild(header2);
|
||||
headerRow.appendChild(header3);
|
||||
headerRow.appendChild(header4);
|
||||
headerRow.appendChild(header5);
|
||||
headerRow.appendChild(header6);
|
||||
headerRow.appendChild(header7);
|
||||
|
||||
headerRow.style.backgroundColor = "Black";
|
||||
headerRow.style.color = "White";
|
||||
headerRow.style.textAlign = "center";
|
||||
headerRow.style.width = "100%";
|
||||
headerRow.style.padding = "0";
|
||||
|
||||
grid.appendChild(thead);
|
||||
|
||||
panel = document.createElement('div');
|
||||
panel.style.width = "100%";
|
||||
panel.appendChild(grid);
|
||||
this.element.appendChild(panel);
|
||||
}
|
||||
var tbody = document.createElement('tbody');
|
||||
grid.appendChild(tbody);
|
||||
|
||||
if(this.data)
|
||||
for (var i = 0; i < this.data.length; i++) {
|
||||
const data = this.data[i];
|
||||
let dataRow = document.createElement('tr');
|
||||
|
||||
let data0 = document.createElement('td');
|
||||
let checkbox = $el("input",{type:'checkbox', id:`check_${i}`},[]);
|
||||
data0.appendChild(checkbox);
|
||||
checkbox.checked = false;
|
||||
checkbox.addEventListener('change', function() { self.invalidate_checks.call(self, checkbox.checked, data.installed); });
|
||||
|
||||
var data1 = document.createElement('td');
|
||||
data1.style.textAlign = "center";
|
||||
data1.innerHTML = i+1;
|
||||
|
||||
var data2 = document.createElement('td');
|
||||
data2.style.maxWidth = "120px";
|
||||
data2.className = "cm-node-author"
|
||||
data2.textContent = ` ${data.author}`;
|
||||
|
||||
if(data.trust) {
|
||||
data2.textContent = `✅${data.author}`;
|
||||
}
|
||||
else {
|
||||
data2.textContent = ` ${data.author}`;
|
||||
}
|
||||
|
||||
data2.style.whiteSpace = "nowrap";
|
||||
data2.style.overflow = "hidden";
|
||||
data2.style.textOverflow = "ellipsis";
|
||||
|
||||
var data3 = document.createElement('td');
|
||||
data3.style.maxWidth = "200px";
|
||||
data3.style.wordWrap = "break-word";
|
||||
data3.className = "cm-node-name"
|
||||
data3.innerHTML = ` <a href=${data.reference} target="_blank"><font color="skyblue"><b>${data.title}</b></font></a>`;
|
||||
if(data.installed == 'Fail')
|
||||
data3.innerHTML = ' <font color="BLACK"><B>(IMPORT FAILED)</B></font>' + data3.innerHTML;
|
||||
|
||||
var data4 = document.createElement('td');
|
||||
data4.innerHTML = data.description;
|
||||
data4.className = "cm-node-desc"
|
||||
|
||||
let conflicts = this.conflict_mappings[data.files[0]];
|
||||
if(conflicts) {
|
||||
let buf = '<p class="cm-conflicted-nodes-text"><B><font color="BLACK">Conflicted Nodes:</FONT></B><BR>';
|
||||
for(let k in conflicts) {
|
||||
let node_name = conflicts[k][0];
|
||||
|
||||
let extension_name = conflicts[k][1].split('/').pop();
|
||||
if(extension_name.endsWith('/')) {
|
||||
extension_name = extension_name.slice(0, -1);
|
||||
}
|
||||
if(node_name.endsWith('.git')) {
|
||||
extension_name = extension_name.slice(0, -4);
|
||||
}
|
||||
|
||||
buf += `<B>${node_name}</B> [${extension_name}], `;
|
||||
}
|
||||
|
||||
if(buf.endsWith(', ')) {
|
||||
buf = buf.slice(0, -2);
|
||||
}
|
||||
buf += "</p>";
|
||||
data4.innerHTML += buf;
|
||||
}
|
||||
|
||||
var data5 = document.createElement('td');
|
||||
data5.style.maxWidth = "100px";
|
||||
data5.className = "cm-node-stars"
|
||||
if(data.stars < 0) {
|
||||
data5.textContent = 'N/A';
|
||||
}
|
||||
else {
|
||||
data5.textContent = `${data.stars}`;
|
||||
}
|
||||
data5.style.whiteSpace = "nowrap";
|
||||
data5.style.overflow = "hidden";
|
||||
data5.style.textOverflow = "ellipsis";
|
||||
data5.style.textAlign = "center";
|
||||
|
||||
var lastUpdateDate = new Date();
|
||||
var data6 = document.createElement('td');
|
||||
data6.style.maxWidth = "100px";
|
||||
data6.className = "cm-node-last-update";
|
||||
if(data.last_update < 0) {
|
||||
data6.textContent = 'N/A';
|
||||
}
|
||||
else {
|
||||
data6.textContent = `${data.last_update}`.split(' ')[0];
|
||||
}
|
||||
data6.style.whiteSpace = "nowrap";
|
||||
data6.style.overflow = "hidden";
|
||||
data6.style.textOverflow = "ellipsis";
|
||||
data6.style.textAlign = "center";
|
||||
|
||||
var data7 = document.createElement('td');
|
||||
data7.style.textAlign = "center";
|
||||
|
||||
var installBtn = document.createElement('button');
|
||||
installBtn.className = "cm-btn-install";
|
||||
var installBtn2 = null;
|
||||
var installBtn3 = null;
|
||||
var installBtn4 = null;
|
||||
|
||||
this.install_buttons.push(installBtn);
|
||||
|
||||
switch(data.installed) {
|
||||
case 'Disabled':
|
||||
installBtn3 = document.createElement('button');
|
||||
installBtn3.innerHTML = 'Enable';
|
||||
installBtn3.className = "cm-btn-enable";
|
||||
installBtn3.style.backgroundColor = 'blue';
|
||||
installBtn3.style.color = 'white';
|
||||
this.install_buttons.push(installBtn3);
|
||||
|
||||
installBtn.innerHTML = 'Uninstall';
|
||||
installBtn.style.backgroundColor = 'red';
|
||||
break;
|
||||
|
||||
case 'Update':
|
||||
installBtn2 = document.createElement('button');
|
||||
installBtn2.innerHTML = 'Update';
|
||||
installBtn2.className = "cm-btn-update";
|
||||
installBtn2.style.backgroundColor = 'blue';
|
||||
installBtn2.style.color = 'white';
|
||||
this.install_buttons.push(installBtn2);
|
||||
|
||||
installBtn3 = document.createElement('button');
|
||||
installBtn3.innerHTML = 'Disable';
|
||||
installBtn3.className = "cm-btn-disable";
|
||||
installBtn3.style.backgroundColor = 'MediumSlateBlue';
|
||||
installBtn3.style.color = 'white';
|
||||
this.install_buttons.push(installBtn3);
|
||||
|
||||
installBtn.innerHTML = 'Uninstall';
|
||||
installBtn.style.backgroundColor = 'red';
|
||||
break;
|
||||
|
||||
case 'Fail':
|
||||
installBtn4 = document.createElement('button');
|
||||
installBtn4.innerHTML = 'Try fix';
|
||||
installBtn4.className = "cm-btn-disable";
|
||||
installBtn4.style.backgroundColor = '#6495ED';
|
||||
installBtn4.style.color = 'white';
|
||||
this.install_buttons.push(installBtn4);
|
||||
|
||||
case 'True':
|
||||
if(manager_instance.update_check_checkbox.checked) {
|
||||
installBtn2 = document.createElement('button');
|
||||
installBtn2.innerHTML = 'Try update';
|
||||
installBtn2.className = "cm-btn-update";
|
||||
installBtn2.style.backgroundColor = 'Gray';
|
||||
installBtn2.style.color = 'white';
|
||||
this.install_buttons.push(installBtn2);
|
||||
}
|
||||
|
||||
installBtn3 = document.createElement('button');
|
||||
installBtn3.innerHTML = 'Disable';
|
||||
installBtn3.className = "cm-btn-disable";
|
||||
installBtn3.style.backgroundColor = 'MediumSlateBlue';
|
||||
installBtn3.style.color = 'white';
|
||||
this.install_buttons.push(installBtn3);
|
||||
|
||||
installBtn.innerHTML = 'Uninstall';
|
||||
installBtn.style.backgroundColor = 'red';
|
||||
break;
|
||||
case 'False':
|
||||
installBtn.innerHTML = 'Install';
|
||||
installBtn.style.backgroundColor = 'black';
|
||||
installBtn.style.color = 'white';
|
||||
break;
|
||||
|
||||
default:
|
||||
installBtn.innerHTML = `Try Install`;
|
||||
installBtn.style.backgroundColor = 'Gray';
|
||||
installBtn.style.color = 'white';
|
||||
}
|
||||
|
||||
let j = i;
|
||||
if(installBtn2 != null) {
|
||||
installBtn2.style.width = "120px";
|
||||
installBtn2.addEventListener('click', function() {
|
||||
install_checked_custom_node(self.grid_rows, j, CustomNodesInstaller.instance, 'update');
|
||||
});
|
||||
|
||||
data7.appendChild(installBtn2);
|
||||
}
|
||||
|
||||
if(installBtn3 != null) {
|
||||
installBtn3.style.width = "120px";
|
||||
installBtn3.addEventListener('click', function() {
|
||||
install_checked_custom_node(self.grid_rows, j, CustomNodesInstaller.instance, 'toggle_active');
|
||||
});
|
||||
|
||||
data7.appendChild(installBtn3);
|
||||
}
|
||||
|
||||
if(installBtn4 != null) {
|
||||
installBtn4.style.width = "120px";
|
||||
installBtn4.addEventListener('click', function() {
|
||||
install_checked_custom_node(self.grid_rows, j, CustomNodesInstaller.instance, 'fix');
|
||||
});
|
||||
|
||||
data7.appendChild(installBtn4);
|
||||
}
|
||||
|
||||
installBtn.style.width = "120px";
|
||||
installBtn.addEventListener('click', function() {
|
||||
if(this.innerHTML == 'Uninstall') {
|
||||
if (confirm(`Are you sure uninstall ${data.title}?`)) {
|
||||
install_checked_custom_node(self.grid_rows, j, CustomNodesInstaller.instance, 'uninstall');
|
||||
}
|
||||
}
|
||||
else {
|
||||
install_checked_custom_node(self.grid_rows, j, CustomNodesInstaller.instance, 'install');
|
||||
}
|
||||
});
|
||||
|
||||
if(!data.author.startsWith('#NOTICE')){
|
||||
data7.appendChild(installBtn);
|
||||
}
|
||||
|
||||
if(data.installed == 'Fail' || data.author.startsWith('#NOTICE'))
|
||||
dataRow.style.backgroundColor = "#880000";
|
||||
else
|
||||
dataRow.style.backgroundColor = "var(--bg-color)";
|
||||
dataRow.style.color = "var(--fg-color)";
|
||||
dataRow.style.textAlign = "left";
|
||||
|
||||
dataRow.appendChild(data0);
|
||||
dataRow.appendChild(data1);
|
||||
dataRow.appendChild(data2);
|
||||
dataRow.appendChild(data3);
|
||||
dataRow.appendChild(data4);
|
||||
dataRow.appendChild(data5);
|
||||
dataRow.appendChild(data6);
|
||||
dataRow.appendChild(data7);
|
||||
tbody.appendChild(dataRow);
|
||||
|
||||
let buttons = [];
|
||||
if(installBtn) {
|
||||
buttons.push(installBtn);
|
||||
}
|
||||
if(installBtn2) {
|
||||
buttons.push(installBtn2);
|
||||
}
|
||||
if(installBtn3) {
|
||||
buttons.push(installBtn3);
|
||||
}
|
||||
|
||||
this.grid_rows[i] = {data:data, buttons:buttons, checkbox:checkbox, control:dataRow};
|
||||
}
|
||||
|
||||
function handleResize() {
|
||||
const parentHeight = self.element.clientHeight;
|
||||
const gridHeight = parentHeight - 200;
|
||||
|
||||
grid.style.height = gridHeight + "px";
|
||||
}
|
||||
window.addEventListener("resize", handleResize);
|
||||
|
||||
grid.style.position = "relative";
|
||||
grid.style.display = "inline-block";
|
||||
grid.style.width = "100%";
|
||||
grid.style.height = "100%";
|
||||
grid.style.overflowY = "scroll";
|
||||
this.element.style.height = "85%";
|
||||
this.element.style.width = "80%";
|
||||
|
||||
handleResize();
|
||||
}
|
||||
|
||||
createFilterCombo() {
|
||||
let combo = document.createElement("select");
|
||||
|
||||
combo.style.cssFloat = "left";
|
||||
combo.style.fontSize = "14px";
|
||||
combo.style.padding = "4px";
|
||||
combo.style.background = "black";
|
||||
combo.style.marginLeft = "2px";
|
||||
combo.style.width = "199px";
|
||||
combo.id = `combo-manger-filter`;
|
||||
combo.style.borderRadius = "15px";
|
||||
|
||||
let items =
|
||||
[
|
||||
{ value:'*', text:'Filter: all' },
|
||||
{ value:'Disabled', text:'Filter: disabled' },
|
||||
{ value:'Update', text:'Filter: update' },
|
||||
{ value:'True', text:'Filter: installed' },
|
||||
{ value:'False', text:'Filter: not-installed' },
|
||||
{ value:'Fail', text:'Filter: import failed' },
|
||||
];
|
||||
|
||||
items.forEach(item => {
|
||||
const option = document.createElement("option");
|
||||
option.value = item.value;
|
||||
option.text = item.text;
|
||||
combo.appendChild(option);
|
||||
});
|
||||
|
||||
if(this.show_mode == CustomNodesInstaller.ShowMode.UPDATE) {
|
||||
this.filter = 'Update';
|
||||
}
|
||||
else if(this.show_mode == CustomNodesInstaller.ShowMode.MISSING_NODES) {
|
||||
this.filter = '*';
|
||||
}
|
||||
|
||||
let self = this;
|
||||
combo.addEventListener('change', function(event) {
|
||||
self.filter = event.target.value;
|
||||
self.apply_searchbox();
|
||||
});
|
||||
|
||||
if(self.filter) {
|
||||
combo.value = self.filter;
|
||||
}
|
||||
|
||||
return combo;
|
||||
}
|
||||
|
||||
createHeaderControls() {
|
||||
let self = this;
|
||||
this.search_box = $el('input.cm-search-filter', {type:'text', id:'manager-customnode-search-box', placeholder:'input search keyword', value:this.search_keyword}, []);
|
||||
this.search_box.style.height = "25px";
|
||||
this.search_box.onkeydown = (event) => {
|
||||
if (event.key === 'Enter') {
|
||||
self.search_keyword = self.search_box.value;
|
||||
self.apply_searchbox();
|
||||
}
|
||||
if (event.key === 'Escape') {
|
||||
self.search_keyword = self.search_box.value;
|
||||
self.apply_searchbox();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
let search_button = document.createElement("button");
|
||||
search_button.className = "cm-small-button";
|
||||
search_button.innerHTML = "Search";
|
||||
search_button.onclick = () => {
|
||||
self.search_keyword = self.search_box.value;
|
||||
self.apply_searchbox();
|
||||
};
|
||||
search_button.style.display = "inline-block";
|
||||
|
||||
let filter_control = this.createFilterCombo();
|
||||
filter_control.style.display = "inline-block";
|
||||
|
||||
let channel_badge = '';
|
||||
if(this.channel != 'default') {
|
||||
channel_badge = $el('span', {id:'cm-channel-badge'}, [`Channel: ${this.channel} (Incomplete list)`]);
|
||||
}
|
||||
else {
|
||||
|
||||
}
|
||||
let cell = $el('td', {width:'100%'}, [filter_control, channel_badge, this.search_box, ' ', search_button]);
|
||||
let search_control = $el('table', {width:'100%'},
|
||||
[
|
||||
$el('tr', {}, [cell])
|
||||
]
|
||||
);
|
||||
|
||||
cell.style.textAlign = "right";
|
||||
|
||||
this.element.appendChild(search_control);
|
||||
}
|
||||
|
||||
async createBottomControls() {
|
||||
var close_button = document.createElement("button");
|
||||
close_button.className = "cm-small-button";
|
||||
close_button.innerHTML = "Close";
|
||||
close_button.onclick = () => { this.close(); }
|
||||
close_button.style.display = "inline-block";
|
||||
|
||||
this.message_box = $el('div', {id:'custom-installer-message'}, [$el('br'), '']);
|
||||
this.message_box.style.height = '60px';
|
||||
this.message_box.style.verticalAlign = 'middle';
|
||||
|
||||
this.element.appendChild(this.message_box);
|
||||
this.element.appendChild(close_button);
|
||||
}
|
||||
|
||||
async show(show_mode) {
|
||||
this.show_mode = show_mode;
|
||||
|
||||
if(this.show_mode != CustomNodesInstaller.ShowMode.NORMAL) {
|
||||
this.search_keyword = '';
|
||||
}
|
||||
|
||||
try {
|
||||
this.invalidateControl();
|
||||
|
||||
this.element.style.display = "block";
|
||||
this.element.style.zIndex = 10001;
|
||||
}
|
||||
catch(exception) {
|
||||
app.ui.dialog.show(`Failed to get custom node list. / ${exception}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
114
model-list.json
114
model-list.json
@ -120,6 +120,16 @@
|
||||
"filename": "8x_NMKD-Superscale_150000_G.pth",
|
||||
"url": "https://huggingface.co/uwg/upscaler/resolve/main/ESRGAN/8x_NMKD-Superscale_150000_G.pth"
|
||||
},
|
||||
{
|
||||
"name": "8x_NMKD-Faces_160000_G",
|
||||
"type": "upscale",
|
||||
"base": "upscale",
|
||||
"save_path": "default",
|
||||
"description": "8x_NMKD-Faces_160000_G upscaler model",
|
||||
"reference": "https://huggingface.co/gemasai/8x_NMKD-Faces_160000_G/tree/main",
|
||||
"filename": "8x_NMKD-Faces_160000_G.pth",
|
||||
"url": "https://huggingface.co/gemasai/8x_NMKD-Faces_160000_G/resolve/main/8x_NMKD-Faces_160000_G.pth"
|
||||
},
|
||||
{
|
||||
"name": "LDSR(Latent Diffusion Super Resolution)",
|
||||
"type": "upscale",
|
||||
@ -2781,7 +2791,7 @@
|
||||
"url": "https://huggingface.co/xinsir/controlnet-openpose-sdxl-1.0/resolve/main/diffusion_pytorch_model_twins.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "xinsir/CControlnet-Scribble-Sdxl-1.0-Anime",
|
||||
"name": "xinsir/Controlnet-Scribble-Sdxl-1.0-Anime",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL/controlnet-scribble-sdxl-1.0-anime",
|
||||
@ -2800,6 +2810,108 @@
|
||||
"reference": "https://huggingface.co/Kijai/DynamiCrafter_pruned",
|
||||
"filename": "tooncrafter_512_interp-fp16.safetensors",
|
||||
"url": "https://huggingface.co/Kijai/DynamiCrafter_pruned/resolve/main/tooncrafter_512_interp-fp16.safetensors"
|
||||
},
|
||||
|
||||
{
|
||||
"name": "CN-anytest_v4-marged.safetensors",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[2.5GB] AnyTest Controlnet. A model for style transfer.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v4-marged.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v4-marged.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v4-marged_am_dim256.safetensors (dim256/Animagine)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[774MB] AnyTest Controlnet Lora (dim256) for Animagine. A model for style transfer.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v4-marged_am_dim256.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v4-marged_am_dim256.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v4-marged_am_dim128.safetensors (dim128/Animagine)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[396MB] AnyTest Controlnet Lora (dim128) for Animagine. A model for style transfer.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v4-marged_am_dim128.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v4-marged_am_dim128.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v4-marged_pn_dim256.safetensors (dim256/Pony)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[774MB] AnyTest Controlnet Lora (dim256) for Pony. A model for style transfer.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v4-marged_pn_dim256.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v4-marged_pn_dim256.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v4-marged_pn_dim128.safetensors (dim128/Pony)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[396MB] AnyTest Controlnet Lora (dim128) for Pony. A model for style transfer.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v4-marged_pn_dim128.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v4-marged_pn_dim128.safetensors"
|
||||
},
|
||||
|
||||
{
|
||||
"name": "CN-anytest_v3-50000_fp16.safetensors (fp16)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[2.5GB] AnyTest Controlnet. A strict control model.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v3-50000_fp16.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v3-50000_fp16.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v3-50000_am_dim256.safetensors (dim256/Animagine)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[774MB] AnyTest Controlnet Lora (dim256) for Animagine. A strict control model.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v3-50000_am_dim256.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v3-50000_am_dim256.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v3-50000_am_dim128.safetensors (dim128/Animagine)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[396MB] AnyTest Controlnet Lora (dim128) for Animagine. A strict control model.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v3-50000_am_dim128.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v3-50000_am_dim128.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v3-50000_pn_dim256.safetensors (dim256/Pony)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[774MB] AnyTest Controlnet Lora (dim256) for Pony. A strict control model.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v3-50000_pn_dim256.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v3-50000_pn_dim256.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v3-50000_pn_dim128.safetensors (dim128/Pony)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[396MB] AnyTest Controlnet Lora (dim128) for Pony. A strict control model.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v3-50000_pn_dim128.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v3-50000_pn_dim128.safetensors"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -10,6 +10,94 @@
|
||||
},
|
||||
|
||||
|
||||
|
||||
{
|
||||
"author": "norgeous",
|
||||
"title": "UI Builder [WIP]",
|
||||
"id": "norgeous",
|
||||
"reference": "https://github.com/norgeous/ComfyUI-UI-Builder",
|
||||
"files": [
|
||||
"https://github.com/norgeous/ComfyUI-UI-Builder"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Alternative configurable React UI overlay for Comfy UI."
|
||||
},
|
||||
{
|
||||
"author": "Shinsplat",
|
||||
"title": "ComfyUI-Shinsplat [UNSAFE]",
|
||||
"id": "shinsplat",
|
||||
"reference": "https://github.com/Shinsplat/ComfyUI-Shinsplat",
|
||||
"files": [
|
||||
"https://github.com/Shinsplat/ComfyUI-Shinsplat"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes: Clip Text Encode (Shinsplat), Clip Text Encode SDXL (Shinsplat), Lora Loader (Shinsplat).\n[w/This extension poses a risk of executing arbitrary commands through workflow execution. Please be cautious.]"
|
||||
},
|
||||
{
|
||||
"author": "coolzilj",
|
||||
"title": "ComfyUI-LJNodes [WIP]",
|
||||
"id": "ljnodes",
|
||||
"reference": "https://github.com/coolzilj/ComfyUI-LJNodes",
|
||||
"files": [
|
||||
"https://github.com/coolzilj/ComfyUI-LJNodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A variety of custom nodes to enhance ComfyUI for a buttery smooth experience."
|
||||
},
|
||||
{
|
||||
"author": "NitramDom",
|
||||
"title": "ComfyUI_FacialFlip",
|
||||
"id": "facialflip",
|
||||
"reference": "https://github.com/NitramDom/ComfyUI_FacialFlip",
|
||||
"files": [
|
||||
"https://github.com/NitramDom/ComfyUI_FacialFlip"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:Swapper"
|
||||
},
|
||||
{
|
||||
"author": "hy134300",
|
||||
"title": "comfyui-hydit",
|
||||
"reference": "https://github.com/hy134300/comfyui-hydit",
|
||||
"files": [
|
||||
"https://github.com/hy134300/comfyui-hydit"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This repository contains a customized node and workflow designed specifically for HunYuan DIT. The official tests conducted on DDPM, DDIM, and DPMMS have consistently yielded results that align with those obtained through the Diffusers library. However, it's important to note that we cannot assure the consistency of results from other ComfyUI native samplers with the Diffusers inference. We cordially invite users to explore our workflow and are open to receiving any inquiries or suggestions you may have."
|
||||
},
|
||||
{
|
||||
"author": "corbin-hayden13",
|
||||
"title": "ComfyUI-Better-Dimensions",
|
||||
"id": "better-dim",
|
||||
"reference": "https://github.com/corbin-hayden13/ComfyUI-Better-Dimensions",
|
||||
"files": [
|
||||
"https://github.com/corbin-hayden13/ComfyUI-Better-Dimensions"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:BetterImageDimensions, SDXLDimensions, PureRatio"
|
||||
},
|
||||
{
|
||||
"author": "endman100",
|
||||
"title": "ComfyUI Nodes: SaveConditioning and LoadConditioning",
|
||||
"id": "save-load-conditioning",
|
||||
"reference": "https://github.com/endman100/ComfyUI-SaveAndLoadPromptCondition",
|
||||
"files": [
|
||||
"https://github.com/endman100/ComfyUI-SaveAndLoadPromptCondition"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "The SaveConditioning node is designed to save conditioning data to binary files. This is useful for storing and reusing conditioning information across different sessions or applications.\n[w/This node can only handle very limited conditioning at the text prompt level.]"
|
||||
},
|
||||
{
|
||||
"author": "marduk191",
|
||||
"title": "comfyui-marnodes",
|
||||
"id": "marnodes",
|
||||
"reference": "https://github.com/marduk191/comfyui-marnodes",
|
||||
"files": [
|
||||
"https://github.com/marduk191/comfyui-marnodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:marduk191_workflow_settings"
|
||||
},
|
||||
{
|
||||
"author": "kijai",
|
||||
"title": "ComfyUI-CV-VAE",
|
||||
@ -167,13 +255,12 @@
|
||||
{
|
||||
"author": "brycegoh",
|
||||
"title": "brycegoh/comfyui-custom-nodes",
|
||||
"id": "brycegoh",
|
||||
"reference": "https://github.com/brycegoh/comfyui-custom-nodes",
|
||||
"files": [
|
||||
"https://github.com/brycegoh/comfyui-custom-nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:MaskAreaComparisonSegment, FillMaskedArea, OCRAndMask"
|
||||
"description": "Nodes:MaskAreaComparisonSegment, FillMaskedArea, OCRAndMask, CombineTwoImageIntoOne"
|
||||
},
|
||||
{
|
||||
"author": "LykosAI",
|
||||
|
||||
@ -504,8 +504,13 @@
|
||||
],
|
||||
"https://github.com/Quasimondo/ComfyUI-QuasimondoNodes": [
|
||||
[
|
||||
"Color Match",
|
||||
"Custom Shader",
|
||||
"Folder Queue Manager",
|
||||
"Image Blend by Mask (Batch)",
|
||||
"Image Noise Generator",
|
||||
"Perlin Noise Generator",
|
||||
"Random Image Generator",
|
||||
"Spring Mesh",
|
||||
"Video Queue Manager"
|
||||
],
|
||||
@ -539,9 +544,25 @@
|
||||
"title_aux": "ComfyUI-MS-Nodes [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/Scorpinaus/ComfyUI-DiffusersLoader": [
|
||||
[
|
||||
"CombinedDiffusersSD15Loader",
|
||||
"CombinedDiffusersSDXLLoader",
|
||||
"SD15CLIPLoader",
|
||||
"SD15UNETLoader",
|
||||
"SD15VAELoader",
|
||||
"SDXLCLIPLoader",
|
||||
"SDXLUNETLoader",
|
||||
"SDXLVAELoader"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-DiffusersLoader"
|
||||
}
|
||||
],
|
||||
"https://github.com/SeedV/ComfyUI-SeedV-Nodes": [
|
||||
[
|
||||
"CheckpointLoaderSimpleShared //SeedV",
|
||||
"ControlNetLoaderAdvancedShared",
|
||||
"LoraLoader //SeedV",
|
||||
"Script"
|
||||
],
|
||||
@ -549,6 +570,14 @@
|
||||
"title_aux": "ComfyUI-SeedV-Nodes [UNSAFE]"
|
||||
}
|
||||
],
|
||||
"https://github.com/StartHua/Comfyui_CXH_CRM": [
|
||||
[
|
||||
"CRM"
|
||||
],
|
||||
{
|
||||
"title_aux": "Comfyui_CXH_CRM"
|
||||
}
|
||||
],
|
||||
"https://github.com/TSFSean/ComfyUI-TSFNodes": [
|
||||
[
|
||||
"GyroOSC"
|
||||
@ -712,8 +741,21 @@
|
||||
"title_aux": "comfyui-cleaner"
|
||||
}
|
||||
],
|
||||
"https://github.com/bruce007lee/comfyui-tiny-utils": [
|
||||
[
|
||||
"CropImageByMask",
|
||||
"FaceAlign",
|
||||
"FaceAlignImageProcess",
|
||||
"FaceAlignMaskProcess",
|
||||
"ImageFillColorByMask"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui-tiny-utils"
|
||||
}
|
||||
],
|
||||
"https://github.com/brycegoh/comfyui-custom-nodes": [
|
||||
[
|
||||
"CombineTwoImageIntoOne",
|
||||
"FillMaskedArea",
|
||||
"MaskAreaComparisonSegment",
|
||||
"OCRAndMask"
|
||||
@ -955,51 +997,38 @@
|
||||
"title_aux": "ComfyUI"
|
||||
}
|
||||
],
|
||||
"https://github.com/dezi-ai/ComfyUI-AnimateLCM": [
|
||||
"https://github.com/comfypod/ComfyUI-Comflow": [
|
||||
[
|
||||
"ADE_AdjustPEFullStretch",
|
||||
"ADE_AdjustPEManual",
|
||||
"ADE_AdjustPESweetspotStretch",
|
||||
"ADE_AnimateDiffCombine",
|
||||
"ADE_AnimateDiffKeyframe",
|
||||
"ADE_AnimateDiffLoRALoader",
|
||||
"ADE_AnimateDiffLoaderGen1",
|
||||
"ADE_AnimateDiffLoaderV1Advanced",
|
||||
"ADE_AnimateDiffLoaderWithContext",
|
||||
"ADE_AnimateDiffModelSettings",
|
||||
"ADE_AnimateDiffModelSettingsAdvancedAttnStrengths",
|
||||
"ADE_AnimateDiffModelSettingsSimple",
|
||||
"ADE_AnimateDiffModelSettings_Release",
|
||||
"ADE_AnimateDiffSamplingSettings",
|
||||
"ADE_AnimateDiffSettings",
|
||||
"ADE_AnimateDiffUniformContextOptions",
|
||||
"ADE_AnimateDiffUnload",
|
||||
"ADE_ApplyAnimateDiffModel",
|
||||
"ADE_ApplyAnimateDiffModelSimple",
|
||||
"ADE_BatchedContextOptions",
|
||||
"ADE_EmptyLatentImageLarge",
|
||||
"ADE_IterationOptsDefault",
|
||||
"ADE_IterationOptsFreeInit",
|
||||
"ADE_LoadAnimateDiffModel",
|
||||
"ADE_LoopedUniformContextOptions",
|
||||
"ADE_LoopedUniformViewOptions",
|
||||
"ADE_MaskedLoadLora",
|
||||
"ADE_MultivalDynamic",
|
||||
"ADE_MultivalScaledMask",
|
||||
"ADE_NoiseLayerAdd",
|
||||
"ADE_NoiseLayerAddWeighted",
|
||||
"ADE_NoiseLayerReplace",
|
||||
"ADE_StandardStaticContextOptions",
|
||||
"ADE_StandardStaticViewOptions",
|
||||
"ADE_StandardUniformContextOptions",
|
||||
"ADE_StandardUniformViewOptions",
|
||||
"ADE_UseEvolvedSampling",
|
||||
"ADE_ViewsOnlyContextOptions",
|
||||
"AnimateDiffLoaderV1",
|
||||
"CheckpointLoaderSimpleWithNoiseSelect"
|
||||
"ComflowInputBoolean",
|
||||
"ComflowInputCheckpoint",
|
||||
"ComflowInputImage",
|
||||
"ComflowInputImageAlpha",
|
||||
"ComflowInputImageBatch",
|
||||
"ComflowInputLora",
|
||||
"ComflowInputNumber",
|
||||
"ComflowInputNumberInt",
|
||||
"ComflowInputNumberSlider",
|
||||
"ComflowInputText",
|
||||
"ComflowInputVid",
|
||||
"ComflowInputVideo",
|
||||
"ComflowWebsocketImageInput",
|
||||
"ComflowWebsocketImageOutput"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI Animate LCM"
|
||||
"description": "",
|
||||
"nickname": "Comflow",
|
||||
"title": "comflow",
|
||||
"title_aux": "ComfyUI-Comflow"
|
||||
}
|
||||
],
|
||||
"https://github.com/corbin-hayden13/ComfyUI-Better-Dimensions": [
|
||||
[
|
||||
"BetterImageDimensions",
|
||||
"PureRatio",
|
||||
"SDXLDimensions"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Better-Dimensions"
|
||||
}
|
||||
],
|
||||
"https://github.com/dfl/comfyui-stylegan": [
|
||||
@ -1089,6 +1118,15 @@
|
||||
"title_aux": "ComfyUI-Ty"
|
||||
}
|
||||
],
|
||||
"https://github.com/endman100/ComfyUI-SaveAndLoadPromptCondition": [
|
||||
[
|
||||
"LoadContditioning",
|
||||
"SaveConditioning"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI Nodes: SaveConditioning and LoadConditioning"
|
||||
}
|
||||
],
|
||||
"https://github.com/ericbeyer/guidance_interval": [
|
||||
[
|
||||
"Guidance Interval"
|
||||
@ -1190,6 +1228,27 @@
|
||||
"title_aux": "comfy-magick [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/huchenlei/ComfyUI_densediffusion": [
|
||||
[
|
||||
"DenseDiffusionAddCondNode",
|
||||
"DenseDiffusionApplyNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI DenseDiffusion [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/huchenlei/ComfyUI_omost": [
|
||||
[
|
||||
"OmostLLMChatNode",
|
||||
"OmostLLMLoaderNode",
|
||||
"OmostLayoutCondNode",
|
||||
"OmostLoadCanvasConditioningNode",
|
||||
"OmostRenderCanvasConditioningNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_omost [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/huizhang0110/ComfyUI_Easy_Nodes_hui": [
|
||||
[
|
||||
"EasyBgRemover",
|
||||
@ -1241,12 +1300,23 @@
|
||||
"https://github.com/immersiveexperience/ie-comfyui-color-nodes": [
|
||||
[
|
||||
"Average Color",
|
||||
"Complementary Color"
|
||||
"Complementary Color",
|
||||
"Hex to Color Name"
|
||||
],
|
||||
{
|
||||
"title_aux": "ie-comfyui-color-nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/jh-leon-kim/ComfyUI-JHK-utils": [
|
||||
[
|
||||
"JHK_Utils_ImageRemoveBackground",
|
||||
"JHK_Utils_LoadEmbed",
|
||||
"JHK_Utils_string_merge"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-JHK-utils"
|
||||
}
|
||||
],
|
||||
"https://github.com/jn-jairo/jn_node_suite_comfyui": [
|
||||
[
|
||||
"JN_AreaInfo",
|
||||
@ -1391,6 +1461,16 @@
|
||||
"title_aux": "ComfyUI_Usability (WIP)"
|
||||
}
|
||||
],
|
||||
"https://github.com/kijai/ComfyUI-CV-VAE": [
|
||||
[
|
||||
"CV_VAE_Decode",
|
||||
"CV_VAE_Encode",
|
||||
"CV_VAE_Load"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-CV-VAE"
|
||||
}
|
||||
],
|
||||
"https://github.com/kijai/ComfyUI-DeepSeek-VL": [
|
||||
[
|
||||
"deepseek_vl_inference",
|
||||
@ -1462,6 +1542,18 @@
|
||||
"title_aux": "ComfyUI-BuildPath"
|
||||
}
|
||||
],
|
||||
"https://github.com/marduk191/comfyui-marnodes": [
|
||||
[
|
||||
"marduk191_workflow_settings"
|
||||
],
|
||||
{
|
||||
"author": "\u02f6marduk191",
|
||||
"description": "A node to set workflow settings.",
|
||||
"nickname": "marduk191 workflow settings",
|
||||
"title": "marduk191 workflow settings",
|
||||
"title_aux": "comfyui-marnodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/mut-ex/comfyui-gligengui-node": [
|
||||
[
|
||||
"GLIGEN_GUI"
|
||||
@ -1533,18 +1625,19 @@
|
||||
"title_aux": "Kosmos2_BBox_Cutter Models"
|
||||
}
|
||||
],
|
||||
"https://github.com/phineas-pta/comfy-trt-test": [
|
||||
"https://github.com/pamparamm/ComfyUI-ppm": [
|
||||
[
|
||||
"TRT_Lora_Loader",
|
||||
"TRT_Torch_Compile",
|
||||
"TRT_Unet_Loader"
|
||||
"CLIPMicroConditioning",
|
||||
"CLIPNegPip",
|
||||
"CLIPSetLastLayerFloat",
|
||||
"CLIPTextEncodeBREAK",
|
||||
"EmptyLatentImageAR",
|
||||
"RandomPromptGenerator",
|
||||
"StableCascade_AutoCompLatent",
|
||||
"TokenCounter"
|
||||
],
|
||||
{
|
||||
"author": "PTA",
|
||||
"description": "attempt to use TensorRT with ComfyUI, not yet compatible with ComfyUI-Manager, see README for instructions",
|
||||
"nickname": "comfy trt test",
|
||||
"title": "TensorRT with ComfyUI (work-in-progress)",
|
||||
"title_aux": "comfy-trt-test [WIP]"
|
||||
"title_aux": "ComfyUI-ppm"
|
||||
}
|
||||
],
|
||||
"https://github.com/poisenbery/NudeNet-Detector-Provider": [
|
||||
@ -1717,6 +1810,14 @@
|
||||
"title_aux": "ComfyUI-TDNodes [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/udi0510/comfyui-slicer": [
|
||||
[
|
||||
"SlicerNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui-slicer"
|
||||
}
|
||||
],
|
||||
"https://github.com/umisetokikaze/comfyui_mergekit": [
|
||||
[
|
||||
"DefineSaveName",
|
||||
|
||||
@ -7,13 +7,17 @@
|
||||
"stars": 13,
|
||||
"last_update": "2024-03-08 10:11:44"
|
||||
},
|
||||
"https://github.com/AI2lab/comfyUI-tool-2lab": {
|
||||
"stars": 3,
|
||||
"last_update": "2024-06-06 02:53:28"
|
||||
},
|
||||
"https://github.com/AIGODLIKE/ComfyUI-Studio": {
|
||||
"stars": 196,
|
||||
"last_update": "2024-05-30 02:14:11"
|
||||
"stars": 198,
|
||||
"last_update": "2024-06-05 00:52:46"
|
||||
},
|
||||
"https://github.com/ALatentPlace/ComfyUI_yanc": {
|
||||
"stars": 12,
|
||||
"last_update": "2024-05-27 12:39:32"
|
||||
"stars": 13,
|
||||
"last_update": "2024-06-05 05:07:37"
|
||||
},
|
||||
"https://github.com/BadCafeCode/execution-inversion-demo-comfyui": {
|
||||
"stars": 3,
|
||||
@ -44,20 +48,24 @@
|
||||
"last_update": "2024-05-11 13:33:24"
|
||||
},
|
||||
"https://github.com/ExponentialML/ComfyUI_LiveDirector": {
|
||||
"stars": 33,
|
||||
"stars": 34,
|
||||
"last_update": "2024-04-09 19:01:49"
|
||||
},
|
||||
"https://github.com/Extraltodeus/Conditioning-token-experiments-for-ComfyUI": {
|
||||
"stars": 13,
|
||||
"last_update": "2024-03-10 01:04:02"
|
||||
},
|
||||
"https://github.com/FoundD-oka/ComfyUI-kisekae-OOTD": {
|
||||
"stars": 0,
|
||||
"last_update": "2024-06-02 06:13:42"
|
||||
},
|
||||
"https://github.com/GentlemanHu/ComfyUI-Notifier": {
|
||||
"stars": 3,
|
||||
"last_update": "2024-05-20 15:25:17"
|
||||
"last_update": "2024-06-04 10:05:38"
|
||||
},
|
||||
"https://github.com/GraftingRayman/ComfyUI_GR_PromptSelector": {
|
||||
"stars": 9,
|
||||
"last_update": "2024-05-28 23:31:22"
|
||||
"last_update": "2024-06-06 13:14:10"
|
||||
},
|
||||
"https://github.com/GrindHouse66/ComfyUI-GH_Tools": {
|
||||
"stars": 0,
|
||||
@ -88,7 +96,7 @@
|
||||
"last_update": "2024-02-04 21:15:22"
|
||||
},
|
||||
"https://github.com/LykosAI/ComfyUI-Inference-Core-Nodes": {
|
||||
"stars": 12,
|
||||
"stars": 14,
|
||||
"last_update": "2024-04-05 05:11:51"
|
||||
},
|
||||
"https://github.com/MrAdamBlack/CheckProgress": {
|
||||
@ -109,7 +117,7 @@
|
||||
},
|
||||
"https://github.com/Quasimondo/ComfyUI-QuasimondoNodes": {
|
||||
"stars": 0,
|
||||
"last_update": "2024-06-01 09:08:26"
|
||||
"last_update": "2024-06-01 21:27:18"
|
||||
},
|
||||
"https://github.com/SadaleNet/ComfyUI-Prompt-To-Prompt": {
|
||||
"stars": 18,
|
||||
@ -119,16 +127,24 @@
|
||||
"stars": 2,
|
||||
"last_update": "2024-02-22 08:34:44"
|
||||
},
|
||||
"https://github.com/Scorpinaus/ComfyUI-DiffusersLoader": {
|
||||
"stars": 2,
|
||||
"last_update": "2024-06-06 01:36:46"
|
||||
},
|
||||
"https://github.com/SeedV/ComfyUI-SeedV-Nodes": {
|
||||
"stars": 1,
|
||||
"last_update": "2024-05-21 06:39:00"
|
||||
"last_update": "2024-06-05 10:01:47"
|
||||
},
|
||||
"https://github.com/StartHua/Comfyui_CXH_CRM": {
|
||||
"stars": 16,
|
||||
"last_update": "2024-06-06 14:15:14"
|
||||
},
|
||||
"https://github.com/TSFSean/ComfyUI-TSFNodes": {
|
||||
"stars": 3,
|
||||
"last_update": "2024-05-18 00:59:06"
|
||||
},
|
||||
"https://github.com/TemryL/ComfyUI-IDM-VTON": {
|
||||
"stars": 138,
|
||||
"stars": 162,
|
||||
"last_update": "2024-05-30 12:21:57"
|
||||
},
|
||||
"https://github.com/Video3DGenResearch/comfyui-batch-input-node": {
|
||||
@ -144,15 +160,15 @@
|
||||
"last_update": "2024-04-16 21:53:02"
|
||||
},
|
||||
"https://github.com/ZHO-ZHO-ZHO/ComfyUI-AnyText": {
|
||||
"stars": 41,
|
||||
"stars": 42,
|
||||
"last_update": "2024-05-22 14:30:05"
|
||||
},
|
||||
"https://github.com/ZHO-ZHO-ZHO/ComfyUI-PuLID-ZHO": {
|
||||
"stars": 175,
|
||||
"stars": 180,
|
||||
"last_update": "2024-05-22 13:38:23"
|
||||
},
|
||||
"https://github.com/alt-key-project/comfyui-dream-video-batches": {
|
||||
"stars": 48,
|
||||
"stars": 49,
|
||||
"last_update": "2024-05-22 20:52:05"
|
||||
},
|
||||
"https://github.com/beyastard/ComfyUI_BeySoft": {
|
||||
@ -165,7 +181,7 @@
|
||||
},
|
||||
"https://github.com/blepping/comfyui_overly_complicated_sampling": {
|
||||
"stars": 5,
|
||||
"last_update": "2024-05-31 20:01:41"
|
||||
"last_update": "2024-06-01 20:54:03"
|
||||
},
|
||||
"https://github.com/blib-la/ComfyUI-Captain-Extensions": {
|
||||
"stars": 0,
|
||||
@ -175,16 +191,20 @@
|
||||
"stars": 3,
|
||||
"last_update": "2024-04-20 15:36:03"
|
||||
},
|
||||
"https://github.com/bruce007lee/comfyui-tiny-utils": {
|
||||
"stars": 0,
|
||||
"last_update": "2024-06-05 10:38:57"
|
||||
},
|
||||
"https://github.com/brycegoh/comfyui-custom-nodes": {
|
||||
"stars": 0,
|
||||
"last_update": "2024-06-01 04:34:06"
|
||||
"last_update": "2024-06-05 09:30:06"
|
||||
},
|
||||
"https://github.com/chaojie/ComfyUI-DynamiCrafter": {
|
||||
"stars": 102,
|
||||
"stars": 105,
|
||||
"last_update": "2024-03-16 19:08:28"
|
||||
},
|
||||
"https://github.com/chaojie/ComfyUI-mobvoi-openapi": {
|
||||
"stars": 0,
|
||||
"stars": 1,
|
||||
"last_update": "2024-05-29 09:02:52"
|
||||
},
|
||||
"https://github.com/christian-byrne/infinite-zoom-parallax-nodes": {
|
||||
@ -192,15 +212,23 @@
|
||||
"last_update": "2024-05-27 01:51:24"
|
||||
},
|
||||
"https://github.com/christian-byrne/python-interpreter-node": {
|
||||
"stars": 16,
|
||||
"stars": 18,
|
||||
"last_update": "2024-06-01 06:00:47"
|
||||
},
|
||||
"https://github.com/comfyanonymous/ComfyUI": {
|
||||
"stars": 36385,
|
||||
"last_update": "2024-06-01 04:09:34"
|
||||
"stars": 36931,
|
||||
"last_update": "2024-06-06 03:31:08"
|
||||
},
|
||||
"https://github.com/comfypod/ComfyUI-Comflow": {
|
||||
"stars": 0,
|
||||
"last_update": "2024-06-03 15:12:25"
|
||||
},
|
||||
"https://github.com/corbin-hayden13/ComfyUI-Better-Dimensions": {
|
||||
"stars": 0,
|
||||
"last_update": "2024-06-06 14:25:31"
|
||||
},
|
||||
"https://github.com/cubiq/Comfy_Dungeon": {
|
||||
"stars": 162,
|
||||
"stars": 164,
|
||||
"last_update": "2024-04-26 11:00:58"
|
||||
},
|
||||
"https://github.com/dezi-ai/ComfyUI-AnimateLCM": {
|
||||
@ -220,13 +248,17 @@
|
||||
"last_update": "2024-01-06 19:07:45"
|
||||
},
|
||||
"https://github.com/eigenpunk/ComfyUI-audio": {
|
||||
"stars": 56,
|
||||
"stars": 58,
|
||||
"last_update": "2024-03-03 21:14:14"
|
||||
},
|
||||
"https://github.com/ejektaflex/ComfyUI-Ty": {
|
||||
"stars": 0,
|
||||
"last_update": "2024-05-15 21:34:21"
|
||||
},
|
||||
"https://github.com/endman100/ComfyUI-SaveAndLoadPromptCondition": {
|
||||
"stars": 0,
|
||||
"last_update": "2024-06-06 06:07:49"
|
||||
},
|
||||
"https://github.com/ericbeyer/guidance_interval": {
|
||||
"stars": 2,
|
||||
"last_update": "2024-04-16 03:24:01"
|
||||
@ -237,7 +269,7 @@
|
||||
},
|
||||
"https://github.com/flyingdogsoftware/gyre_for_comfyui": {
|
||||
"stars": 0,
|
||||
"last_update": "2024-05-31 22:27:12"
|
||||
"last_update": "2024-06-03 21:04:43"
|
||||
},
|
||||
"https://github.com/foglerek/comfyui-cem-tools": {
|
||||
"stars": 1,
|
||||
@ -245,11 +277,11 @@
|
||||
},
|
||||
"https://github.com/gameltb/ComfyUI_paper_playground": {
|
||||
"stars": 8,
|
||||
"last_update": "2024-05-28 13:18:26"
|
||||
"last_update": "2024-06-05 07:13:23"
|
||||
},
|
||||
"https://github.com/gameltb/ComfyUI_stable_fast": {
|
||||
"stars": 181,
|
||||
"last_update": "2024-04-01 13:30:57"
|
||||
"stars": 182,
|
||||
"last_update": "2024-06-06 12:43:16"
|
||||
},
|
||||
"https://github.com/gameltb/io_comfyui": {
|
||||
"stars": 3,
|
||||
@ -267,6 +299,14 @@
|
||||
"stars": 4,
|
||||
"last_update": "2024-03-11 06:40:54"
|
||||
},
|
||||
"https://github.com/huchenlei/ComfyUI_densediffusion": {
|
||||
"stars": 22,
|
||||
"last_update": "2024-06-06 03:11:23"
|
||||
},
|
||||
"https://github.com/huchenlei/ComfyUI_omost": {
|
||||
"stars": 187,
|
||||
"last_update": "2024-06-05 18:48:11"
|
||||
},
|
||||
"https://github.com/huizhang0110/ComfyUI_Easy_Nodes_hui": {
|
||||
"stars": 2,
|
||||
"last_update": "2024-02-27 08:22:49"
|
||||
@ -281,14 +321,22 @@
|
||||
},
|
||||
"https://github.com/immersiveexperience/ie-comfyui-color-nodes": {
|
||||
"stars": 0,
|
||||
"last_update": "2024-05-27 09:42:17"
|
||||
"last_update": "2024-06-06 14:27:54"
|
||||
},
|
||||
"https://github.com/jh-leon-kim/ComfyUI-JHK-utils": {
|
||||
"stars": 0,
|
||||
"last_update": "2024-06-04 08:57:52"
|
||||
},
|
||||
"https://github.com/jimmm-ai/TimeUi-a-ComfyUi-Timeline-Node": {
|
||||
"stars": 164,
|
||||
"last_update": "2024-06-05 07:55:40"
|
||||
},
|
||||
"https://github.com/jn-jairo/jn_node_suite_comfyui": {
|
||||
"stars": 5,
|
||||
"last_update": "2024-01-11 20:39:36"
|
||||
"last_update": "2024-06-02 01:11:02"
|
||||
},
|
||||
"https://github.com/jtscmw01/ComfyUI-DiffBIR": {
|
||||
"stars": 52,
|
||||
"stars": 55,
|
||||
"last_update": "2024-05-21 05:28:34"
|
||||
},
|
||||
"https://github.com/kadirnar/ComfyUI-Adapter": {
|
||||
@ -303,8 +351,12 @@
|
||||
"stars": 0,
|
||||
"last_update": "2024-02-05 14:49:45"
|
||||
},
|
||||
"https://github.com/kijai/ComfyUI-CV-VAE": {
|
||||
"stars": 8,
|
||||
"last_update": "2024-06-03 21:46:49"
|
||||
},
|
||||
"https://github.com/kijai/ComfyUI-DeepSeek-VL": {
|
||||
"stars": 20,
|
||||
"stars": 19,
|
||||
"last_update": "2024-05-21 16:43:40"
|
||||
},
|
||||
"https://github.com/laksjdjf/ssd-1b-comfyui": {
|
||||
@ -320,15 +372,19 @@
|
||||
"last_update": "2024-05-07 08:40:56"
|
||||
},
|
||||
"https://github.com/ltdrdata/ComfyUI-Workflow-Component": {
|
||||
"stars": 189,
|
||||
"stars": 190,
|
||||
"last_update": "2024-04-26 01:39:09"
|
||||
},
|
||||
"https://github.com/marcueberall/ComfyUI-BuildPath": {
|
||||
"stars": 0,
|
||||
"last_update": "2024-02-06 07:57:33"
|
||||
},
|
||||
"https://github.com/marduk191/comfyui-marnodes": {
|
||||
"stars": 0,
|
||||
"last_update": "2024-06-05 05:37:57"
|
||||
},
|
||||
"https://github.com/mut-ex/comfyui-gligengui-node": {
|
||||
"stars": 27,
|
||||
"stars": 28,
|
||||
"last_update": "2024-02-28 02:46:05"
|
||||
},
|
||||
"https://github.com/nat-chan/comfyui-eval": {
|
||||
@ -355,9 +411,13 @@
|
||||
"stars": 13,
|
||||
"last_update": "2024-05-03 10:52:29"
|
||||
},
|
||||
"https://github.com/pamparamm/ComfyUI-ppm": {
|
||||
"stars": 1,
|
||||
"last_update": "2024-06-02 14:18:07"
|
||||
},
|
||||
"https://github.com/phineas-pta/comfy-trt-test": {
|
||||
"stars": 83,
|
||||
"last_update": "2024-03-10 21:17:56"
|
||||
"last_update": "2024-06-04 21:09:17"
|
||||
},
|
||||
"https://github.com/poisenbery/NudeNet-Detector-Provider": {
|
||||
"stars": 1,
|
||||
@ -372,7 +432,7 @@
|
||||
"last_update": "2023-11-15 22:00:49"
|
||||
},
|
||||
"https://github.com/runtime44/comfyui_r44_nodes": {
|
||||
"stars": 21,
|
||||
"stars": 22,
|
||||
"last_update": "2024-05-23 01:18:22"
|
||||
},
|
||||
"https://github.com/sangeet/comfyui-testui": {
|
||||
@ -380,7 +440,7 @@
|
||||
"last_update": "2024-05-15 00:55:17"
|
||||
},
|
||||
"https://github.com/sdfxai/SDFXBridgeForComfyUI": {
|
||||
"stars": 2,
|
||||
"stars": 3,
|
||||
"last_update": "2024-04-12 14:09:45"
|
||||
},
|
||||
"https://github.com/shadowcz007/ComfyUI-PuLID-Test": {
|
||||
@ -404,7 +464,7 @@
|
||||
"last_update": "2024-04-27 13:25:08"
|
||||
},
|
||||
"https://github.com/sofakid/dandy": {
|
||||
"stars": 25,
|
||||
"stars": 27,
|
||||
"last_update": "2024-05-27 21:46:18"
|
||||
},
|
||||
"https://github.com/stavsap/ComfyUI-React-SDK": {
|
||||
@ -432,13 +492,17 @@
|
||||
"last_update": "2024-03-05 13:31:31"
|
||||
},
|
||||
"https://github.com/tracerstar/comfyui-p5js-node": {
|
||||
"stars": 15,
|
||||
"stars": 23,
|
||||
"last_update": "2024-05-30 18:33:55"
|
||||
},
|
||||
"https://github.com/tuckerdarby/ComfyUI-TDNodes": {
|
||||
"stars": 3,
|
||||
"last_update": "2024-02-19 17:00:55"
|
||||
},
|
||||
"https://github.com/udi0510/comfyui-slicer": {
|
||||
"stars": 0,
|
||||
"last_update": "2024-06-04 08:30:38"
|
||||
},
|
||||
"https://github.com/umisetokikaze/comfyui_mergekit": {
|
||||
"stars": 0,
|
||||
"last_update": "2024-04-28 07:21:00"
|
||||
@ -454,5 +518,9 @@
|
||||
"https://github.com/wormley/comfyui-wormley-nodes": {
|
||||
"stars": 0,
|
||||
"last_update": "2023-11-12 19:05:11"
|
||||
},
|
||||
"https://github.com/zmwv823/ComfyUI-AnyText": {
|
||||
"stars": 11,
|
||||
"last_update": "2024-06-06 14:21:08"
|
||||
}
|
||||
}
|
||||
@ -10,6 +10,17 @@
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"author": "MackinationsAi",
|
||||
"title": "ComfyUi_Stuctured-Outputs [REMOVED]",
|
||||
"id": "struct-output",
|
||||
"reference": "https://github.com/MackinationsAi/ComfyUi_Stuctured-Outputs",
|
||||
"files": [
|
||||
"https://github.com/MackinationsAi/ComfyUi_Stuctured-Outputs"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This repository contains a custom node for ComfyUI that allows users to save generative image outputs with custom filenames and folder structures. The filenames are padded to four digits, and the positive and negative prompts are embedded in the image metadata."
|
||||
},
|
||||
{
|
||||
"author": "laksjdjf",
|
||||
"title": "attention-couple-ComfyUI [DEPRECATED]",
|
||||
|
||||
@ -13,6 +13,248 @@
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"author": "marduk191",
|
||||
"title": "marduk191 workflow settings",
|
||||
"id": "marnodes",
|
||||
"reference": "https://github.com/marduk191/comfyui-marnodes",
|
||||
"files": [
|
||||
"https://github.com/marduk191/comfyui-marnodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A node to set workflow settings."
|
||||
},
|
||||
{
|
||||
"author": "denfrost",
|
||||
"title": "Den_ComfyUI_Workflows",
|
||||
"id": "den",
|
||||
"reference": "https://github.com/denfrost/Den_ComfyUI_Workflow",
|
||||
"files": [
|
||||
"https://github.com/denfrost/Den_ComfyUI_Workflow"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Custom nodes make easy Advanced Workflows. Focus on Image/Video and ControlNet efficiency and performances. Manipulation of Latent Space, Automatic pipeline with a bit efforts."
|
||||
},
|
||||
{
|
||||
"author": "LZpenguin",
|
||||
"title": "ComfyUI-Text",
|
||||
"id": "comfy-text",
|
||||
"reference": "https://github.com/LZpenguin/ComfyUI-Text",
|
||||
"files": [
|
||||
"https://github.com/LZpenguin/ComfyUI-Text"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:Add_text_by_mask"
|
||||
},
|
||||
{
|
||||
"author": "seghier",
|
||||
"title": "ComfyUI_LibreTranslate",
|
||||
"reference": "https://github.com/seghier/ComfyUI_LibreTranslate",
|
||||
"files": [
|
||||
"https://github.com/seghier/ComfyUI_LibreTranslate/raw/main/translate_node.py"
|
||||
],
|
||||
"install_type": "copy",
|
||||
"description": "Use LibreTranslation in ComfyUI [a/https://github.com/LibreTranslate/LibreTranslate](https://github.com/LibreTranslate/LibreTranslate)"
|
||||
},
|
||||
{
|
||||
"author": "Limbicnation",
|
||||
"title": "ComfyUIDepthEstimation",
|
||||
"reference": "https://github.com/Limbicnation/ComfyUIDepthEstimation",
|
||||
"files": [
|
||||
"https://github.com/Limbicnation/ComfyUIDepthEstimation/raw/main/depth_estimation_node.py"
|
||||
],
|
||||
"pip": ["transformers"],
|
||||
"install_type": "copy",
|
||||
"description": "A custom depth estimation node for ComfyUI using transformer models. It integrates depth estimation with automatic gamma correction, contrast adjustment, and edge detection, based on the [a/TransformDepth](https://github.com/Limbicnation/TransformDepth) repository."
|
||||
},
|
||||
{
|
||||
"author": "shadowcz007",
|
||||
"title": "comfyui-sound-lab",
|
||||
"id": "soundlab",
|
||||
"reference": "https://github.com/shadowcz007/comfyui-sound-lab",
|
||||
"files": [
|
||||
"https://github.com/shadowcz007/comfyui-sound-lab"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:Music Gen, Audio Play, Stable Audio"
|
||||
},
|
||||
{
|
||||
"author": "huchenlei",
|
||||
"title": "ComfyUI DenseDiffusion",
|
||||
"id": "densediffusion",
|
||||
"reference": "https://github.com/huchenlei/ComfyUI_densediffusion",
|
||||
"files": [
|
||||
"https://github.com/huchenlei/ComfyUI_densediffusion"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "[a/DenseDiffusion](https://github.com/naver-ai/DenseDiffusion) custom node for ComfyUI."
|
||||
},
|
||||
{
|
||||
"author": "DannyStone1999",
|
||||
"title": "ComfyUI-Depth2Mask",
|
||||
"reference": "https://github.com/DannyStone1999/ComfyUI-Depth2Mask",
|
||||
"files": [
|
||||
"https://github.com/DannyStone1999/ComfyUI-Depth2Mask/raw/main/Depth2Mask.py"
|
||||
],
|
||||
"install_type": "copy",
|
||||
"description": "Nodes:Depth2Mask"
|
||||
},
|
||||
{
|
||||
"author": "smthemex",
|
||||
"title": "ComfyUI_StableAudio_Open",
|
||||
"id": "stable-audio-open-1.0",
|
||||
"reference": "https://github.com/smthemex/ComfyUI_StableAudio_Open",
|
||||
"files": [
|
||||
"https://github.com/smthemex/ComfyUI_StableAudio_Open"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "You can use stable-audio-open-1.0 in comfyUI"
|
||||
},
|
||||
{
|
||||
"author": "nuanarchy",
|
||||
"title": "ComfyUI-NuA-FlashFace",
|
||||
"id": "nua-flashface",
|
||||
"reference": "https://github.com/nuanarchy/ComfyUI-NuA-FlashFace",
|
||||
"files": [
|
||||
"https://github.com/nuanarchy/ComfyUI-NuA-FlashFace"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI implementation of [a/FlashFace: Human Image Personalization with High-fidelity Identity Preservation](https://github.com/ali-vilab/FlashFace)\nNOTE: You need to downalod models manually."
|
||||
},
|
||||
{
|
||||
"author": "FrankChieng",
|
||||
"title": "ComfyUI_llm_easyanimiate",
|
||||
"id": "llm-easyanimate",
|
||||
"nodename_pattern": "^FrankChiengEasyAnimate",
|
||||
"reference": "https://github.com/frankchieng/ComfyUI_llm_easyanimiate",
|
||||
"files": [
|
||||
"https://github.com/frankchieng/ComfyUI_llm_easyanimiate"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "implementation easyanimate with llama3-8b-6bit instruction LLM generation prompt help"
|
||||
},
|
||||
{
|
||||
"author": "chakib-belgaid",
|
||||
"title": "ComfyUI-autosize",
|
||||
"id": "autosize",
|
||||
"reference": "https://github.com/chakib-belgaid/ComfyUI-autosize",
|
||||
"files": [
|
||||
"https://github.com/chakib-belgaid/ComfyUI-autosize"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A ComfyUI utility plugin designed to optimize the latent space for generating high-quality results. It approximates the closest size model for better generation results."
|
||||
},
|
||||
{
|
||||
"author": "DataCTE",
|
||||
"title": "Prompt Injection Node for ComfyUI",
|
||||
"id": "prompt-injection",
|
||||
"reference": "https://github.com/DataCTE/prompt_injection",
|
||||
"files": [
|
||||
"https://github.com/DataCTE/prompt_injection"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This custom node for ComfyUI allows you to inject specific prompts at specific blocks of the Stable Diffusion UNet, providing fine-grained control over the generated image. It is based on the concept that the content/subject understanding of the model is primarily contained within the MID0 and MID1 blocks, as demonstrated in the B-Lora (Content Style implicit separation) paper. Features.\nInject different prompts into specific UNet blocks Three different node variations for flexible workflow integration Customize the learning rate of specific blocks to focus on content, lighting, style, or other aspects Potential for developing a 'Mix of Experts' approach by swapping blocks on-the-fly based on prompt content"
|
||||
},
|
||||
{
|
||||
"author": "lks-ai",
|
||||
"title": "ComfyUI Stable Audio Open 1.0 Sampler",
|
||||
"id": "stableaudiosampler",
|
||||
"reference": "https://github.com/lks-ai/ComfyUI-StableAudioSampler",
|
||||
"files": [
|
||||
"https://github.com/lks-ai/ComfyUI-StableAudioSampler"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes: StableAudioSampler. Wraps the new Stable Audio Open Model in the sampler that dropped Jun 5th. See Github for Features"
|
||||
},
|
||||
{
|
||||
"author": "luandev",
|
||||
"title": "ComfyUI CrewAI",
|
||||
"id": "crewai",
|
||||
"reference": "https://github.com/luandev/ComfyUI-CrewAI",
|
||||
"files": [
|
||||
"https://github.com/luandev/ComfyUI-CrewAI"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI-CrewAI aims to integrate Crew AI's multi-agent collaboration framework into the ComfyUI environment. By combining the strengths of Crew AI's role-based, collaborative AI agent system with ComfyUI's intuitive interface, we will create a robust platform for managing and executing complex AI tasks seamlessly"
|
||||
},
|
||||
{
|
||||
"author": "Tool Of North america",
|
||||
"title": "Easy automatic (square) image cropper using Yolo",
|
||||
"id": "tooldigital",
|
||||
"reference": "https://github.com/tooldigital/ComfyUI-Yolo-Cropper",
|
||||
"files": [
|
||||
"https://github.com/tooldigital/ComfyUI-Yolo-Cropper"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A very simple and easy to use node to automaticaaly create (square) image crops and masks using YoloV8. This can be very useful when using controlnet and ip adapters"
|
||||
},
|
||||
{
|
||||
"author": "11dogzi",
|
||||
"title": "Comfyui-ergouzi-samplers",
|
||||
"id": "ergouzi-samplers",
|
||||
"reference": "https://github.com/11dogzi/Comfyui-ergouzi-samplers",
|
||||
"files": [
|
||||
"https://github.com/11dogzi/Comfyui-ergouzi-samplers"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Partial redraw sampler and variant seed sampler"
|
||||
},
|
||||
{
|
||||
"author": "prodogape",
|
||||
"title": "ComfyUI-OmDet",
|
||||
"id": "omdet",
|
||||
"reference": "https://github.com/prodogape/ComfyUI-OmDet",
|
||||
"files": [
|
||||
"https://github.com/prodogape/ComfyUI-OmDet"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This node is mainly based on [a/OmDet](https://github.com/om-ai-lab/OmDet) for object detection, and it outputs related images, masks, and Labelme JSON information."
|
||||
},
|
||||
{
|
||||
"author": "risunobushi",
|
||||
"title": "comfyUI_FrequencySeparation_RGB-HSV",
|
||||
"id": "freq-sep",
|
||||
"reference": "https://github.com/risunobushi/comfyUI_FrequencySeparation_RGB-HSV",
|
||||
"files": [
|
||||
"https://github.com/risunobushi/comfyUI_FrequencySeparation_RGB-HSV"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A collection of simple nodes for Frequency Separation / Frequency Recombine with RGB and HSV methods"
|
||||
},
|
||||
{
|
||||
"author": "chandlergis",
|
||||
"title": "ComfyUI_EmojiOverlay",
|
||||
"id": "emoji-overlay",
|
||||
"reference": "https://github.com/chandlergis/ComfyUI_EmojiOverlay",
|
||||
"files": [
|
||||
"https://github.com/chandlergis/ComfyUI_EmojiOverlay"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:Image Emoji Overlay"
|
||||
},
|
||||
{
|
||||
"author": "JayLyu",
|
||||
"title": "ComfyUI_BaiKong_Node",
|
||||
"id": "baikong",
|
||||
"reference": "https://github.com/JayLyu/ComfyUI_BaiKong_Node",
|
||||
"files": [
|
||||
"https://github.com/JayLyu/ComfyUI_BaiKong_Node"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:BK Img To Color, BK Color Selector"
|
||||
},
|
||||
{
|
||||
"author": "zohac",
|
||||
"title": "ComfyUI_ZC_DrawShape",
|
||||
"id": "drawshape",
|
||||
"reference": "https://github.com/zohac/ComfyUI_ZC_DrawShape",
|
||||
"files": [
|
||||
"https://github.com/zohac/ComfyUI_ZC_DrawShape"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:ZC DrawShape Node"
|
||||
},
|
||||
{
|
||||
"author": "ThereforeGames",
|
||||
"title": "ComfyUI-Unprompted",
|
||||
@ -115,9 +357,9 @@
|
||||
"author": "vanche1212",
|
||||
"title": "ZMG PLUGIN",
|
||||
"id": "zmg",
|
||||
"reference": "https://github.com/vanche1212/ComfyUI-fq393",
|
||||
"reference": "https://github.com/vanche1212/ComfyUI-ZMG-Nodes",
|
||||
"files": [
|
||||
"https://github.com/vanche1212/ComfyUI-fq393"
|
||||
"https://github.com/vanche1212/ComfyUI-ZMG-Nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:ApiRequestNode, LoadVideoNode, JsonParserNode, OllamaRequestNode, OldPhotoColorizationNode."
|
||||
@ -462,225 +704,6 @@
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Basic support for StyleGAN2 and StyleGAN3 models."
|
||||
},
|
||||
{
|
||||
"author": "Mason-McGough",
|
||||
"title": "🎨 ComfyUI-Mosaica",
|
||||
"id": "mosaica",
|
||||
"reference": "https://github.com/Mason-McGough/ComfyUI-Mosaica",
|
||||
"files": [
|
||||
"https://github.com/Mason-McGough/ComfyUI-Mosaica"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Create colorful mosaic images in ComfyUI by computing label images and applying lookup tables."
|
||||
},
|
||||
{
|
||||
"author": "larsupb",
|
||||
"title": "LoRA Power-Merger ComfyUI",
|
||||
"id": "lora-powermerger",
|
||||
"reference": "https://github.com/larsupb/LoRA-Merger-ComfyUI",
|
||||
"files": [
|
||||
"https://github.com/larsupb/LoRA-Merger-ComfyUI"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "An extension for merging LoRAs. Offers a wide range of LoRA merge techniques (including dare) and XY plots. XY plots require efficiency nodes."
|
||||
},
|
||||
{
|
||||
"author": "alessandrozonta",
|
||||
"title": "Save Layers Node for ComfyUI",
|
||||
"id": "layers",
|
||||
"reference": "https://github.com/alessandrozonta/ComfyUI-Layers",
|
||||
"files": [
|
||||
"https://github.com/alessandrozonta/ComfyUI-Layers"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This custom node for ComfyUI allows you to create layers of an image based on input masks and save them into a PSD file."
|
||||
},
|
||||
{
|
||||
"author": "githubYiheng",
|
||||
"title": "comfyui_meanshift_filter",
|
||||
"id": "meanshift-filter",
|
||||
"reference": "https://github.com/githubYiheng/comfyui_meanshift_filter",
|
||||
"files": [
|
||||
"https://github.com/githubYiheng/comfyui_meanshift_filter"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:Apply Meanshift Filter"
|
||||
},
|
||||
{
|
||||
"author": "cuongloveit",
|
||||
"title": "comfy_http_request",
|
||||
"reference": "https://github.com/cuongloveit/comfy_http_request",
|
||||
"files": [
|
||||
"https://github.com/cuongloveit/comfy_http_request"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:Send Http Request. You can use this node to save full size images through the websocket."
|
||||
},
|
||||
{
|
||||
"author": "SayanoAI",
|
||||
"title": "Comfy-RVC",
|
||||
"id": "rvc",
|
||||
"reference": "https://github.com/SayanoAI/Comfy-RVC",
|
||||
"files": [
|
||||
"https://github.com/SayanoAI/Comfy-RVC"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI custom nodes for RVC related inference and image generation"
|
||||
},
|
||||
{
|
||||
"author": "nirbhay-faaya",
|
||||
"title": "ImgProcessing_ComfyUI",
|
||||
"id": "imgprocessing",
|
||||
"reference": "https://github.com/nirbhay-faaya/ImgProcessing_ComfyUI",
|
||||
"files": [
|
||||
"https://github.com/nirbhay-faaya/ImgProcessing_ComfyUI"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Custom Image processing ComfyUI Nodes"
|
||||
},
|
||||
{
|
||||
"author": "smthemex",
|
||||
"title": "ComfyUI_StoryDiffusion",
|
||||
"id": "StoryDiffusion",
|
||||
"reference": "https://github.com/smthemex/ComfyUI_StoryDiffusion",
|
||||
"files": [
|
||||
"https://github.com/smthemex/ComfyUI_StoryDiffusion"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A StoryDiffusion node for ComfyUI."
|
||||
},
|
||||
{
|
||||
"author": "christian-byrne",
|
||||
"title": "Node - Size Matcher",
|
||||
"id": "sizematcher",
|
||||
"reference": "https://github.com/christian-byrne/size-match-compositing-nodes",
|
||||
"files": [
|
||||
"https://github.com/christian-byrne/size-match-compositing-nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Takes two images and matches their sizes using various methods, detailed below."
|
||||
},
|
||||
{
|
||||
"author": "lks-ai",
|
||||
"title": "ComfyUI AnyNode: Any Node you ask for",
|
||||
"id": "anynode",
|
||||
"reference": "https://github.com/lks-ai/anynode",
|
||||
"files": [
|
||||
"https://github.com/lks-ai/anynode"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes: AnyNode. Nodes that can be anything you ask. Auto-Generate functional nodes using LLMs. Create impossible workflows. API Compatibility: (OpenAI, LocalLLMs, Gemini)."
|
||||
},
|
||||
{
|
||||
"author": "Thomas Ward",
|
||||
"title": "TW-CUI-Util",
|
||||
"id": "tw-cui-util",
|
||||
"reference": "https://github.com/TW-CUI/TW-CUI-Util",
|
||||
"files": [
|
||||
"https://github.com/TW-CUI/TW-CUI-Util"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A collection of custom nodes to help with saving images, providing generation parameters, static literal nodes, and other useful nodes."
|
||||
},
|
||||
{
|
||||
"author": "fexploit",
|
||||
"title": "ComfyUI-AutoLabel",
|
||||
"id": "autolabel",
|
||||
"reference": "https://github.com/fexploit/ComfyUI-AutoLabel",
|
||||
"files": [
|
||||
"https://github.com/fexploit/ComfyUI-AutoLabel"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI-AutoLabel is a custom node for ComfyUI that uses BLIP (Bootstrapping Language-Image Pre-training) to generate detailed descriptions of the main object in an image. This node leverages the power of BLIP to provide accurate and context-aware captions for images."
|
||||
},
|
||||
{
|
||||
"author": "christian-byrne",
|
||||
"title": "img2colors-comfyui-node",
|
||||
"id": "img2colors-nodes",
|
||||
"reference": "https://github.com/christian-byrne/img2colors-comfyui-node",
|
||||
"files": [
|
||||
"https://github.com/christian-byrne/img2colors-comfyui-node"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:Img2Color - Color Palette Extractor"
|
||||
},
|
||||
{
|
||||
"author": "xuhongming251",
|
||||
"title": "ComfyUI-MuseTalkUtils",
|
||||
"id": "musetalk-utils",
|
||||
"reference": "https://github.com/xuhongming251/ComfyUI-MuseTalkUtils",
|
||||
"files": [
|
||||
"https://github.com/xuhongming251/ComfyUI-MuseTalkUtils"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "MuseTalk ComfyUI Preprocess and Postprocess Nodes"
|
||||
},
|
||||
{
|
||||
"author": "xuhongming251",
|
||||
"title": "ComfyUI-GPEN",
|
||||
"id": "gpen",
|
||||
"reference": "https://github.com/xuhongming251/ComfyUI-GPEN",
|
||||
"files": [
|
||||
"https://github.com/xuhongming251/ComfyUI-GPEN"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes:FaceEnhancement. Based on modelscope pipeline."
|
||||
},
|
||||
{
|
||||
"author": "exdysa",
|
||||
"title": "comfyui-selector",
|
||||
"reference": "https://github.com/exdysa/comfyui-selector",
|
||||
"files": [
|
||||
"https://github.com/exdysa/comfyui-selector/raw/main/selector.py"
|
||||
],
|
||||
"install_type": "copy",
|
||||
"description": "Nodes:Selector. Quick and dirty parameter generator node for ComfyUI."
|
||||
},
|
||||
{
|
||||
"author": "barckley75",
|
||||
"title": "comfyUI_DaVinciResolve",
|
||||
"reference": "https://github.com/barckley75/comfyUI_DaVinciResolve",
|
||||
"files": [
|
||||
"https://github.com/barckley75/comfyUI_DaVinciResolve/raw/main/custom_nodes/node_text_to_speech.py",
|
||||
"https://github.com/barckley75/comfyUI_DaVinciResolve/raw/main/custom_nodes/nodes_phy_3_contitioning.py",
|
||||
"https://github.com/barckley75/comfyUI_DaVinciResolve/raw/main/custom_nodes/save_audio_to_davinci.py",
|
||||
"https://github.com/barckley75/comfyUI_DaVinciResolve/raw/main/custom_nodes/save_image_to_davinci.py"
|
||||
],
|
||||
"install_type": "copy",
|
||||
"description": "Nodes:TextToSpeech, phy_3_conditioning, SaveAudioToDaVinci, SaveImageToDaVinci.\nNOTE:In order to use DaVinci node you must have DaVinci Resolve Studio connected to the API. For more information check the help seciton in DaVinci Resolve Studio HELP>DOCUMENTATION>DEVELOPER. It will open a folder, search for scripting and the for README.txt file, the API documentation."
|
||||
},
|
||||
{
|
||||
"author": "archifancy",
|
||||
"title": "Image-vector-for-ComfyUI",
|
||||
"reference": "https://github.com/archifancy/Image-vector-for-ComfyUI",
|
||||
"files": [
|
||||
"https://github.com/archifancy/Image-vector-for-ComfyUI/raw/main/AIvector.py"
|
||||
],
|
||||
"install_type": "copy",
|
||||
"description": "Nodes:AIvector. A wrapped comfyui node for converting pixels to vectors using Vtracer. Check it out here: [a/https://github.com/visioncortex/vtracer](https://github.com/visioncortex/vtracer)."
|
||||
},
|
||||
{
|
||||
"author": "muzi12888",
|
||||
"title": "m9-prompts-comfyui",
|
||||
"id": "m9-prompts",
|
||||
"reference": "https://github.com/MarcusNyne/m9-prompts-comfyui",
|
||||
"files": [
|
||||
"https://github.com/MarcusNyne/m9-prompts-comfyui"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Two custom nodes are included for modifying a prompt to create prompt variations.\nScramblePrompts [m9]: Reorder prompts, remove prompts, modify weights\nTweakWeights [m9]: Modify the weights of prompts matching keywords"
|
||||
},
|
||||
{
|
||||
"author": "SaltAI",
|
||||
"title": "SaltAI Language Toolkit",
|
||||
"id": "saltai-langtool",
|
||||
"reference": "https://github.com/get-salt-AI/SaltAI_Language_Toolkit",
|
||||
"files": [
|
||||
"https://github.com/get-salt-AI/SaltAI_Language_Toolkit"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "The project integrates the Retrieval Augmented Generation (RAG) tool [a/Llama-Index](https://www.llamaindex.ai/), [a/Microsoft's AutoGen](https://microsoft.github.io/autogen/), and [a/LlaVA-Next](https://github.com/LLaVA-VL/LLaVA-NeXT) with ComfyUI's adaptable node interface, enhancing the functionality and user experience of the platform."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -91,6 +91,16 @@
|
||||
"title_aux": "Comfyui-ergouzi-Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/11dogzi/Comfyui-ergouzi-samplers": [
|
||||
[
|
||||
"EGBYZZCYQ",
|
||||
"EGCYQJB",
|
||||
"EGCYQJBCJ"
|
||||
],
|
||||
{
|
||||
"title_aux": "Comfyui-ergouzi-samplers"
|
||||
}
|
||||
],
|
||||
"https://github.com/1mckw/Comfyui-Gelbooru": [
|
||||
[
|
||||
"Gelbooru (ID)",
|
||||
@ -127,9 +137,12 @@
|
||||
"SAMIN String Attribute Selector",
|
||||
"SANMIN Adapt Coordinates",
|
||||
"SANMIN AdjustTransparency",
|
||||
"SANMIN BlurMaskArea",
|
||||
"SANMIN ChineseToCharacter",
|
||||
"SANMIN ClothingWildcards",
|
||||
"SANMIN ConvertToEnglish",
|
||||
"SANMIN EditWildcards",
|
||||
"SANMIN Float",
|
||||
"SANMIN LoadPathImagesPreview",
|
||||
"SANMIN SCALE AND FILL BLACK",
|
||||
"SANMIN SanmiSaveImageToLocal",
|
||||
@ -498,10 +511,19 @@
|
||||
"https://github.com/Acly/comfyui-tooling-nodes": [
|
||||
[
|
||||
"ETN_ApplyMaskToImage",
|
||||
"ETN_AttentionMask",
|
||||
"ETN_BackgroundRegion",
|
||||
"ETN_CropImage",
|
||||
"ETN_DefineRegion",
|
||||
"ETN_ExtractImageTile",
|
||||
"ETN_ExtractMaskTile",
|
||||
"ETN_GenerateTileMask",
|
||||
"ETN_ListRegionMasks",
|
||||
"ETN_LoadImageBase64",
|
||||
"ETN_LoadMaskBase64",
|
||||
"ETN_SendImageWebSocket"
|
||||
"ETN_MergeImageTile",
|
||||
"ETN_SendImageWebSocket",
|
||||
"ETN_TileLayout"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI Nodes for External Tooling"
|
||||
@ -576,17 +598,6 @@
|
||||
"title_aux": "ComfyUI-SimpleCounter"
|
||||
}
|
||||
],
|
||||
"https://github.com/AppleBotzz/ComfyUI_LLMVISION": [
|
||||
[
|
||||
"CLAUDE_CHAT",
|
||||
"CLAUDE_VISION",
|
||||
"GPT4_CHAT",
|
||||
"GPT4_VISION"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_LLMVISION"
|
||||
}
|
||||
],
|
||||
"https://github.com/ArcherFMY/Diffusion360_ComfyUI": [
|
||||
[
|
||||
"Diffusion360LoaderImage2Pano",
|
||||
@ -1111,6 +1122,14 @@
|
||||
"title_aux": "Comfy Couple"
|
||||
}
|
||||
],
|
||||
"https://github.com/DannyStone1999/ComfyUI-Depth2Mask/raw/main/Depth2Mask.py": [
|
||||
[
|
||||
"Depth2Mask"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Depth2Mask"
|
||||
}
|
||||
],
|
||||
"https://github.com/DarKDinDoN/comfyui-checkpoint-automatic-config": [
|
||||
[
|
||||
"CheckpointAutomaticConfig",
|
||||
@ -1120,6 +1139,16 @@
|
||||
"title_aux": "ComfyUI Checkpoint Automatic Config"
|
||||
}
|
||||
],
|
||||
"https://github.com/DataCTE/prompt_injection": [
|
||||
[
|
||||
"AdvancedPromptInjection",
|
||||
"PromptInjection",
|
||||
"SimplePromptInjection"
|
||||
],
|
||||
{
|
||||
"title_aux": "Prompt Injection Node for ComfyUI"
|
||||
}
|
||||
],
|
||||
"https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes": [
|
||||
[],
|
||||
{
|
||||
@ -1253,12 +1282,7 @@
|
||||
"https://github.com/Extraltodeus/Stable-Diffusion-temperature-settings": [
|
||||
[
|
||||
"CLIP Temperature",
|
||||
"Dynamic scale as float",
|
||||
"Unet Temperature SD1",
|
||||
"Unet Temperature SD1 per layer",
|
||||
"Unet Temperature SDXL",
|
||||
"Unet Temperature SDXL per layer",
|
||||
"Unet Temperature any model"
|
||||
"Unet Temperature"
|
||||
],
|
||||
{
|
||||
"title_aux": "Stable-Diffusion-temperature-settings"
|
||||
@ -1790,6 +1814,8 @@
|
||||
],
|
||||
"https://github.com/GraftingRayman/ComfyUI_GraftingRayman": [
|
||||
[
|
||||
"GR Flip Tile Random Inverted",
|
||||
"GR Flip Tile Random Red Ring",
|
||||
"GR Image Details Displayer",
|
||||
"GR Image Details Saver",
|
||||
"GR Image Resize",
|
||||
@ -2153,6 +2179,15 @@
|
||||
"title_aux": "ComfyUI-JNodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/JayLyu/ComfyUI_BaiKong_Node": [
|
||||
[
|
||||
"BK_ColorSelector",
|
||||
"BK_Img2Color"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_BaiKong_Node"
|
||||
}
|
||||
],
|
||||
"https://github.com/JcandZero/ComfyUI_GLM4Node": [
|
||||
[
|
||||
"GLM3_turbo_CHAT",
|
||||
@ -2446,6 +2481,17 @@
|
||||
"title_aux": "ImagesGrid"
|
||||
}
|
||||
],
|
||||
"https://github.com/LZpenguin/ComfyUI-Text": [
|
||||
[
|
||||
"CombinationText",
|
||||
"PlaceholderText",
|
||||
"ReplaceText",
|
||||
"ShowText"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Text"
|
||||
}
|
||||
],
|
||||
"https://github.com/LarryJane491/Image-Captioning-in-ComfyUI": [
|
||||
[
|
||||
"LoRA Caption Load",
|
||||
@ -2725,17 +2771,6 @@
|
||||
"title_aux": "ComfyUI-BadmanNodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/MarkoCa1/ComfyUI-Text": [
|
||||
[
|
||||
"CombinationText",
|
||||
"PlaceholderText",
|
||||
"ReplaceText",
|
||||
"ShowText"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_Text"
|
||||
}
|
||||
],
|
||||
"https://github.com/MarkoCa1/ComfyUI_Segment_Mask": [
|
||||
[
|
||||
"AutomaticMask(segment anything)"
|
||||
@ -2797,6 +2832,7 @@
|
||||
"HueShift",
|
||||
"ImageDimensions",
|
||||
"ImageResizeLong",
|
||||
"ImageZigzag",
|
||||
"IndoorBackgrounds",
|
||||
"IndoorDir",
|
||||
"IntEvaluate",
|
||||
@ -3354,6 +3390,7 @@
|
||||
[
|
||||
"AudioBatchValueNode",
|
||||
"AudioTranscriptionNode",
|
||||
"DownloadAudio",
|
||||
"ImageRepeatInterleavedNode",
|
||||
"LatentRepeatInterleavedNode",
|
||||
"LoadAudio",
|
||||
@ -3384,8 +3421,12 @@
|
||||
],
|
||||
"https://github.com/Scorpinaus/ComfyUI-DiffusersLoader": [
|
||||
[
|
||||
"CombinedDiffusersLoader",
|
||||
"CombinedDiffusersSD15Loader",
|
||||
"CombinedDiffusersSDXLLoader",
|
||||
"DiffusersClipLoader",
|
||||
"DiffusersUNETLoader",
|
||||
"DiffusersVAELoader",
|
||||
"SD15CLIPLoader",
|
||||
"SD15UNETLoader",
|
||||
"SD15VAELoader",
|
||||
@ -3679,17 +3720,6 @@
|
||||
"title_aux": "Eagleshadow Custom Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/Shinsplat/ComfyUI-Shinsplat": [
|
||||
[
|
||||
"Clip Text Encode (Shinsplat)",
|
||||
"Clip Text Encode SDXL (Shinsplat)",
|
||||
"Lora Loader (Shinsplat)",
|
||||
"Sum Wrap (Shinsplat)"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Shinsplat"
|
||||
}
|
||||
],
|
||||
"https://github.com/ShmuelRonen/ComfyUI-SVDResizer": [
|
||||
[
|
||||
"SVDRsizer"
|
||||
@ -3814,6 +3844,7 @@
|
||||
"Stability Creative Upscale",
|
||||
"Stability Erase",
|
||||
"Stability Image Core",
|
||||
"Stability Image Ultra",
|
||||
"Stability Inpainting",
|
||||
"Stability Outpainting",
|
||||
"Stability Remove Background",
|
||||
@ -5342,7 +5373,9 @@
|
||||
"LiamLibLoadImage",
|
||||
"LiamLibSaveImg",
|
||||
"LiamLibSaveText",
|
||||
"PreviewReliefImage"
|
||||
"PreviewReliefImage",
|
||||
"SpeechRecognitionLiam",
|
||||
"SpeechSynthesisLiam"
|
||||
],
|
||||
{
|
||||
"title_aux": "LiamUtil"
|
||||
@ -5646,7 +5679,7 @@
|
||||
],
|
||||
"https://github.com/audioscavenger/ComfyUI-Thumbnails": [
|
||||
[
|
||||
"ComfyUIThumbnails"
|
||||
"LoadImageThumbnails"
|
||||
],
|
||||
{
|
||||
"author": "AudioscavengeR",
|
||||
@ -5696,7 +5729,8 @@
|
||||
"Bedrock - Claude",
|
||||
"Bedrock - Claude Multimodal",
|
||||
"Bedrock - SDXL",
|
||||
"Bedrock - Titan Image",
|
||||
"Bedrock - Titan Inpainting",
|
||||
"Bedrock - Titan Text to Image",
|
||||
"Image From S3",
|
||||
"Image From URL",
|
||||
"Image To S3",
|
||||
@ -6112,6 +6146,7 @@
|
||||
],
|
||||
"https://github.com/bobmagicii/comfykit-custom-nodes": [
|
||||
[
|
||||
"LoraThree",
|
||||
"LoraWithMeta",
|
||||
"TypecasterImage",
|
||||
"TypecasterLatent"
|
||||
@ -6298,6 +6333,15 @@
|
||||
"title_aux": "ComfyUI LLaVA Captioner"
|
||||
}
|
||||
],
|
||||
"https://github.com/chakib-belgaid/ComfyUI-autosize": [
|
||||
[
|
||||
"CustomAutoSize",
|
||||
"SDXLAutoSize"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-autosize"
|
||||
}
|
||||
],
|
||||
"https://github.com/chakib-belgaid/Comfyui_Prompt_styler": [
|
||||
[
|
||||
"Prompt_Styler"
|
||||
@ -6314,6 +6358,14 @@
|
||||
"title_aux": "ComfyUI-IMG_Query"
|
||||
}
|
||||
],
|
||||
"https://github.com/chandlergis/ComfyUI_EmojiOverlay": [
|
||||
[
|
||||
"Image Emoji Overlay"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_EmojiOverlay"
|
||||
}
|
||||
],
|
||||
"https://github.com/chaojie/ComfyUI-AniPortrait": [
|
||||
[
|
||||
"AniPortraitLoader",
|
||||
@ -6813,6 +6865,7 @@
|
||||
"LayerMask: MaskMotionBlur",
|
||||
"LayerMask: MaskPreview",
|
||||
"LayerMask: MaskStroke",
|
||||
"LayerMask: MediapipeFacialSegment",
|
||||
"LayerMask: PersonMaskUltra",
|
||||
"LayerMask: PersonMaskUltra V2",
|
||||
"LayerMask: PixelSpread",
|
||||
@ -6838,6 +6891,7 @@
|
||||
"LayerStyle: Stroke",
|
||||
"LayerStyle: Stroke V2",
|
||||
"LayerUtility: AddBlindWaterMark",
|
||||
"LayerUtility: BatchSelector",
|
||||
"LayerUtility: Boolean",
|
||||
"LayerUtility: BooleanOperator",
|
||||
"LayerUtility: ColorImage",
|
||||
@ -7813,6 +7867,39 @@
|
||||
"title_aux": "comfyui_facetools"
|
||||
}
|
||||
],
|
||||
"https://github.com/denfrost/Den_ComfyUI_Workflow": [
|
||||
[
|
||||
"Den_BatchIndex_AS",
|
||||
"Den_CropImage_AS",
|
||||
"Den_Eval_AS",
|
||||
"Den_GPTLoaderSimple_llama",
|
||||
"Den_GPTSampler_llama",
|
||||
"Den_ImageMixMasked_As",
|
||||
"Den_ImageToLatentSpace",
|
||||
"Den_ImageToMask_AS",
|
||||
"Den_Int2Any_AS",
|
||||
"Den_LatentAdd_AS",
|
||||
"Den_LatentMixMasked_As",
|
||||
"Den_LatentMix_AS",
|
||||
"Den_LatentToImages_AS",
|
||||
"Den_LoadLatent_AS",
|
||||
"Den_MapRange_AS",
|
||||
"Den_MaskToImage_AS",
|
||||
"Den_Math_AS",
|
||||
"Den_NoiseImage_AS",
|
||||
"Den_Number2Float_AS",
|
||||
"Den_Number2Int_AS",
|
||||
"Den_Number_AS",
|
||||
"Den_SVD_img2vid",
|
||||
"Den_SaveLatent_AS",
|
||||
"Den_TextToImage_AS",
|
||||
"Den_TextWildcardList_AS",
|
||||
"Increment_AS"
|
||||
],
|
||||
{
|
||||
"title_aux": "Den_ComfyUI_Workflows"
|
||||
}
|
||||
],
|
||||
"https://github.com/deroberon/StableZero123-comfyui": [
|
||||
[
|
||||
"SDZero ImageSplit",
|
||||
@ -8104,20 +8191,23 @@
|
||||
"Eden_String",
|
||||
"FolderScanner",
|
||||
"GetRandomFile",
|
||||
"Get_Prefixed_Imgs",
|
||||
"HistogramMatching",
|
||||
"IMG_blender",
|
||||
"IMG_padder",
|
||||
"IMG_resolution_multiple_of",
|
||||
"IMG_scaler",
|
||||
"IMG_unpadder",
|
||||
"IPAdapterRandomRotateEmbeds",
|
||||
"If ANY execute A else B",
|
||||
"ImageDescriptionNode",
|
||||
"LatentTypeConversion",
|
||||
"Linear_Combine_IP_Embeds",
|
||||
"LoadImagesByFilename",
|
||||
"LoadRandomImage",
|
||||
"Load_Embeddings_From_Folder",
|
||||
"MaskFromRGB",
|
||||
"MaskFromRGB_KMeans",
|
||||
"SaveExplorationState",
|
||||
"Random_Style_Mixture",
|
||||
"SaveImageAdvanced",
|
||||
"SavePosEmbeds",
|
||||
"VAEDecode_to_folder",
|
||||
@ -8191,10 +8281,10 @@
|
||||
"Selector"
|
||||
],
|
||||
{
|
||||
"author": "\u02f6\ud835\udfa2\u292c\u2ad2\u2d56s\u143c\u02f6",
|
||||
"description": "Preset aspect ratios and inference parameters.",
|
||||
"nickname": "Selector",
|
||||
"title": "Selector",
|
||||
"author": "\"\u02f6\ud835\udfa2\u292c\u2ad2\u2d56s\u143c\u02f6\"",
|
||||
"description": "\"Selector and Recourse for exdysa workflow. Preset aspect ratios, general settings, fallback switches.\"",
|
||||
"nickname": "\"Selector\"",
|
||||
"title": "\"Selector\"",
|
||||
"title_aux": "comfyui-selector"
|
||||
}
|
||||
],
|
||||
@ -8291,6 +8381,7 @@
|
||||
"FL_ImageCaptionSaver",
|
||||
"FL_ImageDimensionDisplay",
|
||||
"FL_ImageDurationSync",
|
||||
"FL_ImageNotes",
|
||||
"FL_ImagePixelator",
|
||||
"FL_ImageRandomizer",
|
||||
"FL_InfiniteZoom",
|
||||
@ -8433,6 +8524,7 @@
|
||||
"https://github.com/fmatray/ComfyUI_BattlemapGrid": [
|
||||
[
|
||||
"Battlemap Grid",
|
||||
"Compass",
|
||||
"Map Generator",
|
||||
"Map Generator(Outdoors)"
|
||||
],
|
||||
@ -8516,6 +8608,13 @@
|
||||
"title_aux": "ComfyUI_MagicClothing"
|
||||
}
|
||||
],
|
||||
"https://github.com/frankchieng/ComfyUI_llm_easyanimiate": [
|
||||
[],
|
||||
{
|
||||
"nodename_pattern": "^FrankChiengEasyAnimate",
|
||||
"title_aux": "ComfyUI_llm_easyanimiate"
|
||||
}
|
||||
],
|
||||
"https://github.com/fsdymy1024/ComfyUI_fsdymy": [
|
||||
[
|
||||
"Preview Image Without Metadata",
|
||||
@ -8954,17 +9053,24 @@
|
||||
"Image20SwitcherNode",
|
||||
"Image3SwitcherNode",
|
||||
"Image5SwitcherNode",
|
||||
"MonoClip_node",
|
||||
"PixelArt_node",
|
||||
"VAEDecodePreview_node",
|
||||
"image2contrastMask_node",
|
||||
"image2imbgg_node",
|
||||
"image_halftone",
|
||||
"image_histograms_node",
|
||||
"image_histograms_node_compact",
|
||||
"images_side_by_side",
|
||||
"smart_checkpoint_loader"
|
||||
"imgbbLoader_node",
|
||||
"smart_checkpoint_loader",
|
||||
"storeURL_node"
|
||||
],
|
||||
{
|
||||
"author": "YFG",
|
||||
"description": "This extension calculates the histogram of an image and outputs the results as graph images for individual channels as well as RGB and Luminosity.",
|
||||
"nickname": "\ud83d\udc2f YFG Histograms",
|
||||
"title": "YFG Histograms",
|
||||
"description": "This extension loads a model checkpoint file and extracts the model state dictionary or the entire model, treating all checkpoints as if they are in the root directory.",
|
||||
"nickname": "\ud83e\udde0 YFG Smart Checkpoint Loader",
|
||||
"title": "YFG Smart Checkpoint Loader",
|
||||
"title_aux": "\ud83d\ude38 YFG Comical Nodes"
|
||||
}
|
||||
],
|
||||
@ -9041,6 +9147,14 @@
|
||||
"title_aux": "ComfyUI-Image-Matting"
|
||||
}
|
||||
],
|
||||
"https://github.com/haohaocreates/ComfyUI-HH-Image-Selector": [
|
||||
[
|
||||
"Image Selector"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-HH-Image-Selector"
|
||||
}
|
||||
],
|
||||
"https://github.com/hay86/ComfyUI_AceNodes": [
|
||||
[
|
||||
"ACE_AnyInputSwitchBool",
|
||||
@ -9058,6 +9172,7 @@
|
||||
"ACE_ImageRemoveBackground",
|
||||
"ACE_ImageSaveToCloud",
|
||||
"ACE_Integer",
|
||||
"ACE_MaskBlur",
|
||||
"ACE_Seed",
|
||||
"ACE_Text",
|
||||
"ACE_TextConcatenate",
|
||||
@ -9123,6 +9238,8 @@
|
||||
[
|
||||
"About_us",
|
||||
"CLIPTextEncode_party",
|
||||
"Dingding",
|
||||
"Dingding_tool",
|
||||
"KSampler_party",
|
||||
"LLM",
|
||||
"LLM_api_loader",
|
||||
@ -9143,6 +9260,8 @@
|
||||
"ebd_tool",
|
||||
"end_dialog",
|
||||
"end_workflow",
|
||||
"feishu",
|
||||
"feishu_tool",
|
||||
"file_combine",
|
||||
"file_combine_plus",
|
||||
"github_tool",
|
||||
@ -9280,6 +9399,15 @@
|
||||
"title_aux": "ComfyUI_DanTagGen"
|
||||
}
|
||||
],
|
||||
"https://github.com/huchenlei/ComfyUI_densediffusion": [
|
||||
[
|
||||
"DenseDiffusionAddCondNode",
|
||||
"DenseDiffusionApplyNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI DenseDiffusion"
|
||||
}
|
||||
],
|
||||
"https://github.com/hughescr/ComfyUI-OpenPose-Keypoint-Extractor": [
|
||||
[
|
||||
"Openpose Keypoint Extractor"
|
||||
@ -10529,6 +10657,18 @@
|
||||
"title_aux": "comfy-mecha"
|
||||
}
|
||||
],
|
||||
"https://github.com/lks-ai/ComfyUI-StableAudioSampler": [
|
||||
[
|
||||
"StableAudioSampler"
|
||||
],
|
||||
{
|
||||
"author": "lks-ai",
|
||||
"description": "A Simple integration of Stable Audio Diffusion with knobs and stuff!",
|
||||
"nickname": "stableaudio",
|
||||
"title": "StableAudioSampler",
|
||||
"title_aux": "ComfyUI Stable Audio Open 1.0 Sampler"
|
||||
}
|
||||
],
|
||||
"https://github.com/lks-ai/anynode": [
|
||||
[
|
||||
"AnyNode",
|
||||
@ -10703,6 +10843,7 @@
|
||||
"https://github.com/lquesada/ComfyUI-Inpaint-CropAndStitch": [
|
||||
[
|
||||
"InpaintCrop",
|
||||
"InpaintExtendOutpaint",
|
||||
"InpaintStitch"
|
||||
],
|
||||
{
|
||||
@ -11022,6 +11163,21 @@
|
||||
"title_aux": "ComfyUI Inspire Pack"
|
||||
}
|
||||
],
|
||||
"https://github.com/luandev/ComfyUI-CrewAI": [
|
||||
[
|
||||
"\ud83d\udcceCrewAI Agent",
|
||||
"\ud83d\udcceCrewAI Agent List",
|
||||
"\ud83d\udcceCrewAI Crew",
|
||||
"\ud83d\udcceCrewAI LLM Chat GPT",
|
||||
"\ud83d\udcceCrewAI LLM Hugging Face",
|
||||
"\ud83d\udcceCrewAI LLM OpenAI",
|
||||
"\ud83d\udcceCrewAI Task",
|
||||
"\ud83d\udcceCrewAI Task List"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI CrewAI"
|
||||
}
|
||||
],
|
||||
"https://github.com/m-sokes/ComfyUI-Sokes-Nodes": [
|
||||
[
|
||||
"Custom Date Format | sokes \ud83e\uddac",
|
||||
@ -11062,6 +11218,18 @@
|
||||
"title_aux": "ComfyUI-SubjectStyle-CSV"
|
||||
}
|
||||
],
|
||||
"https://github.com/marduk191/comfyui-marnodes": [
|
||||
[
|
||||
"marduk191_workflow_settings"
|
||||
],
|
||||
{
|
||||
"author": "\u02f6marduk191",
|
||||
"description": "A node to set workflow settings.",
|
||||
"nickname": "marduk191 workflow settings",
|
||||
"title": "marduk191 workflow settings",
|
||||
"title_aux": "marduk191 workflow settings"
|
||||
}
|
||||
],
|
||||
"https://github.com/marhensa/sdxl-recommended-res-calc": [
|
||||
[
|
||||
"RecommendedResCalc"
|
||||
@ -11616,6 +11784,15 @@
|
||||
"title_aux": "ntdviet/comfyui-ext"
|
||||
}
|
||||
],
|
||||
"https://github.com/nuanarchy/ComfyUI-NuA-FlashFace": [
|
||||
[
|
||||
"FlashFace_Loader_NuA",
|
||||
"FlashFace_Sampler_NuA"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-NuA-FlashFace"
|
||||
}
|
||||
],
|
||||
"https://github.com/nullquant/ComfyUI-BrushNet": [
|
||||
[
|
||||
"BlendInpaint",
|
||||
@ -11882,6 +12059,7 @@
|
||||
"BMAB Prompt",
|
||||
"BMAB Remove Background",
|
||||
"BMAB Resize By Person",
|
||||
"BMAB Resize By Ratio",
|
||||
"BMAB Resize and Fill",
|
||||
"BMAB SD-WebUI API BMAB Extension",
|
||||
"BMAB SD-WebUI API ControlNet",
|
||||
@ -11921,6 +12099,14 @@
|
||||
"title_aux": "Comfyui-Minio"
|
||||
}
|
||||
],
|
||||
"https://github.com/prodogape/ComfyUI-OmDet": [
|
||||
[
|
||||
"Apply OmDet"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-OmDet"
|
||||
}
|
||||
],
|
||||
"https://github.com/pythongosssss/ComfyUI-Custom-Scripts": [
|
||||
[
|
||||
"CheckpointLoader|pysssss",
|
||||
@ -12018,6 +12204,7 @@
|
||||
],
|
||||
"https://github.com/receyuki/comfyui-prompt-reader-node": [
|
||||
[
|
||||
"SDAnyConverter",
|
||||
"SDBatchLoader",
|
||||
"SDLoraLoader",
|
||||
"SDLoraSelector",
|
||||
@ -12108,6 +12295,17 @@
|
||||
"title_aux": "comfyui-ricklove"
|
||||
}
|
||||
],
|
||||
"https://github.com/risunobushi/comfyUI_FrequencySeparation_RGB-HSV": [
|
||||
[
|
||||
"FrequencyCombination",
|
||||
"FrequencyCombinationHSV",
|
||||
"FrequencySeparation",
|
||||
"FrequencySeparationHSV"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyUI_FrequencySeparation_RGB-HSV"
|
||||
}
|
||||
],
|
||||
"https://github.com/rklaffehn/rk-comfy-nodes": [
|
||||
[
|
||||
"RK_CivitAIAddHashes",
|
||||
@ -12272,6 +12470,14 @@
|
||||
"title_aux": "SRL's nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/seghier/ComfyUI_LibreTranslate/raw/main/translate_node.py": [
|
||||
[
|
||||
"LibreTranslate"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_LibreTranslate"
|
||||
}
|
||||
],
|
||||
"https://github.com/sergekatzmann/ComfyUI_Nimbus-Pack": [
|
||||
[
|
||||
"AdjustAndRoundDimensions",
|
||||
@ -12395,6 +12601,16 @@
|
||||
"title_aux": "comfyui-mixlab-nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/shadowcz007/comfyui-sound-lab": [
|
||||
[
|
||||
"AudioPlay",
|
||||
"Musicgen_",
|
||||
"StableAudio_"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui-sound-lab"
|
||||
}
|
||||
],
|
||||
"https://github.com/shadowcz007/comfyui-ultralytics-yolo": [
|
||||
[
|
||||
"DetectByLabel"
|
||||
@ -12608,6 +12824,9 @@
|
||||
],
|
||||
"https://github.com/smthemex/ComfyUI_ChatGLM_API": [
|
||||
[
|
||||
"Glm_4_9b_Chat",
|
||||
"Glm_4v_9b",
|
||||
"Glm_Lcoal_Or_Repo",
|
||||
"ZhipuaiApi_Character",
|
||||
"ZhipuaiApi_Txt",
|
||||
"ZhipuaiApi_img"
|
||||
@ -12636,7 +12855,8 @@
|
||||
],
|
||||
"https://github.com/smthemex/ComfyUI_ID_Animator": [
|
||||
[
|
||||
"ID_Animator"
|
||||
"ID_Animator",
|
||||
"ID_Repo_Choice"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_ID_Animator"
|
||||
@ -12677,10 +12897,20 @@
|
||||
"title_aux": "ComfyUI_Pipeline_Tool"
|
||||
}
|
||||
],
|
||||
"https://github.com/smthemex/ComfyUI_StableAudio_Open": [
|
||||
[
|
||||
"StableAudio_Open",
|
||||
"Use_LocalModel_Or_Repo"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_StableAudio_Open"
|
||||
}
|
||||
],
|
||||
"https://github.com/smthemex/ComfyUI_StoryDiffusion": [
|
||||
[
|
||||
"Character_Batch",
|
||||
"Comic_Type",
|
||||
"Pre_Translate_prompt",
|
||||
"Storydiffusion_Img2Img",
|
||||
"Storydiffusion_Text2Img"
|
||||
],
|
||||
@ -13191,6 +13421,14 @@
|
||||
"title_aux": "ComfyUI-AudioReactor"
|
||||
}
|
||||
],
|
||||
"https://github.com/tooldigital/ComfyUI-Yolo-Cropper": [
|
||||
[
|
||||
"ToolYoloCropper"
|
||||
],
|
||||
{
|
||||
"title_aux": "Easy automatic (square) image cropper using Yolo"
|
||||
}
|
||||
],
|
||||
"https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": [
|
||||
[
|
||||
"CaptureWebcam",
|
||||
@ -13400,14 +13638,15 @@
|
||||
"title_aux": "unwdef-nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/vanche1212/ComfyUI-fq393": [
|
||||
"https://github.com/vanche1212/ComfyUI-ZMG-Nodes": [
|
||||
[
|
||||
"APIRequestNode",
|
||||
"JsonParserNode",
|
||||
"LoadVideoPath",
|
||||
"LoadVideoUpload",
|
||||
"OldPhotoColorizationNode",
|
||||
"OllamaRequestNode"
|
||||
"OllamaRequestNode",
|
||||
"Waveform2Audio"
|
||||
],
|
||||
{
|
||||
"title_aux": "ZMG PLUGIN"
|
||||
@ -13804,6 +14043,7 @@
|
||||
"easy a1111Loader",
|
||||
"easy applyBrushNet",
|
||||
"easy applyFooocusInpaint",
|
||||
"easy applyInpaint",
|
||||
"easy applyPowerPaint",
|
||||
"easy boolean",
|
||||
"easy cascadeKSampler",
|
||||
@ -14194,6 +14434,18 @@
|
||||
"title_aux": "EasyCaptureNode for ComfyUI"
|
||||
}
|
||||
],
|
||||
"https://github.com/zohac/ComfyUI_ZC_DrawShape": [
|
||||
[
|
||||
"ZcDrawShape"
|
||||
],
|
||||
{
|
||||
"author": "Zohac",
|
||||
"description": "nodes for artists, designers and animators.",
|
||||
"nickname": "Zc DrawShape",
|
||||
"title": "Zc DrawShape",
|
||||
"title_aux": "ComfyUI_ZC_DrawShape"
|
||||
}
|
||||
],
|
||||
"https://github.com/zombieyang/sd-ppp": [
|
||||
[
|
||||
"Get Image From Photoshop Layer",
|
||||
|
||||
@ -1,5 +1,107 @@
|
||||
{
|
||||
"models": [
|
||||
{
|
||||
"name": "CN-anytest_v4-marged.safetensors",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[2.5GB] AnyTest Controlnet. A model for style transfer.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v4-marged.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v4-marged.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v4-marged_am_dim256.safetensors (dim256/Animagine)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[774MB] AnyTest Controlnet Lora (dim256) for Animagine. A model for style transfer.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v4-marged_am_dim256.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v4-marged_am_dim256.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v4-marged_am_dim128.safetensors (dim128/Animagine)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[396MB] AnyTest Controlnet Lora (dim128) for Animagine. A model for style transfer.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v4-marged_am_dim128.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v4-marged_am_dim128.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v4-marged_pn_dim256.safetensors (dim256/Pony)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[774MB] AnyTest Controlnet Lora (dim256) for Pony. A model for style transfer.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v4-marged_pn_dim256.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v4-marged_pn_dim256.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v4-marged_pn_dim128.safetensors (dim128/Pony)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[396MB] AnyTest Controlnet Lora (dim128) for Pony. A model for style transfer.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v4-marged_pn_dim128.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v4-marged_pn_dim128.safetensors"
|
||||
},
|
||||
|
||||
{
|
||||
"name": "CN-anytest_v3-50000_fp16.safetensors (fp16)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[2.5GB] AnyTest Controlnet. A strict control model.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v3-50000_fp16.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v3-50000_fp16.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v3-50000_am_dim256.safetensors (dim256/Animagine)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[774MB] AnyTest Controlnet Lora (dim256) for Animagine. A strict control model.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v3-50000_am_dim256.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v3-50000_am_dim256.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v3-50000_am_dim128.safetensors (dim128/Animagine)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[396MB] AnyTest Controlnet Lora (dim128) for Animagine. A strict control model.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v3-50000_am_dim128.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v3-50000_am_dim128.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v3-50000_pn_dim256.safetensors (dim256/Pony)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[774MB] AnyTest Controlnet Lora (dim256) for Pony. A strict control model.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v3-50000_pn_dim256.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v3-50000_pn_dim256.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "CN-anytest_v3-50000_pn_dim128.safetensors (dim128/Pony)",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL",
|
||||
"description": "[396MB] AnyTest Controlnet Lora (dim128) for Pony. A strict control model.",
|
||||
"reference": "https://huggingface.co/2vXpSwA7/iroiro-lora/tree/main",
|
||||
"filename": "CN-anytest_v3-50000_pn_dim128.safetensors",
|
||||
"url": "https://huggingface.co/2vXpSwA7/iroiro-lora/resolve/main/test_controlnet2/CN-anytest_v3-50000_pn_dim128.safetensors"
|
||||
},
|
||||
|
||||
{
|
||||
"name": "Kijai/ToonCrafter model checkpoint (interpolation fp16)",
|
||||
"type": "checkpoint",
|
||||
@ -52,7 +154,7 @@
|
||||
"url": "https://huggingface.co/xinsir/controlnet-openpose-sdxl-1.0/resolve/main/diffusion_pytorch_model_twins.safetensors"
|
||||
},
|
||||
{
|
||||
"name": "xinsir/CControlnet-Scribble-Sdxl-1.0-Anime",
|
||||
"name": "xinsir/Controlnet-Scribble-Sdxl-1.0-Anime",
|
||||
"type": "controlnet",
|
||||
"base": "SDXL",
|
||||
"save_path": "controlnet/SDXL/controlnet-scribble-sdxl-1.0-anime",
|
||||
|
||||
@ -9,13 +9,14 @@ import locale
|
||||
import platform
|
||||
import json
|
||||
|
||||
|
||||
glob_path = os.path.join(os.path.dirname(__file__), "glob")
|
||||
sys.path.append(glob_path)
|
||||
|
||||
import security_check
|
||||
from manager_util import *
|
||||
import cm_global
|
||||
|
||||
security_check.security_check()
|
||||
|
||||
cm_global.pip_downgrade_blacklist = ['torch', 'torchsde', 'torchvision', 'transformers', 'safetensors', 'kornia']
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
[project]
|
||||
name = "comfyui-manager"
|
||||
description = "ComfyUI-Manager provides features to install and manage custom nodes for ComfyUI, as well as various functionalities to assist with ComfyUI."
|
||||
version = "2.36"
|
||||
version = "2.37"
|
||||
license = "LICENSE"
|
||||
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"]
|
||||
|
||||
|
||||
@ -293,12 +293,16 @@ def update_custom_nodes():
|
||||
if len(path_parts) >= 2 and domain == "github.com":
|
||||
owner_repo = "/".join(path_parts[-2:])
|
||||
repo = g.get_repo(owner_repo)
|
||||
|
||||
owner = repo.owner
|
||||
now = datetime.datetime.now(datetime.timezone.utc)
|
||||
author_time_diff = now - owner.created_at
|
||||
|
||||
last_update = repo.pushed_at.strftime("%Y-%m-%d %H:%M:%S") if repo.pushed_at else 'N/A'
|
||||
item = {
|
||||
"stars": repo.stargazers_count,
|
||||
"last_update": last_update,
|
||||
"cached_time": datetime.datetime.now().timestamp(),
|
||||
"cached_time": now.timestamp(),
|
||||
"author_account_age_days": author_time_diff.days,
|
||||
}
|
||||
return url, item
|
||||
else:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user