Compare commits

..

1 Commits

Author SHA1 Message Date
Dr.Lt.Data
34a48fbae4 wip: pygit2 2024-11-29 19:50:35 +09:00
23 changed files with 3390 additions and 4741 deletions

View File

@@ -391,6 +391,7 @@ When you run the `scan.sh` script:
* https://github.com/SimithWang/comfyui-renameImages * https://github.com/SimithWang/comfyui-renameImages
* https://github.com/Tcheko243/ComfyUI-Photographer-Alpha7-Nodes * https://github.com/Tcheko243/ComfyUI-Photographer-Alpha7-Nodes
* https://github.com/Limbicnation/ComfyUINodeToolbox * https://github.com/Limbicnation/ComfyUINodeToolbox
* https://github.com/chenpipi0807/pip_longsize
* https://github.com/APZmedia/ComfyUI-APZmedia-srtTools * https://github.com/APZmedia/ComfyUI-APZmedia-srtTools
## Roadmap ## Roadmap

View File

@@ -1,12 +1,10 @@
import os import os
import sys
cli_mode_flag = os.path.join(os.path.dirname(__file__), '.enable-cli-only-mode') cli_mode_flag = os.path.join(os.path.dirname(__file__), '.enable-cli-only-mode')
if not os.path.exists(cli_mode_flag): if not os.path.exists(cli_mode_flag):
sys.path.append(os.path.join(os.path.dirname(__file__), "glob")) from .glob import manager_server
import manager_server from .glob import share_3rdparty
import share_3rdparty
WEB_DIRECTORY = "js" WEB_DIRECTORY = "js"
else: else:
print(f"\n[ComfyUI-Manager] !! cli-only-mode is enabled !!\n") print(f"\n[ComfyUI-Manager] !! cli-only-mode is enabled !!\n")

View File

@@ -19,7 +19,7 @@
"files": [ "files": [
"https://github.com/ltdrdata/ComfyUI-Impact-Pack" "https://github.com/ltdrdata/ComfyUI-Impact-Pack"
], ],
"pip": ["ultralytics==8.3.40"], "pip": ["ultralytics"],
"install_type": "git-clone", "install_type": "git-clone",
"description": "This extension offers various detector nodes and detailer nodes that allow you to configure a workflow that automatically enhances facial details. And provide iterative upscaler.", "description": "This extension offers various detector nodes and detailer nodes that allow you to configure a workflow that automatically enhances facial details. And provide iterative upscaler.",
"preemptions":["SAMLoader"] "preemptions":["SAMLoader"]
@@ -4059,7 +4059,7 @@
{ {
"author": "toyxyz", "author": "toyxyz",
"title": "ComfyUI_toyxyz_test_nodes", "title": "ComfyUI_toyxyz_test_nodes",
"id": "comfyui_toyxyz_test_nodes", "id": "toyxyz",
"reference": "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes", "reference": "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes",
"files": [ "files": [
"https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes" "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes"
@@ -4067,16 +4067,6 @@
"install_type": "git-clone", "install_type": "git-clone",
"description": "This node was created to send a webcam to ComfyUI in real time. This node is recommended for use with LCM." "description": "This node was created to send a webcam to ComfyUI in real time. This node is recommended for use with LCM."
}, },
{
"author": "toyxyz",
"title": "ComfyUI_rgbx_Wrapper",
"reference": "https://github.com/toyxyz/ComfyUI_rgbx_Wrapper",
"files": [
"https://github.com/toyxyz/ComfyUI_rgbx_Wrapper"
],
"install_type": "git-clone",
"description": "This is the rgb2x wrapper node for ComfyUI. The required models are automatically downloaded on the first run.\noriginal project : [a/https://github.com/zheng95z/rgbx](original project : https://github.com/zheng95z/rgbx)"
},
{ {
"author": "thecooltechguy", "author": "thecooltechguy",
"title": "ComfyUI Stable Video Diffusion", "title": "ComfyUI Stable Video Diffusion",
@@ -5231,17 +5221,6 @@
"install_type": "git-clone", "install_type": "git-clone",
"description": "StableDelight: Revealing Hidden Textures by Removing Specular Reflections" "description": "StableDelight: Revealing Hidden Textures by Removing Specular Reflections"
}, },
{
"author": "lldacing",
"title": "ComfyUI_StableHair_ll",
"id": "comfyui_stablehair_ll",
"reference": "https://github.com/lldacing/ComfyUI_StableHair_ll",
"files": [
"https://github.com/lldacing/ComfyUI_StableHair_ll"
],
"install_type": "git-clone",
"description": "Hair transfer"
},
{ {
"author": "CosmicLaca", "author": "CosmicLaca",
"title": "Primere nodes for ComfyUI", "title": "Primere nodes for ComfyUI",
@@ -11692,13 +11671,14 @@
}, },
{ {
"author": "PnthrLeo", "author": "PnthrLeo",
"title": "comfyUI-PL-data-tools", "title": "comfyUI-image-search",
"id": "image-search",
"reference": "https://github.com/PnthrLeo/comfyUI-image-search", "reference": "https://github.com/PnthrLeo/comfyUI-image-search",
"files": [ "files": [
"https://github.com/PnthrLeo/comfyUI-image-search" "https://github.com/PnthrLeo/comfyUI-image-search"
], ],
"install_type": "git-clone", "install_type": "git-clone",
"description": "Nodes:Close Images Searcher, Areas Generator,Batch Image Getter" "description": "Nodes:Close Images Searcher"
}, },
{ {
"author": "l20richo", "author": "l20richo",
@@ -12973,7 +12953,7 @@
"https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils" "https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils"
], ],
"install_type": "git-clone", "install_type": "git-clone",
"description": "NODES: Add Mask For IC Lora, Create Context Window, Concatenate Context Window, Auto Patch" "description": "NODES: Add Mask For IC Lora"
}, },
{ {
"author": "lrzjason", "author": "lrzjason",
@@ -13334,17 +13314,6 @@
"install_type": "git-clone", "install_type": "git-clone",
"description": "a simple reimgsize node(s) in comfyui." "description": "a simple reimgsize node(s) in comfyui."
}, },
{
"author": "Makki_Shizu",
"title": "ComfyUI-Prompt-Wildcards",
"id": "Prompt-Wildcards",
"reference": "https://github.com/MakkiShizu/ComfyUI-Prompt-Wildcards",
"files": [
"https://github.com/MakkiShizu/ComfyUI-Prompt-Wildcards"
],
"install_type": "git-clone",
"description": "Optional wildcards in ComfyUI"
},
{ {
"author": "JosefKuchar", "author": "JosefKuchar",
"title": "ComfyUI-AdvancedTiling", "title": "ComfyUI-AdvancedTiling",
@@ -14486,16 +14455,6 @@
"install_type": "git-clone", "install_type": "git-clone",
"description": "this node contains a lot of small little helpers like switches, passers and selectors that i use a lot to build my workflows." "description": "this node contains a lot of small little helpers like switches, passers and selectors that i use a lot to build my workflows."
}, },
{
"author": "Rvage0815",
"title": "RvTComfyUI-RvTools_v2",
"reference": "https://github.com/Rvage0815/ComfyUI-RvTools_v2",
"files": [
"https://github.com/Rvage0815/ComfyUI-RvTools_v2"
],
"install_type": "git-clone",
"description": "this node contains a lot of small little helpers like switches, passers and selectors that i use a lot to build my workflows."
},
{ {
"author": "erosDiffusion", "author": "erosDiffusion",
"title": "Compositor Node", "title": "Compositor Node",
@@ -14508,14 +14467,13 @@
}, },
{ {
"author": "Steudio", "author": "Steudio",
"title": "ComfyUI Steudio", "title": "ComfyUI_Steudio",
"id": "Steudio",
"reference": "https://github.com/Steudio/ComfyUI_Steudio", "reference": "https://github.com/Steudio/ComfyUI_Steudio",
"files": [ "files": [
"https://github.com/Steudio/ComfyUI_Steudio" "https://github.com/Steudio/ComfyUI_Steudio"
], ],
"install_type": "git-clone", "install_type": "git-clone",
"description": "Divide and Conquer Node Suite: It calculates the optimal upscale resolution and seamlessly divides the image into tiles, ready for individual processing using your preferred workflow. After processing, the tiles are seamlessly merged into a larger image, offering sharper and more detailed visuals." "description": "Nodes: Divide and Conquer Algorithm, Divide Image, Combine Tiles, Make_Size"
}, },
{ {
"author": "Assistant", "author": "Assistant",
@@ -15102,6 +15060,16 @@
"install_type": "git-clone", "install_type": "git-clone",
"description": "This is a collection of nodes created to aid when managing area conditionings." "description": "This is a collection of nodes created to aid when managing area conditionings."
}, },
{
"author": "HentaiGirlfriendDotCom",
"title": "comfyui-highlight-connections",
"reference": "https://github.com/HentaiGirlfriendDotCom/comfyui-highlight-connections",
"files": [
"https://github.com/HentaiGirlfriendDotCom/comfyui-highlight-connections"
],
"install_type": "git-clone",
"description": "A node that can be dropped into a group. When a node is then clicked within that group, all nodes and connections in that group get greyed out and the connections from the clicked node go bright red."
},
{ {
"author": "Cyber-BCat", "author": "Cyber-BCat",
"title": "ComfyUI_Auto_Caption", "title": "ComfyUI_Auto_Caption",
@@ -16082,7 +16050,7 @@
"https://github.com/sousakujikken/ComfyUI-PixydustQuantizer" "https://github.com/sousakujikken/ComfyUI-PixydustQuantizer"
], ],
"install_type": "git-clone", "install_type": "git-clone",
"description": "Pixydust Quantizer is a custom node extension for ComfyUI that allows for the simplified recreation of tile patterns used in 1990s 16-color PC graphics, offering advanced color quantization and palette optimization features.Additionally, it includes a CRT-like effect node that mimics the phosphor glow and slight color bleeding of old CRT displays, adding a nostalgic aesthetic.With version 2.0.0, it now supports batch image processing, enabling efficient handling of video frames and image sequences." "description": "Pixydust Quantizer is a custom node extension for ComfyUI that allows for the simplified recreation of tile patterns used in 1990s 16-color PC graphics, offering advanced color quantization and palette optimization features."
}, },
{ {
"author": "hoveychen", "author": "hoveychen",
@@ -16489,6 +16457,17 @@
"install_type": "git-clone", "install_type": "git-clone",
"description": "This extension integrates ebsynth_utility into comfyui, and I've written some of my own nodes for secondary use." "description": "This extension integrates ebsynth_utility into comfyui, and I've written some of my own nodes for secondary use."
}, },
{
"author": "Makki_Shizu",
"title": "ComfyUI-Prompt-Wildcards",
"id": "Prompt-Wildcards",
"reference": "https://github.com/MakkiShizu/ComfyUI-Prompt-Wildcards",
"files": [
"https://github.com/MakkiShizu/ComfyUI-Prompt-Wildcards"
],
"install_type": "git-clone",
"description": "Optional wildcards in ComfyUI"
},
{ {
"author": "zubenelakrab", "author": "zubenelakrab",
"title": "ComfyUI-ASV-Nodes Node", "title": "ComfyUI-ASV-Nodes Node",
@@ -17068,15 +17047,14 @@
"description": "A modulation layer addon for Flux that reduces model size to 8.8B parameters without significant quality loss." "description": "A modulation layer addon for Flux that reduces model size to 8.8B parameters without significant quality loss."
}, },
{ {
"author": "lth", "author": "lo-th",
"title": "Comfyui_three_js", "title": "Comfyui_three_js",
"id": "lth",
"reference": "https://github.com/lo-th/Comfyui_three_js", "reference": "https://github.com/lo-th/Comfyui_three_js",
"files": [ "files": [
"https://github.com/lo-th/Comfyui_three_js" "https://github.com/lo-th/Comfyui_three_js"
], ],
"install_type": "git-clone", "install_type": "git-clone",
"description": "Use power of three.js in 3d view on comfyui." "description": "Custom node for ComfyUI to run three js"
}, },
{ {
"author": "AIPOQUE", "author": "AIPOQUE",
@@ -17356,7 +17334,7 @@
"https://github.com/dymokomi/comfyui_dygen" "https://github.com/dymokomi/comfyui_dygen"
], ],
"install_type": "git-clone", "install_type": "git-clone",
"description": "NODES: DY Image Quantize, DY Image Cluster, DY Image Palette, DY Image Masks, Image List to Grid, DY Image Scaler, DY Random Lines, DY Adaptive Color Lines, DY Adaptive Color Circles, DY Adaptive Color Rectangles, DY Binary Pattern Stamper" "description": "NODES: DY Image Quantize, DY Image Cluster, DY Image Palette, DY Image Masks, Image List to Grid"
}, },
{ {
"author": "bananasss00", "author": "bananasss00",
@@ -17378,16 +17356,6 @@
"install_type": "git-clone", "install_type": "git-clone",
"description": "ComfyUI-SoundHub is a collection of audio processing nodes designed for ComfyUI, enabling seamless audio processing and generation within your ComfyUI workflows." "description": "ComfyUI-SoundHub is a collection of audio processing nodes designed for ComfyUI, enabling seamless audio processing and generation within your ComfyUI workflows."
}, },
{
"author": "Yuan-ManX",
"title": "ComfyUI-LLaMA-Mesh",
"reference": "https://github.com/Yuan-ManX/ComfyUI-LLaMA-Mesh",
"files": [
"https://github.com/Yuan-ManX/ComfyUI-LLaMA-Mesh"
],
"install_type": "git-clone",
"description": "ComfyUI nodes for LLaMA-Mesh model."
},
{ {
"author": "Starnodes2024", "author": "Starnodes2024",
"title": "ComfyUI_StarNodes", "title": "ComfyUI_StarNodes",
@@ -17439,111 +17407,6 @@
"install_type": "git-clone", "install_type": "git-clone",
"description": "NODES:AIRedoon Image Caption.\nAnalyze image tagger" "description": "NODES:AIRedoon Image Caption.\nAnalyze image tagger"
}, },
{
"author": "itsjustregi",
"title": "ComfyUI-EasyPony",
"reference": "https://github.com/regiellis/ComfyUI-EasyPony",
"files": [
"https://github.com/regiellis/ComfyUI-EasyPony"
],
"install_type": "git-clone",
"description": "Easy Pony is a helper node that simplifies the process of adding scoring and other attributes to prompts when using Pony models."
},
{
"author": "steelan9199",
"title": "ComfyUI-Teeth",
"reference": "https://github.com/steelan9199/ComfyUI-Teeth",
"files": [
"https://github.com/steelan9199/ComfyUI-Teeth"
],
"install_type": "git-clone",
"description": "NODES: Index List, TextSplitByDelimiter"
},
{
"author": "mrhan1993",
"title": "ComfyUI-Fooocus",
"reference": "https://github.com/mrhan1993/ComfyUI-Fooocus",
"files": [
"https://github.com/mrhan1993/ComfyUI-Fooocus"
],
"install_type": "git-clone",
"description": "This extension provides image generation features based on Fooocus."
},
{
"author": "Kling AI",
"title": "ComfyUI-KLingAI-API",
"reference": "https://github.com/KwaiVGI/ComfyUI-KLingAI-API",
"files": [
"https://github.com/KwaiVGI/ComfyUI-KLingAI-API"
],
"install_type": "git-clone",
"description": "Provide high-quality video and image generation capabilities, meeting creators' needs for creative content production and management through more convenient operations, richer functionalities, professional parameters, and stunning effects."
},
{
"author": "lujiazho",
"title": "ComfyUI-CatvtonFluxWrapper",
"id": "comfyui-catvton-flux-wrapper",
"reference": "https://github.com/lujiazho/ComfyUI-CatvtonFluxWrapper",
"files": [
"https://github.com/lujiazho/ComfyUI-CatvtonFluxWrapper"
],
"install_type": "git-clone",
"description": "ComfyUI-CatvtonFluxWrapper provides ComfyUI nodes for diffusers implementation of Catvton-Flux."
},
{
"author": "Stable Diffusion VN",
"title": "SDVN Comfy node",
"id": "SDVN",
"reference": "https://github.com/StableDiffusionVN/SDVN_Comfy_node",
"files": [
"https://github.com/StableDiffusionVN/SDVN_Comfy_node"
],
"install_type": "git-clone",
"description": "Collection of nodes supports using comfyUi more quickly and conveniently (Auto download model, image, easy merger ...)"
},
{
"author": "Eugene (JEONG-JIWOO)",
"title": "ComfyUI_Eugene_Nodes",
"reference": "https://github.com/JEONG-JIWOO/ComfyUI_Eugene_Nodes",
"files": [
"https://github.com/JEONG-JIWOO/ComfyUI_Eugene_Nodes"
],
"install_type": "git-clone",
"description": "A collection of utility nodes using Dictionary designed to optimize and manage workflows in ComfyUI."
},
{
"author": "xs315431",
"title": "Comfyui_Get_promptId",
"reference": "https://github.com/xs315431/Comfyui_Get_promptId",
"files": [
"https://github.com/xs315431/Comfyui_Get_promptId"
],
"install_type": "git-clone",
"description": "NODES: Get Prompt_Id, Success Callback\nget comfyui task id and Callback for successful image generation, in conjunction with the back-end"
},
{
"author": "5x00",
"title": "ComfyUI-VLM_Captions",
"reference": "https://github.com/5x00/ComfyUI-VLM_Captions",
"files": [
"https://github.com/5x00/ComfyUI-VLM_Captions"
],
"install_type": "git-clone",
"description": "A simple ComfyUI node that let's you use Claude or ChatGPT 4o's VLM capabilities to generate captions/tags for images."
},
{
"author": "ClownsharkBatwing",
"title": "RES4LYF",
"id": "res4lyf",
"reference": "https://github.com/ClownsharkBatwing/RES4LYF",
"files": [
"https://github.com/ClownsharkBatwing/RES4LYF"
],
"install_type": "git-clone",
"description": "Advanced samplers with new noise scaling math to enable SDE sampling with all publicly available rectified flow models; new unsampling/noise inversion methods and other advanced techniques for inpainting and/or guiding the sampling process with latent images. 40 sampler types, 20 noise types, 7 noise scaling modes, in a single node. Also includes a wide variety of QoF and other utility nodes for manipulating sigmas, latents, images, and more."
},
@@ -17926,17 +17789,6 @@
"install_type": "copy", "install_type": "copy",
"description": "NODES:Animated Offset Padding, Animated Rotation & Zoom" "description": "NODES:Animated Offset Padding, Animated Rotation & Zoom"
}, },
{
"author": "duskfallcrew",
"title": "Embedding Merge for ComfyUI",
"reference": "https://github.com/duskfallcrew/Comfyui_EmbeddingMerge_Node",
"files": [
"https://github.com/duskfallcrew/Comfyui_EmbeddingMerge_Node/raw/refs/heads/main/merge_embed.py"
],
"install_type": "copy",
"description": "Extremely inspired and forked from: [a/https://github.com/klimaleksus/stable-diffusion-webui-embedding-merge](https://github.com/klimaleksus/stable-diffusion-webui-embedding-merge)"
},

View File

