Compare commits

..

40 Commits
2.52 ... 2.55.3

Author SHA1 Message Date
Dr.Lt.Data
5a61000daa pip_overrides ultralytics to 8.3.40 2024-12-06 04:46:14 +09:00
Dr.Lt.Data
8d1fd75c6c update security scanner 2024-12-06 04:36:42 +09:00
Dr.Lt.Data
e6b46ebccf fix: invalid model download path for custom node's model
https://github.com/ltdrdata/ComfyUI-Manager/issues/1294
2024-12-06 04:25:01 +09:00
Dr.Lt.Data
621ca13906 update security scanner 2024-12-05 19:25:15 +09:00
Dr.Lt.Data
22e64af6b5 update DB 2024-12-04 05:35:00 +09:00
Dr.Lt.Data
ed0acd6c23 update DB 2024-12-03 01:39:44 +09:00
ClownsharkBatwing
7050a1f8f8 Update custom-node-list.json (#1288) 2024-12-03 01:34:56 +09:00
Dr.Lt.Data
06982a1b68 update DB 2024-12-03 01:26:47 +09:00
Steudio
f7ff3d1021 Update custom-node-list.json (#1289) 2024-12-03 01:23:32 +09:00
Dr.Lt.Data
8593a7206b FIXED: robust ComfyUI path recognition
FIXED: robust import even if prestartup is failed
IMPROVE: show version tag of ComfyUI instead of revision
2024-12-03 01:19:04 +09:00
Dr.Lt.Data
a7af3c1bd4 update DB 2024-12-03 00:14:38 +09:00
Dr.Lt.Data
55218a0629 update DB 2024-12-01 22:33:03 +09:00
Jiwoo Jeong
9cf23d920b request to add new custom node (#1286)
ComfyUI_Eugene_Nodes
2024-12-01 22:30:03 +09:00
Dr.Lt.Data
ecbb9b705f update DB 2024-12-01 22:20:50 +09:00
Dr.Lt.Data
36c34ff40e update DB 2024-12-01 12:48:34 +09:00
Dr.Lt.Data
61311f9b03 update DB 2024-12-01 12:39:58 +09:00
Phạm Hưng
5c03e5453a Update SDVN Comfy Node to custom-node-list.json (#1285)
Update SDVN Comfy Node (https://github.com/StableDiffusionVN/SDVN_Comfy_node) to custom-node-list.json
2024-12-01 12:38:08 +09:00
Dr.Lt.Data
1207e1a848 update DB 2024-12-01 01:50:07 +09:00
Harry
d8c156258b Add Catvtonflux wrapper nodes (#1284)
* add ComfyUI-CatvtonFluxWrapper

* add catvton-flux wrapper
2024-12-01 01:34:36 +09:00
_its.just.regi_
972c2d64a8 Update custom-node-list.json (#1283)
Add ComyUI Easy Pony custom node to custom node list
2024-12-01 01:33:34 +09:00
Dr.Lt.Data
9e44617199 feat: Support customization of the model download path via extra_model_paths.yaml.
example
```
some_extra_path:
   base_path: /path/to/base
   download_model_base: models
   checkpoints: models/checkpoints
   text_encoders: models/text_encoders
   vae: models/vae
   loras: models/loras
   controlnet: models/controlnet
   clip_vision: models/clip_vision
   gligen: models/gligen
   upscale_models: models/upscale_models
   embeddings: models/embeddings
   diffusion_models: models/diffusion_models
   custom_nodes: custom_nodes
   is_default: True
```
2024-11-30 19:52:32 +09:00
Dr.Lt.Data
8aa4fcf448 update DB 2024-11-29 21:15:11 +09:00
Dr.Lt.Data
39e62cd800 update DB 2024-11-29 20:56:55 +09:00
Yuan-Man
d8c5a42777 Add ComfyUI-LLaMA-Mesh node (#1282) 2024-11-29 20:51:50 +09:00
Dr.Lt.Data
0a19924b36 update DB 2024-11-29 20:51:18 +09:00
lo-th
665fd72480 add three_js_nodes (#1281) 2024-11-29 20:50:23 +09:00
Dr.Lt.Data
76b073c366 feat: support extra_model_paths.yaml - custom_nodes 2024-11-29 02:43:02 +09:00
Dr.Lt.Data
fa357479ef update DB 2024-11-29 01:43:36 +09:00
lin pusheng
19a9c24485 feat: add ComfyUI MiaoShua Creator (#1278)
* feat: add  ComfyUI MiaoShua Creator

* Update custom-node-list.json

---------

Co-authored-by: linpusheng <linpusheng@meituan.com>
Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2024-11-29 01:20:21 +09:00
Dr.Lt.Data
05ecca1f4d update DB 2024-11-27 22:12:36 +09:00
Yuan-Man
58847298be Add ComfyUI-SoundHub node (#1276) 2024-11-27 21:58:09 +09:00
Dr.Lt.Data
a9f8cecaec remove flowt.ai from workflow gallery.
https://github.com/ltdrdata/ComfyUI-Manager/issues/1275
2024-11-27 02:35:47 +09:00
Dr.Lt.Data
441b4d2797 update DB 2024-11-27 02:34:17 +09:00
Dr.Lt.Data
1808bc3027 update DB 2024-11-27 02:05:09 +09:00
周公不解梦
d4db1a51d2 Add CNtranslator Node for Chinese user. (#1268) 2024-11-27 02:04:27 +09:00
Dr.Lt.Data
f06ac47557 update DB 2024-11-27 02:04:14 +09:00
Lasse Lauwerys
d8fb8ce606 Add better touchpad gestures module (#1269)
* Added touchscreen support module

* Added touchpad support module
2024-11-27 02:02:39 +09:00
exec
26b7816552 Add exectails custom nodes (#1272)
* Added exectails custom nodes to list

* Update custom-node-list.json

remove comfyui-et_scripting

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2024-11-27 01:58:41 +09:00
Dr.Lt.Data
8576f9c97f update DB 2024-11-26 00:37:47 +09:00
Dương Quang Tùng
c4eecca6b6 add joy-caption-alpha-two (#1267) 2024-11-25 23:45:46 +09:00
20 changed files with 6683 additions and 3946 deletions

View File

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

View File

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

View File

@@ -19,7 +19,7 @@
"files": [
"https://github.com/ltdrdata/ComfyUI-Impact-Pack"
],
"pip": ["ultralytics"],
"pip": ["ultralytics==8.3.40"],
"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.",
"preemptions":["SAMLoader"]
@@ -4059,7 +4059,7 @@
{
"author": "toyxyz",
"title": "ComfyUI_toyxyz_test_nodes",
"id": "toyxyz",
"id": "comfyui_toyxyz_test_nodes",
"reference": "https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes",
"files": [
"https://github.com/toyxyz/ComfyUI_toyxyz_test_nodes"
@@ -4067,6 +4067,16 @@
"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."
},
{
"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",
"title": "ComfyUI Stable Video Diffusion",
@@ -5210,6 +5220,28 @@
"install_type": "git-clone",
"description": "Provides some features and nodes related to API calls."
},
{
"author": "lldacing",
"title": "ComfyUI_StableDelight_ll",
"id": "comfyui_stabledelight_ll",
"reference": "https://github.com/lldacing/ComfyUI_StableDelight_ll",
"files": [
"https://github.com/lldacing/ComfyUI_StableDelight_ll"
],
"install_type": "git-clone",
"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",
"title": "Primere nodes for ComfyUI",
@@ -7205,6 +7237,16 @@
"install_type": "git-clone",
"description": "A custom node that provides enhanced control over style transfer balance when using FLUX style models in ComfyUI. This node offers better control over the influence of text prompts versus style reference images."
},
{
"author": "ShmuelRonen",
"title": "ComfyUI Pixtral Large Extension",
"reference": "https://github.com/ShmuelRonen/ComfyUI_pixtral_large",
"files": [
"https://github.com/ShmuelRonen/ComfyUI_pixtral_large"
],
"install_type": "git-clone",
"description": "A ComfyUI custom node that integrates Mistral AI's Pixtral Large vision model, enabling powerful multimodal AI capabilities within ComfyUI. Pixtral Large is a 124B parameter model (123B decoder + 1B vision encoder) that can analyze up to 30 high-resolution images simultaneously."
},
{
"author": "redhottensors",
"title": "ComfyUI-Prediction",
@@ -8613,16 +8655,6 @@
"install_type": "git-clone",
"description": "Unofficial implementation of [a/MiniCPM-V](https://github.com/OpenBMB/MiniCPM-V) for ComfyUI"
},
{
"author": "hay86",
"title": "ComfyUI AceNodes",
"reference": "https://github.com/hay86/ComfyUI_AceNodes",
"files": [
"https://github.com/hay86/ComfyUI_AceNodes"
],
"install_type": "git-clone",
"description": "Some useful custom nodes that are not included in ComfyUI core yet."
},
{
"author": "shinich39",
"title": "comfyui-load-image-in-seq",
@@ -10003,14 +10035,14 @@
},
{
"author": "pamparamm",
"title": "Perturbed-Attention Guidance",
"title": "sd-perturbed-attention",
"id": "pag",
"reference": "https://github.com/pamparamm/sd-perturbed-attention",
"files": [
"https://github.com/pamparamm/sd-perturbed-attention"
],
"install_type": "git-clone",
"description": "Perturbed-Attention Guidance with advanced parameters for ComfyUI. (PAG)"
"description": "Perturbed-Attention Guidance, Smoothed Energy Guidance and Sliding Window Guidance for ComfyUI and SD Forge/reForge. (PAG)"
},
{
"author": "pamparamm",
@@ -11660,14 +11692,13 @@
},
{
"author": "PnthrLeo",
"title": "comfyUI-image-search",
"id": "image-search",
"title": "comfyUI-PL-data-tools",
"reference": "https://github.com/PnthrLeo/comfyUI-image-search",
"files": [
"https://github.com/PnthrLeo/comfyUI-image-search"
],
"install_type": "git-clone",
"description": "Nodes:Close Images Searcher"
"description": "Nodes:Close Images Searcher, Areas Generator,Batch Image Getter"
},
{
"author": "l20richo",
@@ -12942,7 +12973,7 @@
"https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils"
],
"install_type": "git-clone",
"description": "NODES: Add Mask For IC Lora"
"description": "NODES: Add Mask For IC Lora, Create Context Window, Concatenate Context Window, Auto Patch"
},
{
"author": "lrzjason",
@@ -13303,6 +13334,17 @@
"install_type": "git-clone",
"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",
"title": "ComfyUI-AdvancedTiling",
@@ -14444,6 +14486,16 @@
"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": "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",
"title": "Compositor Node",
@@ -14456,13 +14508,14 @@
},
{
"author": "Steudio",
"title": "ComfyUI_Steudio",
"title": "ComfyUI Steudio",
"id": "Steudio",
"reference": "https://github.com/Steudio/ComfyUI_Steudio",
"files": [
"https://github.com/Steudio/ComfyUI_Steudio"
],
"install_type": "git-clone",
"description": "Nodes: Make_Tile_Calc, Make_Tiles, Unmake_Tiles, Make_Size, Make_Size_Latent"
"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."
},
{
"author": "Assistant",
@@ -15049,16 +15102,6 @@
"install_type": "git-clone",
"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",
"title": "ComfyUI_Auto_Caption",
@@ -15195,7 +15238,7 @@
"https://github.com/revirevy/Comfyui_saveimage_imgbb"
],
"install_type": "git-clone",
"description": "This custom node allow upscaling an image by a factor using a model."
"description": "This custom node allow you to upload result images to imgbb."
},
{
"author": "Kinglord",
@@ -16039,7 +16082,7 @@
"https://github.com/sousakujikken/ComfyUI-PixydustQuantizer"
],
"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."
"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."
},
{
"author": "hoveychen",
@@ -16137,6 +16180,16 @@
"install_type": "git-clone",
"description": "A custom node for ComfyUI that allows you to create iPhone-compatible Live Photos from videos. This node can convert video sequences into Live Photo format, with the ability to select key frames and customize the output."
},
{
"author": "stormcenter",
"title": "ComfyUI-SVGFullfill",
"reference": "https://github.com/stormcenter/ComfyUI-SVGFullfill",
"files": [
"https://github.com/stormcenter/ComfyUI-SVGFullfill"
],
"install_type": "git-clone",
"description": "ComfyUI-SVGFullfill is a custom node for ComfyUI that handles SVG file processing. Key features: - SVG file upload and preview - Replace images (up to 3) and text elements (up to 10) in SVG - Chinese font support - Real-time canvas preview - PNG export"
},
{
"author": "AkashKarnatak",
"title": "ComfyUI_faishme",
@@ -16374,16 +16427,6 @@
"install_type": "git-clone",
"description": "A custom node extension for ComfyUI that enables conversion between NovelAI and ComfyUI prompt formats, along with extraction of NovelAI metadata from PNG images."
},
{
"author": "zmwv823",
"title": "ComfyUI_Ctrlora",
"reference": "https://github.com/zmwv823/ComfyUI_Ctrlora",
"files": [
"https://github.com/zmwv823/ComfyUI_Ctrlora"
],
"install_type": "git-clone",
"description": "Unofficial custom_node for [a/xyfJASON/ctrlora](https://github.com/xyfJASON/ctrlora)."
},
{
"author": "Wakfull33",
"title": "ComfyUI-SaveImageCivitAI",
@@ -16446,17 +16489,6 @@
"install_type": "git-clone",
"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",
"title": "ComfyUI-ASV-Nodes Node",
@@ -16790,6 +16822,16 @@
"install_type": "git-clone",
"description": "A node suite for downloading audio and video from youtube as we all sevral useful video utilits such as a final frame selector and a node that merges two videos into one."
},
{
"author": "DoctorDiffusion",
"title": "ComfyUI-SnakeOil",
"reference": "https://github.com/DoctorDiffusion/ComfyUI-SnakeOil",
"files": [
"https://github.com/DoctorDiffusion/ComfyUI-SnakeOil"
],
"install_type": "git-clone",
"description": "Use [a/Doctor Diffusion's snake oil nLoRAs](https://civitai.com/models/987843) as well as [a/other negative LoRAs](https://civitai.com/models/186617/doctor-diffusions-negative-xl-lora) easily within ComfyUI."
},
{
"author": "robtl2",
"title": "ComfyUI-ComfyBridge",
@@ -16963,6 +17005,16 @@
"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": "duhaifeng",
"title": "ComfyUI-Flux-Inpainting",
"reference": "https://github.com/rubi-du/ComfyUI-Flux-Inpainting",
"files": [
"https://github.com/rubi-du/ComfyUI-Flux-Inpainting"
],
"install_type": "git-clone",
"description": "This node wraps the flux fill model as ComfyUI nodes. Use NF4 flux fill model, support for inpainting and outpainting image. Compared to the flux fill dev model, these nodes can use the flux fill model to perform inpainting and outpainting work under lower VRM conditions."
},
{
"author": "vkff5833",
"title": "ComfyUI-PromptConverter",
@@ -16983,6 +17035,16 @@
"install_type": "git-clone",
"description": "NODES:Canvas View"
},
{
"author": "tanglup",
"title": "Comfyui_Flux_Style_Adjust",
"reference": "https://github.com/tanglup/Comfyui_Flux_Style_Adjust",
"files": [
"https://github.com/tanglup/Comfyui_Flux_Style_Adjust"
],
"install_type": "git-clone",
"description": "StyleModelApply adds more controls"
},
{
"author": "Makki_Shizu",
"title": "ComfyUI-SaveAnimatedGIF",
@@ -17006,14 +17068,15 @@
"description": "A modulation layer addon for Flux that reduces model size to 8.8B parameters without significant quality loss."
},
{
"author": "lo-th",
"author": "lth",
"title": "Comfyui_three_js",
"id": "lth",
"reference": "https://github.com/lo-th/Comfyui_three_js",
"files": [
"https://github.com/lo-th/Comfyui_three_js"
],
"install_type": "git-clone",
"description": "Custom node for ComfyUI to run three js"
"description": "Use power of three.js in 3d view on comfyui."
},
{
"author": "AIPOQUE",
@@ -17078,6 +17141,17 @@
"install_type": "git-clone",
"description": "The face restore node for ComfyUI, based on RestoreFormer"
},
{
"author": "tungdop2",
"title": "Joy Caption Alpha Two for ComfyUI",
"id": "joy-captioner-alpha-two",
"reference": "https://github.com/tungdop2/Comfyui_joy-caption-alpha-two",
"files": [
"https://github.com/tungdop2/Comfyui_joy-caption-alpha-two"
],
"install_type": "git-clone",
"description": "The Joy Caption Alpha Two node for ComfyUI, based on https://huggingface.co/spaces/fancyfeast/joy-caption-alpha-two"
},
{
"author": "pschroedl",
"title": "ComfyUI-SAM2-Realtime",
@@ -17100,13 +17174,13 @@
},
{
"author": "iamandeepsandhu",
"title": "ComfyUI-NSFW-Check",
"title": "NSFW Check for ComfyUI",
"reference": "https://github.com/iamandeepsandhu/ComfyUI-NSFW-Check",
"files": [
"https://github.com/iamandeepsandhu/ComfyUI-NSFW-Check"
],
"install_type": "git-clone",
"description": "his project is designed to detect whether images generated by ComfyUI are Not Safe For Work (NSFW). It uses a machine learning model to classify images as either safe or not safe for work and returns a confidence score for the NSFW classification."
"description": "This project is designed to detect whether images generated by ComfyUI are Not Safe For Work (NSFW). It uses a machine learning model to classify images as either safe or not safe for work and returns a confidence score for the NSFW classification."
},
{
"author": "Black-Lioness",
@@ -17128,6 +17202,16 @@
"install_type": "git-clone",
"description": "A node for ComfyUI that modifies the values in the samples input that fall outside of a min and max range using a multiplier."
},
{
"author": "SparknightLLC",
"title": "ComfyUI-MaskArbiter",
"reference": "https://github.com/SparknightLLC/ComfyUI-MaskArbiter",
"files": [
"https://github.com/SparknightLLC/ComfyUI-MaskArbiter"
],
"install_type": "git-clone",
"description": "A node for ComfyUI that takes a list of masks and returns a single mask based on your criteria. For example, it can be used to mask the leftmost subject in an image containing more than one subject of the same class. The workflow below demonstrates the difference between Mask Arbiter (top) and traditional Grounding DINO masking (bottom.)"
},
{
"author": "lightricks",
"title": "ComfyUI-LTXVideo",
@@ -17148,7 +17232,7 @@
"https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl"
],
"install_type": "git-clone",
"description": "This extension offers a new Apply-Style node for Reflux that allows for changing the influence of the conditioning image on the final outcome. This effectively allows for changing the style or content of an image using a prompt while using Reflux."
"description": "This extension offers a new Apply-Style node for Redux that allows for changing the influence of the conditioning image on the final outcome. This effectively allows for changing the style or content of an image using a prompt while using Redux."
},
{
"author": "ramesh-x90",
@@ -17160,6 +17244,308 @@
"install_type": "git-clone",
"description": "This repository provides custom nodes for ComfyUI designed to process audio files, performing speaker diarization and integrating speaker data into whisper-transcribed segments. These nodes utilize the PyAnnote library for speaker identification and pandas for efficient data handling."
},
{
"author": "wu12023",
"title": "ComfyUI-Image-Evaluation",
"reference": "https://github.com/wu12023/ComfyUI-Image-Evaluation",
"files": [
"https://github.com/wu12023/ComfyUI-Image-Evaluation"
],
"install_type": "git-clone",
"description": "An extension to ComfyUI that evaluates images using multiple models."
},
{
"author": "windfancy",
"title": "zsq_prompt",
"reference": "https://github.com/windfancy/zsq_prompt",
"files": [
"https://github.com/windfancy/zsq_prompt"
],
"install_type": "git-clone",
"description": "NODES: PromptStyler, PromptLatent, PromptCLIPEncode, PromptSelector"
},
{
"author": "c0ffymachyne",
"title": "Bytebeat Synthesizer: Composing with Operators",
"reference": "https://github.com/c0ffymachyne/ComfyUI_BeatByte",
"files": [
"https://github.com/c0ffymachyne/ComfyUI_BeatByte"
],
"install_type": "git-clone",
"description": "Bytebeat is like composing music with the tools of a programmers toolkit. Instead of piano keys, you have operators like >>, |, and &. Its like giving your CPU a guitar and letting it shred! 🤘"
},
{
"author": "exectails",
"title": "Info Utils",
"id": "et_infoutils",
"reference": "https://github.com/exectails/comfyui-et_infoutils",
"files": [
"https://github.com/exectails/comfyui-et_infoutils"
],
"install_type": "git-clone",
"description": "Nodes that facilitate simpler information providing and gathering, such as Text Box, Show Data and Token Counter nodes."
},
{
"author": "exectails",
"title": "String Utils",
"id": "et_stringutils",
"reference": "https://github.com/exectails/comfyui-et_stringutils",
"files": [
"https://github.com/exectails/comfyui-et_stringutils"
],
"install_type": "git-clone",
"description": "Nodes dedicated to the analysis and transformation of text strings, such as for formatting and conversions between types."
},
{
"author": "exectails",
"title": "Dynamic Prompts",
"id": "et_dynamicprompts",
"reference": "https://github.com/exectails/comfyui-et_dynamicprompts",
"files": [
"https://github.com/exectails/comfyui-et_dynamicprompts"
],
"install_type": "git-clone",
"description": "Nodes that implement functionality similar to the Dynamic Prompts extension for A1111."
},
{
"author": "Lasse Lauwerys",
"title": "Touchpad and trackpad gesture support",
"reference": "https://github.com/Iemand005/ComfyUI-Touchpad-Gestures",
"files": [
"https://github.com/Iemand005/ComfyUI-Touchpad-Gestures"
],
"install_type": "git-clone",
"description": "Implements proper touchpad zooming and panning into ComfyUI to make it more usable on laptops."
},
{
"author": "SleeeepyZhou",
"title": "CNtranslator",
"id": "cn-translator",
"reference": "https://github.com/SleeeepyZhou/ComfyUI-CNtranslator",
"files": [
"https://github.com/SleeeepyZhou/ComfyUI-CNtranslator"
],
"install_type": "git-clone",
"description": "A translation node for users in Chinese Mainland. (Because of the network firewall in Chinese Mainland, many translation APIs cannot be used normally.)"
},
{
"author": "flycarl",
"title": "ComfyUI-Pixelate",
"reference": "https://github.com/flycarl/ComfyUI-Pixelate",
"files": [
"https://github.com/flycarl/ComfyUI-Pixelate"
],
"install_type": "git-clone",
"description": "[a/sd-webui-pixelart](https://github.com/mrreplicart/sd-webui-pixelart) are referenced by many webui users, this node is mean to use it in ComfyUI."
},
{
"author": "Alvaroeai",
"title": "ComfyUI-Text2Json",
"reference": "https://github.com/Alvaroeai/ComfyUI-Text2Json",
"files": [
"https://github.com/Alvaroeai/ComfyUI-Text2Json"
],
"install_type": "git-clone",
"description": "This repository contains a custom node for ComfyUI that converts text into a JSON object. The node is designed to be user-friendly and supports multi-line JSON input."
},
{
"author": "dymokomi",
"title": "comfyui_dygen",
"reference": "https://github.com/dymokomi/comfyui_dygen",
"files": [
"https://github.com/dymokomi/comfyui_dygen"
],
"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"
},
{
"author": "bananasss00",
"title": "ComfyUI-flux_fill_patcher",
"reference": "https://github.com/bananasss00/ComfyUI-flux_fill_patcher",
"files": [
"https://github.com/bananasss00/ComfyUI-flux_fill_patcher"
],
"install_type": "git-clone",
"description": "flux patcher for Fill Flux.Dev lora [a/https://civitai.com/models/981615/fluxfill-inpaint-lora](https://civitai.com/models/981615/fluxfill-inpaint-lora)"
},
{
"author": "Yuan-ManX",
"title": "ComfyUI-SoundHub",
"reference": "https://github.com/Yuan-ManX/ComfyUI-SoundHub",
"files": [
"https://github.com/Yuan-ManX/ComfyUI-SoundHub"
],
"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."
},
{
"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",
"title": "ComfyUI_StarNodes",
"reference": "https://github.com/Starnodes2024/ComfyUI_StarNodes",
"files": [
"https://github.com/Starnodes2024/ComfyUI_StarNodes"
],
"install_type": "git-clone",
"description": "NODES: StarNode Input Image Chooser, SD(XL) Star(t) Settings, SD3.5 Star(t) Settings, Starnode Ollama Helper"
},
{
"author": "motivated3",
"title": "ComfyUI MiaoShua Creator",
"id": "comfyui-shua-creator",
"reference": "https://github.com/motivated3/comfyui-shua-creator",
"files": [
"https://github.com/motivated3/comfyui-shua-creator"
],
"install_type": "git-clone",
"description": "With the MiaoShua creator's end, you can use this plugin to upload debugged workflows for consumer end users to use."
},
{
"author": "takemetosiberia",
"title": "SAMURAI Nodes for ComfyUI",
"reference": "https://github.com/takemetosiberia/ComfyUI-SAMURAI--SAM2-",
"files": [
"https://github.com/takemetosiberia/ComfyUI-SAMURAI--SAM2-"
],
"install_type": "git-clone",
"description": "ComfyUI nodes for video object segmentation using [a/SAMURAI](https://github.com/yangchris11/samurai) model."
},
{
"author": "purpen",
"title": "AIRedoon",
"reference": "https://github.com/purpen/ComfyUI-AIRedoon",
"files": [
"https://github.com/purpen/ComfyUI-AIRedoon"
],
"install_type": "git-clone",
"description": "NODES:AIRedoon Translator, AIRedoon Image Caption.\nRedoonAi Tool Kit"
},
{
"author": "purpen",
"title": "ComfyUI-ImageTagger",
"reference": "https://github.com/purpen/ComfyUI-ImageTagger",
"files": [
"https://github.com/purpen/ComfyUI-ImageTagger"
],
"install_type": "git-clone",
"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."
},
@@ -17520,14 +17906,14 @@
"description": "This repository contains a custom node for ComfyUI that allows searching for a keyword in the first column of a CSV file and returning a value from a specified column in that row. The node is designed to be modular and fit within the node-based workflow of ComfyUI."
},
{
"author": "BobsBlazed",
"title": "Bobs_FLUX_SDXL_Latent_Optimizer",
"reference": "https://github.com/BobsBlazed/Bobs_FLUX_SDXL_Latent_Optimizer",
"author": "bobsblazed",
"title": "Bobs_Latent_Optimizer",
"reference": "https://github.com/BobsBlazed/Bobs_Latent_Optimizer",
"files": [
"https://raw.githubusercontent.com/BobsBlazed/Bobs_Latent_Optimizer/refs/heads/main/Bobs_Latent_Optimizer.py"
"https://github.com/BobsBlazed/Bobs_Latent_Optimizer/raw/refs/heads/main/Bobs_Latent_Optimizer.py"
],
"install_type": "copy",
"description": "This custom node for ComfyUI is designed to optimize latent generation for use with both FLUX and SDXL modes. It provides flexible control over aspect ratios, megapixel sizes, and upscale factors, allowing users to dynamically create latents that fit specific tiling and resolution needs."
"description": "This custom node for ComfyUI is designed to optimize latent generation for use with FLUX, SDXL and SD3. It provides flexible control over aspect ratios, megapixel sizes, and upscale factors, allowing users to dynamically create latents that fit specific tiling and resolution needs."
},
{
"author": "SimonHeese",
@@ -17540,6 +17926,17 @@
"install_type": "copy",
"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

File diff suppressed because it is too large Load Diff

View File

File diff suppressed because it is too large Load Diff

View File

@@ -23,16 +23,50 @@ sys.path.append(glob_path)
import cm_global
from manager_util import *
version = [2, 52]
version = [2, 55, 3]
version_str = f"V{version[0]}.{version[1]}" + (f'.{version[2]}' if len(version) > 2 else '')
comfyui_manager_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
custom_nodes_path = os.path.abspath(os.path.join(comfyui_manager_path, '..'))
default_custom_nodes_path = None
def get_default_custom_nodes_path():
global default_custom_nodes_path
if default_custom_nodes_path is None:
try:
import folder_paths
default_custom_nodes_path = folder_paths.get_folder_paths("custom_nodes")[0]
except:
default_custom_nodes_path = custom_nodes_path
return default_custom_nodes_path
def get_custom_nodes_paths():
try:
import folder_paths
return folder_paths.get_folder_paths("custom_nodes")
except:
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')
if comfy_path is None:
comfy_path = os.path.abspath(os.path.join(custom_nodes_path, '..'))
try:
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')
config_path = os.path.join(comfyui_manager_path, "config.ini")
@@ -340,7 +374,7 @@ def __win_check_git_update(path, do_fetch=False, do_update=False):
new_env = os.environ.copy()
new_env["COMFYUI_PATH"] = comfy_path
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=custom_nodes_path)
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=get_default_custom_nodes_path())
output, _ = process.communicate()
output = output.decode('utf-8').strip()
@@ -394,7 +428,7 @@ def __win_check_git_pull(path):
new_env = os.environ.copy()
new_env["COMFYUI_PATH"] = comfy_path
command = [sys.executable, git_script_path, "--pull", path]
process = subprocess.Popen(command, env=new_env, cwd=custom_nodes_path)
process = subprocess.Popen(command, env=new_env, cwd=get_default_custom_nodes_path())
process.wait()
@@ -562,11 +596,11 @@ def gitclone_install(files, instant_execution=False, msg_prefix=''):
try:
print(f"Download: git clone '{url}'")
repo_name = os.path.splitext(os.path.basename(url))[0]
repo_path = os.path.join(custom_nodes_path, repo_name)
repo_path = os.path.join(get_default_custom_nodes_path(), repo_name)
# Clone the repository from the remote URL
if not instant_execution and platform.system() == 'Windows':
res = manager_funcs.run_script([sys.executable, git_script_path, "--clone", custom_nodes_path, url], cwd=custom_nodes_path)
res = manager_funcs.run_script([sys.executable, git_script_path, "--clone", get_default_custom_nodes_path(), url], cwd=get_default_custom_nodes_path())
if res != 0:
return False
else:
@@ -690,6 +724,22 @@ async def get_data_by_mode(mode, filename, channel_url=None):
return json_obj
def lookup_installed_custom_nodes(repo_name):
try:
import folder_paths
base_paths = folder_paths.get_folder_paths("custom_nodes")
except:
base_paths = [custom_nodes_path]
for base_path in base_paths:
repo_path = os.path.join(base_path, repo_name)
if os.path.exists(repo_path):
return True, repo_path
elif os.path.exists(repo_path+'.disabled'):
return False, repo_path
return None
def gitclone_fix(files, instant_execution=False):
print(f"Try fixing: {files}")
for url in files:
@@ -701,13 +751,15 @@ def gitclone_fix(files, instant_execution=False):
url = url[:-1]
try:
repo_name = os.path.splitext(os.path.basename(url))[0]
repo_path = os.path.join(custom_nodes_path, repo_name)
repo_path = lookup_installed_custom_nodes(repo_name)
if os.path.exists(repo_path+'.disabled'):
repo_path = repo_path+'.disabled'
if repo_path is not None:
repo_path = repo_path[1]
if not execute_install_script(url, repo_path, instant_execution=instant_execution):
return False
if not execute_install_script(url, repo_path, instant_execution=instant_execution):
return False
else:
print(f"Custom node not found: {repo_name}")
except Exception as e:
print(f"Install(git-clone) error: {url} / {e}", file=sys.stderr)
@@ -754,12 +806,12 @@ def gitclone_uninstall(files):
url = url[:-1]
try:
dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "")
dir_path = os.path.join(custom_nodes_path, dir_name)
repo_path = lookup_installed_custom_nodes(dir_name)
# safety check
if dir_path == '/' or dir_path[1:] == ":/" or dir_path == '':
print(f"Uninstall(git-clone) error: invalid path '{dir_path}' for '{url}'")
return False
if repo_path is None:
continue
dir_path = repo_path[1]
install_script_path = os.path.join(dir_path, "uninstall.py")
disable_script_path = os.path.join(dir_path, "disable.py")
@@ -775,10 +827,7 @@ def gitclone_uninstall(files):
if code != 0:
print(f"An error occurred during the execution of the disable.py script. Only the '{dir_path}' will be deleted.")
if os.path.exists(dir_path):
rmtree(dir_path)
elif os.path.exists(dir_path + ".disabled"):
rmtree(dir_path + ".disabled")
rmtree(dir_path)
except Exception as e:
print(f"Uninstall(git-clone) error: {url} / {e}", file=sys.stderr)
return False
@@ -801,13 +850,13 @@ def gitclone_set_active(files, is_disable):
url = url[:-1]
try:
dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "")
dir_path = os.path.join(custom_nodes_path, dir_name)
repo_path = lookup_installed_custom_nodes(dir_name)
# safety check
if dir_path == '/' or dir_path[1:] == ":/" or dir_path == '':
print(f"{action_name}(git-clone) error: invalid path '{dir_path}' for '{url}'")
return False
if repo_path is None:
continue
dir_path = repo_path[1]
if is_disable:
current_path = dir_path
new_path = dir_path + ".disabled"
@@ -843,11 +892,13 @@ def gitclone_update(files, instant_execution=False, skip_script=False, msg_prefi
url = url[:-1]
try:
repo_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "")
repo_path = os.path.join(custom_nodes_path, repo_name)
repo_path = lookup_installed_custom_nodes(repo_name)
if os.path.exists(repo_path+'.disabled'):
repo_path = repo_path+'.disabled'
if repo_path is None:
continue
repo_path = repo_path[1]
git_pull(repo_path)
if not skip_script:
@@ -917,10 +968,14 @@ def lookup_customnode_by_url(data, target):
for x in data['custom_nodes']:
if target in x['files']:
dir_name = os.path.splitext(os.path.basename(target))[0].replace(".git", "")
dir_path = os.path.join(custom_nodes_path, dir_name)
if os.path.exists(dir_path):
repo_path = lookup_installed_custom_nodes(dir_name)
if repo_path is None:
continue
if repo_path[0]:
x['installed'] = 'True'
elif os.path.exists(dir_path + ".disabled"):
else:
x['installed'] = 'Disabled'
return x
@@ -929,13 +984,15 @@ def lookup_customnode_by_url(data, target):
def simple_check_custom_node(url):
dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "")
dir_path = os.path.join(custom_nodes_path, dir_name)
if os.path.exists(dir_path):
return 'installed'
elif os.path.exists(dir_path+'.disabled'):
return 'disabled'
repo_path = lookup_installed_custom_nodes(dir_name)
return 'not-installed'
if repo_path is None:
return 'not-installed'
if repo_path[0]:
return 'installed'
else:
return 'disabled'
def check_a_custom_node_installed(item, do_fetch=False, do_update_check=True, do_update=False):
@@ -948,8 +1005,12 @@ def check_a_custom_node_installed(item, do_fetch=False, do_update_check=True, do
url = url[:-1]
dir_name = os.path.splitext(os.path.basename(url))[0].replace(".git", "")
dir_path = os.path.join(custom_nodes_path, dir_name)
if os.path.exists(dir_path):
repo_path = lookup_installed_custom_nodes(dir_name)
if repo_path is None:
item['installed'] = 'False'
elif repo_path[0]:
dir_path = repo_path[1]
try:
item['installed'] = 'True' # default
@@ -968,17 +1029,23 @@ def check_a_custom_node_installed(item, do_fetch=False, do_update_check=True, do
else:
item['installed'] = 'True'
elif os.path.exists(dir_path + ".disabled"):
item['installed'] = 'Disabled'
else:
item['installed'] = 'False'
item['installed'] = 'Disabled'
elif item['install_type'] == 'copy' and len(item['files']) == 1:
dir_name = os.path.basename(item['files'][0])
if item['files'][0].endswith('.py'):
base_path = custom_nodes_path
base_path = lookup_installed_custom_nodes(item['files'][0])
if base_path is None:
item['installed'] = 'False'
return
elif base_path[0]:
item['installed'] = 'True'
else:
item['installed'] = 'Disabled'
return
elif 'js_path' in item:
base_path = os.path.join(js_path, item['js_path'])
else:
@@ -990,8 +1057,6 @@ def check_a_custom_node_installed(item, do_fetch=False, do_update_check=True, do
item['installed'] = 'Fail'
else:
item['installed'] = 'True'
elif os.path.exists(file_path + ".disabled"):
item['installed'] = 'Disabled'
else:
item['installed'] = 'False'
@@ -1028,39 +1093,46 @@ def get_current_snapshot():
git_custom_nodes = {}
file_custom_nodes = []
try:
import folder_paths
base_paths = folder_paths.get_folder_paths("custom_nodes")
except:
base_paths = [custom_nodes_path]
# Get custom nodes hash
for path in os.listdir(custom_nodes_path):
fullpath = os.path.join(custom_nodes_path, path)
for base_path in base_paths:
for path in os.listdir(base_path):
fullpath = os.path.join(base_path, path)
if os.path.isdir(fullpath):
is_disabled = path.endswith(".disabled")
if os.path.isdir(fullpath):
is_disabled = path.endswith(".disabled")
try:
git_dir = os.path.join(fullpath, '.git')
try:
git_dir = os.path.join(fullpath, '.git')
if not os.path.exists(git_dir):
continue
if not os.path.exists(git_dir):
continue
repo = git.Repo(fullpath)
commit_hash = repo.head.commit.hexsha
url = repo.remotes.origin.url
git_custom_nodes[url] = {
'hash': commit_hash,
repo = git.Repo(fullpath)
commit_hash = repo.head.commit.hexsha
url = repo.remotes.origin.url
git_custom_nodes[url] = {
'hash': commit_hash,
'disabled': is_disabled
}
except:
print(f"Failed to extract snapshots for the custom node '{path}'.")
elif path.endswith('.py'):
is_disabled = path.endswith(".py.disabled")
filename = os.path.basename(path)
item = {
'filename': filename,
'disabled': is_disabled
}
except:
print(f"Failed to extract snapshots for the custom node '{path}'.")
elif path.endswith('.py'):
is_disabled = path.endswith(".py.disabled")
filename = os.path.basename(path)
item = {
'filename': filename,
'disabled': is_disabled
}
file_custom_nodes.append(item)
file_custom_nodes.append(item)
pip_packages = get_installed_pip_packages()

View File

@@ -181,7 +181,7 @@ def print_comfyui_version():
try:
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.comfy_ui_revision})[{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.get_comfyui_tag()})[{core.comfy_ui_commit_datetime.date()}] is too old. Please update to the latest version. ##\n\n")
except:
pass
@@ -200,7 +200,11 @@ def print_comfyui_version():
# <--
if current_branch == "master":
print(f"### ComfyUI Revision: {core.comfy_ui_revision} [{comfy_ui_hash[:8]}] | Released on '{core.comfy_ui_commit_datetime.date()}'")
version_tag = core.get_comfyui_tag()
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:
print(f"### ComfyUI Revision: {core.comfy_ui_revision} on '{current_branch}' [{comfy_ui_hash[:8]}] | Released on '{core.comfy_ui_commit_datetime.date()}'")
except:
@@ -248,23 +252,45 @@ import urllib.request
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 '..' 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'.")
base_model = os.path.join(folder_paths.models_dir, "etc")
base_model = os.path.join(models_base, "etc")
else:
if data['save_path'].startswith("custom_nodes"):
base_model = os.path.join(core.comfy_path, data['save_path'])
base_model = resolve_custom_node(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:
base_model = os.path.join(folder_paths.models_dir, data['save_path'])
base_model = os.path.join(models_base, data['save_path'])
else:
model_type = data['type']
if model_type == "checkpoints" or model_type == "checkpoint":
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
elif model_type == "unclip":
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
elif model_type == "clip":
base_model = folder_paths.folder_names_and_paths["clip"][0][0]
elif model_type == "clip" or model_type == "text_encoders":
if folder_paths.folder_names_and_paths.get("text_encoders"):
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":
base_model = folder_paths.folder_names_and_paths["vae"][0][0]
elif model_type == "lora":
@@ -290,14 +316,17 @@ def get_model_dir(data):
print(f"[ComfyUI-Manager] Your ComfyUI is outdated version.")
base_model = folder_paths.folder_names_and_paths["unet"][0][0] # outdated version
else:
base_model = os.path.join(folder_paths.models_dir, "etc")
base_model = os.path.join(models_base, "etc")
return base_model
def get_model_path(data):
base_model = get_model_dir(data)
return os.path.join(base_model, data['filename'])
if base_model is None:
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):
@@ -1178,14 +1207,21 @@ async def get_notice(request):
if match:
markdown_content = match.group(1)
markdown_content += f"<HR>ComfyUI: {core.comfy_ui_revision}[{comfy_ui_hash[:6]}]({core.comfy_ui_commit_datetime.date()})"
version_tag = core.get_comfyui_tag()
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>Manager: {core.version_str}"
markdown_content = add_target_blank(markdown_content)
try:
if core.comfy_ui_required_commit_datetime.date() > core.comfy_ui_commit_datetime.date():
if core.comfy_ui_commit_datetime == datetime(1900, 1, 1, 0, 0, 0):
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
except:
pass

View File

@@ -29,12 +29,31 @@ 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.
(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"}
pip_blacklist = {"AppleBotzz": "ComfyUI_LLMVISION"}
pip_blacklist = {
"AppleBotzz": "ComfyUI_LLMVISION",
"ultralytics==8.3.41": "ultralytics==8.3.41"
}
file_blacklist = {
"ComfyUI_LLMVISION": ["%LocalAppData%\\rundll64.exe"],

View File

@@ -1276,15 +1276,6 @@ class ManagerMenuDialog extends ComfyDialog {
modifyButtonStyle(url);
},
},
{
title: "Open 'flowt.ai'",
callback: () => {
const url = "https://flowt.ai/";
localStorage.setItem("wg_last_visited", url);
window.open(url, url);
modifyButtonStyle(url);
},
},
{
title: "Open 'esheep'",
callback: () => {

View File

@@ -3721,6 +3721,41 @@
"size": "1.19GB"
},
{
"name": "stabilityai/SD3.5-Large-Controlnet-Blur",
"type": "controlnet",
"base": "SD3.5",
"save_path": "controlnet/SD3.5",
"description": "Blur Controlnet model for SD3.5 Large",
"reference": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets",
"filename": "sd3.5_large_controlnet_blur.safetensors",
"url": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_blur.safetensors",
"size": "8.65GB"
},
{
"name": "stabilityai/SD3.5-Large-Controlnet-Canny",
"type": "controlnet",
"base": "SD3.5",
"save_path": "controlnet/SD3.5",
"description": "Canny Controlnet model for SD3.5 Large",
"reference": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets",
"filename": "sd3.5_large_controlnet_canny.safetensors",
"url": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_canny.safetensors",
"size": "8.65GB"
},
{
"name": "stabilityai/SD3.5-Large-Controlnet-Depth",
"type": "controlnet",
"base": "SD3.5",
"save_path": "controlnet/SD3.5",
"description": "Depth Controlnet model for SD3.5 Large",
"reference": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets",
"filename": "sd3.5_large_controlnet_depth.safetensors",
"url": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_depth.safetensors",
"size": "8.65GB"
},
{
"name": "Kijai/ToonCrafter model checkpoint (interpolation fp16)",
"type": "checkpoint",
@@ -4464,7 +4499,7 @@
{
"name": "pulid_flux_v0.9.1.safetensors",
"type": "PuLID",
"base": "FLUX",
"base": "FLUX.1",
"save_path": "pulid",
"description": "This is required for PuLID (FLUX)",
"reference": "https://huggingface.co/guozinan/PuLID",

View File

@@ -13,6 +13,180 @@
{
"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",
"title": "ComfyUI-OIDN [WIP]",
"reference": "https://github.com/Anze-/ComfyUI-OIDN",
"files": [
"https://github.com/Anze-/ComfyUI-OIDN"
],
"install_type": "git-clone",
"description": "ComyUI wrapper for Intel OIDN image denoising\nWARNING! : this is a development repo, usage in production environments is not advised! Bugs are to be expected."
},
{
"author": "techzuhaib",
"title": "ComfyUI-CacheImageNode",
"reference": "https://github.com/techzuhaib/ComfyUI-CacheImageNode",
"files": [
"https://github.com/techzuhaib/ComfyUI-CacheImageNode"
],
"install_type": "git-clone",
"description": "NODES: CacheImageNode"
},
{
"author": "hay86",
"title": "ComfyUI AceNodes [UNSAFE]",
"reference": "https://github.com/hay86/ComfyUI_AceNodes",
"files": [
"https://github.com/hay86/ComfyUI_AceNodes"
],
"install_type": "git-clone",
"description": "Some useful custom nodes that are not included in ComfyUI core yet.\nNOTE: Vulnerability discovered. Not being managed."
},
{
"author": "dowands",
"title": "AddMaskForICLora",
"reference": "https://github.com/dowands/ComfyUI-AddMaskForICLora",
"files": [
"https://github.com/dowands/ComfyUI-AddMaskForICLora"
],
"install_type": "git-clone",
"description": "NODES: Add Mask For IC Lora x"
},
{
"author": "zmwv823",
"title": "ComfyUI-Sana [WIP]",
"reference": "https://github.com/zmwv823/ComfyUI-Sana",
"files": [
"https://github.com/zmwv823/ComfyUI-Sana"
],
"install_type": "git-clone",
"description": "Unofficial custom-node for [a/SANA: Efficient High-Resolution Image Synthesis with Linear Diffusion Transformer](https://github.com/NVlabs/Sana)\n[w/A init node with lots of bugs, do not try unless interested.]"
},
{
"author": "exectails",
"title": "Scripting",
"id": "et_scripting [UNSAFE]",
"reference": "https://github.com/exectails/comfyui-et_scripting",
"files": [
"https://github.com/exectails/comfyui-et_scripting"
],
"install_type": "git-clone",
"description": "Nodes that can be used to write Python scripts directly on a node. Useful for quick prototyping and testing, at the cost of security.[w/This extension allows the execution of arbitrary Python code from a workflow.]"
},
{
"author": "AIFSH",
"title": "UltralightDigitalHuman-ComfyUI",
"reference": "https://github.com/AIFSH/UltralightDigitalHuman-ComfyUI",
"files": [
"https://github.com/AIFSH/UltralightDigitalHuman-ComfyUI"
],
"install_type": "git-clone",
"description": "a custom node for [a/Ultralight-Digital-Human](https://github.com/anliyuan/Ultralight-Digital-Human)\nNOTE: The files in the repo are not organized."
},
{
"author": "vahidzxc",
"title": "ComfyUI-My-Handy-Nodes",
@@ -132,7 +306,7 @@
"https://github.com/RobeSantoro/ComfyUI-RobeNodes"
],
"install_type": "git-clone",
"description": "NODES: List Video Path Node, List Image Path Node\nThis is a collection of utility nodes for the ComfyUI stable diffusion client that provides enhanced file path handling capabilities.[w/Users will be able to access images from arbitrary paths through the workflow.] "
"description": "NODES: List Video Path Node, List Image Path Node\nThis is a collection of utility nodes for the ComfyUI stable diffusion client that provides enhanced file path handling capabilities.[w/Users will be able to access images from arbitrary paths through the workflow.]"
},
{
"author": "Kimara.ai",
@@ -173,7 +347,7 @@
"https://github.com/trashgraphicard/Albedo-Sampler-for-ComfyUI"
],
"install_type": "git-clone",
"description": "NODES:Sample Image"
"description": "NODES:Sample Image, Make Seamless Tile"
},
{
"author": "Anze-",
@@ -486,16 +660,6 @@
"install_type": "git-clone",
"description": "Upscale image with model multiple times !"
},
{
"author": "huangyangke",
"title": "ComfyUI-Kolors-IpadapterFaceId [WIP]",
"reference": "https://github.com/huangyangke/ComfyUI-Kolors-IpadapterFaceId",
"files": [
"https://github.com/huangyangke/ComfyUI-Kolors-IpadapterFaceId"
],
"install_type": "git-clone",
"description": "NODES:kolors_ipadapter_faceid\nNOTE: The files in the repo are not organized."
},
{
"author": "rouxianmantou",
"title": "comfyui-rxmt-nodes",

View File

@@ -175,6 +175,14 @@
"title_aux": "ComfyUI_AC_FUNV8Beta1"
}
],
"https://github.com/ACE-innovate/seg-node": [
[
"HumanParseNode"
],
{
"title_aux": "seg-node [WIP]"
}
],
"https://github.com/AICodeFactory/ComfyUI-Viva": [
[
"HttpTrigger_Common",
@@ -239,6 +247,15 @@
"title_aux": "IMAGDressing-ComfyUI"
}
],
"https://github.com/AIFSH/UltralightDigitalHuman-ComfyUI": [
[
"InferUltralightDigitalHumanNode",
"TrainUltralightDigitalHumanNode"
],
{
"title_aux": "UltralightDigitalHuman-ComfyUI"
}
],
"https://github.com/AIFSH/UtilNodes-ComfyUI": [
[
"GetRGBEmptyImgae",
@@ -341,6 +358,14 @@
"title_aux": "ComfyUI-Xorbis-nodes [WIP]"
}
],
"https://github.com/Anze-/ComfyUI-OIDN": [
[
"OIDN Denoise"
],
{
"title_aux": "ComfyUI-OIDN [WIP]"
}
],
"https://github.com/Anze-/ComfyUI_deepDeband": [
[
"deepDeband Inference"
@@ -349,6 +374,14 @@
"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": [
[
"AccumulateNode",
@@ -417,6 +450,15 @@
"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": [
[
"BDXTestInt",
@@ -496,7 +538,8 @@
"DevToolsNodeWithOnlyOptionalInput",
"DevToolsNodeWithOptionalInput",
"DevToolsNodeWithOutputList",
"DevToolsNodeWithStringInput"
"DevToolsNodeWithStringInput",
"DevToolsNodeWithUnionInput"
],
{
"title_aux": "ComfyUI_devtools [WIP]"
@@ -577,7 +620,9 @@
"https://github.com/DoctorDiffusion/Doctor-Tools": [
[
"FinalFrameSelector",
"FirstFrameSelector",
"PromptJournal",
"ReverseFrameSequence",
"VideoMerge",
"YouTubeVideoDownloader"
],
@@ -634,6 +679,7 @@
"AppIO_ImageInputFromID",
"AppIO_ImageOutput",
"AppIO_IntegerInput",
"AppIO_ResizeInstanceAndPaste",
"AppIO_ResizeInstanceImageMask",
"AppIO_StringInput",
"AppIO_StringOutput"
@@ -934,6 +980,16 @@
"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": [
[
"CHECK_PROGRESS"
@@ -961,6 +1017,8 @@
],
"https://github.com/PnthrLeo/comfyUI-image-search": [
[
"AreasGenerator",
"BatchImageGetter",
"CloseImagesSearcher"
],
{
@@ -995,7 +1053,9 @@
"FRED_LoadPathImagesPreview",
"FRED_LoadPathImagesPreview_v2",
"FRED_LoadRetinaFace",
"FRED_LoraInfos",
"FRED_PreviewOnly",
"FRED_TextMultiline",
"FRED_photo_prompt"
],
{
@@ -1026,6 +1086,14 @@
"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": [
[
"List Image Path \ud83d\udc24",
@@ -1831,6 +1899,7 @@
"ModelMergeAuraflow",
"ModelMergeBlocks",
"ModelMergeFlux1",
"ModelMergeLTXV",
"ModelMergeMochiPreview",
"ModelMergeSD1",
"ModelMergeSD2",
@@ -2057,6 +2126,14 @@
"title_aux": "ComfyUI_WcpD_Utility_Kit"
}
],
"https://github.com/dowands/ComfyUI-AddMaskForICLora": [
[
"AddMaskForICLora"
],
{
"title_aux": "AddMaskForICLora"
}
],
"https://github.com/downlifted/ComfyUI_BWiZ_Nodes": [
[
"BWIZInteractiveLogMonitor",
@@ -2158,6 +2235,14 @@
"title_aux": "ComfyUI-GeneraNodes"
}
],
"https://github.com/exectails/comfyui-et_scripting": [
[
"ETPythonTextScript3Node"
],
{
"title_aux": "Scripting"
}
],
"https://github.com/fablestudio/ComfyUI-Showrunner-Utils": [
[
"AlignFace",
@@ -2243,6 +2328,15 @@
"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": [
[
"Rain_ImageSize",
@@ -2277,6 +2371,43 @@
"title_aux": "Comfyui-SadTalker"
}
],
"https://github.com/hay86/ComfyUI_AceNodes": [
[
"ACE_AnyInputSwitchBool",
"ACE_AnyInputToAny",
"ACE_AudioLoad",
"ACE_AudioPlay",
"ACE_AudioSave",
"ACE_Expression_Eval",
"ACE_Float",
"ACE_ImageColorFix",
"ACE_ImageConstrain",
"ACE_ImageFaceCrop",
"ACE_ImageGetSize",
"ACE_ImageLoadFromCloud",
"ACE_ImagePixelate",
"ACE_ImageQA",
"ACE_ImageRemoveBackground",
"ACE_ImageSaveToCloud",
"ACE_Integer",
"ACE_MaskBlur",
"ACE_Seed",
"ACE_Text",
"ACE_TextConcatenate",
"ACE_TextGoogleTranslate",
"ACE_TextInputSwitch2Way",
"ACE_TextInputSwitch4Way",
"ACE_TextInputSwitch8Way",
"ACE_TextList",
"ACE_TextPreview",
"ACE_TextSelector",
"ACE_TextToResolution",
"ACE_TextTranslate"
],
{
"title_aux": "ComfyUI AceNodes [UNSAFE]"
}
],
"https://github.com/hgabha/WWAA-CustomNodes": [
[
"WWAA-BuildString",
@@ -2353,14 +2484,6 @@
"title_aux": "comfy-magick [WIP]"
}
],
"https://github.com/huangyangke/ComfyUI-Kolors-IpadapterFaceId": [
[
"kolors_ipadapter_faceid"
],
{
"title_aux": "ComfyUI-Kolors-IpadapterFaceId [WIP]"
}
],
"https://github.com/huizhang0110/ComfyUI_Easy_Nodes_hui": [
[
"EasyBgRemover",
@@ -2696,6 +2819,19 @@
"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": [
[
"DownloadAndLoadMochiModel",
@@ -2747,7 +2883,19 @@
"https://github.com/kostenickj/comfyui-jk-easy-nodes": [
[
"EasyHRFix",
"JKAnythingToString"
"EasyHRFix_Context",
"JKAnythingToString",
"JKBigContext",
"JKDynamicThresholdingMultiModel",
"JKEasyCheckpointLoader",
"JKEasyDetailer",
"JKEasyDetailer_Context",
"JKInspireSchedulerAdapter",
"JKLilContext",
"JKStringEmpty",
"JKStringEquals",
"JKStringNotEmpty",
"JKStringNotEquals"
],
{
"title_aux": "comfyui-jk-easy-nodes"
@@ -2881,7 +3029,9 @@
"AddFluxFlow",
"ApplyFluxRaveAttention",
"ApplyRefFlux",
"ApplyRegionalConds",
"ConfigureModifiedFlux",
"CreateRegionalCond",
"FlowEditForwardSampler",
"FlowEditReverseSampler",
"FluxAttnOverride",
@@ -2897,6 +3047,7 @@
"PrepareAttnBank",
"RFDoubleBlocksOverride",
"RFSingleBlocksOverride",
"RegionalStyleModelApply",
"SEGAttention"
],
{
@@ -2994,6 +3145,17 @@
"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": [
[
"Build Path Adv"
@@ -3049,7 +3211,9 @@
"Add zSNR Sigma max",
"ConcatSigmas",
"CosineScheduler",
"GaussianScheduler",
"InvertSigmas",
"LogNormal Scheduler",
"OffsetSigmas",
"PerpNegScheduledCFGGuider",
"ScheduledCFGGuider"
@@ -3369,6 +3533,15 @@
"title_aux": "ComfyUI-ODE"
}
],
"https://github.com/risunobushi/ComfyUI_FocusMask": [
[
"FocusMaskExtractor",
"FocusOutlineExtractor"
],
{
"title_aux": "ComfyUI_FocusMask"
}
],
"https://github.com/rouxianmantou/comfyui-rxmt-nodes": [
[
"CheckValueTypeNode"
@@ -3418,6 +3591,15 @@
"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": [
[
"ApplyPulid",
@@ -3585,6 +3767,14 @@
"title_aux": "ComfyUI-Rpg-Architect [WIP]"
}
],
"https://github.com/techzuhaib/ComfyUI-CacheImageNode": [
[
"CacheImageNode"
],
{
"title_aux": "ComfyUI-CacheImageNode"
}
],
"https://github.com/thderoo/ComfyUI-_topfun_s_nodes": [
[
"ConditioningPerturbation",
@@ -3639,6 +3829,7 @@
],
"https://github.com/trashgraphicard/Albedo-Sampler-for-ComfyUI": [
[
"Make Seamless Tile",
"Sample Image"
],
{
@@ -3731,13 +3922,16 @@
],
"https://github.com/wilzamguerrero/Comfyui-zZzZz": [
[
"CaptureZNode",
"CompressFolderNode",
"CreateZNode",
"DeleteZNode",
"DownloadFileNode",
"InfiniteZNode",
"MoveZNode",
"RenameZNode"
"RenameZNode",
"VideoZNode",
"ZFShareScreen"
],
{
"title_aux": "Comfyui-zZzZz [UNSAFE]"
@@ -3800,6 +3994,18 @@
"title_aux": "Comfyui_image2prompt"
}
],
"https://github.com/zmwv823/ComfyUI-Sana": [
[
"UL_SanaModelLoader",
"UL_SanaSampler",
"UL_SanaTextEncode",
"UL_SanaVAELoader",
"UL_SanaVAEProcess"
],
{
"title_aux": "ComfyUI-Sana [WIP]"
}
],
"https://raw.githubusercontent.com/NeuralNotW0rk/ComfyUI-Waveform-Extensions/main/EXT_VariationUtils.py": [
[
"BatchToList",

View File

File diff suppressed because it is too large Load Diff

View File

@@ -10,6 +10,57 @@
},
{
"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",
"title": "ComfyUI-Kolors-IpadapterFaceId [DEPRECATED]",
"reference": "https://github.com/huangyangke/ComfyUI-Kolors-IpadapterFaceId",
"files": [
"https://github.com/huangyangke/ComfyUI-Kolors-IpadapterFaceId"
],
"install_type": "git-clone",
"description": "NODES:kolors_ipadapter_faceid\nNOTE: The files in the repo are not organized."
},
{
"author": "zmwv823",
"title": "ComfyUI_Ctrlora [DEPRECATED]",
"reference": "https://github.com/zmwv823/ComfyUI_Ctrlora",
"files": [
"https://github.com/zmwv823/ComfyUI_Ctrlora"
],
"install_type": "git-clone",
"description": "Unofficial custom_node for [a/xyfJASON/ctrlora](https://github.com/xyfJASON/ctrlora)."
},
{
"author": "Fannovel16",
"title": "ComfyUI Loopchain [DEPRECATED]",

View File

@@ -9,7 +9,430 @@
},
{
"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",
"title": "SAMURAI Nodes for ComfyUI",
"reference": "https://github.com/takemetosiberia/ComfyUI-SAMURAI--SAM2-",
"files": [
"https://github.com/takemetosiberia/ComfyUI-SAMURAI--SAM2-"
],
"install_type": "git-clone",
"description": "ComfyUI nodes for video object segmentation using [a/SAMURAI](https://github.com/yangchris11/samurai) model."
},
{
"author": "motivated3",
"title": "ComfyUI MiaoShua Creator",
"id": "comfyui-shua-creator",
"reference": "https://github.com/motivated3/comfyui-shua-creator",
"files": [
"https://github.com/motivated3/comfyui-shua-creator"
],
"install_type": "git-clone",
"description": "With the MiaoShua creator's end, you can use this plugin to upload debugged workflows for consumer end users to use."
},
{
"author": "DoctorDiffusion",
"title": "ComfyUI-SnakeOil",
"reference": "https://github.com/DoctorDiffusion/ComfyUI-SnakeOil",
"files": [
"https://github.com/DoctorDiffusion/ComfyUI-SnakeOil"
],
"install_type": "git-clone",
"description": "Use [a/Doctor Diffusion's snake oil nLoRAs](https://civitai.com/models/987843) as well as [a/other negative LoRAs](https://civitai.com/models/186617/doctor-diffusions-negative-xl-lora) easily within ComfyUI."
},
{
"author": "duhaifeng",
"title": "ComfyUI-Flux-Inpainting",
"reference": "https://github.com/rubi-du/ComfyUI-Flux-Inpainting",
"files": [
"https://github.com/rubi-du/ComfyUI-Flux-Inpainting"
],
"install_type": "git-clone",
"description": "This node wraps the flux fill model as ComfyUI nodes. Use NF4 flux fill model, support for inpainting and outpainting image. Compared to the flux fill dev model, these nodes can use the flux fill model to perform inpainting and outpainting work under lower VRM conditions."
},
{
"author": "purpen",
"title": "AIRedoon",
"reference": "https://github.com/purpen/ComfyUI-AIRedoon",
"files": [
"https://github.com/purpen/ComfyUI-AIRedoon"
],
"install_type": "git-clone",
"description": "NODES:AIRedoon Translator, AIRedoon Image Caption"
},
{
"author": "purpen",
"title": "ComfyUI-ImageTagger",
"reference": "https://github.com/purpen/ComfyUI-ImageTagger",
"files": [
"https://github.com/purpen/ComfyUI-ImageTagger"
],
"install_type": "git-clone",
"description": "NODES:AIRedoon Image Caption.\nAnalyze image tagger"
},
{
"author": "Yuan-ManX",
"title": "ComfyUI-SoundHub",
"reference": "https://github.com/Yuan-ManX/ComfyUI-SoundHub",
"files": [
"https://github.com/Yuan-ManX/ComfyUI-SoundHub"
],
"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."
},
{
"author": "Starnodes2024",
"title": "ComfyUI_StarNodes",
"reference": "https://github.com/Starnodes2024/ComfyUI_StarNodes",
"files": [
"https://github.com/Starnodes2024/ComfyUI_StarNodes"
],
"install_type": "git-clone",
"description": "NODES: StarNode Input Image Chooser, SD(XL) Star(t) Settings, SD3.5 Star(t) Settings, Starnode Ollama Helper"
},
{
"author": "bananasss00",
"title": "ComfyUI-flux_fill_patcher",
"reference": "https://github.com/bananasss00/ComfyUI-flux_fill_patcher",
"files": [
"https://github.com/bananasss00/ComfyUI-flux_fill_patcher"
],
"install_type": "git-clone",
"description": "flux patcher for Fill Flux.Dev lora [a/https://civitai.com/models/981615/fluxfill-inpaint-lora](https://civitai.com/models/981615/fluxfill-inpaint-lora)"
},
{
"author": "lldacing",
"title": "ComfyUI_StableDelight_ll",
"id": "comfyui_stabledelight_ll",
"reference": "https://github.com/lldacing/ComfyUI_StableDelight_ll",
"files": [
"https://github.com/lldacing/ComfyUI_StableDelight_ll"
],
"install_type": "git-clone",
"description": "StableDelight: Revealing Hidden Textures by Removing Specular Reflections"
},
{
"author": "flycarl",
"title": "ComfyUI-Pixelate",
"reference": "https://github.com/flycarl/ComfyUI-Pixelate",
"files": [
"https://github.com/flycarl/ComfyUI-Pixelate"
],
"install_type": "git-clone",
"description": "[a/sd-webui-pixelart](https://github.com/mrreplicart/sd-webui-pixelart) are referenced by many webui users, this node is mean to use it in ComfyUI."
},
{
"author": "SparknightLLC",
"title": "ComfyUI-MaskArbiter",
"reference": "https://github.com/SparknightLLC/ComfyUI-MaskArbiter",
"files": [
"https://github.com/SparknightLLC/ComfyUI-MaskArbiter"
],
"install_type": "git-clone",
"description": "A node for ComfyUI that takes a list of masks and returns a single mask based on your criteria. For example, it can be used to mask the leftmost subject in an image containing more than one subject of the same class. The workflow below demonstrates the difference between Mask Arbiter (top) and traditional Grounding DINO masking (bottom.)"
},
{
"author": "tanglup",
"title": "Comfyui_Flux_Style_Adjust",
"reference": "https://github.com/tanglup/Comfyui_Flux_Style_Adjust",
"files": [
"https://github.com/tanglup/Comfyui_Flux_Style_Adjust"
],
"install_type": "git-clone",
"description": "StyleModelApply adds more controls"
},
{
"author": "dymokomi",
"title": "comfyui_dygen",
"reference": "https://github.com/dymokomi/comfyui_dygen",
"files": [
"https://github.com/dymokomi/comfyui_dygen"
],
"install_type": "git-clone",
"description": "NODES: DY Image Quantize, DY Image Cluster, DY Image Palette, DY Image Masks, Image List to Grid"
},
{
"author": "exectails",
"title": "Info Utils",
"id": "et_infoutils",
"reference": "https://github.com/exectails/comfyui-et_infoutils",
"files": [
"https://github.com/exectails/comfyui-et_infoutils"
],
"install_type": "git-clone",
"description": "Nodes that facilitate simpler information providing and gathering, such as Text Box, Show Data and Token Counter nodes."
},
{
"author": "exectails",
"title": "String Utils",
"id": "et_stringutils",
"reference": "https://github.com/exectails/comfyui-et_stringutils",
"files": [
"https://github.com/exectails/comfyui-et_stringutils"
],
"install_type": "git-clone",
"description": "Nodes dedicated to the analysis and transformation of text strings, such as for formatting and conversions between types."
},
{
"author": "exectails",
"title": "Dynamic Prompts",
"id": "et_dynamicprompts",
"reference": "https://github.com/exectails/comfyui-et_dynamicprompts",
"files": [
"https://github.com/exectails/comfyui-et_dynamicprompts"
],
"install_type": "git-clone",
"description": "Nodes that implement functionality similar to the Dynamic Prompts extension for A1111."
},
{
"author": "Lasse Lauwerys",
"title": "Touchpad and trackpad gesture support",
"id": "manager",
"reference": "https://github.com/Iemand005/ComfyUI-Touchpad-Gestures",
"files": [
"https://github.com/Iemand005/ComfyUI-Touchpad-Gestures"
],
"install_type": "git-clone",
"description": "Implements proper touchpad zooming and panning into ComfyUI to make it more usable on laptops."
},
{
"author": "Alvaroeai",
"title": "ComfyUI-Text2Json",
"reference": "https://github.com/Alvaroeai/ComfyUI-Text2Json",
"files": [
"https://github.com/Alvaroeai/ComfyUI-Text2Json"
],
"install_type": "git-clone",
"description": "This repository contains a custom node for ComfyUI that converts text into a JSON object. The node is designed to be user-friendly and supports multi-line JSON input."
},
{
"author": "SleeeepyZhou",
"title": "CNtranslator",
"id": "cn-translator",
"reference": "https://github.com/SleeeepyZhou/ComfyUI-CNtranslator",
"files": [
"https://github.com/SleeeepyZhou/ComfyUI-CNtranslator"
],
"install_type": "git-clone",
"description": "A translation node for users in Chinese Mainland. (Because of the network firewall in Chinese Mainland, many translation APIs cannot be used normally.)"
},
{
"author": "tungdop2",
"title": "Joy Caption Alpha Two for ComfyUI",
"id": "joy-captioner-alpha-two",
"reference": "https://github.com/tungdop2/Comfyui_joy-caption-alpha-two",
"files": [
"https://github.com/tungdop2/Comfyui_joy-caption-alpha-two"
],
"install_type": "git-clone",
"description": "The Joy Caption Alpha Two node for ComfyUI, based on https://huggingface.co/spaces/fancyfeast/joy-caption-alpha-two"
},
{
"author": "c0ffymachyne",
"title": "Bytebeat Synthesizer: Composing with Operators",
"reference": "https://github.com/c0ffymachyne/ComfyUI_BeatByte",
"files": [
"https://github.com/c0ffymachyne/ComfyUI_BeatByte"
],
"install_type": "git-clone",
"description": "Bytebeat is like composing music with the tools of a programmers toolkit. Instead of piano keys, you have operators like >>, |, and &. Its like giving your CPU a guitar and letting it shred! 🤘"
},
{
"author": "ShmuelRonen",
"title": "ComfyUI Pixtral Large Extension",
"reference": "https://github.com/ShmuelRonen/ComfyUI_pixtral_large",
"files": [
"https://github.com/ShmuelRonen/ComfyUI_pixtral_large"
],
"install_type": "git-clone",
"description": "A ComfyUI custom node that integrates Mistral AI's Pixtral Large vision model, enabling powerful multimodal AI capabilities within ComfyUI. Pixtral Large is a 124B parameter model (123B decoder + 1B vision encoder) that can analyze up to 30 high-resolution images simultaneously."
},
{
"author": "wu12023",
"title": "ComfyUI-Image-Evaluation",
"reference": "https://github.com/wu12023/ComfyUI-Image-Evaluation",
"files": [
"https://github.com/wu12023/ComfyUI-Image-Evaluation"
],
"install_type": "git-clone",
"description": "An extension to ComfyUI that evaluates images using multiple models."
},
{
"author": "windfancy",
"title": "zsq_prompt",
"reference": "https://github.com/windfancy/zsq_prompt",
"files": [
"https://github.com/windfancy/zsq_prompt"
],
"install_type": "git-clone",
"description": "NODES: PromptStyler, PromptLatent, PromptCLIPEncode, PromptSelector"
},
{
"author": "bobsblazed",
"title": "Bobs_Latent_Optimizer",
"reference": "https://github.com/BobsBlazed/Bobs_Latent_Optimizer",
"files": [
"https://github.com/BobsBlazed/Bobs_Latent_Optimizer/raw/refs/heads/main/Bobs_Latent_Optimizer.py"
],
"install_type": "copy",
"description": "This custom node for ComfyUI is designed to optimize latent generation for use with FLUX, SDXL and SD3. It provides flexible control over aspect ratios, megapixel sizes, and upscale factors, allowing users to dynamically create latents that fit specific tiling and resolution needs."
},
{
"author": "logtd",
"title": "ComfyUI-LTXTricks",
@@ -29,7 +452,7 @@
"https://github.com/kaibioinfo/ComfyUI_AdvancedRefluxControl"
],
"install_type": "git-clone",
"description": "This extension offers a new Apply-Style node for Reflux that allows for changing the influence of the conditioning image on the final outcome. This effectively allows for changing the style or content of an image using a prompt while using Reflux."
"description": "This extension offers a new Apply-Style node for Redux that allows for changing the influence of the conditioning image on the final outcome. This effectively allows for changing the style or content of an image using a prompt while using Redux."
},
{
"author": "ramesh-x90",
@@ -270,428 +693,6 @@
],
"install_type": "git-clone",
"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)"
},
{
"author": "lrzjason",
"title": "Comfyui-In-Context-Lora-Utils",
"reference": "https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils",
"files": [
"https://github.com/lrzjason/Comfyui-In-Context-Lora-Utils"
],
"install_type": "git-clone",
"description": "NODES: Add Mask For IC Lora"
},
{
"author": "1038lab",
"title": "ComfyUI-RMBG",
"reference": "https://github.com/1038lab/ComfyUI-RMBG",
"files": [
"https://github.com/1038lab/ComfyUI-RMBG"
],
"install_type": "git-clone",
"description": "A ComfyUI node for removing image backgrounds using RMBG-2.0"
},
{
"author": "GorillaFrame",
"title": "GFrbmg2",
"reference": "https://github.com/gorillaframeai/GF_nodes",
"files": [
"https://github.com/gorillaframeai/GF_nodes"
],
"install_type": "git-clone",
"description": "This custom node for ComfyUI provides advanced background removal capabilities using the briaai/RMBG-2.0 model. It is designed to seamlessly integrate into the ComfyUI environment, offering users a powerful tool for image processing tasks."
},
{
"author": "amaozhao",
"title": "ComfyUI_DeployCash",
"id": "ComfyUI_DeployCash",
"reference": "https://github.com/jacklukai/ComfyUI_DeployCash",
"files": [
"https://github.com/jacklukai/ComfyUI_DeployCash"
],
"install_type": "git-clone",
"description": "DeployCash, a tool that converts workflows into WeChat and H5 with one click, and supports payments."
},
{
"author": "akatz-ai",
"title": "ComfyUI-X-Portrait-Nodes",
"id": "comfyui-x-portrait-nodes",
"reference": "https://github.com/akatz-ai/ComfyUI-X-Portrait-Nodes",
"files": [
"https://github.com/akatz-ai/ComfyUI-X-Portrait-Nodes"
],
"install_type": "git-clone",
"description": "Implementation of X-Portrait nodes for ComfyUI, animate portraits with an input video and a reference image."
},
{
"author": "Doctor Diffusion",
"title": "Schedulizer",
"id": "schedulizer",
"reference": "https://github.com/DoctorDiffusion/ComfyUI-Schedulizer",
"files": [
"https://github.com/DoctorDiffusion/ComfyUI-Schedulizer"
],
"install_type": "git-clone",
"description": "Nodes:Whisper Node, Prompt Schedule Converter. Convert song lyrics into a useable prompt travel schedule within comfyUI. Includes whisper large-v2."
},
{
"author": "Doctor Diffusion",
"title": "MediaMixer",
"id": "mediamixer",
"reference": "https://github.com/DoctorDiffusion/ComfyUI-MediaMixer",
"files": [
"https://github.com/DoctorDiffusion/ComfyUI-MediaMixer"
],
"install_type": "git-clone",
"description": "A node suite for downloading audio and video from youtube as we all sevral useful video utilits such as a final frame selector and a node that merges two videos into one."
},
{
"author": "AIFSH",
"title": "MiniMates-ComfyUI",
"reference": "https://github.com/AIFSH/MiniMates-ComfyUI",
"files": [
"https://github.com/AIFSH/MiniMates-ComfyUI"
],
"install_type": "git-clone",
"description": "a custom node for [a/MiniMates](https://github.com/kleinlee/MiniMates)"
},
{
"author": "bombax-xiaoice",
"title": "ComfyUI-MagicDance",
"reference": "https://github.com/bombax-xiaoice/ComfyUI-MagicDance",
"files": [
"https://github.com/bombax-xiaoice/ComfyUI-MagicDance"
],
"install_type": "git-clone",
"description": "ComfyUI supports over [a/Boese0601/MagicDance](https://github.com/Boese0601/MagicDance)."
},
{
"author": "phazei",
"title": "Prompt Stash Saver Node for ComfyUI",
"id": "stash-saver",
"reference": "https://github.com/phazei/ConfyUI-node-prompt-stash-saver",
"files": [
"https://github.com/phazei/ConfyUI-node-prompt-stash-saver"
],
"install_type": "git-clone",
"description": "Prompt Stash is a simple plugin for ComfyUI that lets you save your prompts and organize them into multiple lists. It also features a pass-through functionality, so you can hook it up to an LLM node (or any text outputting node) and capture its outputs directly."
},
{
"author": "LatentSpaceDirective",
"title": "ComfyUI-Texturaizer",
"id": "texturaizer",
"reference": "https://github.com/LatentSpaceDirective/ComfyUI-Texturaizer",
"files": [
"https://github.com/LatentSpaceDirective/ComfyUI-Texturaizer"
],
"install_type": "git-clone",
"description": "These are companion nodes for Texturaizer, a Blender plugin that connects complex 3D data to ComfyUI. https://texturaizer.com"
},
{
"author": "Lasse Lauwerys",
"title": "Touch screen gesture support",
"reference": "https://github.com/Iemand005/ComfyUI-Touch-Gestures",
"files": [
"https://github.com/Iemand005/ComfyUI-Touch-Gestures"
],
"install_type": "git-clone",
"description": "Implements proper multitouch zooming and panning into ComfyUI to make it more usable on mobile devices."
},
{
"author": "robtl2",
"title": "ComfyUI-ComfyBridge",
"reference": "https://github.com/robtl2/ComfyUI-ComfyBridge",
"files": [
"https://github.com/robtl2/ComfyUI-ComfyBridge"
],
"install_type": "git-clone",
"description": "A socket service that helps third-party DCC software maintain long-term image exchange with comfyUI."
},
{
"author": "Isi-dev",
"title": "ComfyUI-Animation_Nodes_and_Workflows",
"id": "ComfyUI-Animation_Nodes_and_Workflows",
"reference": "https://github.com/Isi-dev/ComfyUI-Animation_Nodes_and_Workflows",
"files": [
"https://github.com/Isi-dev/ComfyUI-Animation_Nodes_and_Workflows"
],
"install_type": "git-clone",
"description": "These are nodes and workflows that can facilitate the creation of animations and video compilations."
},
{
"author": "ShmuelRonen",
"title": "ComfyUI Flux 1.1 Ultra & Raw Node",
"reference": "https://github.com/ShmuelRonen/ComfyUI_Flux_1.1_RAW_API",
"files": [
"https://github.com/ShmuelRonen/ComfyUI_Flux_1.1_RAW_API"
],
"install_type": "git-clone",
"description": "A ComfyUI custom node for Black Forest Labs' FLUX 1.1 [pro] API, supporting both regular and Ultra modes with optional Raw mode."
},
{
"author": "akspa0",
"title": "ComfyUI-FapMixPlus",
"reference": "https://github.com/akspa0/ComfyUI-FapMixPlus",
"files": [
"https://github.com/akspa0/ComfyUI-FapMixPlus"
],
"install_type": "git-clone",
"description": "This is an audio processing script that applies soft limiting, optional loudness normalization, and optional slicing for transcription. It can also produce stereo-mixed outputs with optional audio appended to the end. The script organizes processed files into structured folders with sanitized filenames and retains original timestamps for continuity."
},
{
"author": "neph1",
"title": "comfyui-smooth-step-lora-loader",
"reference": "https://github.com/neph1/comfyui-smooth-step-lora-loader",
"files": [
"https://github.com/neph1/comfyui-smooth-step-lora-loader"
],
"install_type": "git-clone",
"description": "This custom node provides a smooth step function that normalizes LoRA values by enhancing elements above the mean while reducing those below it. Users can independently control both the LoRA strength and smooth step intensity to fine-tune their results, though the effectiveness may vary between different seeds and LoRA types."
},
{
"author": "troyxmccall",
"title": "ComfyUI-ScaleToTargetMegapixels",
"reference": "https://github.com/troyxmccall/ComfyUI-ScaleToTargetMegapixels",
"files": [
"https://github.com/troyxmccall/ComfyUI-ScaleToTargetMegapixels"
],
"install_type": "git-clone",
"description": "NODES:ScaleToTargetMegapixels."
},
{
"author": "Comflowy",
"title": "Comflowy's Custom Nodes",
"id": "comflowy",
"reference": "https://github.com/6174/comflowy-nodes",
"files": [
"https://github.com/6174/comflowy-nodes"
],
"install_type": "git-clone",
"description": "Custom nodes for ComfyUI by Comflowy."
},
{
"author": "TTPlanetPig",
"reference": "https://github.com/TTPlanetPig/Comfyui_Hunyuan3D",
"files": [
"https://github.com/TTPlanetPig/Comfyui_Hunyuan3D"
],
"install_type": "git-clone",
"description": "NODES:TTP_Hunyuan3DNode, TTP_SquareImage, TTP_GIFViewer"
},
{
"author": "ARZUMATA",
"title": "ComfyUI-Qwen2",
"reference": "https://github.com/ARZUMATA/ComfyUI-ARZUMATA-Qwen2",
"files": [
"https://github.com/ARZUMATA/ComfyUI-ARZUMATA-Qwen2"
],
"install_type": "git-clone",
"description": "Qwen2 Nodes for ComfyUI.\nI needed to run Qwen2 on ComfyUI to use it in my workflow for batching images and captioning and none of the implementations I found on the web worked the way I wanted.[w/May contain bugs.]"
},
{
"author": "ryanontheinside",
"title": "Doom",
"reference": "https://github.com/ryanontheinside/ComfyUI_Doom",
"files": [
"https://github.com/ryanontheinside/ComfyUI_Doom"
],
"install_type": "git-clone",
"description": "Play Doom in ComfyUI."
},
{
"author": "wTechArtist",
"title": "ComfyUI-StableDelight-weiweiliang",
"reference": "https://github.com/wTechArtist/ComfyUI-StableDelight-weiweiliang",
"files": [
"https://github.com/wTechArtist/ComfyUI-StableDelight-weiweiliang"
],
"install_type": "git-clone",
"description": "Nodes:StableDelight-weiweiliang"
},
{
"author": "VangengLab",
"title": "ComfyUI-LivePortrait_v2",
"reference": "https://github.com/VangengLab/ComfyUI-LivePortrait_v2",
"files": [
"https://github.com/VangengLab/ComfyUI-LivePortrait_v2"
],
"install_type": "git-clone",
"description": "We developed a custom_node for Liveportrait_v2 that enables flexible use on Comfyui to drive animal image-based emoji generation from videos."
},
{
"author": "VangengLab",
"title": "ComfyUI-LivePortrait_v3",
"reference": "https://github.com/VangengLab/ComfyUI-LivePortrait_v3",
"files": [
"https://github.com/VangengLab/ComfyUI-LivePortrait_v3"
],
"install_type": "git-clone",
"description": "We developed a custom_node for Liveportrait_v3 that enables flexible use on Comfyui to drive image-based emoji generation from photos."
},
{
"author": "jtydhr88",
"title": "ComfyUI-Hunyuan3D-1-wrapper",
"reference": "https://github.com/jtydhr88/ComfyUI-Hunyuan3D-1-wrapper",
"files": [
"https://github.com/jtydhr88/ComfyUI-Hunyuan3D-1-wrapper"
],
"install_type": "git-clone",
"description": "ComfyUI Hunyuan3D-1-wrapper is a custom node that allows you to run [a/Tencent/Hunyuan3D-1](https://github.com/Tencent/Hunyuan3D-1) in ComfyUI as a wrapper."
}
]
}

View File

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,39 @@
{
"models": [
{
"name": "stabilityai/SD3.5-Large-Controlnet-Blur",
"type": "controlnet",
"base": "SD3.5",
"save_path": "controlnet/SD3.5",
"description": "Blur Controlnet model for SD3.5 Large",
"reference": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets",
"filename": "sd3.5_large_controlnet_blur.safetensors",
"url": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_blur.safetensors",
"size": "8.65GB"
},
{
"name": "stabilityai/SD3.5-Large-Controlnet-Canny",
"type": "controlnet",
"base": "SD3.5",
"save_path": "controlnet/SD3.5",
"description": "Canny Controlnet model for SD3.5 Large",
"reference": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets",
"filename": "sd3.5_large_controlnet_canny.safetensors",
"url": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_canny.safetensors",
"size": "8.65GB"
},
{
"name": "stabilityai/SD3.5-Large-Controlnet-Depth",
"type": "controlnet",
"base": "SD3.5",
"save_path": "controlnet/SD3.5",
"description": "Depth Controlnet model for SD3.5 Large",
"reference": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets",
"filename": "sd3.5_large_controlnet_depth.safetensors",
"url": "https://huggingface.co/stabilityai/stable-diffusion-3.5-controlnets/resolve/main/sd3.5_large_controlnet_depth.safetensors",
"size": "8.65GB"
},
{
"name": "LTX-Video 2B v0.9 Checkpoint",
"type": "checkpoint",
@@ -646,50 +680,6 @@
"filename": "flux1-dev-Q5_0.gguf",
"url": "https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q5_0.gguf",
"size": "8.27GB"
},
{
"name": "city96/flux1-dev-Q5_1.gguf",
"type": "diffusion_model",
"base": "FLUX.1",
"save_path": "diffusion_models/FLUX1",
"description": "FLUX.1 [Dev] Diffusion model (Q5_1/.gguf)",
"reference": "https://huggingface.co/city96/FLUX.1-dev-gguf",
"filename": "flux1-dev-Q5_1.gguf",
"url": "https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q5_1.gguf",
"size": "9.01GB"
},
{
"name": "city96/flux1-dev-Q5_K_S.gguf",
"type": "diffusion_model",
"base": "FLUX.1",
"save_path": "diffusion_models/FLUX1",
"description": "FLUX.1 [Dev] Diffusion model (Q5_K_S/.gguf)",
"reference": "https://huggingface.co/city96/FLUX.1-dev-gguf",
"filename": "flux1-dev-Q5_K_S.gguf",
"url": "https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q5_K_S.gguf",
"size": "8.29GB"
},
{
"name": "city96/flux1-dev-Q6_K.gguf",
"type": "diffusion_model",
"base": "FLUX.1",
"save_path": "diffusion_models/FLUX1",
"description": "FLUX.1 [Dev] Diffusion model (Q6_K/.gguf)",
"reference": "https://huggingface.co/city96/FLUX.1-dev-gguf",
"filename": "flux1-dev-Q6_K.gguf",
"url": "https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q6_K.gguf",
"size": "9.86GB"
},
{
"name": "city96/flux1-dev-Q8_0.gguf",
"type": "diffusion_model",
"base": "FLUX.1",
"save_path": "diffusion_models/FLUX1",
"description": "FLUX.1 [Dev] Diffusion model (Q8_0/.gguf)",
"reference": "https://huggingface.co/city96/FLUX.1-dev-gguf",
"filename": "flux1-dev-Q8_0.gguf",
"url": "https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q8_0.gguf",
"size": "12.7GB"
}
]
}

View File

@@ -1,372 +1,373 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "aaaaaaaaaa"
},
"source": [
"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"
}
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "aaaaaaaaaa"
},
"source": [
"Git clone the repo and install the requirements. (ignore the pip errors about protobuf)"
]
},
"nbformat": 4,
"nbformat_minor": 0
{
"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/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,6 +84,7 @@ if os.path.exists(pip_overrides_path):
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['numpy'] = 'numpy<2'
cm_global.pip_overrides['ultralytics'] = 'ultralytics==8.3.40' # for security
def remap_pip_package(pkg):

View File

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