@@ -30,7 +30,7 @@
], ],
"https://github.com/1038lab/ComfyUI-RMBG": [ "https://github.com/1038lab/ComfyUI-RMBG": [
[ [
"RMBG" "AILAB_RMBG"
], ],
{ {
"title_aux": "ComfyUI-RMBG" "title_aux": "ComfyUI-RMBG"
@@ -252,36 +252,21 @@
"title_aux": "ComfyUI-DareMerge" "title_aux": "ComfyUI-DareMerge"
} }
], ],
"https://github.com/5x00/ComfyUI-VLM_Captions": [
[
"Image To Caption"
],
{
"title_aux": "ComfyUI-VLM_Captions"
}
],
"https://github.com/6174/comflowy-nodes": [ "https://github.com/6174/comflowy-nodes": [
[ [
"Comflowy_Clarity_Upscale", "Comflowy_Clarity_Upscale",
"Comflowy_Extract_JSON", "Comflowy_Extract_JSON",
"Comflowy_Flux", "Comflowy_Flux",
"Comflowy_Flux_Dev_Lora",
"Comflowy_Flux_Pro_Ultra",
"Comflowy_Hailuo",
"Comflowy_Http_Request", "Comflowy_Http_Request",
"Comflowy_Ideogram", "Comflowy_Ideogram",
"Comflowy_Kling",
"Comflowy_LLM", "Comflowy_LLM",
"Comflowy_Load_JSON", "Comflowy_Load_JSON",
"Comflowy_Luma",
"Comflowy_Omost_LLM", "Comflowy_Omost_LLM",
"Comflowy_Omost_Load_Canvas_Conditioning", "Comflowy_Omost_Load_Canvas_Conditioning",
"Comflowy_Omost_Load_Canvas_Python_Code", "Comflowy_Omost_Load_Canvas_Python_Code",
"Comflowy_Omost_Preview", "Comflowy_Omost_Preview",
"Comflowy_Omost_To_Conditioning", "Comflowy_Omost_To_Conditioning",
"Comflowy_Preview_JSON", "Comflowy_Preview_JSON",
"Comflowy_Preview_Video",
"Comflowy_Recraft",
"Comflowy_Set_API_Key" "Comflowy_Set_API_Key"
], ],
{ {
@@ -1136,7 +1121,6 @@
"https://github.com/Acly/comfyui-tooling-nodes": [ "https://github.com/Acly/comfyui-tooling-nodes": [
[ [
"ETN_ApplyMaskToImage", "ETN_ApplyMaskToImage",
"ETN_ApplyReferenceImages",
"ETN_AttentionMask", "ETN_AttentionMask",
"ETN_BackgroundRegion", "ETN_BackgroundRegion",
"ETN_CropImage", "ETN_CropImage",
@@ -1157,7 +1141,6 @@
"ETN_MergeImageTile", "ETN_MergeImageTile",
"ETN_NSFWFilter", "ETN_NSFWFilter",
"ETN_Parameter", "ETN_Parameter",
"ETN_ReferenceImage",
"ETN_SendImageWebSocket", "ETN_SendImageWebSocket",
"ETN_TileLayout", "ETN_TileLayout",
"ETN_Translate" "ETN_Translate"
@@ -1933,8 +1916,7 @@
], ],
"https://github.com/Bria-AI/ComfyUI-BRIA-API": [ "https://github.com/Bria-AI/ComfyUI-BRIA-API": [
[ [
"BriaEraser", "BriaEraser"
"BriaGenFill"
], ],
{ {
"title_aux": "BRIA AI API nodes" "title_aux": "BRIA AI API nodes"
@@ -2082,107 +2064,6 @@
"title_aux": "ComfyUI-Line-counter" "title_aux": "ComfyUI-Line-counter"
} }
], ],
"https://github.com/ClownsharkBatwing/RES4LYF": [
[
"AdvancedNoise",
"Base64ToConditioning",
"CLIPTextEncodeFluxUnguided",
"ClownSampler",
"ClownsharKSampler",
"ClownsharKSamplerAutomation",
"ClownsharKSamplerGuides",
"ClownsharKSamplerOptions",
"ClownsharKSamplerOptions_SDE_Noise",
"Conditioning Recast FP64",
"ConditioningAverageScheduler",
"ConditioningMultiply",
"ConditioningToBase64",
"ConditioningTruncate",
"ConditioningZeroAndTruncate",
"EmptyLatentImage64",
"EmptyLatentImageCustom",
"Film Grain",
"FluxLoader",
"Frequency Separation Hard Light",
"Frequency Separation Hard Light LAB",
"Image Channels LAB",
"Image Crop Location Exact",
"Image Median Blur",
"Image Pair Split",
"Latent Batcher",
"Latent Match Channelwise",
"Latent Normalize Channels",
"Latent to Cuda",
"LatentBatch_channels",
"LatentBatch_channels_16",
"LatentNoiseBatch_fractal",
"LatentNoiseBatch_gaussian",
"LatentNoiseBatch_gaussian_channels",
"LatentNoiseBatch_perlin",
"LatentNoiseList",
"LatentNoised",
"LatentPhaseMagnitude",
"LatentPhaseMagnitudeMultiply",
"LatentPhaseMagnitudeOffset",
"LatentPhaseMagnitudePower",
"Legacy_ClownSampler",
"Legacy_ClownsharKSampler",
"Legacy_ClownsharKSamplerGuides",
"PrepForUnsampling",
"SD35L_TimestepPatcher",
"SD35Loader",
"Sampler10th_World_Order",
"SamplerOptions_GarbageCollection",
"SamplerOptions_TimestepScaling",
"Set Precision",
"Set Precision Advanced",
"Set Precision Universal",
"SharkSampler",
"Sigmas Abs",
"Sigmas Add",
"Sigmas Cleanup",
"Sigmas Concat",
"Sigmas DeleteBelowFloor",
"Sigmas DeleteDuplicates",
"Sigmas From Text",
"Sigmas Iteration Karras",
"Sigmas Iteration Polyexp",
"Sigmas Math1",
"Sigmas Math3",
"Sigmas Modulus",
"Sigmas Mult",
"Sigmas Noise Inversion",
"Sigmas Pad",
"Sigmas Power",
"Sigmas Quotient",
"Sigmas Recast",
"Sigmas Rescale",
"Sigmas SetFloor",
"Sigmas Split",
"Sigmas Start",
"Sigmas Truncate",
"Sigmas Unpad",
"Sigmas Variance Floor",
"Sigmas2 Add",
"Sigmas2 Mult",
"SigmasPreview",
"StableCascade_StageB_Conditioning64",
"StableCascade_StageC_VAEEncode_Exact",
"StyleModelApplyAdvanced",
"Tan Scheduler",
"Tan Scheduler 2",
"Tan Scheduler 2 Simple",
"TextBox1",
"TextBox3",
"UNetSave",
"UltraSharkSampler",
"UltraSharkSampler Tiled",
"VGG19StyleTransfer"
],
{
"title_aux": "RES4LYF"
}
],
"https://github.com/Clybius/ComfyUI-Extra-Samplers": [ "https://github.com/Clybius/ComfyUI-Extra-Samplers": [
[ [
"GeometricCFGGuider", "GeometricCFGGuider",
@@ -3588,6 +3469,14 @@
"title_aux": "Hellrunner's Magical Nodes" "title_aux": "Hellrunner's Magical Nodes"
} }
], ],
"https://github.com/HentaiGirlfriendDotCom/comfyui-highlight-connections": [
[
"HighlightConnections"
],
{
"title_aux": "comfyui-highlight-connections"
}
],
"https://github.com/Hiero207/ComfyUI-Hiero-Nodes": [ "https://github.com/Hiero207/ComfyUI-Hiero-Nodes": [
[ [
"Load Prompt Travel file", "Load Prompt Travel file",
@@ -3605,8 +3494,6 @@
"https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM": [ "https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM": [
[ [
"AgentMemoryProvider", "AgentMemoryProvider",
"AgentNode",
"BasicRecursionFilterNode",
"DocumentProcessor", "DocumentProcessor",
"LinuxMemoryDirectory", "LinuxMemoryDirectory",
"QueryNode" "QueryNode"
@@ -3734,7 +3621,6 @@
], ],
"https://github.com/Isi-dev/ComfyUI-Animation_Nodes_and_Workflows": [ "https://github.com/Isi-dev/ComfyUI-Animation_Nodes_and_Workflows": [
[ [
"CLIPTextEncodeStyles",
"JoinVideos", "JoinVideos",
"MakeDrivingVideoForLivePortrait", "MakeDrivingVideoForLivePortrait",
"MakePortraitWalk", "MakePortraitWalk",
@@ -3781,7 +3667,6 @@
"https://github.com/Isulion/ComfyUI_Isulion": [ "https://github.com/Isulion/ComfyUI_Isulion": [
[ [
"IsuCollage_Node", "IsuCollage_Node",
"Isulion Video Prompt Generator \ud83c\udfa5",
"IsulionActionGenerator", "IsulionActionGenerator",
"IsulionAlienWorldGenerator", "IsulionAlienWorldGenerator",
"IsulionAnimalBehaviorGenerator", "IsulionAnimalBehaviorGenerator",
@@ -3791,7 +3676,6 @@
"IsulionClothingGenerator", "IsulionClothingGenerator",
"IsulionCuteAnimalRandom", "IsulionCuteAnimalRandom",
"IsulionEmotionGenerator", "IsulionEmotionGenerator",
"IsulionEpochGenerator",
"IsulionFantasyRaceGenerator", "IsulionFantasyRaceGenerator",
"IsulionHabitatGenerator", "IsulionHabitatGenerator",
"IsulionLoadImagesNode", "IsulionLoadImagesNode",
@@ -3808,9 +3692,7 @@
"IsulionTechGenerator", "IsulionTechGenerator",
"IsulionTimeOfDayGenerator", "IsulionTimeOfDayGenerator",
"IsulionWeatherGenerator", "IsulionWeatherGenerator",
"MegaPromptV3", "MegaPromptV3"
"ResourceMonitor",
"\u23fb IsulionShutdown"
], ],
{ {
"title_aux": "ComfyUI_Isulion Random Prompt Generator" "title_aux": "ComfyUI_Isulion Random Prompt Generator"
@@ -3849,25 +3731,6 @@
"title_aux": "ComfyUI_Qwen2-VL-Instruct" "title_aux": "ComfyUI_Qwen2-VL-Instruct"
} }
], ],
"https://github.com/JEONG-JIWOO/ComfyUI_Eugene_Nodes": [
[
"DictBus",
"DictBusEdit",
"DictBusUnpack",
"DictMultilineSelect",
"DictTemplate",
"DictUpdate1",
"DictUpdate10",
"DictUpdate5",
"LoraPresetListLoader",
"LoraPresetLoader",
"LoraPresetSaver",
"LoraPresetSelector"
],
{
"title_aux": "ComfyUI_Eugene_Nodes"
}
],
"https://github.com/JPS-GER/ComfyUI_JPS-Nodes": [ "https://github.com/JPS-GER/ComfyUI_JPS-Nodes": [
[ [
"CLIPTextEncode SDXL Plus (JPS)", "CLIPTextEncode SDXL Plus (JPS)",
@@ -4310,20 +4173,14 @@
[ [
"ACN_AdvancedControlNetApply", "ACN_AdvancedControlNetApply",
"ACN_AdvancedControlNetApplySingle", "ACN_AdvancedControlNetApplySingle",
"ACN_AdvancedControlNetApplySingle_v2",
"ACN_AdvancedControlNetApply_v2",
"ACN_ControlNet++InputNode", "ACN_ControlNet++InputNode",
"ACN_ControlNet++LoaderAdvanced", "ACN_ControlNet++LoaderAdvanced",
"ACN_ControlNet++LoaderSingle", "ACN_ControlNet++LoaderSingle",
"ACN_ControlNetLoaderAdvanced",
"ACN_ControlNetLoaderWithLoraAdvanced", "ACN_ControlNetLoaderWithLoraAdvanced",
"ACN_CtrLoRALoader",
"ACN_CustomControlNetWeightsFlux", "ACN_CustomControlNetWeightsFlux",
"ACN_CustomControlNetWeightsSD15", "ACN_CustomControlNetWeightsSD15",
"ACN_CustomT2IAdapterWeights", "ACN_CustomT2IAdapterWeights",
"ACN_DefaultUniversalWeights", "ACN_DefaultUniversalWeights",
"ACN_DiffControlNetLoaderAdvanced",
"ACN_ExtrasMiddleMult",
"ACN_ReferenceControlNet", "ACN_ReferenceControlNet",
"ACN_ReferenceControlNetFinetune", "ACN_ReferenceControlNetFinetune",
"ACN_ReferencePreprocessor", "ACN_ReferencePreprocessor",
@@ -4448,7 +4305,6 @@
"ADE_MultivalDynamicFloatInput", "ADE_MultivalDynamicFloatInput",
"ADE_MultivalDynamicFloats", "ADE_MultivalDynamicFloats",
"ADE_MultivalScaledMask", "ADE_MultivalScaledMask",
"ADE_NoiseCalibration",
"ADE_NoiseLayerAdd", "ADE_NoiseLayerAdd",
"ADE_NoiseLayerAddWeighted", "ADE_NoiseLayerAddWeighted",
"ADE_NoiseLayerReplace", "ADE_NoiseLayerReplace",
@@ -4546,19 +4402,6 @@
"title_aux": "ComfyUI-DenoiseChooser" "title_aux": "ComfyUI-DenoiseChooser"
} }
], ],
"https://github.com/KwaiVGI/ComfyUI-KLingAI-API": [
[
"Client",
"Image Generator",
"Image2Video",
"KLingAI Preview Video",
"Text2Video",
"Virtual Try On"
],
{
"title_aux": "ComfyUI-KLingAI-API"
}
],
"https://github.com/KytraScript/ComfyUI_KytraWebhookHTTP": [ "https://github.com/KytraScript/ComfyUI_KytraWebhookHTTP": [
[ [
"SendToDiscordWebhook" "SendToDiscordWebhook"
@@ -5888,12 +5731,10 @@
], ],
"https://github.com/PnthrLeo/comfyUI-image-search": [ "https://github.com/PnthrLeo/comfyUI-image-search": [
[ [
"AreasGenerator",
"BatchImageGetter",
"CloseImagesSearcher" "CloseImagesSearcher"
], ],
{ {
"title_aux": "comfyUI-PL-data-tools" "title_aux": "comfyUI-image-search"
} }
], ],
"https://github.com/Pos13/comfyui-cyclist": [ "https://github.com/Pos13/comfyui-cyclist": [
@@ -6232,16 +6073,6 @@
"title_aux": "ComfyUI-LexTools" "title_aux": "ComfyUI-LexTools"
} }
], ],
"https://github.com/SS-snap/ComfyUI-Snap_Processing": [
[
"AreaCalculator",
"PyQtCanvasNode",
"Snapload"
],
{
"title_aux": "Snap Processing for Comfyui"
}
],
"https://github.com/SamKhoze/ComfyUI-DeepFuze": [ "https://github.com/SamKhoze/ComfyUI-DeepFuze": [
[ [
"DeepFuze Save", "DeepFuze Save",
@@ -7019,26 +6850,6 @@
"title_aux": "stability-ComfyUI-nodes" "title_aux": "stability-ComfyUI-nodes"
} }
], ],
"https://github.com/StableDiffusionVN/SDVN_Comfy_node": [
[
"SDVN API chatbot",
"SDVN Checkpoint Download",
"SDVN DALL-E Generate Image",
"SDVN Easy IPAdapter weight",
"SDVN Load Checkpoint",
"SDVN Load Image",
"SDVN Load Image Url",
"SDVN Load Lora",
"SDVN Lora Download",
"SDVN Merge Flux",
"SDVN Merge SD1",
"SDVN Merge SDXL",
"SDVN Run Python Code"
],
{
"title_aux": "SDVN Comfy node"
}
],
"https://github.com/StarMagicAI/comfyui_tagger": [ "https://github.com/StarMagicAI/comfyui_tagger": [
[ [
"DownloadAndLoadFlorence2Lora_jsonL", "DownloadAndLoadFlorence2Lora_jsonL",
@@ -7057,9 +6868,7 @@
"OllamaModelChooser", "OllamaModelChooser",
"SD35StartSettings", "SD35StartSettings",
"SDXLStartSettings", "SDXLStartSettings",
"StarFiveWildcards", "StarNode"
"StarNode",
"Starupscale"
], ],
{ {
"title_aux": "ComfyUI_StarNodes" "title_aux": "ComfyUI_StarNodes"
@@ -7150,13 +6959,11 @@
[ [
"Combine Tiles", "Combine Tiles",
"Divide Image", "Divide Image",
"Divide Image and Select Tile",
"Divide and Conquer Algorithm", "Divide and Conquer Algorithm",
"Divide and Conquer Algorithm (No Upscale)",
"Make Size" "Make Size"
], ],
{ {
"title_aux": "ComfyUI Steudio" "title_aux": "ComfyUI_Steudio"
} }
], ],
"https://github.com/SuperBeastsAI/ComfyUI-SuperBeasts": [ "https://github.com/SuperBeastsAI/ComfyUI-SuperBeasts": [
@@ -8047,7 +7854,6 @@
"VrchBooleanKeyControlNode", "VrchBooleanKeyControlNode",
"VrchChannelOSCControlNode", "VrchChannelOSCControlNode",
"VrchChannelX4OSCControlNode", "VrchChannelX4OSCControlNode",
"VrchDelayOSCControlNode",
"VrchFloatKeyControlNode", "VrchFloatKeyControlNode",
"VrchFloatOSCControlNode", "VrchFloatOSCControlNode",
"VrchImageFlipBookWebViewerNode", "VrchImageFlipBookWebViewerNode",
@@ -8628,16 +8434,6 @@
"title_aux": "MergeBlockWeighted_fo_ComfyUI" "title_aux": "MergeBlockWeighted_fo_ComfyUI"
} }
], ],
"https://github.com/Yuan-ManX/ComfyUI-LLaMA-Mesh": [
[
"Apply Gradient Color",
"Chat LLaMa Mesh",
"Visualize Mesh"
],
{
"title_aux": "ComfyUI-LLaMA-Mesh"
}
],
"https://github.com/Yuan-ManX/ComfyUI-SoundHub": [ "https://github.com/Yuan-ManX/ComfyUI-SoundHub": [
[ [
"Load Audio", "Load Audio",
@@ -9087,7 +8883,6 @@
"https://github.com/ai-shizuka/ComfyUI-tbox": [ "https://github.com/ai-shizuka/ComfyUI-tbox": [
[ [
"AnimalPosePreprocessor", "AnimalPosePreprocessor",
"BatchManager",
"ConstrainImageNode", "ConstrainImageNode",
"DWPosePreprocessor", "DWPosePreprocessor",
"DWPreprocessor", "DWPreprocessor",
@@ -9097,12 +8892,7 @@
"ImageSaver", "ImageSaver",
"ImageSize", "ImageSize",
"ImagesSaver", "ImagesSaver",
"MaskAddNode", "MiDaSDepthPreprocessor"
"MiDaSDepthPreprocessor",
"VideoInfo",
"VideoLoader",
"VideoSaver",
"WatermarkNode"
], ],
{ {
"author": "tstandley", "author": "tstandley",
@@ -9607,7 +9397,6 @@
"Sage_GetFileHash", "Sage_GetFileHash",
"Sage_GetInfoFromHash", "Sage_GetInfoFromHash",
"Sage_GetModelJSONFromHash", "Sage_GetModelJSONFromHash",
"Sage_IterOverFiles",
"Sage_JoinText", "Sage_JoinText",
"Sage_KSampler", "Sage_KSampler",
"Sage_LoraStack", "Sage_LoraStack",
@@ -9665,8 +9454,6 @@
"FilterSchedule", "FilterSchedule",
"LoRAScheduler", "LoRAScheduler",
"PCApplySettings", "PCApplySettings",
"PCEncodeSchedule",
"PCLoraHooksFromSchedule",
"PCPromptFromSchedule", "PCPromptFromSchedule",
"PCScheduleAddMasks", "PCScheduleAddMasks",
"PCScheduleSettings", "PCScheduleSettings",
@@ -9723,10 +9510,6 @@
"SaveImageExtended" "SaveImageExtended"
], ],
{ {
"author": "AudioscavengeR",
"description": "1 custom node to save your pictures in various folders and formats.",
"nickname": "Save Image Extended",
"title": "Save Image Extended",
"title_aux": "Save Image Extended for ComfyUI" "title_aux": "Save Image Extended for ComfyUI"
} }
], ],
@@ -10115,11 +9898,7 @@
"SamplerSonarDPMPPSDE", "SamplerSonarDPMPPSDE",
"SamplerSonarEuler", "SamplerSonarEuler",
"SamplerSonarEulerA", "SamplerSonarEulerA",
"SonarAdvanced1fNoise",
"SonarAdvancedPowerLawNoise",
"SonarAdvancedPyramidNoise", "SonarAdvancedPyramidNoise",
"SonarBlendedNoise",
"SonarChannelNoise",
"SonarCompositeNoise", "SonarCompositeNoise",
"SonarCustomNoise", "SonarCustomNoise",
"SonarGuidanceConfig", "SonarGuidanceConfig",
@@ -11644,17 +11423,12 @@
], ],
"https://github.com/clhui/ComfyUi-clh-Tool": [ "https://github.com/clhui/ComfyUi-clh-Tool": [
[ [
"EchartGraph_clh",
"EchartOptionByPath_clh",
"EchartOption_clh",
"INTConstant_clh", "INTConstant_clh",
"JoinStringMulti_clh", "JoinStringMulti_clh",
"MathExpression_clh", "MathExpression_clh",
"ShowText|clh",
"SomethingToString_clh", "SomethingToString_clh",
"String2FatLabels_clh", "String2FatLabels_clh",
"String2Image_clh", "String2Image_clh"
"StringConstant_clh"
], ],
{ {
"author": "Dr.Lt.Data", "author": "Dr.Lt.Data",
@@ -13066,27 +12840,13 @@
"title_aux": "ObjectFusion_ComfyUI_nodes" "title_aux": "ObjectFusion_ComfyUI_nodes"
} }
], ],
"https://github.com/duskfallcrew/Comfyui_EmbeddingMerge_Node/raw/refs/heads/main/merge_embed.py": [
[
"EmbeddingMerger"
],
{
"title_aux": "Embedding Merge for ComfyUI"
}
],
"https://github.com/dymokomi/comfyui_dygen": [ "https://github.com/dymokomi/comfyui_dygen": [
[ [
"AdaptiveColorCircles",
"AdaptiveColorLines",
"AdaptiveColorRectangles",
"BinaryPatternStamper",
"DYImageCluster", "DYImageCluster",
"DYImageMasks", "DYImageMasks",
"DYImagePalette", "DYImagePalette",
"DYImageQuantize", "DYImageQuantize",
"ImageListToGrid", "ImageListToGrid"
"ImageScaler",
"RandomLines"
], ],
{ {
"title_aux": "comfyui_dygen" "title_aux": "comfyui_dygen"
@@ -13329,7 +13089,6 @@
[ [
"ETInspectTextNode", "ETInspectTextNode",
"ETIntBoxNode", "ETIntBoxNode",
"ETPresentImageNode",
"ETShowDataNode", "ETShowDataNode",
"ETStringBoxNode", "ETStringBoxNode",
"ETTextBoxNode", "ETTextBoxNode",
@@ -14730,7 +14489,6 @@
"LLM_local", "LLM_local",
"LLM_local_loader", "LLM_local_loader",
"LLavaLoader", "LLavaLoader",
"LorapathLoader",
"Lorebook", "Lorebook",
"RSS_loader", "RSS_loader",
"RSS_tool", "RSS_tool",
@@ -14739,7 +14497,6 @@
"VAEDecode_party", "VAEDecode_party",
"accuweather_tool", "accuweather_tool",
"advance_ebd_tool", "advance_ebd_tool",
"aisuite_loader",
"any2str", "any2str",
"any_switcher", "any_switcher",
"api_function", "api_function",
@@ -14782,8 +14539,6 @@
"file_combine_plus", "file_combine_plus",
"file_path_iterator", "file_path_iterator",
"files_read_tool", "files_read_tool",
"fish_tts",
"fish_whisper",
"flux_persona", "flux_persona",
"genai_api_loader", "genai_api_loader",
"get_string", "get_string",
@@ -17050,9 +16805,7 @@
"YellowBus", "YellowBus",
"ZoomOutComposer", "ZoomOutComposer",
"concat", "concat",
"filter", "filter"
"nodevalue2stringmulti",
"string_contact_multi"
], ],
{ {
"title_aux": "Klinter_nodes" "title_aux": "Klinter_nodes"
@@ -17520,7 +17273,6 @@
], ],
"https://github.com/liuqianhonga/ComfyUI-Image-Compressor": [ "https://github.com/liuqianhonga/ComfyUI-Image-Compressor": [
[ [
"BatchImageCompressor",
"ImageCompressor" "ImageCompressor"
], ],
{ {
@@ -17645,17 +17397,6 @@
"title_aux": "ComfyUI_StableDelight_ll" "title_aux": "ComfyUI_StableDelight_ll"
} }
], ],
"https://github.com/lldacing/ComfyUI_StableHair_ll": [
[
"ApplyHairRemover",
"ApplyHairTransfer",
"LoadStableHairRemoverModel",
"LoadStableHairTransferModel"
],
{
"title_aux": "ComfyUI_StableHair_ll"
}
],
"https://github.com/lldacing/comfyui-easyapi-nodes": [ "https://github.com/lldacing/comfyui-easyapi-nodes": [
[ [
"Base64ToImage", "Base64ToImage",
@@ -17704,7 +17445,6 @@
"MaskToBase64", "MaskToBase64",
"MaskToBase64Image", "MaskToBase64Image",
"MaskToRle", "MaskToRle",
"ReadTextFromLocalFile",
"RleToMask", "RleToMask",
"SDBaseVerNumber", "SDBaseVerNumber",
"SamAutoMaskSEGS", "SamAutoMaskSEGS",
@@ -17712,7 +17452,6 @@
"SaveImagesWithoutOutput", "SaveImagesWithoutOutput",
"SaveSingleImageWithoutOutput", "SaveSingleImageWithoutOutput",
"SaveTextToFileByImagePath", "SaveTextToFileByImagePath",
"SaveTextToLocalFile",
"SelectBbox", "SelectBbox",
"SelectBboxes", "SelectBboxes",
"ShowBoolean", "ShowBoolean",
@@ -17847,9 +17586,7 @@
"AddLatentGuide", "AddLatentGuide",
"LTXAttentioOverride", "LTXAttentioOverride",
"LTXAttentionBank", "LTXAttentionBank",
"LTXAttnOverride",
"LTXForwardModelSamplingPred", "LTXForwardModelSamplingPred",
"LTXPerturbedAttention",
"LTXPrepareAttnInjections", "LTXPrepareAttnInjections",
"LTXRFForwardODESampler", "LTXRFForwardODESampler",
"LTXRFReverseODESampler", "LTXRFReverseODESampler",
@@ -17981,12 +17718,7 @@
"Added Layer Info To Array", "Added Layer Info To Array",
"Enhanced Random Light Source", "Enhanced Random Light Source",
"Float Relay", "Float Relay",
"HLFrequencyDetailRestore",
"Image Add Alpha",
"Image Frequency Analyzer",
"Image Relay", "Image Relay",
"Image Remove Alpha",
"Image Resize With Padding",
"Init Layer Info Array", "Init Layer Info Array",
"Int Relay", "Int Relay",
"Layer Image Seleted", "Layer Image Seleted",
@@ -18106,10 +17838,7 @@
], ],
"https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils": [ "https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils": [
[ [
"AddMaskForICLora", "AddMaskForICLora"
"AutoPatch",
"ConcatContextWindow",
"CreateContextWindow"
], ],
{ {
"title_aux": "Comfyui-In-Context-Lora-Utils" "title_aux": "Comfyui-In-Context-Lora-Utils"
@@ -18348,7 +18077,6 @@
"CacheBackendDataList //Inspire", "CacheBackendDataList //Inspire",
"CacheBackendDataNumberKey //Inspire", "CacheBackendDataNumberKey //Inspire",
"CacheBackendDataNumberKeyList //Inspire", "CacheBackendDataNumberKeyList //Inspire",
"CacheBridge //Inspire",
"Canny_Preprocessor_Provider_for_SEGS //Inspire", "Canny_Preprocessor_Provider_for_SEGS //Inspire",
"ChangeImageBatchSize //Inspire", "ChangeImageBatchSize //Inspire",
"ChangeLatentBatchSize //Inspire", "ChangeLatentBatchSize //Inspire",
@@ -18373,7 +18101,6 @@
"IPAdapterModelHelper //Inspire", "IPAdapterModelHelper //Inspire",
"ImageBatchSplitter //Inspire", "ImageBatchSplitter //Inspire",
"InpaintPreprocessor_Provider_for_SEGS //Inspire", "InpaintPreprocessor_Provider_for_SEGS //Inspire",
"IsCached //Inspire",
"KSampler //Inspire", "KSampler //Inspire",
"KSamplerAdvanced //Inspire", "KSamplerAdvanced //Inspire",
"KSamplerAdvancedPipe //Inspire", "KSamplerAdvancedPipe //Inspire",
@@ -18555,17 +18282,6 @@
"title_aux": "LF Nodes" "title_aux": "LF Nodes"
} }
], ],
"https://github.com/lujiazho/ComfyUI-CatvtonFluxWrapper": [
[
"CatvtonFluxSampler",
"LoadCatvtonFlux",
"LoadCatvtonFluxLoRA",
"ModelPrinter"
],
{
"title_aux": "ComfyUI-CatvtonFluxWrapper"
}
],
"https://github.com/lumalabs/ComfyUI-LumaAI-API": [ "https://github.com/lumalabs/ComfyUI-LumaAI-API": [
[ [
"ImgBBUpload", "ImgBBUpload",
@@ -18969,9 +18685,7 @@
"Add zSNR Sigma max", "Add zSNR Sigma max",
"ConcatSigmas", "ConcatSigmas",
"CosineScheduler", "CosineScheduler",
"GaussianScheduler",
"InvertSigmas", "InvertSigmas",
"LogNormal Scheduler",
"OffsetSigmas", "OffsetSigmas",
"PerpNegScheduledCFGGuider", "PerpNegScheduledCFGGuider",
"ScheduledCFGGuider" "ScheduledCFGGuider"
@@ -19256,162 +18970,6 @@
"title_aux": "ComfyUI_Seamless_Patten" "title_aux": "ComfyUI_Seamless_Patten"
} }
], ],
"https://github.com/mrhan1993/ComfyUI-Fooocus": [
[
"AlignYourStepsScheduler",
"BasicScheduler",
"CLIPLoader",
"CLIPMergeSimple",
"CLIPSave",
"CLIPSetLastLayer",
"CLIPTextEncode",
"CLIPTextEncodeSDXL",
"CLIPTextEncodeSDXLRefiner",
"CLIPVisionEncode",
"CLIPVisionLoader",
"Canny",
"CheckpointLoader",
"CheckpointLoaderSimple",
"CheckpointSave",
"ConditioningAverage",
"ConditioningCombine",
"ConditioningConcat",
"ConditioningSetArea",
"ConditioningSetAreaPercentage",
"ConditioningSetMask",
"ConditioningSetTimestepRange",
"ConditioningZeroOut",
"ControlNetApply",
"ControlNetApplyAdvanced",
"ControlNetLoader",
"CropMask",
"DiffControlNetLoader",
"DiffusersLoader",
"DualCLIPLoader",
"EmptyImage",
"EmptyLatentImage",
"EnhanceControl",
"EnhanceControls",
"ExponentialScheduler",
"FeatherMask",
"FlipSigmas",
"FooocusSampler",
"FooocusSettings",
"FreeU",
"FreeU_V2",
"GLIGENLoader",
"GLIGENTextBoxApply",
"GrowMask",
"HyperTile",
"HypernetworkLoader",
"ImageBatch",
"ImageBlend",
"ImageBlur",
"ImageColorToMask",
"ImageCompositeMasked",
"ImageCrop",
"ImageInvert",
"ImageOnlyCheckpointLoader",
"ImageOnlyCheckpointSave",
"ImagePadForOutpaint",
"ImagePrompts",
"ImageQuantize",
"ImageScale",
"ImageScaleBy",
"ImageScaleToTotalPixels",
"ImageSharpen",
"ImageToMask",
"ImageUpscaleWithModel",
"InpaintModelConditioning",
"InpaintOutpaint",
"InvertMask",
"JoinImageWithAlpha",
"KSampler",
"KSamplerAdvanced",
"KSamplerSelect",
"KarrasScheduler",
"LatentAdd",
"LatentBatch",
"LatentBatchSeedBehavior",
"LatentBlend",
"LatentComposite",
"LatentCompositeMasked",
"LatentCrop",
"LatentFlip",
"LatentFromBatch",
"LatentInterpolate",
"LatentMultiply",
"LatentRotate",
"LatentSubtract",
"LatentUpscale",
"LatentUpscaleBy",
"LoadImage",
"LoadImageMask",
"LoadLatent",
"LoraLoader",
"LoraLoaderModelOnly",
"LoraStacks",
"MaskComposite",
"MaskToImage",
"ModelMergeAdd",
"ModelMergeBlocks",
"ModelMergeSimple",
"ModelMergeSubtract",
"ModelSamplingContinuousEDM",
"ModelSamplingDiscrete",
"PatchModelAddDownscale",
"PerpNeg",
"PhotoMakerEncode",
"PhotoMakerLoader",
"PolyexponentialScheduler",
"PorterDuffImageComposite",
"PreviewImage",
"RebatchImages",
"RebatchLatents",
"RepeatImageBatch",
"RepeatLatentBatch",
"RescaleCFG",
"SDTurboScheduler",
"SD_4XUpscale_Conditioning",
"SVD_img2vid_Conditioning",
"SamplerCustom",
"SamplerDPMPP_2M_SDE",
"SamplerDPMPP_SDE",
"SamplerTCD",
"SaveAnimatedPNG",
"SaveAnimatedWEBP",
"SaveImage",
"SaveLatent",
"SelfAttentionGuidance",
"SetLatentNoiseMask",
"SolidMask",
"SplitImageWithAlpha",
"SplitSigmas",
"StableZero123_Conditioning",
"StableZero123_Conditioning_Batched",
"StyleModelApply",
"StyleModelLoader",
"TomePatchModel",
"UNETLoader",
"UpscaleModelLoader",
"UpscaleVary",
"VAEDecode",
"VAEDecodeTiled",
"VAEEncode",
"VAEEncodeForInpaint",
"VAEEncodeTiled",
"VAELoader",
"VAESave",
"VPScheduler",
"VideoLinearCFGGuidance",
"unCLIPCheckpointLoader",
"unCLIPConditioning"
],
{
"author": "Konie",
"title_aux": "ComfyUI-Fooocus"
}
],
"https://github.com/mullakhmetov/comfyui_dynamic_util_nodes": [ "https://github.com/mullakhmetov/comfyui_dynamic_util_nodes": [
[ [
"ConcatStrings", "ConcatStrings",
@@ -20590,14 +20148,6 @@
"title_aux": "ComfyUI-Prediction" "title_aux": "ComfyUI-Prediction"
} }
], ],
"https://github.com/regiellis/ComfyUI-EasyPony": [
[
"EasyPony"
],
{
"title_aux": "ComfyUI-EasyPony"
}
],
"https://github.com/revirevy/Comfyui_saveimage_imgbb": [ "https://github.com/revirevy/Comfyui_saveimage_imgbb": [
[ [
"ImgBBUploader", "ImgBBUploader",
@@ -22185,15 +21735,6 @@
"title_aux": "ComfyUI Ollama" "title_aux": "ComfyUI Ollama"
} }
], ],
"https://github.com/steelan9199/ComfyUI-Teeth": [
[
"Index List",
"TextSplitByDelimiter"
],
{
"title_aux": "ComfyUI-Teeth"
}
],
"https://github.com/stormcenter/ComfyUI-AutoSplitGridImage": [ "https://github.com/stormcenter/ComfyUI-AutoSplitGridImage": [
[ [
"GridImageSplitter" "GridImageSplitter"
@@ -22682,14 +22223,6 @@
"title_aux": "TTools for ComfyUI" "title_aux": "TTools for ComfyUI"
} }
], ],
"https://github.com/toyxyz/ComfyUI_rgbx_Wrapper": [
[
"rgb2x"
],
{
"title_aux": "ComfyUI_rgbx_Wrapper"
}
],
"https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": [ "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": [
[ [
"CaptureWebcam", "CaptureWebcam",
@@ -23536,15 +23069,6 @@
"title_aux": "ComfyUI Neural Nodes" "title_aux": "ComfyUI Neural Nodes"
} }
], ],
"https://github.com/xs315431/Comfyui_Get_promptId": [
[
"GetPromptId",
"SuccessCallback"
],
{
"title_aux": "Comfyui_Get_promptId"
}
],
"https://github.com/xuhongming251/ComfyUI-GPEN": [ "https://github.com/xuhongming251/ComfyUI-GPEN": [
[ [
"FaceEnhancement" "FaceEnhancement"
@@ -24024,7 +23548,6 @@
"https://github.com/yorkane/ComfyUI-KYNode": [ "https://github.com/yorkane/ComfyUI-KYNode": [
[ [
"AdvancedLyingSigmaSampler", "AdvancedLyingSigmaSampler",
"KY_OpenAICaptionImage",
"KY_SaveImageToPath" "KY_SaveImageToPath"
], ],
{ {
@@ -24347,6 +23870,19 @@
"title_aux": "ComfyUI_Bxb" "title_aux": "ComfyUI_Bxb"
} }
], ],
"https://github.com/zmwv823/ComfyUI_Ctrlora": [
[
"UL_Image_Generation_Ctrlora_AIO_Preprocessor",
"UL_Image_Generation_Ctrlora_Condition_Params",
"UL_Image_Generation_Ctrlora_Sampler",
"UL_Image_Generation_Ctrlora_loader",
"UL_Image_Process_Prepare_Img_for_Inpaint",
"UL_Image_Process_Prepare_Img_for_Outpaint"
],
{
"title_aux": "ComfyUI_Ctrlora"
}
],
"https://github.com/zohac/ComfyUI_ZC_DrawShape": [ "https://github.com/zohac/ComfyUI_ZC_DrawShape": [
[ [
"ZcDrawShape" "ZcDrawShape"
@@ -24400,14 +23936,6 @@
"title_aux": "ComfyUIInvisibleWatermark" "title_aux": "ComfyUIInvisibleWatermark"
} }
], ],
"https://raw.githubusercontent.com/Limbicnation/ComfyUIDepthEstimation/main/depth_estimation_node.py": [
[
"DepthEstimationNode"
],
{
"title_aux": "ComfyUIDepthEstimation"
}
],
"https://raw.githubusercontent.com/NeuralNotW0rk/ComfyUI-Waveform-Extensions/main/EXT_AudioManipulation.py": [ "https://raw.githubusercontent.com/NeuralNotW0rk/ComfyUI-Waveform-Extensions/main/EXT_AudioManipulation.py": [
[ [
"BatchJoinAudio", "BatchJoinAudio",

View File

File diff suppressed because it is too large Load Diff

0
glob/__init__.py Normal file
View File

174
glob/git_wrapper.py Normal file
View File

@@ -0,0 +1,174 @@
import pygit2
import os
from tqdm import tqdm
import traceback
class GitProgress(pygit2.RemoteCallbacks):
def __init__(self):
super().__init__()
self.pbar = None
def transfer_progress(self, stats):
if self.pbar is None:
self.pbar = tqdm(total=stats.total_objects, unit="obj", desc="Fetching objects")
self.pbar.n = stats.received_objects
self.pbar.refresh()
if stats.received_objects == stats.total_objects:
self.pbar.close()
self.pbar = None
class Remote:
def __init__(self, repo, remote):
self.repo = repo
self.remote = remote
def get_default_branch(self, remote_name='origin'):
remote = self.repo.remotes[remote_name]
remote.fetch() # Fetch latest data from the remote
# Look for the remote HEAD reference
head_ref = f'refs/remotes/{remote_name}/HEAD'
if head_ref in self.repo.references:
# Resolve the symbolic reference to get the actual branch
target_ref = self.repo.references[head_ref].resolve().name
return target_ref.replace(f'refs/remotes/{remote_name}/', '')
else:
raise ValueError(f"Could not determine the default branch for remote '{remote_name}'")
def pull(self, remote_name='origin'):
try:
# Detect if we are in detached HEAD state
if self.repo.head_is_detached:
# Find the default branch
branch_name = self.get_default_branch(remote_name)
# Checkout the branch if exists, or create it
branch_ref = f"refs/heads/{branch_name}"
if branch_ref in self.repo.references:
self.repo.checkout(branch_ref)
else:
# Create and checkout the branch
target_commit = self.repo.lookup_reference(f"refs/remotes/{remote_name}/{branch_name}").target
self.repo.create_branch(branch_name, self.repo[target_commit])
self.repo.checkout(branch_ref)
# Get the current branch
current_branch = self.repo.head.shorthand
# Fetch from the remote
remote = self.repo.remotes[remote_name]
remote.fetch()
# Merge changes from the remote
remote_branch_ref = f"refs/remotes/{remote_name}/{current_branch}"
remote_branch = self.repo.lookup_reference(remote_branch_ref).target
self.repo.merge(remote_branch)
# Check for merge conflicts
if self.repo.index.conflicts is not None:
print("Merge conflicts detected!")
for conflict in self.repo.index.conflicts:
print(f"Conflict: {conflict}")
return
# Commit the merge
user = self.repo.default_signature
merge_commit = self.repo.create_commit(
'HEAD',
user,
user,
f"Merge branch '{current_branch}' from {remote_name}",
self.repo.index.write_tree(),
[self.repo.head.target, remote_branch]
)
except Exception as e:
traceback.print_exc()
print(f"An error occurred: {e}")
self.repo.state_cleanup() # Clean up the merge state if necessary
class Repo:
def __init__(self, repo_path):
self.repo = pygit2.Repository(repo_path)
def remote(self, name="origin"):
return Remote(self.repo, self.repo.remotes[name])
def update_recursive(self):
update_submodules(self.repo)
def resolve_repository_state(repo):
if repo.is_empty:
raise ValueError("Repository is empty. Cannot proceed with submodule update.")
try:
state = repo.state() # Call the state method
except Exception as e:
print(f"Error retrieving repository state: {e}")
raise
if state != pygit2.GIT_REPOSITORY_STATE_NONE:
if state in (pygit2.GIT_REPOSITORY_STATE_MERGE, pygit2.GIT_REPOSITORY_STATE_REVERT):
print(f"Conflict detected. Cleaning up repository state... {repo.path} / {state}")
repo.state_cleanup()
print("Repository state cleaned up.")
else:
raise RuntimeError(f"Unsupported repository state: {state}")
def update_submodules(repo):
try:
resolve_repository_state(repo)
except Exception as e:
print(f"Error resolving repository state: {e}")
return
gitmodules_path = os.path.join(repo.workdir, ".gitmodules")
if not os.path.exists(gitmodules_path):
return
with open(gitmodules_path, "r") as f:
lines = f.readlines()
submodules = []
submodule_path = None
submodule_url = None
for line in lines:
if line.strip().startswith("[submodule"):
if submodule_path and submodule_url:
submodules.append((submodule_path, submodule_url))
submodule_path = None
submodule_url = None
elif line.strip().startswith("path ="):
submodule_path = line.strip().split("=", 1)[1].strip()
elif line.strip().startswith("url ="):
submodule_url = line.strip().split("=", 1)[1].strip()
if submodule_path and submodule_url:
submodules.append((submodule_path, submodule_url))
for path, url in submodules:
submodule_repo_path = os.path.join(repo.workdir, path)
print(f"submodule_repo_path: {submodule_repo_path}")
if not os.path.exists(submodule_repo_path):
print(f"Cloning submodule {path}...")
pygit2.clone_repository(url, submodule_repo_path, callbacks=GitProgress())
else:
print(f"Updating submodule {path}...")
submodule_repo = Repo(submodule_repo_path)
submodule_repo.remote("origin").pull()
update_submodules(submodule_repo)
def clone_from(git_url, repo_dir, recursive=True):
pygit2.clone_repository(git_url, repo_dir, callbacks=GitProgress())
Repo(repo_dir).update_recursive()

View File

@@ -23,7 +23,7 @@ sys.path.append(glob_path)
import cm_global import cm_global
from manager_util import * from manager_util import *
version = [2, 55, 3] version = [2, 53]
version_str = f"V{version[0]}.{version[1]}" + (f'.{version[2]}' if len(version) > 2 else '') version_str = f"V{version[0]}.{version[1]}" + (f'.{version[2]}' if len(version) > 2 else '')
@@ -52,21 +52,9 @@ def get_custom_nodes_paths():
return [custom_nodes_path] return [custom_nodes_path]
def get_comfyui_tag():
repo = git.Repo(comfy_path)
try:
return repo.git.describe('--tags')
except:
return None
comfy_path = os.environ.get('COMFYUI_PATH') comfy_path = os.environ.get('COMFYUI_PATH')
if comfy_path is None: if comfy_path is None:
try: comfy_path = os.path.abspath(os.path.join(custom_nodes_path, '..'))
import folder_paths
comfy_path = os.path.join(os.path.dirname(folder_paths.__file__))
except:
comfy_path = os.path.abspath(os.path.join(custom_nodes_path, '..'))
channel_list_path = os.path.join(comfyui_manager_path, 'channels.list') channel_list_path = os.path.join(comfyui_manager_path, 'channels.list')
config_path = os.path.join(comfyui_manager_path, "config.ini") config_path = os.path.join(comfyui_manager_path, "config.ini")

View File

@@ -181,7 +181,7 @@ def print_comfyui_version():
try: try:
if core.comfy_ui_commit_datetime.date() < core.comfy_ui_required_commit_datetime.date(): if core.comfy_ui_commit_datetime.date() < core.comfy_ui_required_commit_datetime.date():
print(f"\n\n## [WARN] ComfyUI-Manager: Your ComfyUI version ({core.get_comfyui_tag()})[{core.comfy_ui_commit_datetime.date()}] is too old. Please update to the latest version. ##\n\n") print(f"\n\n## [WARN] ComfyUI-Manager: Your ComfyUI version ({core.comfy_ui_revision})[{core.comfy_ui_commit_datetime.date()}] is too old. Please update to the latest version. ##\n\n")
except: except:
pass pass
@@ -200,11 +200,7 @@ def print_comfyui_version():
# <-- # <--
if current_branch == "master": if current_branch == "master":
version_tag = core.get_comfyui_tag() print(f"### ComfyUI Revision: {core.comfy_ui_revision} [{comfy_ui_hash[:8]}] | Released on '{core.comfy_ui_commit_datetime.date()}'")
if version_tag is None:
print(f"### ComfyUI Revision: {core.comfy_ui_revision} [{comfy_ui_hash[:8]}] | Released on '{core.comfy_ui_commit_datetime.date()}'")
else:
print(f"### ComfyUI Version: {core.get_comfyui_tag()} | Released on '{core.comfy_ui_commit_datetime.date()}'")
else: else:
print(f"### ComfyUI Revision: {core.comfy_ui_revision} on '{current_branch}' [{comfy_ui_hash[:8]}] | Released on '{core.comfy_ui_commit_datetime.date()}'") print(f"### ComfyUI Revision: {core.comfy_ui_revision} on '{current_branch}' [{comfy_ui_hash[:8]}] | Released on '{core.comfy_ui_commit_datetime.date()}'")
except: except:
@@ -252,45 +248,23 @@ import urllib.request
def get_model_dir(data): def get_model_dir(data):
if 'download_model_base' in folder_paths.folder_names_and_paths:
models_base = folder_paths.folder_names_and_paths['download_model_base'][0][0]
else:
models_base = folder_paths.models_dir
def resolve_custom_node(save_path):
save_path = save_path[13:] # remove 'custom_nodes/'
repo_name = save_path.replace('\\','/').split('/')[0] # get custom node repo name
repo_path = core.lookup_installed_custom_nodes(repo_name)
if repo_path is not None and repo_path[0]:
# Returns the retargeted path based on the actually installed repository
return os.path.join(os.path.dirname(repo_path[1]), save_path)
else:
return None
if data['save_path'] != 'default': if data['save_path'] != 'default':
if '..' in data['save_path'] or data['save_path'].startswith('/'): if '..' in data['save_path'] or data['save_path'].startswith('/'):
print(f"[WARN] '{data['save_path']}' is not allowed path. So it will be saved into 'models/etc'.") print(f"[WARN] '{data['save_path']}' is not allowed path. So it will be saved into 'models/etc'.")
base_model = os.path.join(models_base, "etc") base_model = os.path.join(folder_paths.models_dir, "etc")
else: else:
if data['save_path'].startswith("custom_nodes"): if data['save_path'].startswith("custom_nodes"):
base_model = resolve_custom_node(data['save_path']) base_model = os.path.join(core.comfy_path, data['save_path'])
if base_model is None:
print(f"[ComfyUI-Manager] The target custom node for model download is not installed: {data['save_path']}")
return None
else: else:
base_model = os.path.join(models_base, data['save_path']) base_model = os.path.join(folder_paths.models_dir, data['save_path'])
else: else:
model_type = data['type'] model_type = data['type']
if model_type == "checkpoints" or model_type == "checkpoint": if model_type == "checkpoints" or model_type == "checkpoint":
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0] base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
elif model_type == "unclip": elif model_type == "unclip":
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0] base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
elif model_type == "clip" or model_type == "text_encoders": elif model_type == "clip":
if folder_paths.folder_names_and_paths.get("text_encoders"): base_model = folder_paths.folder_names_and_paths["clip"][0][0]
base_model = folder_paths.folder_names_and_paths["text_encoders"][0][0]
else:
print(f"[ComfyUI-Manager] Your ComfyUI is outdated version.")
base_model = folder_paths.folder_names_and_paths["clip"][0][0] # outdated version
elif model_type == "VAE": elif model_type == "VAE":
base_model = folder_paths.folder_names_and_paths["vae"][0][0] base_model = folder_paths.folder_names_and_paths["vae"][0][0]
elif model_type == "lora": elif model_type == "lora":
@@ -316,17 +290,14 @@ def get_model_dir(data):
print(f"[ComfyUI-Manager] Your ComfyUI is outdated version.") print(f"[ComfyUI-Manager] Your ComfyUI is outdated version.")
base_model = folder_paths.folder_names_and_paths["unet"][0][0] # outdated version base_model = folder_paths.folder_names_and_paths["unet"][0][0] # outdated version
else: else:
base_model = os.path.join(models_base, "etc") base_model = os.path.join(folder_paths.models_dir, "etc")
return base_model return base_model
def get_model_path(data): def get_model_path(data):
base_model = get_model_dir(data) base_model = get_model_dir(data)
if base_model is None: return os.path.join(base_model, data['filename'])
return None
else:
return os.path.join(base_model, data['filename'])
def check_custom_nodes_installed(json_obj, do_fetch=False, do_update_check=True, do_update=False): def check_custom_nodes_installed(json_obj, do_fetch=False, do_update_check=True, do_update=False):
@@ -1207,21 +1178,14 @@ async def get_notice(request):
if match: if match:
markdown_content = match.group(1) markdown_content = match.group(1)
version_tag = core.get_comfyui_tag() markdown_content += f"<HR>ComfyUI: {core.comfy_ui_revision}[{comfy_ui_hash[:6]}]({core.comfy_ui_commit_datetime.date()})"
if version_tag is None:
markdown_content += f"<HR>ComfyUI: {core.comfy_ui_revision}[{comfy_ui_hash[:6]}]({core.comfy_ui_commit_datetime.date()})"
else:
markdown_content += (f"<HR>ComfyUI: {version_tag}<BR>"
f"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;({core.comfy_ui_commit_datetime.date()})")
# markdown_content += f"<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;()" # markdown_content += f"<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;()"
markdown_content += f"<BR>Manager: {core.version_str}" markdown_content += f"<BR>Manager: {core.version_str}"
markdown_content = add_target_blank(markdown_content) markdown_content = add_target_blank(markdown_content)
try: try:
if core.comfy_ui_commit_datetime == datetime(1900, 1, 1, 0, 0, 0): if core.comfy_ui_required_commit_datetime.date() > core.comfy_ui_commit_datetime.date():
markdown_content = f'<P style="text-align: center; color:red; background-color:white; font-weight:bold">Your ComfyUI isn\'t git repo.</P>' + markdown_content
elif core.comfy_ui_required_commit_datetime.date() > core.comfy_ui_commit_datetime.date():
markdown_content = f'<P style="text-align: center; color:red; background-color:white; font-weight:bold">Your ComfyUI is too OUTDATED!!!</P>' + markdown_content markdown_content = f'<P style="text-align: center; color:red; background-color:white; font-weight:bold">Your ComfyUI is too OUTDATED!!!</P>' + markdown_content
except: except:
pass pass

View File

@@ -29,31 +29,12 @@ Detailed information: https://old.reddit.com/r/comfyui/comments/1dbls5n/psa_if_y
2. Remove files: lolMiner*, 4G_Ethash_Linux_Readme.txt, mine* in ComfyUI dir. 2. Remove files: lolMiner*, 4G_Ethash_Linux_Readme.txt, mine* in ComfyUI dir.
(Reinstall ComfyUI is recommended.) (Reinstall ComfyUI is recommended.)
""",
"ultralytics==8.3.41": f"""
Execute following commands:
{sys.executable} -m pip uninstall ultralytics
{sys.executable} -m pip install ultralytics==8.3.40
The version 8.3.41 to 8.3.42 of the Ultralytics package you installed is compromised. Please uninstall that version and reinstall the latest version.
https://github.com/ltdrdata/ComfyUI-Impact-Pack/issues/843
""",
"ultralytics==8.3.42": f"""
Execute following commands:
{sys.executable} -m pip uninstall ultralytics
{sys.executable} -m pip install ultralytics==8.3.40
The version 8.3.41 to 8.3.42 of the Ultralytics package you installed is compromised. Please uninstall that version and reinstall the latest version.
https://github.com/ltdrdata/ComfyUI-Impact-Pack/issues/843
""" """
} }
node_blacklist = {"ComfyUI_LLMVISION": "ComfyUI_LLMVISION"} node_blacklist = {"ComfyUI_LLMVISION": "ComfyUI_LLMVISION"}
pip_blacklist = { pip_blacklist = {"AppleBotzz": "ComfyUI_LLMVISION"}
"AppleBotzz": "ComfyUI_LLMVISION",
"ultralytics==8.3.41": "ultralytics==8.3.41"
}
file_blacklist = { file_blacklist = {
"ComfyUI_LLMVISION": ["%LocalAppData%\\rundll64.exe"], "ComfyUI_LLMVISION": ["%LocalAppData%\\rundll64.exe"],

View File

@@ -4499,7 +4499,7 @@
{ {
"name": "pulid_flux_v0.9.1.safetensors", "name": "pulid_flux_v0.9.1.safetensors",
"type": "PuLID", "type": "PuLID",
"base": "FLUX.1", "base": "FLUX",
"save_path": "pulid", "save_path": "pulid",
"description": "This is required for PuLID (FLUX)", "description": "This is required for PuLID (FLUX)",
"reference": "https://huggingface.co/guozinan/PuLID", "reference": "https://huggingface.co/guozinan/PuLID",

View File

@@ -14,108 +14,6 @@
{
"author": "kijai",
"title": "ComfyUI-HunyuanVideoWrapper [WIP]",
"reference": "https://github.com/kijai/ComfyUI-HunyuanVideoWrapper",
"files": [
"https://github.com/kijai/ComfyUI-HunyuanVideoWrapper"
],
"install_type": "git-clone",
"description": "ComfyUI wrapper nodes for [a/HunyuanVideo](https://github.com/Tencent/HunyuanVideo)"
},
{
"author": "grimli333",
"title": "ComfyUI_Grim",
"reference": "https://github.com/grimli333/ComfyUI_Grim",
"files": [
"https://github.com/grimli333/ComfyUI_Grim"
],
"install_type": "git-clone",
"description": "NODES: Generate a unique filename and folder name, Format Strings with Two Inputs"
},
{
"author": "risunobushi",
"title": "ComfyUI_FocusMask",
"reference": "https://github.com/risunobushi/ComfyUI_FocusMask",
"files": [
"https://github.com/risunobushi/ComfyUI_FocusMask"
],
"install_type": "git-clone",
"description": "NODES: Extract Focus Mask"
},
{
"author": "ACE-innovate",
"title": "seg-node [WIP]",
"reference": "https://github.com/ACE-innovate/seg-node",
"files": [
"https://github.com/ACE-innovate/seg-node"
],
"install_type": "git-clone",
"description": "hf cloth seg custom node for comfyui\nNOTE: The files in the repo are not organized."
},
{
"author": "RicherdLee",
"title": "comfyui-oss-image-save [WIP]",
"reference": "https://github.com/RicherdLee/comfyui-oss-image-save",
"files": [
"https://github.com/RicherdLee/comfyui-oss-image-save"
],
"install_type": "git-clone",
"description": "NODES: SaveImageOSS."
},
{
"author": "Matrix-King-Studio",
"title": "ComfyUI-MoviePy",
"reference": "https://github.com/Matrix-King-Studio/ComfyUI-MoviePy",
"files": [
"https://github.com/Matrix-King-Studio/ComfyUI-MoviePy"
],
"install_type": "git-clone",
"description": "NODES: Image Clip Node, Audio Duration Node, Save Video Node,..."
},
{
"author": "sh570655308",
"title": "ComfyUI-GigapixelAI [WIP]",
"reference": "https://github.com/sh570655308/ComfyUI-GigapixelAI",
"pip": ["GigapixelAI>=7.3.0"],
"files": [
"https://github.com/sh570655308/ComfyUI-GigapixelAI"
],
"install_type": "git-clone",
"description": "custom nodes use gigapixelai ai in comfyui Thanks @choey for the https://github.com/choey/Comfy-Topaz nodes helps me a lot\nRequirements: Licensed installation of Gigapixel 8: the path of gigapixel.exe is in the installation folder of Topaz Gigapixel AI, manually fill it if your installation is not default. Need GigapixelAI>=7.3.0\nNOTE: The files in the repo are not organized."
},
{
"author": "Big Idea Technology",
"title": "ComfyUI-Movie-Tools [WIP]",
"reference": "https://github.com/Big-Idea-Technology/ComfyUI-Movie-Tools",
"files": [
"https://github.com/Big-Idea-Technology/ComfyUI-Movie-Tools"
],
"install_type": "git-clone",
"description": "Movie Tools is a set of custom nodes, designed to simplify saving and loading batches of images with enhanced functionality like subfolder management and batch image handling."
},
{
"author": "ArthusLiang",
"title": "comfyui-face-remap [WIP]",
"reference": "https://github.com/ArthusLiang/comfyui-face-remap",
"files": [
"https://github.com/ArthusLiang/comfyui-face-remap"
],
"install_type": "git-clone",
"description": "NODES: FaceRemap\nNOTE: The files in the repo are not organized."
},
{
"author": "trithemius",
"title": "ComfyUI-SmolVLM [WIP]",
"reference": "https://github.com/mamorett/ComfyUI-SmolVLM",
"files": [
"https://github.com/mamorett/ComfyUI-SmolVLM"
],
"install_type": "git-clone",
"description": "Nodes to use SmolVLM for image tagging and captioning.\nNOTE: The files in the repo are not organized."
},
{ {
"author": "anze", "author": "anze",
"title": "ComfyUI-OIDN [WIP]", "title": "ComfyUI-OIDN [WIP]",

View File

@@ -175,14 +175,6 @@
"title_aux": "ComfyUI_AC_FUNV8Beta1" "title_aux": "ComfyUI_AC_FUNV8Beta1"
} }
], ],
"https://github.com/ACE-innovate/seg-node": [
[
"HumanParseNode"
],
{
"title_aux": "seg-node [WIP]"
}
],
"https://github.com/AICodeFactory/ComfyUI-Viva": [ "https://github.com/AICodeFactory/ComfyUI-Viva": [
[ [
"HttpTrigger_Common", "HttpTrigger_Common",
@@ -374,14 +366,6 @@
"title_aux": "ComfyUI_deepDeband [WIP]" "title_aux": "ComfyUI_deepDeband [WIP]"
} }
], ],
"https://github.com/ArthusLiang/comfyui-face-remap": [
[
"FaceRemap"
],
{
"title_aux": "comfyui-face-remap [WIP]"
}
],
"https://github.com/BadCafeCode/execution-inversion-demo-comfyui": [ "https://github.com/BadCafeCode/execution-inversion-demo-comfyui": [
[ [
"AccumulateNode", "AccumulateNode",
@@ -450,15 +434,6 @@
"title_aux": "ComfyUI-LogicGates" "title_aux": "ComfyUI-LogicGates"
} }
], ],
"https://github.com/Big-Idea-Technology/ComfyUI-Movie-Tools": [
[
"LoadImagesFromSubdirsBatch",
"SaveImagesWithSubfolder"
],
{
"title_aux": "ComfyUI-Movie-Tools [WIP]"
}
],
"https://github.com/BlueDangerX/ComfyUI-BDXNodes": [ "https://github.com/BlueDangerX/ComfyUI-BDXNodes": [
[ [
"BDXTestInt", "BDXTestInt",
@@ -679,7 +654,6 @@
"AppIO_ImageInputFromID", "AppIO_ImageInputFromID",
"AppIO_ImageOutput", "AppIO_ImageOutput",
"AppIO_IntegerInput", "AppIO_IntegerInput",
"AppIO_ResizeInstanceAndPaste",
"AppIO_ResizeInstanceImageMask", "AppIO_ResizeInstanceImageMask",
"AppIO_StringInput", "AppIO_StringInput",
"AppIO_StringOutput" "AppIO_StringOutput"
@@ -980,16 +954,6 @@
"title_aux": "ComfyUI Nodes for Inference.Core" "title_aux": "ComfyUI Nodes for Inference.Core"
} }
], ],
"https://github.com/Matrix-King-Studio/ComfyUI-MoviePy": [
[
"AudioDurationNode",
"ImageClipNode",
"SaveVideo"
],
{
"title_aux": "ComfyUI-MoviePy"
}
],
"https://github.com/MrAdamBlack/CheckProgress": [ "https://github.com/MrAdamBlack/CheckProgress": [
[ [
"CHECK_PROGRESS" "CHECK_PROGRESS"
@@ -1017,8 +981,6 @@
], ],
"https://github.com/PnthrLeo/comfyUI-image-search": [ "https://github.com/PnthrLeo/comfyUI-image-search": [
[ [
"AreasGenerator",
"BatchImageGetter",
"CloseImagesSearcher" "CloseImagesSearcher"
], ],
{ {
@@ -1086,14 +1048,6 @@
"title_aux": "ComfyUI-QuasimondoNodes [WIP]" "title_aux": "ComfyUI-QuasimondoNodes [WIP]"
} }
], ],
"https://github.com/RicherdLee/comfyui-oss-image-save": [
[
"SaveImageOSS"
],
{
"title_aux": "comfyui-oss-image-save [WIP]"
}
],
"https://github.com/RobeSantoro/ComfyUI-RobeNodes": [ "https://github.com/RobeSantoro/ComfyUI-RobeNodes": [
[ [
"List Image Path \ud83d\udc24", "List Image Path \ud83d\udc24",
@@ -2328,15 +2282,6 @@
"title_aux": "ComfyUI-Tools-Video-Combine [WIP]" "title_aux": "ComfyUI-Tools-Video-Combine [WIP]"
} }
], ],
"https://github.com/grimli333/ComfyUI_Grim": [
[
"GenerateFileName",
"TwoStringsFormat"
],
{
"title_aux": "ComfyUI_Grim"
}
],
"https://github.com/haodman/ComfyUI_Rain": [ "https://github.com/haodman/ComfyUI_Rain": [
[ [
"Rain_ImageSize", "Rain_ImageSize",
@@ -2819,19 +2764,6 @@
"title_aux": "ComfyUI-FollowYourEmojiWrapper [WIP]" "title_aux": "ComfyUI-FollowYourEmojiWrapper [WIP]"
} }
], ],
"https://github.com/kijai/ComfyUI-HunyuanVideoWrapper": [
[
"DownloadAndLoadHyVideoTextEncoder",
"HyVideoDecode",
"HyVideoModelLoader",
"HyVideoSampler",
"HyVideoTextEncode",
"HyVideoVAELoader"
],
{
"title_aux": "ComfyUI-HunyuanVideoWrapper [WIP]"
}
],
"https://github.com/kijai/ComfyUI-MochiWrapper": [ "https://github.com/kijai/ComfyUI-MochiWrapper": [
[ [
"DownloadAndLoadMochiModel", "DownloadAndLoadMochiModel",
@@ -2883,19 +2815,7 @@
"https://github.com/kostenickj/comfyui-jk-easy-nodes": [ "https://github.com/kostenickj/comfyui-jk-easy-nodes": [
[ [
"EasyHRFix", "EasyHRFix",
"EasyHRFix_Context", "JKAnythingToString"
"JKAnythingToString",
"JKBigContext",
"JKDynamicThresholdingMultiModel",
"JKEasyCheckpointLoader",
"JKEasyDetailer",
"JKEasyDetailer_Context",
"JKInspireSchedulerAdapter",
"JKLilContext",
"JKStringEmpty",
"JKStringEquals",
"JKStringNotEmpty",
"JKStringNotEquals"
], ],
{ {
"title_aux": "comfyui-jk-easy-nodes" "title_aux": "comfyui-jk-easy-nodes"
@@ -3145,17 +3065,6 @@
"title_aux": "comfyui_indieTools [WIP]" "title_aux": "comfyui_indieTools [WIP]"
} }
], ],
"https://github.com/mamorett/ComfyUI-SmolVLM": [
[
"Smolvlm_Caption_Analyzer",
"Smolvlm_Flux_CLIPTextEncode",
"Smolvlm_SaveTags",
"Smolvlm_Tagger"
],
{
"title_aux": "ComfyUI-SmolVLM [WIP]"
}
],
"https://github.com/marcueberall/ComfyUI-BuildPath": [ "https://github.com/marcueberall/ComfyUI-BuildPath": [
[ [
"Build Path Adv" "Build Path Adv"
@@ -3211,9 +3120,7 @@
"Add zSNR Sigma max", "Add zSNR Sigma max",
"ConcatSigmas", "ConcatSigmas",
"CosineScheduler", "CosineScheduler",
"GaussianScheduler",
"InvertSigmas", "InvertSigmas",
"LogNormal Scheduler",
"OffsetSigmas", "OffsetSigmas",
"PerpNegScheduledCFGGuider", "PerpNegScheduledCFGGuider",
"ScheduledCFGGuider" "ScheduledCFGGuider"
@@ -3533,15 +3440,6 @@
"title_aux": "ComfyUI-ODE" "title_aux": "ComfyUI-ODE"
} }
], ],
"https://github.com/risunobushi/ComfyUI_FocusMask": [
[
"FocusMaskExtractor",
"FocusOutlineExtractor"
],
{
"title_aux": "ComfyUI_FocusMask"
}
],
"https://github.com/rouxianmantou/comfyui-rxmt-nodes": [ "https://github.com/rouxianmantou/comfyui-rxmt-nodes": [
[ [
"CheckValueTypeNode" "CheckValueTypeNode"
@@ -3591,15 +3489,6 @@
"title_aux": "ComfyUI-LMCQ [WIP]" "title_aux": "ComfyUI-LMCQ [WIP]"
} }
], ],
"https://github.com/sh570655308/ComfyUI-GigapixelAI": [
[
"GigapixelAI",
"GigapixelUpscaleSettings"
],
{
"title_aux": "ComfyUI-GigapixelAI [WIP]"
}
],
"https://github.com/shadowcz007/ComfyUI-PuLID-Test": [ "https://github.com/shadowcz007/ComfyUI-PuLID-Test": [
[ [
"ApplyPulid", "ApplyPulid",
@@ -3922,16 +3811,13 @@
], ],
"https://github.com/wilzamguerrero/Comfyui-zZzZz": [ "https://github.com/wilzamguerrero/Comfyui-zZzZz": [
[ [
"CaptureZNode",
"CompressFolderNode", "CompressFolderNode",
"CreateZNode", "CreateZNode",
"DeleteZNode", "DeleteZNode",
"DownloadFileNode", "DownloadFileNode",
"InfiniteZNode", "InfiniteZNode",
"MoveZNode", "MoveZNode",
"RenameZNode", "RenameZNode"
"VideoZNode",
"ZFShareScreen"
], ],
{ {
"title_aux": "Comfyui-zZzZz [UNSAFE]" "title_aux": "Comfyui-zZzZz [UNSAFE]"
@@ -3999,7 +3885,6 @@
"UL_SanaModelLoader", "UL_SanaModelLoader",
"UL_SanaSampler", "UL_SanaSampler",
"UL_SanaTextEncode", "UL_SanaTextEncode",
"UL_SanaVAELoader",
"UL_SanaVAEProcess" "UL_SanaVAEProcess"
], ],
{ {

View File

File diff suppressed because it is too large Load Diff

View File

@@ -10,37 +10,6 @@
}, },
{
"author": "animEEEmpire",
"title": "ComfyUI-Animemory-Loader [REMOVED]",
"reference": "https://github.com/animEEEmpire/ComfyUI-Animemory-Loader",
"files": [
"https://github.com/animEEEmpire/ComfyUI-Animemory-Loader"
],
"install_type": "git-clone",
"description": "AniMemory-alpha Custom Node for ComfyUI"
},
{
"author": "zefu-lu",
"title": "ComfyUI_InstantX_SD35_Large_IPAdapter [REMOVED]",
"id": "comfyui-instantx-sd3-5-large-ipadapter",
"reference": "https://github.com/zefu-lu/ComfyUI-InstantX-SD3_5-Large-IPAdapter",
"files": [
"https://github.com/zefu-lu/ComfyUI-InstantX-SD3_5-Large-IPAdapter"
],
"install_type": "git-clone",
"description": "Custom ComfyUI node for using InstantX SD3.5-Large IPAdapter"
},
{
"author": "HentaiGirlfriendDotCom",
"title": "comfyui-highlight-connections [REMOVED]",
"reference": "https://github.com/HentaiGirlfriendDotCom/comfyui-highlight-connections",
"files": [
"https://github.com/HentaiGirlfriendDotCom/comfyui-highlight-connections"
],
"install_type": "git-clone",
"description": "A node that can be dropped into a group. When a node is then clicked within that group, all nodes and connections in that group get greyed out and the connections from the clicked node go bright red."
},
{ {
"author": "huangyangke", "author": "huangyangke",
"title": "ComfyUI-Kolors-IpadapterFaceId [DEPRECATED]", "title": "ComfyUI-Kolors-IpadapterFaceId [DEPRECATED]",

View File

@@ -10,160 +10,6 @@
{
"author": "ClownsharkBatwing",
"title": "RES4LYF",
"id": "res4lyf",
"reference": "https://github.com/ClownsharkBatwing/RES4LYF",
"files": [
"https://github.com/ClownsharkBatwing/RES4LYF"
],
"install_type": "git-clone",
"description": "Advanced samplers with new noise scaling math to enable SDE sampling with all publicly available rectified flow models; new unsampling/noise inversion methods and other advanced techniques for inpainting and/or guiding the sampling process with latent images. 40 sampler types, 20 noise types, 7 noise scaling modes, in a single node. Also includes a wide variety of QoF and other utility nodes for manipulating sigmas, latents, images, and more."
},
{
"author": "duskfallcrew",
"title": "Embedding Merge for ComfyUI",
"reference": "https://github.com/duskfallcrew/Comfyui_EmbeddingMerge_Node",
"files": [
"https://github.com/duskfallcrew/Comfyui_EmbeddingMerge_Node/raw/refs/heads/main/merge_embed.py"
],
"install_type": "copy",
"description": "Extremely inspired and forked from: [a/https://github.com/klimaleksus/stable-diffusion-webui-embedding-merge](https://github.com/klimaleksus/stable-diffusion-webui-embedding-merge)"
},
{
"author": "5x00",
"title": "ComfyUI-VLM_Captions",
"reference": "https://github.com/5x00/ComfyUI-VLM_Captions",
"files": [
"https://github.com/5x00/ComfyUI-VLM_Captions"
],
"install_type": "git-clone",
"description": "A simple ComfyUI node that let's you use Claude or ChatGPT 4o's VLM capabilities to generate captions/tags for images."
},
{
"author": "xs315431",
"title": "Comfyui_Get_promptId",
"reference": "https://github.com/xs315431/Comfyui_Get_promptId",
"files": [
"https://github.com/xs315431/Comfyui_Get_promptId"
],
"install_type": "git-clone",
"description": "NODES: Get Prompt_Id, Success Callback\nget comfyui task id and Callback for successful image generation, in conjunction with the back-end"
},
{
"author": "Rvage0815",
"title": "RvTComfyUI-RvTools_v2",
"reference": "https://github.com/Rvage0815/ComfyUI-RvTools_v2",
"files": [
"https://github.com/Rvage0815/ComfyUI-RvTools_v2"
],
"install_type": "git-clone",
"description": "this node contains a lot of small little helpers like switches, passers and selectors that i use a lot to build my workflows."
},
{
"author": "Eugene (JEONG-JIWOO)",
"title": "ComfyUI_Eugene_Nodes",
"reference": "https://github.com/JEONG-JIWOO/ComfyUI_Eugene_Nodes",
"files": [
"https://github.com/JEONG-JIWOO/ComfyUI_Eugene_Nodes"
],
"install_type": "git-clone",
"description": "A collection of utility nodes using Dictionary designed to optimize and manage workflows in ComfyUI."
},
{
"author": "Stable Diffusion VN",
"title": "SDVN Comfy node",
"id": "SDVN",
"reference": "https://github.com/StableDiffusionVN/SDVN_Comfy_node",
"files": [
"https://github.com/StableDiffusionVN/SDVN_Comfy_node"
],
"install_type": "git-clone",
"description": "Collection of nodes supports using comfyUi more quickly and conveniently (Auto download model, image, easy merger ...)"
},
{
"author": "lujiazho",
"title": "ComfyUI-CatvtonFluxWrapper",
"id": "comfyui-catvton-flux-wrapper",
"reference": "https://github.com/lujiazho/ComfyUI-CatvtonFluxWrapper",
"files": [
"https://github.com/lujiazho/ComfyUI-CatvtonFluxWrapper"
],
"install_type": "git-clone",
"description": "ComfyUI-CatvtonFluxWrapper provides ComfyUI nodes for diffusers implementation of Catvton-Flux."
},
{
"author": "lldacing",
"title": "ComfyUI_StableHair_ll",
"id": "comfyui_stablehair_ll",
"reference": "https://github.com/lldacing/ComfyUI_StableHair_ll",
"files": [
"https://github.com/lldacing/ComfyUI_StableHair_ll"
],
"install_type": "git-clone",
"description": "Hair transfer"
},
{
"author": "Kling AI",
"title": "ComfyUI-KLingAI-API",
"reference": "https://github.com/KwaiVGI/ComfyUI-KLingAI-API",
"files": [
"https://github.com/KwaiVGI/ComfyUI-KLingAI-API"
],
"install_type": "git-clone",
"description": "Provide high-quality video and image generation capabilities, meeting creators' needs for creative content production and management through more convenient operations, richer functionalities, professional parameters, and stunning effects."
},
{
"author": "toyxyz",
"title": "ComfyUI_rgbx_Wrapper",
"reference": "https://github.com/toyxyz/ComfyUI_rgbx_Wrapper",
"files": [
"https://github.com/toyxyz/ComfyUI_rgbx_Wrapper"
],
"install_type": "git-clone",
"description": "This is the rgb2x wrapper node for ComfyUI. The required models are automatically downloaded on the first run.\noriginal project : [a/https://github.com/zheng95z/rgbx](original project : https://github.com/zheng95z/rgbx)"
},
{
"author": "itsjustregi",
"title": "ComfyUI-EasyPony",
"reference": "https://github.com/regiellis/ComfyUI-EasyPony",
"files": [
"https://github.com/regiellis/ComfyUI-EasyPony"
],
"install_type": "git-clone",
"description": "Easy Pony is a helper node that simplifies the process of adding scoring and other attributes to prompts when using Pony models."
},
{
"author": "Yuan-ManX",
"title": "ComfyUI-LLaMA-Mesh",
"reference": "https://github.com/Yuan-ManX/ComfyUI-LLaMA-Mesh",
"files": [
"https://github.com/Yuan-ManX/ComfyUI-LLaMA-Mesh"
],
"install_type": "git-clone",
"description": "ComfyUI nodes for LLaMA-Mesh model."
},
{
"author": "mrhan1993",
"title": "ComfyUI-Fooocus",
"reference": "https://github.com/mrhan1993/ComfyUI-Fooocus",
"files": [
"https://github.com/mrhan1993/ComfyUI-Fooocus"
],
"install_type": "git-clone",
"description": "This extension provides image generation features based on Fooocus."
},
{
"author": "steelan9199",
"title": "ComfyUI-Teeth",
"reference": "https://github.com/steelan9199/ComfyUI-Teeth",
"files": [
"https://github.com/steelan9199/ComfyUI-Teeth"
],
"install_type": "git-clone",
"description": "NODES: Index List, TextSplitByDelimiter"
},
{ {
"author": "takemetosiberia", "author": "takemetosiberia",
"title": "SAMURAI Nodes for ComfyUI", "title": "SAMURAI Nodes for ComfyUI",
@@ -693,6 +539,161 @@
], ],
"install_type": "git-clone", "install_type": "git-clone",
"description": "Face Anonymization make simple and easy." "description": "Face Anonymization make simple and easy."
},
{
"author": "liuqianhonga",
"title": "ComfyUI-Image-Compressor",
"reference": "https://github.com/liuqianhonga/ComfyUI-Image-Compressor",
"files": [
"https://github.com/liuqianhonga/ComfyUI-Image-Compressor"
],
"install_type": "git-clone",
"description": "A ComfyUI custom node for image compression that supports multiple compression formats and parameter adjustments."
},
{
"author": "duhaifeng",
"title": "ComfyUI-BiRefNet-lite",
"reference": "https://github.com/rubi-du/ComfyUI-BiRefNet-lite",
"files": [
"https://github.com/rubi-du/ComfyUI-BiRefNet-lite"
],
"install_type": "git-clone",
"description": "This repository packages the latest BiRefNet model as a ComfyUI node for use, supporting chunked loading on both CPU and GPU, as well as model caching features."
},
{
"author": "tanglup",
"title": "Comfyui-Ycnode",
"reference": "https://github.com/tanglup/Comfyui-Ycnode",
"files": [
"https://github.com/tanglup/Comfyui-Ycnode"
],
"install_type": "git-clone",
"description": "NODES:Canvas View"
},
{
"author": "vkff5833",
"title": "ComfyUI-PromptConverter",
"reference": "https://github.com/vkff5833/ComfyUI-PromptConverter",
"files": [
"https://github.com/vkff5833/ComfyUI-PromptConverter"
],
"install_type": "git-clone",
"description": "A ComfyUI custom node that converts prompts between different AI image generation models."
},
{
"author": "c0ffymachyne",
"title": "ComfyUI Signal Processing",
"reference": "https://github.com/c0ffymachyne/ComfyUI_SingalProcessing",
"files": [
"https://github.com/c0ffymachyne/ComfyUI_SingalProcessing"
],
"install_type": "git-clone",
"description": "NODES:SignalProcessingPaulStretch, SignalProcessingPadSynth, SignalProcessingFilter, SignalProcessingLoadAudio.\nThis repo contains 4 nodes for ComfyUI that allows for audio filtering"
},
{
"author": "BIMer-99",
"title": "Comfyui_Hunyuan3D_EX",
"reference": "https://github.com/BIMer-99/Comfyui_Hunyuan3D_EX",
"files": [
"https://github.com/BIMer-99/Comfyui_Hunyuan3D_EX"
],
"install_type": "git-clone",
"description": "This is a custom node designed to simplify the use of Hunyuan3D in ComfyUI"
},
{
"author": "VikramxD",
"title": "VEnhancer ComfyUI Extension",
"reference": "https://github.com/VikramxD/VEnhancer-ComfyUI-Wrapper",
"files": [
"https://github.com/VikramxD/VEnhancer-ComfyUI-Wrapper"
],
"install_type": "git-clone",
"description": "ComfyUI workflow for VEnhancer Inference"
},
{
"author": "vuongminh1907",
"title": "ComfyUI_ZenID",
"reference": "https://github.com/vuongminh1907/ComfyUI_ZenID",
"files": [
"https://github.com/vuongminh1907/ComfyUI_ZenID"
],
"install_type": "git-clone",
"description": "Inspired by [a/InstantID](https://github.com/instantX-research/InstantID) and [a/InstantID Comfy](https://github.com/cubiq/ComfyUI_InstantID)\nThis ZenID Node has been refactored for specialized tasks like Face Swap"
},
{
"author": "yorkane",
"title": "ComfyUI-KYNode",
"reference": "https://github.com/yorkane/ComfyUI-KYNode",
"files": [
"https://github.com/yorkane/ComfyUI-KYNode"
],
"install_type": "git-clone",
"description": "NODES:Advanced Lying Sigma Sampler, Save Image To target Path"
},
{
"author": "zer0thgear",
"title": "zer0 Comfy Utilities",
"id": "zer0-comfy-utils",
"reference": "https://github.com/zer0thgear/zer0-comfy-utils",
"files": [
"https://github.com/zer0thgear/zer0-comfy-utils"
],
"install_type": "git-clone",
"description": "Collection of personal nodes including tavern card-related nodes, prompt manipulation related utilities, and a node to combine a list of strings back into one string."
},
{
"author": "fallingmeteorite",
"title": "nsfw-image-check-comfyui",
"reference": "https://github.com/fallingmeteorite/nsfw-image-check-comfyui",
"files": [
"https://github.com/fallingmeteorite/nsfw-image-check-comfyui"
],
"install_type": "git-clone",
"description": "NODES:Nsfw Image Check Node"
},
{
"author": "lquesada",
"title": "ComfyUI-Interactive",
"id": "interactive",
"reference": "https://github.com/lquesada/ComfyUI-Interactive",
"files": [
"https://github.com/lquesada/ComfyUI-Interactive"
],
"install_type": "git-clone",
"description": "Nodes that allow making the UI interactive, with selectors and switches. Enables selecting across multiple options with the click of a button to move a workflow forward."
},
{
"author": "yondonfu",
"title": "ComfyUI-Background-Edit",
"id": "comfyui-background-edit",
"reference": "https://github.com/yondonfu/ComfyUI-Background-Edit",
"files": [
"https://github.com/yondonfu/ComfyUI-Background-Edit"
],
"install_type": "git-clone",
"description": "ComfyUI nodes for editing background of images/videos with CUDA acceleration support."
},
{
"author": "TTPlanetPig",
"title": "Clothing Migration Kit",
"reference": "https://github.com/TTPlanetPig/Comfyui_Object_Migration",
"files": [
"https://github.com/TTPlanetPig/Comfyui_Object_Migration"
],
"install_type": "git-clone",
"description": "This is an experimental project focused on Stable Diffusion (SD) models. In a single generated image, the same object or character consistently maintains a very high level of consistency. I had already attempted to address this issue in the SDXL model."
},
{
"author": "chenbaiyujason",
"title": "ComfyUI-SCStepFun",
"reference": "https://github.com/chenbaiyujason/ComfyUI_StepFun",
"files": [
"https://github.com/chenbaiyujason/ComfyUI_StepFun"
],
"install_type": "git-clone",
"description": "To use stepfun's library, you need an official api that supports multimodal inputs such as video and pictures [a/https://platform.stepfun.com/request-restriction](https://platform.stepfun.com/request-restriction)"
} }
] ]
} }

View File

@@ -30,7 +30,7 @@
], ],
"https://github.com/1038lab/ComfyUI-RMBG": [ "https://github.com/1038lab/ComfyUI-RMBG": [
[ [
"RMBG" "AILAB_RMBG"
], ],
{ {
"title_aux": "ComfyUI-RMBG" "title_aux": "ComfyUI-RMBG"
@@ -252,36 +252,21 @@
"title_aux": "ComfyUI-DareMerge" "title_aux": "ComfyUI-DareMerge"
} }
], ],
"https://github.com/5x00/ComfyUI-VLM_Captions": [
[
"Image To Caption"
],
{
"title_aux": "ComfyUI-VLM_Captions"
}
],
"https://github.com/6174/comflowy-nodes": [ "https://github.com/6174/comflowy-nodes": [
[ [
"Comflowy_Clarity_Upscale", "Comflowy_Clarity_Upscale",
"Comflowy_Extract_JSON", "Comflowy_Extract_JSON",
"Comflowy_Flux", "Comflowy_Flux",
"Comflowy_Flux_Dev_Lora",
"Comflowy_Flux_Pro_Ultra",
"Comflowy_Hailuo",
"Comflowy_Http_Request", "Comflowy_Http_Request",
"Comflowy_Ideogram", "Comflowy_Ideogram",
"Comflowy_Kling",
"Comflowy_LLM", "Comflowy_LLM",
"Comflowy_Load_JSON", "Comflowy_Load_JSON",
"Comflowy_Luma",
"Comflowy_Omost_LLM", "Comflowy_Omost_LLM",
"Comflowy_Omost_Load_Canvas_Conditioning", "Comflowy_Omost_Load_Canvas_Conditioning",
"Comflowy_Omost_Load_Canvas_Python_Code", "Comflowy_Omost_Load_Canvas_Python_Code",
"Comflowy_Omost_Preview", "Comflowy_Omost_Preview",
"Comflowy_Omost_To_Conditioning", "Comflowy_Omost_To_Conditioning",
"Comflowy_Preview_JSON", "Comflowy_Preview_JSON",
"Comflowy_Preview_Video",
"Comflowy_Recraft",
"Comflowy_Set_API_Key" "Comflowy_Set_API_Key"
], ],
{ {
@@ -1136,7 +1121,6 @@
"https://github.com/Acly/comfyui-tooling-nodes": [ "https://github.com/Acly/comfyui-tooling-nodes": [
[ [
"ETN_ApplyMaskToImage", "ETN_ApplyMaskToImage",
"ETN_ApplyReferenceImages",
"ETN_AttentionMask", "ETN_AttentionMask",
"ETN_BackgroundRegion", "ETN_BackgroundRegion",
"ETN_CropImage", "ETN_CropImage",
@@ -1157,7 +1141,6 @@
"ETN_MergeImageTile", "ETN_MergeImageTile",
"ETN_NSFWFilter", "ETN_NSFWFilter",
"ETN_Parameter", "ETN_Parameter",
"ETN_ReferenceImage",
"ETN_SendImageWebSocket", "ETN_SendImageWebSocket",
"ETN_TileLayout", "ETN_TileLayout",
"ETN_Translate" "ETN_Translate"
@@ -1933,8 +1916,7 @@
], ],
"https://github.com/Bria-AI/ComfyUI-BRIA-API": [ "https://github.com/Bria-AI/ComfyUI-BRIA-API": [
[ [
"BriaEraser", "BriaEraser"
"BriaGenFill"
], ],
{ {
"title_aux": "BRIA AI API nodes" "title_aux": "BRIA AI API nodes"
@@ -2082,107 +2064,6 @@
"title_aux": "ComfyUI-Line-counter" "title_aux": "ComfyUI-Line-counter"
} }
], ],
"https://github.com/ClownsharkBatwing/RES4LYF": [
[
"AdvancedNoise",
"Base64ToConditioning",
"CLIPTextEncodeFluxUnguided",
"ClownSampler",
"ClownsharKSampler",
"ClownsharKSamplerAutomation",
"ClownsharKSamplerGuides",
"ClownsharKSamplerOptions",
"ClownsharKSamplerOptions_SDE_Noise",
"Conditioning Recast FP64",
"ConditioningAverageScheduler",
"ConditioningMultiply",
"ConditioningToBase64",
"ConditioningTruncate",
"ConditioningZeroAndTruncate",
"EmptyLatentImage64",
"EmptyLatentImageCustom",
"Film Grain",
"FluxLoader",
"Frequency Separation Hard Light",
"Frequency Separation Hard Light LAB",
"Image Channels LAB",
"Image Crop Location Exact",
"Image Median Blur",
"Image Pair Split",
"Latent Batcher",
"Latent Match Channelwise",
"Latent Normalize Channels",
"Latent to Cuda",
"LatentBatch_channels",
"LatentBatch_channels_16",
"LatentNoiseBatch_fractal",
"LatentNoiseBatch_gaussian",
"LatentNoiseBatch_gaussian_channels",
"LatentNoiseBatch_perlin",
"LatentNoiseList",
"LatentNoised",
"LatentPhaseMagnitude",
"LatentPhaseMagnitudeMultiply",
"LatentPhaseMagnitudeOffset",
"LatentPhaseMagnitudePower",
"Legacy_ClownSampler",
"Legacy_ClownsharKSampler",
"Legacy_ClownsharKSamplerGuides",
"PrepForUnsampling",
"SD35L_TimestepPatcher",
"SD35Loader",
"Sampler10th_World_Order",
"SamplerOptions_GarbageCollection",
"SamplerOptions_TimestepScaling",
"Set Precision",
"Set Precision Advanced",
"Set Precision Universal",
"SharkSampler",
"Sigmas Abs",
"Sigmas Add",
"Sigmas Cleanup",
"Sigmas Concat",
"Sigmas DeleteBelowFloor",
"Sigmas DeleteDuplicates",
"Sigmas From Text",
"Sigmas Iteration Karras",
"Sigmas Iteration Polyexp",
"Sigmas Math1",
"Sigmas Math3",
"Sigmas Modulus",
"Sigmas Mult",
"Sigmas Noise Inversion",
"Sigmas Pad",
"Sigmas Power",
"Sigmas Quotient",
"Sigmas Recast",
"Sigmas Rescale",
"Sigmas SetFloor",
"Sigmas Split",
"Sigmas Start",
"Sigmas Truncate",
"Sigmas Unpad",
"Sigmas Variance Floor",
"Sigmas2 Add",
"Sigmas2 Mult",
"SigmasPreview",
"StableCascade_StageB_Conditioning64",
"StableCascade_StageC_VAEEncode_Exact",
"StyleModelApplyAdvanced",
"Tan Scheduler",
"Tan Scheduler 2",
"Tan Scheduler 2 Simple",
"TextBox1",
"TextBox3",
"UNetSave",
"UltraSharkSampler",
"UltraSharkSampler Tiled",
"VGG19StyleTransfer"
],
{
"title_aux": "RES4LYF"
}
],
"https://github.com/Clybius/ComfyUI-Extra-Samplers": [ "https://github.com/Clybius/ComfyUI-Extra-Samplers": [
[ [
"GeometricCFGGuider", "GeometricCFGGuider",
@@ -3588,6 +3469,14 @@
"title_aux": "Hellrunner's Magical Nodes" "title_aux": "Hellrunner's Magical Nodes"
} }
], ],
"https://github.com/HentaiGirlfriendDotCom/comfyui-highlight-connections": [
[
"HighlightConnections"
],
{
"title_aux": "comfyui-highlight-connections"
}
],
"https://github.com/Hiero207/ComfyUI-Hiero-Nodes": [ "https://github.com/Hiero207/ComfyUI-Hiero-Nodes": [
[ [
"Load Prompt Travel file", "Load Prompt Travel file",
@@ -3605,8 +3494,6 @@
"https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM": [ "https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM": [
[ [
"AgentMemoryProvider", "AgentMemoryProvider",
"AgentNode",
"BasicRecursionFilterNode",
"DocumentProcessor", "DocumentProcessor",
"LinuxMemoryDirectory", "LinuxMemoryDirectory",
"QueryNode" "QueryNode"
@@ -3734,7 +3621,6 @@
], ],
"https://github.com/Isi-dev/ComfyUI-Animation_Nodes_and_Workflows": [ "https://github.com/Isi-dev/ComfyUI-Animation_Nodes_and_Workflows": [
[ [
"CLIPTextEncodeStyles",
"JoinVideos", "JoinVideos",
"MakeDrivingVideoForLivePortrait", "MakeDrivingVideoForLivePortrait",
"MakePortraitWalk", "MakePortraitWalk",
@@ -3781,7 +3667,6 @@
"https://github.com/Isulion/ComfyUI_Isulion": [ "https://github.com/Isulion/ComfyUI_Isulion": [
[ [
"IsuCollage_Node", "IsuCollage_Node",
"Isulion Video Prompt Generator \ud83c\udfa5",
"IsulionActionGenerator", "IsulionActionGenerator",
"IsulionAlienWorldGenerator", "IsulionAlienWorldGenerator",
"IsulionAnimalBehaviorGenerator", "IsulionAnimalBehaviorGenerator",
@@ -3791,7 +3676,6 @@
"IsulionClothingGenerator", "IsulionClothingGenerator",
"IsulionCuteAnimalRandom", "IsulionCuteAnimalRandom",
"IsulionEmotionGenerator", "IsulionEmotionGenerator",
"IsulionEpochGenerator",
"IsulionFantasyRaceGenerator", "IsulionFantasyRaceGenerator",
"IsulionHabitatGenerator", "IsulionHabitatGenerator",
"IsulionLoadImagesNode", "IsulionLoadImagesNode",
@@ -3808,9 +3692,7 @@
"IsulionTechGenerator", "IsulionTechGenerator",
"IsulionTimeOfDayGenerator", "IsulionTimeOfDayGenerator",
"IsulionWeatherGenerator", "IsulionWeatherGenerator",
"MegaPromptV3", "MegaPromptV3"
"ResourceMonitor",
"\u23fb IsulionShutdown"
], ],
{ {
"title_aux": "ComfyUI_Isulion Random Prompt Generator" "title_aux": "ComfyUI_Isulion Random Prompt Generator"
@@ -3849,25 +3731,6 @@
"title_aux": "ComfyUI_Qwen2-VL-Instruct" "title_aux": "ComfyUI_Qwen2-VL-Instruct"
} }
], ],
"https://github.com/JEONG-JIWOO/ComfyUI_Eugene_Nodes": [
[
"DictBus",
"DictBusEdit",
"DictBusUnpack",
"DictMultilineSelect",
"DictTemplate",
"DictUpdate1",
"DictUpdate10",
"DictUpdate5",
"LoraPresetListLoader",
"LoraPresetLoader",
"LoraPresetSaver",
"LoraPresetSelector"
],
{
"title_aux": "ComfyUI_Eugene_Nodes"
}
],
"https://github.com/JPS-GER/ComfyUI_JPS-Nodes": [ "https://github.com/JPS-GER/ComfyUI_JPS-Nodes": [
[ [
"CLIPTextEncode SDXL Plus (JPS)", "CLIPTextEncode SDXL Plus (JPS)",
@@ -4310,20 +4173,14 @@
[ [
"ACN_AdvancedControlNetApply", "ACN_AdvancedControlNetApply",
"ACN_AdvancedControlNetApplySingle", "ACN_AdvancedControlNetApplySingle",
"ACN_AdvancedControlNetApplySingle_v2",
"ACN_AdvancedControlNetApply_v2",
"ACN_ControlNet++InputNode", "ACN_ControlNet++InputNode",
"ACN_ControlNet++LoaderAdvanced", "ACN_ControlNet++LoaderAdvanced",
"ACN_ControlNet++LoaderSingle", "ACN_ControlNet++LoaderSingle",
"ACN_ControlNetLoaderAdvanced",
"ACN_ControlNetLoaderWithLoraAdvanced", "ACN_ControlNetLoaderWithLoraAdvanced",
"ACN_CtrLoRALoader",
"ACN_CustomControlNetWeightsFlux", "ACN_CustomControlNetWeightsFlux",
"ACN_CustomControlNetWeightsSD15", "ACN_CustomControlNetWeightsSD15",
"ACN_CustomT2IAdapterWeights", "ACN_CustomT2IAdapterWeights",
"ACN_DefaultUniversalWeights", "ACN_DefaultUniversalWeights",
"ACN_DiffControlNetLoaderAdvanced",
"ACN_ExtrasMiddleMult",
"ACN_ReferenceControlNet", "ACN_ReferenceControlNet",
"ACN_ReferenceControlNetFinetune", "ACN_ReferenceControlNetFinetune",
"ACN_ReferencePreprocessor", "ACN_ReferencePreprocessor",
@@ -4448,7 +4305,6 @@
"ADE_MultivalDynamicFloatInput", "ADE_MultivalDynamicFloatInput",
"ADE_MultivalDynamicFloats", "ADE_MultivalDynamicFloats",
"ADE_MultivalScaledMask", "ADE_MultivalScaledMask",
"ADE_NoiseCalibration",
"ADE_NoiseLayerAdd", "ADE_NoiseLayerAdd",
"ADE_NoiseLayerAddWeighted", "ADE_NoiseLayerAddWeighted",
"ADE_NoiseLayerReplace", "ADE_NoiseLayerReplace",
@@ -4546,19 +4402,6 @@
"title_aux": "ComfyUI-DenoiseChooser" "title_aux": "ComfyUI-DenoiseChooser"
} }
], ],
"https://github.com/KwaiVGI/ComfyUI-KLingAI-API": [
[
"Client",
"Image Generator",
"Image2Video",
"KLingAI Preview Video",
"Text2Video",
"Virtual Try On"
],
{
"title_aux": "ComfyUI-KLingAI-API"
}
],
"https://github.com/KytraScript/ComfyUI_KytraWebhookHTTP": [ "https://github.com/KytraScript/ComfyUI_KytraWebhookHTTP": [
[ [
"SendToDiscordWebhook" "SendToDiscordWebhook"
@@ -5888,12 +5731,10 @@
], ],
"https://github.com/PnthrLeo/comfyUI-image-search": [ "https://github.com/PnthrLeo/comfyUI-image-search": [
[ [
"AreasGenerator",
"BatchImageGetter",
"CloseImagesSearcher" "CloseImagesSearcher"
], ],
{ {
"title_aux": "comfyUI-PL-data-tools" "title_aux": "comfyUI-image-search"
} }
], ],
"https://github.com/Pos13/comfyui-cyclist": [ "https://github.com/Pos13/comfyui-cyclist": [
@@ -6232,16 +6073,6 @@
"title_aux": "ComfyUI-LexTools" "title_aux": "ComfyUI-LexTools"
} }
], ],
"https://github.com/SS-snap/ComfyUI-Snap_Processing": [
[
"AreaCalculator",
"PyQtCanvasNode",
"Snapload"
],
{
"title_aux": "Snap Processing for Comfyui"
}
],
"https://github.com/SamKhoze/ComfyUI-DeepFuze": [ "https://github.com/SamKhoze/ComfyUI-DeepFuze": [
[ [
"DeepFuze Save", "DeepFuze Save",
@@ -7019,26 +6850,6 @@
"title_aux": "stability-ComfyUI-nodes" "title_aux": "stability-ComfyUI-nodes"
} }
], ],
"https://github.com/StableDiffusionVN/SDVN_Comfy_node": [
[
"SDVN API chatbot",
"SDVN Checkpoint Download",
"SDVN DALL-E Generate Image",
"SDVN Easy IPAdapter weight",
"SDVN Load Checkpoint",
"SDVN Load Image",
"SDVN Load Image Url",
"SDVN Load Lora",
"SDVN Lora Download",
"SDVN Merge Flux",
"SDVN Merge SD1",
"SDVN Merge SDXL",
"SDVN Run Python Code"
],
{
"title_aux": "SDVN Comfy node"
}
],
"https://github.com/StarMagicAI/comfyui_tagger": [ "https://github.com/StarMagicAI/comfyui_tagger": [
[ [
"DownloadAndLoadFlorence2Lora_jsonL", "DownloadAndLoadFlorence2Lora_jsonL",
@@ -7057,9 +6868,7 @@
"OllamaModelChooser", "OllamaModelChooser",
"SD35StartSettings", "SD35StartSettings",
"SDXLStartSettings", "SDXLStartSettings",
"StarFiveWildcards", "StarNode"
"StarNode",
"Starupscale"
], ],
{ {
"title_aux": "ComfyUI_StarNodes" "title_aux": "ComfyUI_StarNodes"
@@ -7150,13 +6959,11 @@
[ [
"Combine Tiles", "Combine Tiles",
"Divide Image", "Divide Image",
"Divide Image and Select Tile",
"Divide and Conquer Algorithm", "Divide and Conquer Algorithm",
"Divide and Conquer Algorithm (No Upscale)",
"Make Size" "Make Size"
], ],
{ {
"title_aux": "ComfyUI Steudio" "title_aux": "ComfyUI_Steudio"
} }
], ],
"https://github.com/SuperBeastsAI/ComfyUI-SuperBeasts": [ "https://github.com/SuperBeastsAI/ComfyUI-SuperBeasts": [
@@ -8047,7 +7854,6 @@
"VrchBooleanKeyControlNode", "VrchBooleanKeyControlNode",
"VrchChannelOSCControlNode", "VrchChannelOSCControlNode",
"VrchChannelX4OSCControlNode", "VrchChannelX4OSCControlNode",
"VrchDelayOSCControlNode",
"VrchFloatKeyControlNode", "VrchFloatKeyControlNode",
"VrchFloatOSCControlNode", "VrchFloatOSCControlNode",
"VrchImageFlipBookWebViewerNode", "VrchImageFlipBookWebViewerNode",
@@ -8628,16 +8434,6 @@
"title_aux": "MergeBlockWeighted_fo_ComfyUI" "title_aux": "MergeBlockWeighted_fo_ComfyUI"
} }
], ],
"https://github.com/Yuan-ManX/ComfyUI-LLaMA-Mesh": [
[
"Apply Gradient Color",
"Chat LLaMa Mesh",
"Visualize Mesh"
],
{
"title_aux": "ComfyUI-LLaMA-Mesh"
}
],
"https://github.com/Yuan-ManX/ComfyUI-SoundHub": [ "https://github.com/Yuan-ManX/ComfyUI-SoundHub": [
[ [
"Load Audio", "Load Audio",
@@ -9087,7 +8883,6 @@
"https://github.com/ai-shizuka/ComfyUI-tbox": [ "https://github.com/ai-shizuka/ComfyUI-tbox": [
[ [
"AnimalPosePreprocessor", "AnimalPosePreprocessor",
"BatchManager",
"ConstrainImageNode", "ConstrainImageNode",
"DWPosePreprocessor", "DWPosePreprocessor",
"DWPreprocessor", "DWPreprocessor",
@@ -9097,12 +8892,7 @@
"ImageSaver", "ImageSaver",
"ImageSize", "ImageSize",
"ImagesSaver", "ImagesSaver",
"MaskAddNode", "MiDaSDepthPreprocessor"
"MiDaSDepthPreprocessor",
"VideoInfo",
"VideoLoader",
"VideoSaver",
"WatermarkNode"
], ],
{ {
"author": "tstandley", "author": "tstandley",
@@ -9607,7 +9397,6 @@
"Sage_GetFileHash", "Sage_GetFileHash",
"Sage_GetInfoFromHash", "Sage_GetInfoFromHash",
"Sage_GetModelJSONFromHash", "Sage_GetModelJSONFromHash",
"Sage_IterOverFiles",
"Sage_JoinText", "Sage_JoinText",
"Sage_KSampler", "Sage_KSampler",
"Sage_LoraStack", "Sage_LoraStack",
@@ -9665,8 +9454,6 @@
"FilterSchedule", "FilterSchedule",
"LoRAScheduler", "LoRAScheduler",
"PCApplySettings", "PCApplySettings",
"PCEncodeSchedule",
"PCLoraHooksFromSchedule",
"PCPromptFromSchedule", "PCPromptFromSchedule",
"PCScheduleAddMasks", "PCScheduleAddMasks",
"PCScheduleSettings", "PCScheduleSettings",
@@ -9723,10 +9510,6 @@
"SaveImageExtended" "SaveImageExtended"
], ],
{ {
"author": "AudioscavengeR",
"description": "1 custom node to save your pictures in various folders and formats.",
"nickname": "Save Image Extended",
"title": "Save Image Extended",
"title_aux": "Save Image Extended for ComfyUI" "title_aux": "Save Image Extended for ComfyUI"
} }
], ],
@@ -10115,11 +9898,7 @@
"SamplerSonarDPMPPSDE", "SamplerSonarDPMPPSDE",
"SamplerSonarEuler", "SamplerSonarEuler",
"SamplerSonarEulerA", "SamplerSonarEulerA",
"SonarAdvanced1fNoise",
"SonarAdvancedPowerLawNoise",
"SonarAdvancedPyramidNoise", "SonarAdvancedPyramidNoise",
"SonarBlendedNoise",
"SonarChannelNoise",
"SonarCompositeNoise", "SonarCompositeNoise",
"SonarCustomNoise", "SonarCustomNoise",
"SonarGuidanceConfig", "SonarGuidanceConfig",
@@ -11644,17 +11423,12 @@
], ],
"https://github.com/clhui/ComfyUi-clh-Tool": [ "https://github.com/clhui/ComfyUi-clh-Tool": [
[ [
"EchartGraph_clh",
"EchartOptionByPath_clh",
"EchartOption_clh",
"INTConstant_clh", "INTConstant_clh",
"JoinStringMulti_clh", "JoinStringMulti_clh",
"MathExpression_clh", "MathExpression_clh",
"ShowText|clh",
"SomethingToString_clh", "SomethingToString_clh",
"String2FatLabels_clh", "String2FatLabels_clh",
"String2Image_clh", "String2Image_clh"
"StringConstant_clh"
], ],
{ {
"author": "Dr.Lt.Data", "author": "Dr.Lt.Data",
@@ -13066,27 +12840,13 @@
"title_aux": "ObjectFusion_ComfyUI_nodes" "title_aux": "ObjectFusion_ComfyUI_nodes"
} }
], ],
"https://github.com/duskfallcrew/Comfyui_EmbeddingMerge_Node/raw/refs/heads/main/merge_embed.py": [
[
"EmbeddingMerger"
],
{
"title_aux": "Embedding Merge for ComfyUI"
}
],
"https://github.com/dymokomi/comfyui_dygen": [ "https://github.com/dymokomi/comfyui_dygen": [
[ [
"AdaptiveColorCircles",
"AdaptiveColorLines",
"AdaptiveColorRectangles",
"BinaryPatternStamper",
"DYImageCluster", "DYImageCluster",
"DYImageMasks", "DYImageMasks",
"DYImagePalette", "DYImagePalette",
"DYImageQuantize", "DYImageQuantize",
"ImageListToGrid", "ImageListToGrid"
"ImageScaler",
"RandomLines"
], ],
{ {
"title_aux": "comfyui_dygen" "title_aux": "comfyui_dygen"
@@ -13329,7 +13089,6 @@
[ [
"ETInspectTextNode", "ETInspectTextNode",
"ETIntBoxNode", "ETIntBoxNode",
"ETPresentImageNode",
"ETShowDataNode", "ETShowDataNode",
"ETStringBoxNode", "ETStringBoxNode",
"ETTextBoxNode", "ETTextBoxNode",
@@ -14730,7 +14489,6 @@
"LLM_local", "LLM_local",
"LLM_local_loader", "LLM_local_loader",
"LLavaLoader", "LLavaLoader",
"LorapathLoader",
"Lorebook", "Lorebook",
"RSS_loader", "RSS_loader",
"RSS_tool", "RSS_tool",
@@ -14739,7 +14497,6 @@
"VAEDecode_party", "VAEDecode_party",
"accuweather_tool", "accuweather_tool",
"advance_ebd_tool", "advance_ebd_tool",
"aisuite_loader",
"any2str", "any2str",
"any_switcher", "any_switcher",
"api_function", "api_function",
@@ -14782,8 +14539,6 @@
"file_combine_plus", "file_combine_plus",
"file_path_iterator", "file_path_iterator",
"files_read_tool", "files_read_tool",
"fish_tts",
"fish_whisper",
"flux_persona", "flux_persona",
"genai_api_loader", "genai_api_loader",
"get_string", "get_string",
@@ -17050,9 +16805,7 @@
"YellowBus", "YellowBus",
"ZoomOutComposer", "ZoomOutComposer",
"concat", "concat",
"filter", "filter"
"nodevalue2stringmulti",
"string_contact_multi"
], ],
{ {
"title_aux": "Klinter_nodes" "title_aux": "Klinter_nodes"
@@ -17520,7 +17273,6 @@
], ],
"https://github.com/liuqianhonga/ComfyUI-Image-Compressor": [ "https://github.com/liuqianhonga/ComfyUI-Image-Compressor": [
[ [
"BatchImageCompressor",
"ImageCompressor" "ImageCompressor"
], ],
{ {
@@ -17645,17 +17397,6 @@
"title_aux": "ComfyUI_StableDelight_ll" "title_aux": "ComfyUI_StableDelight_ll"
} }
], ],
"https://github.com/lldacing/ComfyUI_StableHair_ll": [
[
"ApplyHairRemover",
"ApplyHairTransfer",
"LoadStableHairRemoverModel",
"LoadStableHairTransferModel"
],
{
"title_aux": "ComfyUI_StableHair_ll"
}
],
"https://github.com/lldacing/comfyui-easyapi-nodes": [ "https://github.com/lldacing/comfyui-easyapi-nodes": [
[ [
"Base64ToImage", "Base64ToImage",
@@ -17704,7 +17445,6 @@
"MaskToBase64", "MaskToBase64",
"MaskToBase64Image", "MaskToBase64Image",
"MaskToRle", "MaskToRle",
"ReadTextFromLocalFile",
"RleToMask", "RleToMask",
"SDBaseVerNumber", "SDBaseVerNumber",
"SamAutoMaskSEGS", "SamAutoMaskSEGS",
@@ -17712,7 +17452,6 @@
"SaveImagesWithoutOutput", "SaveImagesWithoutOutput",
"SaveSingleImageWithoutOutput", "SaveSingleImageWithoutOutput",
"SaveTextToFileByImagePath", "SaveTextToFileByImagePath",
"SaveTextToLocalFile",
"SelectBbox", "SelectBbox",
"SelectBboxes", "SelectBboxes",
"ShowBoolean", "ShowBoolean",
@@ -17847,9 +17586,7 @@
"AddLatentGuide", "AddLatentGuide",
"LTXAttentioOverride", "LTXAttentioOverride",
"LTXAttentionBank", "LTXAttentionBank",
"LTXAttnOverride",
"LTXForwardModelSamplingPred", "LTXForwardModelSamplingPred",
"LTXPerturbedAttention",
"LTXPrepareAttnInjections", "LTXPrepareAttnInjections",
"LTXRFForwardODESampler", "LTXRFForwardODESampler",
"LTXRFReverseODESampler", "LTXRFReverseODESampler",
@@ -17981,12 +17718,7 @@
"Added Layer Info To Array", "Added Layer Info To Array",
"Enhanced Random Light Source", "Enhanced Random Light Source",
"Float Relay", "Float Relay",
"HLFrequencyDetailRestore",
"Image Add Alpha",
"Image Frequency Analyzer",
"Image Relay", "Image Relay",
"Image Remove Alpha",
"Image Resize With Padding",
"Init Layer Info Array", "Init Layer Info Array",
"Int Relay", "Int Relay",
"Layer Image Seleted", "Layer Image Seleted",
@@ -18106,10 +17838,7 @@
], ],
"https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils": [ "https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils": [
[ [
"AddMaskForICLora", "AddMaskForICLora"
"AutoPatch",
"ConcatContextWindow",
"CreateContextWindow"
], ],
{ {
"title_aux": "Comfyui-In-Context-Lora-Utils" "title_aux": "Comfyui-In-Context-Lora-Utils"
@@ -18348,7 +18077,6 @@
"CacheBackendDataList //Inspire", "CacheBackendDataList //Inspire",
"CacheBackendDataNumberKey //Inspire", "CacheBackendDataNumberKey //Inspire",
"CacheBackendDataNumberKeyList //Inspire", "CacheBackendDataNumberKeyList //Inspire",
"CacheBridge //Inspire",
"Canny_Preprocessor_Provider_for_SEGS //Inspire", "Canny_Preprocessor_Provider_for_SEGS //Inspire",
"ChangeImageBatchSize //Inspire", "ChangeImageBatchSize //Inspire",
"ChangeLatentBatchSize //Inspire", "ChangeLatentBatchSize //Inspire",
@@ -18373,7 +18101,6 @@
"IPAdapterModelHelper //Inspire", "IPAdapterModelHelper //Inspire",
"ImageBatchSplitter //Inspire", "ImageBatchSplitter //Inspire",
"InpaintPreprocessor_Provider_for_SEGS //Inspire", "InpaintPreprocessor_Provider_for_SEGS //Inspire",
"IsCached //Inspire",
"KSampler //Inspire", "KSampler //Inspire",
"KSamplerAdvanced //Inspire", "KSamplerAdvanced //Inspire",
"KSamplerAdvancedPipe //Inspire", "KSamplerAdvancedPipe //Inspire",
@@ -18555,17 +18282,6 @@
"title_aux": "LF Nodes" "title_aux": "LF Nodes"
} }
], ],
"https://github.com/lujiazho/ComfyUI-CatvtonFluxWrapper": [
[
"CatvtonFluxSampler",
"LoadCatvtonFlux",
"LoadCatvtonFluxLoRA",
"ModelPrinter"
],
{
"title_aux": "ComfyUI-CatvtonFluxWrapper"
}
],
"https://github.com/lumalabs/ComfyUI-LumaAI-API": [ "https://github.com/lumalabs/ComfyUI-LumaAI-API": [
[ [
"ImgBBUpload", "ImgBBUpload",
@@ -18969,9 +18685,7 @@
"Add zSNR Sigma max", "Add zSNR Sigma max",
"ConcatSigmas", "ConcatSigmas",
"CosineScheduler", "CosineScheduler",
"GaussianScheduler",
"InvertSigmas", "InvertSigmas",
"LogNormal Scheduler",
"OffsetSigmas", "OffsetSigmas",
"PerpNegScheduledCFGGuider", "PerpNegScheduledCFGGuider",
"ScheduledCFGGuider" "ScheduledCFGGuider"
@@ -19256,162 +18970,6 @@
"title_aux": "ComfyUI_Seamless_Patten" "title_aux": "ComfyUI_Seamless_Patten"
} }
], ],
"https://github.com/mrhan1993/ComfyUI-Fooocus": [
[
"AlignYourStepsScheduler",
"BasicScheduler",
"CLIPLoader",
"CLIPMergeSimple",
"CLIPSave",
"CLIPSetLastLayer",
"CLIPTextEncode",
"CLIPTextEncodeSDXL",
"CLIPTextEncodeSDXLRefiner",
"CLIPVisionEncode",
"CLIPVisionLoader",
"Canny",
"CheckpointLoader",
"CheckpointLoaderSimple",
"CheckpointSave",
"ConditioningAverage",
"ConditioningCombine",
"ConditioningConcat",
"ConditioningSetArea",
"ConditioningSetAreaPercentage",
"ConditioningSetMask",
"ConditioningSetTimestepRange",
"ConditioningZeroOut",
"ControlNetApply",
"ControlNetApplyAdvanced",
"ControlNetLoader",
"CropMask",
"DiffControlNetLoader",
"DiffusersLoader",
"DualCLIPLoader",
"EmptyImage",
"EmptyLatentImage",
"EnhanceControl",
"EnhanceControls",
"ExponentialScheduler",
"FeatherMask",
"FlipSigmas",
"FooocusSampler",
"FooocusSettings",
"FreeU",
"FreeU_V2",
"GLIGENLoader",
"GLIGENTextBoxApply",
"GrowMask",
"HyperTile",
"HypernetworkLoader",
"ImageBatch",
"ImageBlend",
"ImageBlur",
"ImageColorToMask",
"ImageCompositeMasked",
"ImageCrop",
"ImageInvert",
"ImageOnlyCheckpointLoader",
"ImageOnlyCheckpointSave",
"ImagePadForOutpaint",
"ImagePrompts",
"ImageQuantize",
"ImageScale",
"ImageScaleBy",
"ImageScaleToTotalPixels",
"ImageSharpen",
"ImageToMask",
"ImageUpscaleWithModel",
"InpaintModelConditioning",
"InpaintOutpaint",
"InvertMask",
"JoinImageWithAlpha",
"KSampler",
"KSamplerAdvanced",
"KSamplerSelect",
"KarrasScheduler",
"LatentAdd",
"LatentBatch",
"LatentBatchSeedBehavior",
"LatentBlend",
"LatentComposite",
"LatentCompositeMasked",
"LatentCrop",
"LatentFlip",
"LatentFromBatch",
"LatentInterpolate",
"LatentMultiply",
"LatentRotate",
"LatentSubtract",
"LatentUpscale",
"LatentUpscaleBy",
"LoadImage",
"LoadImageMask",
"LoadLatent",
"LoraLoader",
"LoraLoaderModelOnly",
"LoraStacks",
"MaskComposite",
"MaskToImage",
"ModelMergeAdd",
"ModelMergeBlocks",
"ModelMergeSimple",
"ModelMergeSubtract",
"ModelSamplingContinuousEDM",
"ModelSamplingDiscrete",
"PatchModelAddDownscale",
"PerpNeg",
"PhotoMakerEncode",
"PhotoMakerLoader",
"PolyexponentialScheduler",
"PorterDuffImageComposite",
"PreviewImage",
"RebatchImages",
"RebatchLatents",
"RepeatImageBatch",
"RepeatLatentBatch",
"RescaleCFG",
"SDTurboScheduler",
"SD_4XUpscale_Conditioning",
"SVD_img2vid_Conditioning",
"SamplerCustom",
"SamplerDPMPP_2M_SDE",
"SamplerDPMPP_SDE",
"SamplerTCD",
"SaveAnimatedPNG",
"SaveAnimatedWEBP",
"SaveImage",
"SaveLatent",
"SelfAttentionGuidance",
"SetLatentNoiseMask",
"SolidMask",
"SplitImageWithAlpha",
"SplitSigmas",
"StableZero123_Conditioning",
"StableZero123_Conditioning_Batched",
"StyleModelApply",
"StyleModelLoader",
"TomePatchModel",
"UNETLoader",
"UpscaleModelLoader",
"UpscaleVary",
"VAEDecode",
"VAEDecodeTiled",
"VAEEncode",
"VAEEncodeForInpaint",
"VAEEncodeTiled",
"VAELoader",
"VAESave",
"VPScheduler",
"VideoLinearCFGGuidance",
"unCLIPCheckpointLoader",
"unCLIPConditioning"
],
{
"author": "Konie",
"title_aux": "ComfyUI-Fooocus"
}
],
"https://github.com/mullakhmetov/comfyui_dynamic_util_nodes": [ "https://github.com/mullakhmetov/comfyui_dynamic_util_nodes": [
[ [
"ConcatStrings", "ConcatStrings",
@@ -20590,14 +20148,6 @@
"title_aux": "ComfyUI-Prediction" "title_aux": "ComfyUI-Prediction"
} }
], ],
"https://github.com/regiellis/ComfyUI-EasyPony": [
[
"EasyPony"
],
{
"title_aux": "ComfyUI-EasyPony"
}
],
"https://github.com/revirevy/Comfyui_saveimage_imgbb": [ "https://github.com/revirevy/Comfyui_saveimage_imgbb": [
[ [
"ImgBBUploader", "ImgBBUploader",
@@ -22185,15 +21735,6 @@
"title_aux": "ComfyUI Ollama" "title_aux": "ComfyUI Ollama"
} }
], ],
"https://github.com/steelan9199/ComfyUI-Teeth": [
[
"Index List",
"TextSplitByDelimiter"
],
{
"title_aux": "ComfyUI-Teeth"
}
],
"https://github.com/stormcenter/ComfyUI-AutoSplitGridImage": [ "https://github.com/stormcenter/ComfyUI-AutoSplitGridImage": [
[ [
"GridImageSplitter" "GridImageSplitter"
@@ -22682,14 +22223,6 @@
"title_aux": "TTools for ComfyUI" "title_aux": "TTools for ComfyUI"
} }
], ],
"https://github.com/toyxyz/ComfyUI_rgbx_Wrapper": [
[
"rgb2x"
],
{
"title_aux": "ComfyUI_rgbx_Wrapper"
}
],
"https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": [ "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes": [
[ [
"CaptureWebcam", "CaptureWebcam",
@@ -23536,15 +23069,6 @@
"title_aux": "ComfyUI Neural Nodes" "title_aux": "ComfyUI Neural Nodes"
} }
], ],
"https://github.com/xs315431/Comfyui_Get_promptId": [
[
"GetPromptId",
"SuccessCallback"
],
{
"title_aux": "Comfyui_Get_promptId"
}
],
"https://github.com/xuhongming251/ComfyUI-GPEN": [ "https://github.com/xuhongming251/ComfyUI-GPEN": [
[ [
"FaceEnhancement" "FaceEnhancement"
@@ -24024,7 +23548,6 @@
"https://github.com/yorkane/ComfyUI-KYNode": [ "https://github.com/yorkane/ComfyUI-KYNode": [
[ [
"AdvancedLyingSigmaSampler", "AdvancedLyingSigmaSampler",
"KY_OpenAICaptionImage",
"KY_SaveImageToPath" "KY_SaveImageToPath"
], ],
{ {
@@ -24347,6 +23870,19 @@
"title_aux": "ComfyUI_Bxb" "title_aux": "ComfyUI_Bxb"
} }
], ],
"https://github.com/zmwv823/ComfyUI_Ctrlora": [
[
"UL_Image_Generation_Ctrlora_AIO_Preprocessor",
"UL_Image_Generation_Ctrlora_Condition_Params",
"UL_Image_Generation_Ctrlora_Sampler",
"UL_Image_Generation_Ctrlora_loader",
"UL_Image_Process_Prepare_Img_for_Inpaint",
"UL_Image_Process_Prepare_Img_for_Outpaint"
],
{
"title_aux": "ComfyUI_Ctrlora"
}
],
"https://github.com/zohac/ComfyUI_ZC_DrawShape": [ "https://github.com/zohac/ComfyUI_ZC_DrawShape": [
[ [
"ZcDrawShape" "ZcDrawShape"
@@ -24400,14 +23936,6 @@
"title_aux": "ComfyUIInvisibleWatermark" "title_aux": "ComfyUIInvisibleWatermark"
} }
], ],
"https://raw.githubusercontent.com/Limbicnation/ComfyUIDepthEstimation/main/depth_estimation_node.py": [
[
"DepthEstimationNode"
],
{
"title_aux": "ComfyUIDepthEstimation"
}
],
"https://raw.githubusercontent.com/NeuralNotW0rk/ComfyUI-Waveform-Extensions/main/EXT_AudioManipulation.py": [ "https://raw.githubusercontent.com/NeuralNotW0rk/ComfyUI-Waveform-Extensions/main/EXT_AudioManipulation.py": [
[ [
"BatchJoinAudio", "BatchJoinAudio",

View File

@@ -1,373 +1,372 @@
{ {
"cells": [ "cells": [
{ {
"cell_type": "markdown", "cell_type": "markdown",
"metadata": { "metadata": {
"id": "aaaaaaaaaa" "id": "aaaaaaaaaa"
}, },
"source": [ "source": [
"Git clone the repo and install the requirements. (ignore the pip errors about protobuf)" "Git clone the repo and install the requirements. (ignore the pip errors about protobuf)"
] ]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "bbbbbbbbbb"
},
"outputs": [],
"source": [
"# #@title Environment Setup\n",
"\n",
"from pathlib import Path\n",
"\n",
"OPTIONS = {}\n",
"\n",
"USE_GOOGLE_DRIVE = True #@param {type:\"boolean\"}\n",
"UPDATE_COMFY_UI = True #@param {type:\"boolean\"}\n",
"USE_COMFYUI_MANAGER = True #@param {type:\"boolean\"}\n",
"INSTALL_CUSTOM_NODES_DEPENDENCIES = True #@param {type:\"boolean\"}\n",
"OPTIONS['USE_GOOGLE_DRIVE'] = USE_GOOGLE_DRIVE\n",
"OPTIONS['UPDATE_COMFY_UI'] = UPDATE_COMFY_UI\n",
"OPTIONS['USE_COMFYUI_MANAGER'] = USE_COMFYUI_MANAGER\n",
"OPTIONS['INSTALL_CUSTOM_NODES_DEPENDENCIES'] = INSTALL_CUSTOM_NODES_DEPENDENCIES\n",
"\n",
"current_dir = !pwd\n",
"WORKSPACE = f\"{current_dir[0]}/ComfyUI\"\n",
"\n",
"if OPTIONS['USE_GOOGLE_DRIVE']:\n",
" !echo \"Mounting Google Drive...\"\n",
" %cd /\n",
"\n",
" from google.colab import drive\n",
" drive.mount('/content/drive')\n",
"\n",
" WORKSPACE = \"/content/drive/MyDrive/ComfyUI\"\n",
" %cd /content/drive/MyDrive\n",
"\n",
"![ ! -d $WORKSPACE ] && echo -= Initial setup ComfyUI =- && git clone https://github.com/comfyanonymous/ComfyUI\n",
"%cd $WORKSPACE\n",
"\n",
"if OPTIONS['UPDATE_COMFY_UI']:\n",
" !echo -= Updating ComfyUI =-\n",
"\n",
" # Correction of the issue of permissions being deleted on Google Drive.\n",
" ![ -f \".ci/nightly/update_windows/update_comfyui_and_python_dependencies.bat\" ] && chmod 755 .ci/nightly/update_windows/update_comfyui_and_python_dependencies.bat\n",
" ![ -f \".ci/nightly/windows_base_files/run_nvidia_gpu.bat\" ] && chmod 755 .ci/nightly/windows_base_files/run_nvidia_gpu.bat\n",
" ![ -f \".ci/update_windows/update_comfyui_and_python_dependencies.bat\" ] && chmod 755 .ci/update_windows/update_comfyui_and_python_dependencies.bat\n",
" ![ -f \".ci/update_windows_cu118/update_comfyui_and_python_dependencies.bat\" ] && chmod 755 .ci/update_windows_cu118/update_comfyui_and_python_dependencies.bat\n",
" ![ -f \".ci/update_windows/update.py\" ] && chmod 755 .ci/update_windows/update.py\n",
" ![ -f \".ci/update_windows/update_comfyui.bat\" ] && chmod 755 .ci/update_windows/update_comfyui.bat\n",
" ![ -f \".ci/update_windows/README_VERY_IMPORTANT.txt\" ] && chmod 755 .ci/update_windows/README_VERY_IMPORTANT.txt\n",
" ![ -f \".ci/update_windows/run_cpu.bat\" ] && chmod 755 .ci/update_windows/run_cpu.bat\n",
" ![ -f \".ci/update_windows/run_nvidia_gpu.bat\" ] && chmod 755 .ci/update_windows/run_nvidia_gpu.bat\n",
"\n",
" !git pull\n",
"\n",
"!echo -= Install dependencies =-\n",
"!pip3 install accelerate\n",
"!pip3 install einops transformers>=4.28.1 safetensors>=0.4.2 aiohttp pyyaml Pillow scipy tqdm psutil tokenizers>=0.13.3\n",
"!pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121\n",
"!pip3 install torchsde\n",
"!pip3 install kornia>=0.7.1 spandrel soundfile sentencepiece\n",
"\n",
"if OPTIONS['USE_COMFYUI_MANAGER']:\n",
" %cd custom_nodes\n",
"\n",
" # Correction of the issue of permissions being deleted on Google Drive.\n",
" ![ -f \"ComfyUI-Manager/check.sh\" ] && chmod 755 ComfyUI-Manager/check.sh\n",
" ![ -f \"ComfyUI-Manager/scan.sh\" ] && chmod 755 ComfyUI-Manager/scan.sh\n",
" ![ -f \"ComfyUI-Manager/node_db/dev/scan.sh\" ] && chmod 755 ComfyUI-Manager/node_db/dev/scan.sh\n",
" ![ -f \"ComfyUI-Manager/scripts/install-comfyui-venv-linux.sh\" ] && chmod 755 ComfyUI-Manager/scripts/install-comfyui-venv-linux.sh\n",
" ![ -f \"ComfyUI-Manager/scripts/install-comfyui-venv-win.bat\" ] && chmod 755 ComfyUI-Manager/scripts/install-comfyui-venv-win.bat\n",
"\n",
" ![ ! -d ComfyUI-Manager ] && echo -= Initial setup ComfyUI-Manager =- && git clone https://github.com/ltdrdata/ComfyUI-Manager\n",
" %cd ComfyUI-Manager\n",
" !git pull\n",
"\n",
"%cd $WORKSPACE\n",
"\n",
"if OPTIONS['INSTALL_CUSTOM_NODES_DEPENDENCIES']:\n",
" !echo -= Install custom nodes dependencies =-\n",
" !pip install GitPython\n",
" !python custom_nodes/ComfyUI-Manager/cm-cli.py restore-dependencies\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "cccccccccc"
},
"source": [
"Download some models/checkpoints/vae or custom comfyui nodes (uncomment the commands for the ones you want)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "dddddddddd"
},
"outputs": [],
"source": [
"# Checkpoints\n",
"\n",
"### SDXL\n",
"### I recommend these workflow examples: https://comfyanonymous.github.io/ComfyUI_examples/sdxl/\n",
"\n",
"#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/\n",
"#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/\n",
"\n",
"# SDXL ReVision\n",
"#!wget -c https://huggingface.co/comfyanonymous/clip_vision_g/resolve/main/clip_vision_g.safetensors -P ./models/clip_vision/\n",
"\n",
"# SD1.5\n",
"!wget -c https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt -P ./models/checkpoints/\n",
"\n",
"# SD2\n",
"#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.safetensors -P ./models/checkpoints/\n",
"#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1/resolve/main/v2-1_768-ema-pruned.safetensors -P ./models/checkpoints/\n",
"\n",
"# Some SD1.5 anime style\n",
"#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix2/AbyssOrangeMix2_hard.safetensors -P ./models/checkpoints/\n",
"#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix3/AOM3A1_orangemixs.safetensors -P ./models/checkpoints/\n",
"#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix3/AOM3A3_orangemixs.safetensors -P ./models/checkpoints/\n",
"#!wget -c https://huggingface.co/Linaqruf/anything-v3.0/resolve/main/anything-v3-fp16-pruned.safetensors -P ./models/checkpoints/\n",
"\n",
"# Waifu Diffusion 1.5 (anime style SD2.x 768-v)\n",
"#!wget -c https://huggingface.co/waifu-diffusion/wd-1-5-beta3/resolve/main/wd-illusion-fp16.safetensors -P ./models/checkpoints/\n",
"\n",
"\n",
"# unCLIP models\n",
"#!wget -c https://huggingface.co/comfyanonymous/illuminatiDiffusionV1_v11_unCLIP/resolve/main/illuminatiDiffusionV1_v11-unclip-h-fp16.safetensors -P ./models/checkpoints/\n",
"#!wget -c https://huggingface.co/comfyanonymous/wd-1.5-beta2_unCLIP/resolve/main/wd-1-5-beta2-aesthetic-unclip-h-fp16.safetensors -P ./models/checkpoints/\n",
"\n",
"\n",
"# VAE\n",
"!wget -c https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors -P ./models/vae/\n",
"#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/VAEs/orangemix.vae.pt -P ./models/vae/\n",
"#!wget -c https://huggingface.co/hakurei/waifu-diffusion-v1-4/resolve/main/vae/kl-f8-anime2.ckpt -P ./models/vae/\n",
"\n",
"\n",
"# Loras\n",
"#!wget -c https://civitai.com/api/download/models/10350 -O ./models/loras/theovercomer8sContrastFix_sd21768.safetensors #theovercomer8sContrastFix SD2.x 768-v\n",
"#!wget -c https://civitai.com/api/download/models/10638 -O ./models/loras/theovercomer8sContrastFix_sd15.safetensors #theovercomer8sContrastFix SD1.x\n",
"#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_offset_example-lora_1.0.safetensors -P ./models/loras/ #SDXL offset noise lora\n",
"\n",
"\n",
"# T2I-Adapter\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_depth_sd14v1.pth -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_seg_sd14v1.pth -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_sketch_sd14v1.pth -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_keypose_sd14v1.pth -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_openpose_sd14v1.pth -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_color_sd14v1.pth -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_canny_sd14v1.pth -P ./models/controlnet/\n",
"\n",
"# T2I Styles Model\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_style_sd14v1.pth -P ./models/style_models/\n",
"\n",
"# CLIPVision model (needed for styles model)\n",
"#!wget -c https://huggingface.co/openai/clip-vit-large-patch14/resolve/main/pytorch_model.bin -O ./models/clip_vision/clip_vit14.bin\n",
"\n",
"\n",
"# ControlNet\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11e_sd15_ip2p_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11e_sd15_shuffle_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_canny_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11f1p_sd15_depth_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_inpaint_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_lineart_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_mlsd_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_normalbae_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_openpose_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_scribble_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_seg_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_softedge_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15s2_lineart_anime_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11u_sd15_tile_fp16.safetensors -P ./models/controlnet/\n",
"\n",
"# ControlNet SDXL\n",
"#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-canny-rank256.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-depth-rank256.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-recolor-rank256.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-sketch-rank256.safetensors -P ./models/controlnet/\n",
"\n",
"# Controlnet Preprocessor nodes by Fannovel16\n",
"#!cd custom_nodes && git clone https://github.com/Fannovel16/comfy_controlnet_preprocessors; cd comfy_controlnet_preprocessors && python install.py\n",
"\n",
"\n",
"# GLIGEN\n",
"#!wget -c https://huggingface.co/comfyanonymous/GLIGEN_pruned_safetensors/resolve/main/gligen_sd14_textbox_pruned_fp16.safetensors -P ./models/gligen/\n",
"\n",
"\n",
"# ESRGAN upscale model\n",
"#!wget -c https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P ./models/upscale_models/\n",
"#!wget -c https://huggingface.co/sberbank-ai/Real-ESRGAN/resolve/main/RealESRGAN_x2.pth -P ./models/upscale_models/\n",
"#!wget -c https://huggingface.co/sberbank-ai/Real-ESRGAN/resolve/main/RealESRGAN_x4.pth -P ./models/upscale_models/\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "kkkkkkkkkkkkkkk"
},
"source": [
"### Run ComfyUI with cloudflared (Recommended Way)\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "jjjjjjjjjjjjjj"
},
"outputs": [],
"source": [
"!wget -P ~ https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb\n",
"!dpkg -i ~/cloudflared-linux-amd64.deb\n",
"\n",
"import subprocess\n",
"import threading\n",
"import time\n",
"import socket\n",
"import urllib.request\n",
"\n",
"def iframe_thread(port):\n",
" while True:\n",
" time.sleep(0.5)\n",
" sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n",
" result = sock.connect_ex(('127.0.0.1', port))\n",
" if result == 0:\n",
" break\n",
" sock.close()\n",
" print(\"\\nComfyUI finished loading, trying to launch cloudflared (if it gets stuck here cloudflared is having issues)\\n\")\n",
"\n",
" p = subprocess.Popen([\"cloudflared\", \"tunnel\", \"--url\", \"http://127.0.0.1:{}\".format(port)], stdout=subprocess.PIPE, stderr=subprocess.PIPE)\n",
" for line in p.stderr:\n",
" l = line.decode()\n",
" if \"trycloudflare.com \" in l:\n",
" print(\"This is the URL to access ComfyUI:\", l[l.find(\"http\"):], end='')\n",
" #print(l, end='')\n",
"\n",
"\n",
"threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()\n",
"\n",
"!python main.py --dont-print-server"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "kkkkkkkkkkkkkk"
},
"source": [
"### Run ComfyUI with localtunnel\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "jjjjjjjjjjjjj"
},
"outputs": [],
"source": [
"!npm install -g localtunnel\n",
"\n",
"import subprocess\n",
"import threading\n",
"import time\n",
"import socket\n",
"import urllib.request\n",
"\n",
"def iframe_thread(port):\n",
" while True:\n",
" time.sleep(0.5)\n",
" sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n",
" result = sock.connect_ex(('127.0.0.1', port))\n",
" if result == 0:\n",
" break\n",
" sock.close()\n",
" print(\"\\nComfyUI finished loading, trying to launch localtunnel (if it gets stuck here localtunnel is having issues)\\n\")\n",
"\n",
" print(\"The password/enpoint ip for localtunnel is:\", urllib.request.urlopen('https://ipv4.icanhazip.com').read().decode('utf8').strip(\"\\n\"))\n",
" p = subprocess.Popen([\"lt\", \"--port\", \"{}\".format(port)], stdout=subprocess.PIPE)\n",
" for line in p.stdout:\n",
" print(line.decode(), end='')\n",
"\n",
"\n",
"threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()\n",
"\n",
"!python main.py --dont-print-server"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "gggggggggg"
},
"source": [
"### Run ComfyUI with colab iframe (use only in case the previous way with localtunnel doesn't work)\n",
"\n",
"You should see the ui appear in an iframe. If you get a 403 error, it's your firefox settings or an extension that's messing things up.\n",
"\n",
"If you want to open it in another window use the link.\n",
"\n",
"Note that some UI features like live image previews won't work because the colab iframe blocks websockets."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "hhhhhhhhhh"
},
"outputs": [],
"source": [
"import threading\n",
"import time\n",
"import socket\n",
"def iframe_thread(port):\n",
" while True:\n",
" time.sleep(0.5)\n",
" sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n",
" result = sock.connect_ex(('127.0.0.1', port))\n",
" if result == 0:\n",
" break\n",
" sock.close()\n",
" from google.colab import output\n",
" output.serve_kernel_port_as_iframe(port, height=1024)\n",
" print(\"to open it in a window you can open this link here:\")\n",
" output.serve_kernel_port_as_window(port)\n",
"\n",
"threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()\n",
"\n",
"!python main.py --dont-print-server"
]
}
],
"metadata": {
"accelerator": "GPU",
"colab": {
"provenance": []
},
"gpuClass": "standard",
"kernelspec": {
"display_name": "Python 3",
"name": "python3"
},
"language_info": {
"name": "python"
}
}, },
{ "nbformat": 4,
"cell_type": "code", "nbformat_minor": 0
"execution_count": null,
"metadata": {
"id": "bbbbbbbbbb"
},
"outputs": [],
"source": [
"# #@title Environment Setup\n",
"\n",
"from pathlib import Path\n",
"\n",
"OPTIONS = {}\n",
"\n",
"USE_GOOGLE_DRIVE = True #@param {type:\"boolean\"}\n",
"UPDATE_COMFY_UI = True #@param {type:\"boolean\"}\n",
"USE_COMFYUI_MANAGER = True #@param {type:\"boolean\"}\n",
"INSTALL_CUSTOM_NODES_DEPENDENCIES = True #@param {type:\"boolean\"}\n",
"OPTIONS['USE_GOOGLE_DRIVE'] = USE_GOOGLE_DRIVE\n",
"OPTIONS['UPDATE_COMFY_UI'] = UPDATE_COMFY_UI\n",
"OPTIONS['USE_COMFYUI_MANAGER'] = USE_COMFYUI_MANAGER\n",
"OPTIONS['INSTALL_CUSTOM_NODES_DEPENDENCIES'] = INSTALL_CUSTOM_NODES_DEPENDENCIES\n",
"\n",
"current_dir = !pwd\n",
"WORKSPACE = f\"{current_dir[0]}/ComfyUI\"\n",
"\n",
"if OPTIONS['USE_GOOGLE_DRIVE']:\n",
" !echo \"Mounting Google Drive...\"\n",
" %cd /\n",
"\n",
" from google.colab import drive\n",
" drive.mount('/content/drive')\n",
"\n",
" WORKSPACE = \"/content/drive/MyDrive/ComfyUI\"\n",
" %cd /content/drive/MyDrive\n",
"\n",
"![ ! -d $WORKSPACE ] && echo -= Initial setup ComfyUI =- && git clone https://github.com/comfyanonymous/ComfyUI\n",
"%cd $WORKSPACE\n",
"\n",
"if OPTIONS['UPDATE_COMFY_UI']:\n",
" !echo -= Updating ComfyUI =-\n",
"\n",
" # Correction of the issue of permissions being deleted on Google Drive.\n",
" ![ -f \".ci/nightly/update_windows/update_comfyui_and_python_dependencies.bat\" ] && chmod 755 .ci/nightly/update_windows/update_comfyui_and_python_dependencies.bat\n",
" ![ -f \".ci/nightly/windows_base_files/run_nvidia_gpu.bat\" ] && chmod 755 .ci/nightly/windows_base_files/run_nvidia_gpu.bat\n",
" ![ -f \".ci/update_windows/update_comfyui_and_python_dependencies.bat\" ] && chmod 755 .ci/update_windows/update_comfyui_and_python_dependencies.bat\n",
" ![ -f \".ci/update_windows_cu118/update_comfyui_and_python_dependencies.bat\" ] && chmod 755 .ci/update_windows_cu118/update_comfyui_and_python_dependencies.bat\n",
" ![ -f \".ci/update_windows/update.py\" ] && chmod 755 .ci/update_windows/update.py\n",
" ![ -f \".ci/update_windows/update_comfyui.bat\" ] && chmod 755 .ci/update_windows/update_comfyui.bat\n",
" ![ -f \".ci/update_windows/README_VERY_IMPORTANT.txt\" ] && chmod 755 .ci/update_windows/README_VERY_IMPORTANT.txt\n",
" ![ -f \".ci/update_windows/run_cpu.bat\" ] && chmod 755 .ci/update_windows/run_cpu.bat\n",
" ![ -f \".ci/update_windows/run_nvidia_gpu.bat\" ] && chmod 755 .ci/update_windows/run_nvidia_gpu.bat\n",
"\n",
" !git pull\n",
"\n",
"!echo -= Install dependencies =-\n",
"!pip3 install accelerate\n",
"!pip3 install einops transformers>=4.28.1 safetensors>=0.4.2 aiohttp pyyaml Pillow scipy tqdm psutil tokenizers>=0.13.3\n",
"!pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121\n",
"!pip3 install torchsde\n",
"!pip3 install kornia>=0.7.1 spandrel soundfile sentencepiece\n",
"\n",
"if OPTIONS['USE_COMFYUI_MANAGER']:\n",
" %cd custom_nodes\n",
"\n",
" # Correction of the issue of permissions being deleted on Google Drive.\n",
" ![ -f \"ComfyUI-Manager/check.sh\" ] && chmod 755 ComfyUI-Manager/check.sh\n",
" ![ -f \"ComfyUI-Manager/scan.sh\" ] && chmod 755 ComfyUI-Manager/scan.sh\n",
" ![ -f \"ComfyUI-Manager/node_db/dev/scan.sh\" ] && chmod 755 ComfyUI-Manager/node_db/dev/scan.sh\n",
" ![ -f \"ComfyUI-Manager/node_db/tutorial/scan.sh\" ] && chmod 755 ComfyUI-Manager/node_db/tutorial/scan.sh\n",
" ![ -f \"ComfyUI-Manager/scripts/install-comfyui-venv-linux.sh\" ] && chmod 755 ComfyUI-Manager/scripts/install-comfyui-venv-linux.sh\n",
" ![ -f \"ComfyUI-Manager/scripts/install-comfyui-venv-win.bat\" ] && chmod 755 ComfyUI-Manager/scripts/install-comfyui-venv-win.bat\n",
"\n",
" ![ ! -d ComfyUI-Manager ] && echo -= Initial setup ComfyUI-Manager =- && git clone https://github.com/ltdrdata/ComfyUI-Manager\n",
" %cd ComfyUI-Manager\n",
" !git pull\n",
"\n",
"%cd $WORKSPACE\n",
"\n",
"if OPTIONS['INSTALL_CUSTOM_NODES_DEPENDENCIES']:\n",
" !echo -= Install custom nodes dependencies =-\n",
" !pip install GitPython\n",
" !python custom_nodes/ComfyUI-Manager/cm-cli.py restore-dependencies\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "cccccccccc"
},
"source": [
"Download some models/checkpoints/vae or custom comfyui nodes (uncomment the commands for the ones you want)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "dddddddddd"
},
"outputs": [],
"source": [
"# Checkpoints\n",
"\n",
"### SDXL\n",
"### I recommend these workflow examples: https://comfyanonymous.github.io/ComfyUI_examples/sdxl/\n",
"\n",
"#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/\n",
"#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/\n",
"\n",
"# SDXL ReVision\n",
"#!wget -c https://huggingface.co/comfyanonymous/clip_vision_g/resolve/main/clip_vision_g.safetensors -P ./models/clip_vision/\n",
"\n",
"# SD1.5\n",
"!wget -c https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt -P ./models/checkpoints/\n",
"\n",
"# SD2\n",
"#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.safetensors -P ./models/checkpoints/\n",
"#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1/resolve/main/v2-1_768-ema-pruned.safetensors -P ./models/checkpoints/\n",
"\n",
"# Some SD1.5 anime style\n",
"#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix2/AbyssOrangeMix2_hard.safetensors -P ./models/checkpoints/\n",
"#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix3/AOM3A1_orangemixs.safetensors -P ./models/checkpoints/\n",
"#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix3/AOM3A3_orangemixs.safetensors -P ./models/checkpoints/\n",
"#!wget -c https://huggingface.co/Linaqruf/anything-v3.0/resolve/main/anything-v3-fp16-pruned.safetensors -P ./models/checkpoints/\n",
"\n",
"# Waifu Diffusion 1.5 (anime style SD2.x 768-v)\n",
"#!wget -c https://huggingface.co/waifu-diffusion/wd-1-5-beta3/resolve/main/wd-illusion-fp16.safetensors -P ./models/checkpoints/\n",
"\n",
"\n",
"# unCLIP models\n",
"#!wget -c https://huggingface.co/comfyanonymous/illuminatiDiffusionV1_v11_unCLIP/resolve/main/illuminatiDiffusionV1_v11-unclip-h-fp16.safetensors -P ./models/checkpoints/\n",
"#!wget -c https://huggingface.co/comfyanonymous/wd-1.5-beta2_unCLIP/resolve/main/wd-1-5-beta2-aesthetic-unclip-h-fp16.safetensors -P ./models/checkpoints/\n",
"\n",
"\n",
"# VAE\n",
"!wget -c https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors -P ./models/vae/\n",
"#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/VAEs/orangemix.vae.pt -P ./models/vae/\n",
"#!wget -c https://huggingface.co/hakurei/waifu-diffusion-v1-4/resolve/main/vae/kl-f8-anime2.ckpt -P ./models/vae/\n",
"\n",
"\n",
"# Loras\n",
"#!wget -c https://civitai.com/api/download/models/10350 -O ./models/loras/theovercomer8sContrastFix_sd21768.safetensors #theovercomer8sContrastFix SD2.x 768-v\n",
"#!wget -c https://civitai.com/api/download/models/10638 -O ./models/loras/theovercomer8sContrastFix_sd15.safetensors #theovercomer8sContrastFix SD1.x\n",
"#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_offset_example-lora_1.0.safetensors -P ./models/loras/ #SDXL offset noise lora\n",
"\n",
"\n",
"# T2I-Adapter\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_depth_sd14v1.pth -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_seg_sd14v1.pth -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_sketch_sd14v1.pth -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_keypose_sd14v1.pth -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_openpose_sd14v1.pth -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_color_sd14v1.pth -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_canny_sd14v1.pth -P ./models/controlnet/\n",
"\n",
"# T2I Styles Model\n",
"#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_style_sd14v1.pth -P ./models/style_models/\n",
"\n",
"# CLIPVision model (needed for styles model)\n",
"#!wget -c https://huggingface.co/openai/clip-vit-large-patch14/resolve/main/pytorch_model.bin -O ./models/clip_vision/clip_vit14.bin\n",
"\n",
"\n",
"# ControlNet\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11e_sd15_ip2p_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11e_sd15_shuffle_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_canny_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11f1p_sd15_depth_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_inpaint_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_lineart_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_mlsd_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_normalbae_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_openpose_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_scribble_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_seg_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_softedge_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15s2_lineart_anime_fp16.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11u_sd15_tile_fp16.safetensors -P ./models/controlnet/\n",
"\n",
"# ControlNet SDXL\n",
"#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-canny-rank256.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-depth-rank256.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-recolor-rank256.safetensors -P ./models/controlnet/\n",
"#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-sketch-rank256.safetensors -P ./models/controlnet/\n",
"\n",
"# Controlnet Preprocessor nodes by Fannovel16\n",
"#!cd custom_nodes && git clone https://github.com/Fannovel16/comfy_controlnet_preprocessors; cd comfy_controlnet_preprocessors && python install.py\n",
"\n",
"\n",
"# GLIGEN\n",
"#!wget -c https://huggingface.co/comfyanonymous/GLIGEN_pruned_safetensors/resolve/main/gligen_sd14_textbox_pruned_fp16.safetensors -P ./models/gligen/\n",
"\n",
"\n",
"# ESRGAN upscale model\n",
"#!wget -c https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P ./models/upscale_models/\n",
"#!wget -c https://huggingface.co/sberbank-ai/Real-ESRGAN/resolve/main/RealESRGAN_x2.pth -P ./models/upscale_models/\n",
"#!wget -c https://huggingface.co/sberbank-ai/Real-ESRGAN/resolve/main/RealESRGAN_x4.pth -P ./models/upscale_models/\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "kkkkkkkkkkkkkkk"
},
"source": [
"### Run ComfyUI with cloudflared (Recommended Way)\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "jjjjjjjjjjjjjj"
},
"outputs": [],
"source": [
"!wget -P ~ https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb\n",
"!dpkg -i ~/cloudflared-linux-amd64.deb\n",
"\n",
"import subprocess\n",
"import threading\n",
"import time\n",
"import socket\n",
"import urllib.request\n",
"\n",
"def iframe_thread(port):\n",
" while True:\n",
" time.sleep(0.5)\n",
" sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n",
" result = sock.connect_ex(('127.0.0.1', port))\n",
" if result == 0:\n",
" break\n",
" sock.close()\n",
" print(\"\\nComfyUI finished loading, trying to launch cloudflared (if it gets stuck here cloudflared is having issues)\\n\")\n",
"\n",
" p = subprocess.Popen([\"cloudflared\", \"tunnel\", \"--url\", \"http://127.0.0.1:{}\".format(port)], stdout=subprocess.PIPE, stderr=subprocess.PIPE)\n",
" for line in p.stderr:\n",
" l = line.decode()\n",
" if \"trycloudflare.com \" in l:\n",
" print(\"This is the URL to access ComfyUI:\", l[l.find(\"http\"):], end='')\n",
" #print(l, end='')\n",
"\n",
"\n",
"threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()\n",
"\n",
"!python main.py --dont-print-server"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "kkkkkkkkkkkkkk"
},
"source": [
"### Run ComfyUI with localtunnel\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "jjjjjjjjjjjjj"
},
"outputs": [],
"source": [
"!npm install -g localtunnel\n",
"\n",
"import subprocess\n",
"import threading\n",
"import time\n",
"import socket\n",
"import urllib.request\n",
"\n",
"def iframe_thread(port):\n",
" while True:\n",
" time.sleep(0.5)\n",
" sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n",
" result = sock.connect_ex(('127.0.0.1', port))\n",
" if result == 0:\n",
" break\n",
" sock.close()\n",
" print(\"\\nComfyUI finished loading, trying to launch localtunnel (if it gets stuck here localtunnel is having issues)\\n\")\n",
"\n",
" print(\"The password/enpoint ip for localtunnel is:\", urllib.request.urlopen('https://ipv4.icanhazip.com').read().decode('utf8').strip(\"\\n\"))\n",
" p = subprocess.Popen([\"lt\", \"--port\", \"{}\".format(port)], stdout=subprocess.PIPE)\n",
" for line in p.stdout:\n",
" print(line.decode(), end='')\n",
"\n",
"\n",
"threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()\n",
"\n",
"!python main.py --dont-print-server"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "gggggggggg"
},
"source": [
"### Run ComfyUI with colab iframe (use only in case the previous way with localtunnel doesn't work)\n",
"\n",
"You should see the ui appear in an iframe. If you get a 403 error, it's your firefox settings or an extension that's messing things up.\n",
"\n",
"If you want to open it in another window use the link.\n",
"\n",
"Note that some UI features like live image previews won't work because the colab iframe blocks websockets."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "hhhhhhhhhh"
},
"outputs": [],
"source": [
"import threading\n",
"import time\n",
"import socket\n",
"def iframe_thread(port):\n",
" while True:\n",
" time.sleep(0.5)\n",
" sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n",
" result = sock.connect_ex(('127.0.0.1', port))\n",
" if result == 0:\n",
" break\n",
" sock.close()\n",
" from google.colab import output\n",
" output.serve_kernel_port_as_iframe(port, height=1024)\n",
" print(\"to open it in a window you can open this link here:\")\n",
" output.serve_kernel_port_as_window(port)\n",
"\n",
"threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()\n",
"\n",
"!python main.py --dont-print-server"
]
}
],
"metadata": {
"accelerator": "GPU",
"colab": {
"provenance": []
},
"gpuClass": "standard",
"kernelspec": {
"display_name": "Python 3",
"name": "python3"
},
"language_info": {
"name": "python"
}
},
"nbformat": 4,
"nbformat_minor": 0
} }

View File

@@ -84,7 +84,6 @@ if os.path.exists(pip_overrides_path):
with open(pip_overrides_path, 'r', encoding="UTF-8", errors="ignore") as json_file: with open(pip_overrides_path, 'r', encoding="UTF-8", errors="ignore") as json_file:
cm_global.pip_overrides = json.load(json_file) cm_global.pip_overrides = json.load(json_file)
cm_global.pip_overrides['numpy'] = 'numpy<2' cm_global.pip_overrides['numpy'] = 'numpy<2'
cm_global.pip_overrides['ultralytics'] = 'ultralytics==8.3.40' # for security
def remap_pip_package(pkg): def remap_pip_package(pkg):

View File

@@ -1,7 +1,7 @@
[project] [project]
name = "comfyui-manager" 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." description = "ComfyUI-Manager provides features to install and manage custom nodes for ComfyUI, as well as various functionalities to assist with ComfyUI."
version = "2.55.3" version = "2.53"
license = { file = "LICENSE.txt" } license = { file = "LICENSE.txt" }
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"] dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"]

View File

@@ -1,3 +1,4 @@
pygit2
GitPython GitPython
PyGithub PyGithub
matrix-client==0.4.0 matrix-client==0.4.0

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
rm ~/.tmp/default/*.py > /dev/null 2>&1 rm ~/.tmp/default/*.py > /dev/null 2>&1
python scanner.py ~/.tmp/default $* python -m scanner ~/.tmp/default $*
cp extension-node-map.json node_db/new/. cp extension-node-map.json node_db/new/.
echo "Integrity check" echo "Integrity check"

View File

@@ -2,7 +2,8 @@ import ast
import re import re
import os import os
import json import json
from git import Repo import sys
from glob import git_wrapper
import concurrent import concurrent
import datetime import datetime
import concurrent.futures import concurrent.futures
@@ -243,25 +244,27 @@ def get_py_urls_from_json(json_file):
return py_files return py_files
import traceback
def clone_or_pull_git_repository(git_url): def clone_or_pull_git_repository(git_url):
repo_name = git_url.split("/")[-1].split(".")[0] repo_name = git_url.split("/")[-1].split(".")[0]
repo_dir = os.path.join(temp_dir, repo_name) repo_dir = os.path.join(temp_dir, repo_name)
if os.path.exists(repo_dir): if os.path.exists(repo_dir):
try: try:
repo = Repo(repo_dir) repo = git_wrapper.Repo(repo_dir)
origin = repo.remote(name="origin") origin = repo.remote(name="origin")
origin.pull() origin.pull()
repo.git.submodule('update', '--init', '--recursive') repo.update_recursive()
print(f"Pulling {repo_name}...") print(f"Pulling {repo_name}...")
except Exception as e: except Exception as e:
traceback.print_exc()
print(f"Pulling {repo_name} failed: {e}") print(f"Pulling {repo_name} failed: {e}")
else: else:
try: try:
Repo.clone_from(git_url, repo_dir, recursive=True) git_wrapper.clone_from(git_url, repo_dir, recursive=True)
print(f"Cloning {repo_name}...") print(f"Cloning {repo_name}...")
except Exception as e: except Exception as e:
traceback.print_exc()
print(f"Cloning {repo_name} failed: {e}") print(f"Cloning {repo_name} failed: {e}")