Compare commits

...

173 Commits

Author SHA1 Message Date
Dr.Lt.Data
3315807a37 security patch
https://github.com/ltdrdata/ComfyUI-Manager/issues/1125
2024-10-08 19:11:22 +09:00
Dr.Lt.Data
8dd84bb0ec typo fix 2024-10-08 08:31:31 +09:00
Dr.Lt.Data
e9eaff7f7e double click feature is fixed
MODIFIED: separate into copy-full and copy-all
FIXED: improper size copying

https://github.com/ltdrdata/ComfyUI-Manager/issues/1118
2024-10-08 08:28:33 +09:00
Dr.Lt.Data
0469cad3bc security policy is modified
MODIFIED: Fix custom nodes feature belongs to `high` level risky features
2024-10-07 08:58:47 +09:00
Dr.Lt.Data
d289dd523a update DB 2024-10-07 00:29:37 +09:00
Dr.Lt.Data
1cb6adb3dc update DB 2024-10-05 17:16:17 +09:00
SpenserCai
e93d0ab0f2 Fix link in FunAudioLLM (#1115)
* add ComfyUI-FunAudioLLM

* fix link in FunAudioLLM
2024-10-05 17:11:32 +09:00
Dr.Lt.Data
61537d985d FIXED: component feature - compatibility patch
https://github.com/ltdrdata/ComfyUI-Manager/issues/1108
2024-10-05 15:33:22 +09:00
Dr.Lt.Data
c999886fe0 update DB 2024-10-05 15:22:16 +09:00
chrisgoringe
0e6e391caf Update custom-node-list.json (#1110)
Add comfy controller
2024-10-05 14:32:40 +09:00
YarvixPA
26573ce489 Update custom-node-list.json (#1111) 2024-10-05 14:31:09 +09:00
SpenserCai
c2869c8c67 add ComfyUI-FunAudioLLM (#1112) 2024-10-05 14:30:25 +09:00
akatz
792a836121 Update custom-node-list.json with Depthflow Nodes pack (#1113) 2024-10-05 14:28:29 +09:00
Dr.Lt.Data
72ef927b32 update DB 2024-10-03 23:36:03 +09:00
stephennilor
bb67901e92 add nilor-nodes to custom node list db (#1106)
* add nilor-nodes to custom node list db

* Update custom-node-list.json

---------

Co-authored-by: Stephen <>
Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2024-10-03 23:02:49 +09:00
Johan Mellin
f87d4ea150 Update custom-node-list.json (#1107)
Trying this again since you added my node to node_db/new/custom-node-list.json but never in the live custom-node-list.json
2024-10-03 22:58:38 +09:00
Dr.Lt.Data
7ec376774f update DB 2024-10-02 00:15:48 +09:00
Jet Chopper
21ed4bd420 custom-node-list update (#1103)
Co-authored-by: mykhailo-kabanenko <mykhailo.kabanenko@lumiere3d.ai>
2024-10-02 00:07:50 +09:00
Dr.Lt.Data
93b8c39ad7 update DB 2024-10-02 00:04:56 +09:00
Mcmillian
6ea771781f Update custom-node-list.json (#1090) 2024-10-01 23:03:33 +09:00
Dr.Lt.Data
7fc4343dac update DB 2024-10-01 23:03:08 +09:00
BriaOr
b12bd3849c Added Bria AI's comfy-ui nodes repos to the registry (#1098) 2024-10-01 23:02:15 +09:00
Dr.Lt.Data
78d9cbe659 update DB 2024-10-01 23:01:27 +09:00
Dan Bochman
3e3800bc59 node for fashn-ai api (#1100) 2024-10-01 23:00:54 +09:00
Dr.Lt.Data
9adbff6e16 update DB 2024-10-01 22:59:33 +09:00
ez-af
f7a2e3f874 Add ez-af (#1101)
* Add files via upload

* Add files via upload
2024-10-01 22:58:40 +09:00
James Veitch
5b78ce0bff add comfydv nodes to custom-node-list.json (#1102) 2024-10-01 22:57:22 +09:00
CYCHENYUE
2f2ac86513 Update install_type for ComfyUI-Molmo in custom-node-list.json (#1097)
Changed the install_type for ComfyUI-Molmo from 'git_clone' to 'git-clone' to resolve installation issues and maintain consistency with other extensions.

The nodes are already available in the manager, but the installation prompt says “ComfyUI-Molmo install failed: Bad Request”, is this related?
2024-10-01 11:28:38 +09:00
Dr.Lt.Data
fbb1cd60d6 add docs.comfy.org
https://github.com/ltdrdata/ComfyUI-Manager/pull/1095
2024-09-29 17:18:06 +09:00
Dr.Lt.Data
51d3f3829c update DB 2024-09-29 16:59:23 +09:00
Dr.Lt.Data
53c8fc7751 update DB 2024-09-29 16:55:24 +09:00
CYCHENYUE
22fa2825f8 Update custom-node-list.json (#1094)
Use of the molmo model.Generate detailed image descriptions and analysis using Molmo models in ComfyUI.
2024-09-29 16:54:42 +09:00
Dr.Lt.Data
752c17df3c update DB 2024-09-29 16:54:24 +09:00
codecringebinge
66542292c3 Add ComfyUI-Arrow-Key-Canvas-Navigation to custom-node-list.json (#1096) 2024-09-29 16:34:26 +09:00
Dr.Lt.Data
4745597c0a update DB 2024-09-29 16:33:44 +09:00
CYCHENYUE
1e7d101063 Update custom-node-list.json (#1093)
* Update custom-node-list.json

Custom nodes for MiniCPM language models in ComfyUI. Provides advanced text generation and image understanding functions.

* Update custom-node-list.json

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2024-09-29 16:29:57 +09:00
Dr.Lt.Data
4dc9ee9363 update DB 2024-09-27 22:46:30 +09:00
plugcrypt
07f9a34036 Update custom-node-list.json (#1087)
This set includes toggle nodes for Lora Unet blocks L1/L2
https://github.com/plugcrypt/CRT-Nodes
2024-09-27 22:30:01 +09:00
Timofey Valov
97b55a0da6 OpenRouter node (#1086)
* Update custom-node-list.json

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2024-09-27 16:15:42 +09:00
Dr.Lt.Data
cb8bcd7edf update DB 2024-09-26 09:49:08 +09:00
Dr.Lt.Data
eb607a6b41 version marker 2024-09-26 09:14:14 +09:00
bymyself
32430968b8 Update groupnode/component to be compatible with frontend v1.2.64 (#1084) 2024-09-26 08:33:14 +09:00
Dr.Lt.Data
f3e9856107 update DB 2024-09-25 23:32:11 +09:00
Johan Mellin
d9ec870598 Update custom-node-list.json (#1083)
added ComfyUI GLM-4 Wrapper. https://github.com/Nojahhh/ComfyUI_GLM4_Wrapper
2024-09-25 23:26:59 +09:00
Dr.Lt.Data
a182e526d7 update DB 2024-09-24 22:25:28 +09:00
Dr.Lt.Data
a8d338a997 update DB 2024-09-24 09:03:10 +09:00
Silver
9589f343df Re-add renamed custom node repo and to correct node list (#1077) 2024-09-24 08:54:58 +09:00
Douglas Griffith
71c602be95 fix duplicate repo in custom-node-list (#1082) 2024-09-24 08:35:06 +09:00
Dr.Lt.Data
1d7777fb0b update DB 2024-09-24 02:00:38 +09:00
Dr.Lt.Data
ffc095a3e5 robust validation 2024-09-24 01:59:35 +09:00
Dr.Lt.Data
8db932afd9 update DB 2024-09-24 01:22:35 +09:00
Dr.Lt.Data
45c2cfd92e update DB 2024-09-23 01:13:05 +09:00
Dr.Lt.Data
8bb5eecf0d update DB 2024-09-21 20:03:34 +09:00
Dr.Lt.Data
5dc4cf7206 update DB 2024-09-21 02:38:07 +09:00
Oleksandr Yalynskyi
e73d66d65a add ComfyUI-Color_Transfer nodes to list (#1074) 2024-09-21 02:35:32 +09:00
Dr.Lt.Data
40b2050e71 update DB 2024-09-21 02:35:03 +09:00
Pedro Gabriel Gengo Lourenço
0cc279b109 Adding Luma custom nodes (#1075)
Co-authored-by: Pedro Gengo <pedro@Pedros-MacBook-Pro-2.local>
2024-09-21 02:34:13 +09:00
Dr.Lt.Data
86e13b6ee1 update DB 2024-09-21 01:38:37 +09:00
Dr.Lt.Data
131d2dae3c update DB 2024-09-21 00:09:05 +09:00
Dr.Lt.Data
de3cd9fe72 update DB 2024-09-19 22:36:37 +09:00
Isi
b8389e81a1 Please add ComfyUI Image to Painting and Inspyrenet Assistant Nodes (#1068)
* Update custom-node-list.json with ComfyUI-Img2DrawingAssistants

* Update custom-node-list.json

* Update custom-node-list.json
2024-09-19 22:23:20 +09:00
Paul Molodowitch
3e4ea1662c model-list.json: update url for t5-v1_1-xxl_encoderonly-fp16 (#1069)
The filename in the git repo was changed from "pytorch_model.safetensors" to "model.safetensors":

b13e9156c8
2024-09-19 09:01:35 +09:00
Paul Molodowitch
bc63b2cd3f model-list.json: fix save-path for flux1-dev-F16.gguf (#1070)
The save path has a typo - it saves to the "diffusion_model" subfolder (no "s"), instead of "diffusion_models"
2024-09-19 09:00:41 +09:00
Dr.Lt.Data
3701246fb1 use core badge feature if possible
https://github.com/ltdrdata/ComfyUI-Manager/pull/1051
2024-09-19 02:43:07 +09:00
Dr.Lt.Data
0e4b47c13d update DB 2024-09-19 01:48:36 +09:00
Dr.Lt.Data
79b4136403 update DB 2024-09-18 22:01:14 +09:00
Alexander G. Morano
91425aea62 Cozy Link Toggle (#1067)
https://github.com/cozy-comfyui/cozy_link_toggle
2024-09-18 21:45:55 +09:00
Dr.Lt.Data
6d61491a5b update DB 2024-09-18 01:35:01 +09:00
Christopher Woggon
efbb251635 Added chris-comfyui-nodes (#1066) 2024-09-18 01:22:49 +09:00
Dr.Lt.Data
18b66c7835 update DB 2024-09-17 23:15:41 +09:00
OgreLemonSoup
edb77c24ad Update title and description custom-node-list.json (#1064) 2024-09-17 23:05:54 +09:00
NyaamZ
4e01e70ef5 add Efficiency Nodes ED and ComfyUI ImageGallery ED (#1063)
* add

add

* Update custom-node-list.json

* Add files via upload

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2024-09-17 23:04:46 +09:00
Dr.Lt.Data
0e16c0cb24 update DB 2024-09-17 16:14:09 +09:00
Dr.Lt.Data
7e777c5460 update DB 2024-09-16 12:56:45 +09:00
Dr.Lt.Data
07402c7a90 update DB 2024-09-16 02:12:53 +09:00
Dr.Lt.Data
1c19fa9e38 update DB 2024-09-16 01:44:31 +09:00
Dayuppy
8c799dbf5c Add ComfyUI-DiscordWebhook to custom node list (#1061)
,
        {
            "author": "Dayuppy",
            "title": "Discord Webhook",
            "id": "DiscordWebhook",
            "reference": "https://github.com/Dayuppy/ComfyUI-DiscordWebhook",
            "files": [
                "https://github.com/Dayuppy/ComfyUI-DiscordWebhook"
            ],
            "install_type": "git-clone",
            "description": "A very simple Discord webhook integration node for ComfyUI that lets you post images and text."
        },
2024-09-16 01:43:43 +09:00
Peyton DeNiro
65f26ae443 Add Comfyui to Python Extension to custom node list. (#1060) 2024-09-16 01:41:38 +09:00
Dr.Lt.Data
b690e71ecb update DB 2024-09-14 16:06:16 +09:00
glide-the
4ba4ef3c7d ComfyUI ZhipuAI Platform (#1057)
* This platform extension provides ZhipuAI etector nodes and detailer nodes, enabling you to configure a workflow for online video generation

* Moving repository

* Refactor custom-node-list.json to update ZhipuAI extension description

---------

Co-authored-by: chchchch <stu_chenhao@163.com>
2024-09-14 15:50:18 +09:00
Dr.Lt.Data
704a73888a update DB 2024-09-13 17:46:25 +09:00
Daxton Caylor
d2bf1112ad New Node ComfyUI-TG (#1056)
* Update custom-node-list.json

* Update custom-node-list.json

New Node Comfy-WA

* Update custom-node-list.json
2024-09-13 17:42:51 +09:00
AirzoStorm
33e3da1f12 add comfyui-nettools (#1054)
Co-authored-by: zhuowenhao <zhuowenhao@huya.com>
2024-09-13 17:17:38 +09:00
Dr.Lt.Data
0314610a95 update DB 2024-09-13 01:43:13 +09:00
Fuwuffy
98f6da3222 Add comfyui-visual-area-nodes to custom nodes list (#1052)
* add comfyui-visual-area-nodes

* fix wording comfyui-visual-area-nodes
2024-09-13 01:17:38 +09:00
Patrice Ferlet
19c660c965 Add Human Parts Detector (#1050)
Human Parts Detector is a custom node I created with an exported model to ONNX format.
2024-09-13 01:15:56 +09:00
Dr.Lt.Data
6ed23c7abe update DB 2024-09-12 01:43:42 +09:00
Dr.Lt.Data
5a87326518 update DB 2024-09-11 00:07:43 +09:00
Yvann
584c500247 Change Description of my custom nodes pack "ComfyUI_Yvann-Nodes" (#1046)
* Change Description of my custom nodes pack "ComfyUI_Yvann-Nodes"

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2024-09-10 09:52:02 +09:00
Dr.Lt.Data
bd790a2cd4 update DB 2024-09-10 00:43:15 +09:00
Alex Cong
7e27275eae add comfyui-qwen2-vl node (#1043)
* add comfyui-qwen2-vl node

* fix formating

* fix formating

---------

Co-authored-by: alexcong <alexcong@alexcong.com>
2024-09-10 00:29:27 +09:00
Dr.Lt.Data
89ca98e84f update DB 2024-09-10 00:28:56 +09:00
daxcay
342bb62635 New Node Comfy-WA (#1045)
* Update custom-node-list.json

* Update custom-node-list.json

New Node Comfy-WA
2024-09-10 00:27:28 +09:00
Dan
7da0bf5a2e Added Prompt Gallery to the custom node list (#1044) 2024-09-10 00:25:28 +09:00
Dr.Lt.Data
ce874d5c62 update DB 2024-09-09 01:29:36 +09:00
Dr.Lt.Data
25d47ac7d0 update DB 2024-09-08 12:46:27 +09:00
John Morrissey
a2be700a87 Update custom-node-list.json (#1041)
Added comfyui-simplefeed to list of modules.
2024-09-08 12:16:43 +09:00
bymyself
e396d48488 Fix Terminal Log node render (#1042) 2024-09-08 12:06:47 +09:00
Dr.Lt.Data
0c57379dfe update DB 2024-09-07 00:51:14 +09:00
Dr.Lt.Data
b885100dfe update DB 2024-09-06 23:59:02 +09:00
Dr.Lt.Data
3d0d201208 update DB 2024-09-05 23:32:06 +09:00
Dr.Lt.Data
2e4d1d51e5 update DB 2024-09-05 22:24:33 +09:00
Dr.Lt.Data
a18f6045a3 update DB 2024-09-05 22:18:35 +09:00
Gecco
9f08900064 Add Gecco Discord Autosend to custom node list (#1033)
* Add Gecco Discord Autosend to custom node list

* Update custom-node-list.json
2024-09-05 21:50:17 +09:00
Cesaryuan
e0b88ce42a Fix white theme of Share window (#1036) 2024-09-05 21:49:24 +09:00
Dr.Lt.Data
1ff2ec760b update DB 2024-09-05 02:19:34 +09:00
Dr.Lt.Data
216214625a update DB 2024-09-05 01:49:05 +09:00
Dr.Lt.Data
740b763e78 update DB 2024-09-03 02:35:21 +09:00
lazniak
cd9b9a8ab8 Add Head Orientation Node for ComfyUI to custom node list (#1030)
This pull request adds the Head Orientation Node for ComfyUI to the custom node list. 

Key features of the Head Orientation Node:
- Analyzes and sorts images based on facial orientation using MediaPipe
- Detects facial landmarks and calculates head pose (pitch, yaw, roll)
- Supports batch processing of multiple images
- Enhances AI image processing workflows with intelligent image sorting

Technical details:
- Implemented in Python using MediaPipe, OpenCV, and NumPy
- Compatible with existing ComfyUI infrastructure
- Thoroughly tested for accuracy and performance

This node fills a gap in the current ComfyUI ecosystem by providing advanced facial analysis capabilities, which can be particularly useful for tasks like:
- Automated portrait retouching
- Dataset preparation for facial recognition models
- Creating consistent facial animations

The code follows best practices for Python development and adheres to the Apache 2.0 license, ensuring compatibility with ComfyUI and its extensions.

I've thoroughly tested this node and believe it will be a valuable addition to the ComfyUI toolkit. I'm open to any feedback or suggestions for improvement.

Thank you for considering this contribution to the ComfyUI-Manager repository.
2024-09-03 02:31:54 +09:00
Dr.Lt.Data
faf1600721 update DB 2024-09-02 01:11:47 +09:00
Dr.Lt.Data
f75384ecdd update DB 2024-09-01 15:48:49 +09:00
Dr.Lt.Data
bfb9a7b855 update DB 2024-09-01 01:31:24 +09:00
Hmily
78314d9529 Update custom-node-list.json (#1025) 2024-09-01 01:01:59 +09:00
Dr.Lt.Data
019cce0203 update DB 2024-09-01 01:01:38 +09:00
IuvenisSapiens
2911861db8 add custom node ComfyUI_Qwen2-VL-Instruct (#1024)
* add custom node ComfyUI_Qwen2-Audio-7B-Instruct-Int4

* new custom_node
2024-09-01 01:00:37 +09:00
Dr.Lt.Data
0f679ac99c update DB 2024-08-31 10:37:28 +09:00
Dr.Lt.Data
33bfddeba9 update DB 2024-08-31 01:47:52 +09:00
Dr.Lt.Data
0486f5a294 update DB 2024-08-31 01:05:25 +09:00
Bao Pham
b94c06f81c lyra-vsih (#1017) 2024-08-31 01:04:20 +09:00
Dr.Lt.Data
d7170c0264 update DB 2024-08-29 23:01:17 +09:00
Dr.Lt.Data
60405fcfbc update DB 2024-08-29 22:25:56 +09:00
Dr.Lt.Data
c0cc37787a update DB 2024-08-29 21:51:31 +09:00
racerx2oo3
d4812c09a4 Handle comments on the same line as package name (#1020)
Co-authored-by: SKilbride <110414370+SKilbride@users.noreply.github.com>
2024-08-29 09:34:57 +09:00
Dr.Lt.Data
600c8117a3 update DB 2024-08-29 02:38:02 +09:00
Milad
1a156b1c75 Adding InstaSD custom input nodes (#1019) 2024-08-29 02:31:56 +09:00
Dr.Lt.Data
f5d656c87d update DB 2024-08-28 23:56:28 +09:00
Dr.Lt.Data
f22a7d29dd update DB 2024-08-28 23:45:19 +09:00
Dr.Lt.Data
a7bde44ea9 update DB 2024-08-28 21:37:13 +09:00
tianguanggliu
2783a1da1b pull (#1014)
Co-authored-by: ltg-dyrs <ltg@dyrs.com>
2024-08-28 21:11:18 +09:00
Dr.Lt.Data
5c504ca9f4 update DB 2024-08-28 21:10:26 +09:00
Dominic Roberge
fe44dd08cc Update D00MYsNodes description and nodes list (#1011)
* Update D00MYsNodes description and nodes

* Update in the right place?

* Spaces nickpicking

* New node
2024-08-28 21:09:04 +09:00
Jukka Seppänen
9077f683ae Add CogVideoX wrapper and LLaVA-OneVision -nodes (#1012)
* Add IC-Light nodes and models

* Add Florence2 and LuminaWrapper -nodes

https://github.com/kijai/ComfyUI-Florence2
https://github.com/kijai/ComfyUI-LuminaWrapper

* Update custom-node-list.json

* Update custom-node-list.json

* Update custom-node-list.json

* Add segment-anything-2

* Update custom-node-list.json

* Add T5 encoder models

* Update custom-node-list.json
2024-08-28 21:08:00 +09:00
Isi
9413c3e100 Update custom-node-list.json with ComfyUI-Img2DrawingAssistants (#1010) 2024-08-28 21:06:38 +09:00
morikuni
8c2563e64a Fix SyntaxError: invalid syntax (#1013) 2024-08-28 13:29:28 +09:00
Dr.Lt.Data
7d8a279a12 update DB 2024-08-28 01:38:10 +09:00
xlinx@decade
382498e01d Update custom-node-list.json (#1008)
[update] change tittle match git repositories name shows in Manager node list. In the future can simply login and change it on registry web.
2024-08-28 00:42:12 +09:00
Dr.Lt.Data
820598cdb8 update DB 2024-08-27 01:16:53 +09:00
Dr.Lt.Data
42f33a2dca update DB 2024-08-26 22:48:13 +09:00
Nguyễn Minh Đức
ca0765ac00 add ObjectFusion custom nodes (#1001) 2024-08-26 22:07:45 +09:00
Dr.Lt.Data
49aee6f291 update DB 2024-08-26 01:09:48 +09:00
Dr.Lt.Data
5e20b74dcc update DB 2024-08-26 00:52:42 +09:00
Dr.Lt.Data
fa87ebd9a7 update DB 2024-08-25 11:54:47 +09:00
Dr.Lt.Data
b0b1505777 update DB 2024-08-24 19:09:56 +09:00
Dr.Lt.Data
0d85c2e88a update DB 2024-08-24 18:30:05 +09:00
IuvenisSapiens
61da8de828 add custom node ComfyUI_Qwen2-Audio-7B-Instruct-Int4 (#988) 2024-08-24 18:25:35 +09:00
daxcay
61ee956043 Update custom-node-list.json (#997) 2024-08-24 17:22:10 +09:00
Dr.Lt.Data
efd081a2c5 Update DB 2024-08-24 17:09:11 +09:00
Dr.Lt.Data
c9134d1eeb update DB 2024-08-24 14:19:56 +09:00
Dr.Lt.Data
36de48302d update DB 2024-08-24 14:19:16 +09:00
Dr.Lt.Data
f74481cb53 update DB 2024-08-24 11:07:33 +09:00
niknah
4c17839831 Added quick-connections custom node (#996) 2024-08-24 09:44:14 +09:00
Dr.Lt.Data
ea7e44e122 update DB 2024-08-24 09:42:05 +09:00
Dr. Jusseaux
bc02161d56 added Diffusers-in-ComfyUI custom node (#994)
Co-authored-by: Maëlys Jusseaux <https://gitlab.com/mjusseaux>
2024-08-24 09:39:33 +09:00
Dr.Lt.Data
e8d5c92cb3 update DB 2024-08-23 00:48:33 +09:00
Dr.Lt.Data
c6c35115e1 update DB 2024-08-22 23:11:06 +09:00
Baurzhan Abenov
029a597a31 Added entry for my custom node (#991) 2024-08-22 23:09:40 +09:00
Dr.Lt.Data
6619b9b98b update DB 2024-08-22 23:09:16 +09:00
aidenli
225c3e3a20 add custom node ComfyUI_NYJY (#987) 2024-08-22 23:07:29 +09:00
Dr.Lt.Data
596316536e fix: invalid etc model path
https://github.com/ltdrdata/ComfyUI-Manager/pull/942#issuecomment-2303932387
2024-08-22 23:05:55 +09:00
Dr.Lt.Data
521e92796b update DB 2024-08-22 00:41:09 +09:00
Dr.Lt.Data
2a50beb9ee update DB 2024-08-22 00:29:34 +09:00
雛星 φυβλας
e310072782 Update custom-node-list.json (#985) 2024-08-21 23:49:11 +09:00
dr.lt.data
622c449a86 update DB 2024-08-21 11:31:51 +09:00
Ex-nihilo
b4aa41cac1 Update model-list.json (#986)
Rename flux1-schnell.sft to flux1-schnell.safetensors as it was done on the Hf page, the download is currently broken without this.
2024-08-21 11:31:02 +09:00
Dr.Lt.Data
6b7c4d6330 update DB 2024-08-21 00:16:12 +09:00
Dr.Lt.Data
f5d997bbbb update DB 2024-08-20 00:52:57 +09:00
Dr.Lt.Data
fea911c3d7 update DB 2024-08-19 23:56:15 +09:00
Zhongjie Duan
5222c277e6 Add Dashscope FLUX API node (#981) 2024-08-19 23:31:08 +09:00
Dr.Lt.Data
5835a1da5c update DB 2024-08-19 23:30:27 +09:00
Trần Lê Anh Khoa
2120d76250 feat: Add Handy Node ComfyUI to custom-node-list.json (#979) 2024-08-19 23:29:12 +09:00
Dr.Lt.Data
79f132c23b update DB 2024-08-18 13:00:11 +09:00
Dr.Lt.Data
4b92288f7b update DB 2024-08-18 12:56:07 +09:00
Xrvk
b9c667cdcc Add eesahesNodes (InstantX's Flux union ControlNet loader and implementation) (#977) 2024-08-18 12:51:45 +09:00
27 changed files with 16048 additions and 4989 deletions

2
.gitignore vendored
View File

@@ -14,4 +14,4 @@ comfyworkflows_sharekey
github-stats-cache.json
pip_overrides.json
*.json
check2.sh

View File

@@ -204,7 +204,6 @@ This repository provides Colab notebooks that allow you to install and use Comfy
* Please submit a pull request to update either the custom-node-list.json or model-list.json file.
* The scanner currently provides a detection function for missing nodes, which is capable of detecting nodes described by the following two patterns.
* Or you can provide manually `node_list.json` file.
```
NODE_CLASS_MAPPINGS = {
@@ -218,6 +217,7 @@ NODE_CLASS_MAPPINGS.update({
"SemSegPreprocessor": Uniformer_SemSegPreprocessor,
})
```
* Or you can provide manually `node_list.json` file.
* When you write a docstring in the header of the .py file for the Node as follows, it will be used for managing the database in the Manager.
* Currently, only the `nickname` is being used, but other parts will also be utilized in the future.
@@ -364,9 +364,10 @@ When you run the `scan.sh` script:
* `Install via git url`, `pip install`
* Installation of custom nodes registered not in the `default channel`.
* Display terminal log
* Fix custom nodes
* `middle` level risky features
* Uninstall/Update/Fix custom nodes
* Uninstall/Update
* Installation of custom nodes registered in the `default channel`.
* Restore/Remove Snapshot
* Restart

View File

@@ -109,7 +109,7 @@ class Ctx:
install_script_path = os.path.join(repo_path, 'install.py')
if os.path.exists(requirements_path):
with (open(requirements_path, 'r', encoding="UTF-8", errors="ignore") as file):
with open(requirements_path, 'r', encoding="UTF-8", errors="ignore") as file:
for line in file:
package_name = core.remap_pip_package(line.strip())
if package_name and not core.is_installed(package_name):

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

File diff suppressed because it is too large Load Diff

View File

@@ -23,7 +23,7 @@ sys.path.append(glob_path)
import cm_global
from manager_util import *
version = [2, 50, 1]
version = [2, 51, 6]
version_str = f"V{version[0]}.{version[1]}" + (f'.{version[2]}' if len(version) > 2 else '')
@@ -410,6 +410,14 @@ def execute_install_script(url, repo_path, lazy_mode=False, instant_execution=Fa
print("Install: pip packages")
with open(requirements_path, "r") as requirements_file:
for line in requirements_file:
#handle comments
if '#' in line:
if line.strip()[0] == '#':
print("Line is comment...skipping")
continue
else:
line = line.split('#')[0].strip()
package_name = remap_pip_package(line.strip())
if package_name and not package_name.startswith('#'):
@@ -1127,7 +1135,7 @@ async def extract_nodes_from_workflow(filepath, mode='local', channel_url='defau
if node_name in ['Reroute', 'Note']:
continue
if node_name is not None and not node_name.startswith('workflow/'):
if node_name is not None and not (node_name.startswith('workflow/') or node_name.startswith('workflow>')):
used_nodes.add(node_name)
if 'nodes' in workflow:

View File

@@ -47,7 +47,9 @@ is_local_mode = args.listen.startswith('127.') or args.listen.startswith('local.
def is_allowed_security_level(level):
if level == 'high':
if level == 'block':
return False
elif level == 'high':
if is_local_mode:
return core.get_config()['security_level'].lower() in ['weak', 'normal-']
else:
@@ -58,7 +60,7 @@ def is_allowed_security_level(level):
return True
async def get_risky_level(files):
async def get_risky_level(files, pip_packages):
json_data1 = await core.get_data_by_mode('local', 'custom-node-list.json')
json_data2 = await core.get_data_by_mode('cache', 'custom-node-list.json', channel_url='https://github.com/ltdrdata/ComfyUI-Manager/raw/main')
@@ -70,6 +72,15 @@ async def get_risky_level(files):
if x not in all_urls:
return "high"
all_pip_packages = set()
for x in json_data1['custom_nodes'] + json_data2['custom_nodes']:
if "pip" in x:
all_pip_packages.update(x['pip'])
for p in pip_packages:
if p not in all_pip_packages:
return "block"
return "middle"
@@ -240,7 +251,7 @@ def get_model_dir(data):
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 = "etc"
base_model = os.path.join(folder_paths.models_dir, "etc")
else:
if data['save_path'].startswith("custom_nodes"):
base_model = os.path.join(core.comfy_path, data['save_path'])
@@ -248,9 +259,7 @@ def get_model_dir(data):
base_model = os.path.join(folder_paths.models_dir, data['save_path'])
else:
model_type = data['type']
if model_type == "checkpoints":
base_model = folder_paths.folder_names_and_paths["checkpoints"][0][0]
elif model_type == "checkpoint":
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]
@@ -274,8 +283,14 @@ def get_model_dir(data):
base_model = folder_paths.folder_names_and_paths["upscale_models"][0][0]
elif model_type == "embeddings":
base_model = folder_paths.folder_names_and_paths["embeddings"][0][0]
elif model_type == "unet" or model_type == "diffusion_model":
if folder_paths.folder_names_and_paths.get("diffusion_models"):
base_model = folder_paths.folder_names_and_paths["diffusion_models"][0][1]
else:
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 = "etc"
base_model = os.path.join(folder_paths.models_dir, "etc")
return base_model
@@ -787,7 +802,7 @@ async def install_custom_node(request):
json_data = await request.json()
risky_level = await get_risky_level(json_data['files'])
risky_level = await get_risky_level(json_data['files'], json_data.get('pip', []))
if not is_allowed_security_level(risky_level):
print(SECURITY_MESSAGE_GENERAL)
return web.Response(status=404)
@@ -805,7 +820,14 @@ async def install_custom_node(request):
res = unzip_install(json_data['files'])
if install_type == "copy":
js_path_name = json_data['js_path'] if 'js_path' in json_data else '.'
if 'js_path' in json_data:
if '.' in json_data['js_path'] or ':' in json_data['js_path'] or json_data['js_path'].startswith('/'):
print(f"[ComfyUI Manager] An abnormal JS path has been transmitted. This could be the result of a security attack.\n{json_data['js_path']}")
return web.Response(status=400)
else:
js_path_name = json_data['js_path']
else:
js_path_name = '.'
res = copy_install(json_data['files'], js_path_name)
elif install_type == "git-clone":
@@ -828,7 +850,7 @@ async def install_custom_node(request):
@PromptServer.instance.routes.post("/customnode/fix")
async def fix_custom_node(request):
if not is_allowed_security_level('middle'):
if not is_allowed_security_level('high'):
print(SECURITY_MESSAGE_MIDDLE_OR_BELOW)
return web.Response(status=403)

View File

@@ -202,6 +202,40 @@ docStyle.innerHTML = `
}
`;
function is_legacy_front() {
let compareVersion = '1.2.49';
try {
const frontendVersion = window['__COMFYUI_FRONTEND_VERSION__'];
if (typeof frontendVersion !== 'string') {
return false;
}
function parseVersion(versionString) {
const parts = versionString.split('.').map(Number);
return parts.length === 3 && parts.every(part => !isNaN(part)) ? parts : null;
}
const currentVersion = parseVersion(frontendVersion);
const comparisonVersion = parseVersion(compareVersion);
if (!currentVersion || !comparisonVersion) {
return false;
}
for (let i = 0; i < 3; i++) {
if (currentVersion[i] > comparisonVersion[i]) {
return false;
} else if (currentVersion[i] < comparisonVersion[i]) {
return true;
}
}
return false;
} catch {
return true;
}
}
document.head.appendChild(docStyle);
var update_comfyui_button = null;
@@ -842,24 +876,27 @@ class ManagerMenuDialog extends ComfyDialog {
});
// nickname
let badge_combo = document.createElement("select");
badge_combo.setAttribute("title", "Configure the content to be displayed on the badge at the top right corner of the node. The ID is the identifier of the node. If 'hide built-in' is selected, both unknown nodes and built-in nodes will be omitted, making them indistinguishable");
badge_combo.className = "cm-menu-combo";
badge_combo.appendChild($el('option', { value: 'none', text: 'Badge: None' }, []));
badge_combo.appendChild($el('option', { value: 'nick', text: 'Badge: Nickname' }, []));
badge_combo.appendChild($el('option', { value: 'nick_hide', text: 'Badge: Nickname (hide built-in)' }, []));
badge_combo.appendChild($el('option', { value: 'id_nick', text: 'Badge: #ID Nickname' }, []));
badge_combo.appendChild($el('option', { value: 'id_nick_hide', text: 'Badge: #ID Nickname (hide built-in)' }, []));
let badge_combo = "";
if(is_legacy_front()) {
badge_combo = document.createElement("select");
badge_combo.setAttribute("title", "Configure the content to be displayed on the badge at the top right corner of the node. The ID is the identifier of the node. If 'hide built-in' is selected, both unknown nodes and built-in nodes will be omitted, making them indistinguishable");
badge_combo.className = "cm-menu-combo";
badge_combo.appendChild($el('option', { value: 'none', text: 'Badge: None' }, []));
badge_combo.appendChild($el('option', { value: 'nick', text: 'Badge: Nickname' }, []));
badge_combo.appendChild($el('option', { value: 'nick_hide', text: 'Badge: Nickname (hide built-in)' }, []));
badge_combo.appendChild($el('option', { value: 'id_nick', text: 'Badge: #ID Nickname' }, []));
badge_combo.appendChild($el('option', { value: 'id_nick_hide', text: 'Badge: #ID Nickname (hide built-in)' }, []));
api.fetchApi('/manager/badge_mode')
.then(response => response.text())
.then(data => { badge_combo.value = data; badge_mode = data; });
api.fetchApi('/manager/badge_mode')
.then(response => response.text())
.then(data => { badge_combo.value = data; badge_mode = data; });
badge_combo.addEventListener('change', function (event) {
api.fetchApi(`/manager/badge_mode?value=${event.target.value}`);
badge_mode = event.target.value;
app.graph.setDirtyCanvas(true);
});
badge_combo.addEventListener('change', function (event) {
api.fetchApi(`/manager/badge_mode?value=${event.target.value}`);
badge_mode = event.target.value;
app.graph.setDirtyCanvas(true);
});
}
// channel
let channel_combo = document.createElement("select");
@@ -945,6 +982,7 @@ class ManagerMenuDialog extends ComfyDialog {
dbl_click_policy_combo.className = "cm-menu-combo";
dbl_click_policy_combo.appendChild($el('option', { value: 'none', text: 'Double-Click: None' }, []));
dbl_click_policy_combo.appendChild($el('option', { value: 'copy-all', text: 'Double-Click: Copy All Connections' }, []));
dbl_click_policy_combo.appendChild($el('option', { value: 'copy-full', text: 'Double-Click: Copy All Connections and shape' }, []));
dbl_click_policy_combo.appendChild($el('option', { value: 'copy-input', text: 'Double-Click: Copy Input Connections' }, []));
dbl_click_policy_combo.appendChild($el('option', { value: 'possible-input', text: 'Double-Click: Possible Input Connections' }, []));
dbl_click_policy_combo.appendChild($el('option', { value: 'dual', text: 'Double-Click: Possible(left) + Copy(right)' }, []));
@@ -1044,6 +1082,10 @@ class ManagerMenuDialog extends ComfyDialog {
LiteGraph.closeAllContextMenus();
const menu = new LiteGraph.ContextMenu(
[
{
title: "ComfyUI Docs",
callback: () => { window.open("https://docs.comfy.org/", "comfyui-official-manual"); },
},
{
title: "Comfy Custom Node How To",
callback: () => { window.open("https://github.com/chrisgoringe/Comfy-Custom-Node-How-To/wiki/aaa_index", "comfyui-community-manual1"); },
@@ -1095,7 +1137,7 @@ class ManagerMenuDialog extends ComfyDialog {
textContent: 'Workflow Gallery',
style: {
'text-align': 'center',
'color': 'white',
'color': 'var(--input-text)',
'font-size': '18px',
'margin': 0,
'padding': 0,
@@ -1106,7 +1148,7 @@ class ManagerMenuDialog extends ComfyDialog {
textContent: `(${localStorage.getItem("wg_last_visited") ? localStorage.getItem("wg_last_visited").split('/')[2] : ''})`,
style: {
'text-align': 'center',
'color': 'white',
'color': 'var(--input-text)',
'font-size': '12px',
'margin': 0,
'padding': 0,
@@ -1411,24 +1453,28 @@ app.registerExtension({
},
async nodeCreated(node, app) {
if(!node.badge_enabled) {
node.getNickname = function () { return getNickname(node, node.comfyClass.trim()) };
let orig = node.onDrawForeground;
if(!orig)
orig = node.__proto__.onDrawForeground;
if(is_legacy_front()) {
if(!node.badge_enabled) {
node.getNickname = function () { return getNickname(node, node.comfyClass.trim()) };
let orig = node.onDrawForeground;
if(!orig)
orig = node.__proto__.onDrawForeground;
node.onDrawForeground = function (ctx) {
drawBadge(node, orig, arguments)
};
node.badge_enabled = true;
node.onDrawForeground = function (ctx) {
drawBadge(node, orig, arguments)
};
node.badge_enabled = true;
}
}
},
async loadedGraphNode(node, app) {
if(!node.badge_enabled) {
const orig = node.onDrawForeground;
node.getNickname = function () { return getNickname(node, node.type.trim()) };
node.onDrawForeground = function (ctx) { drawBadge(node, orig, arguments) };
if(is_legacy_front()) {
if(!node.badge_enabled) {
const orig = node.onDrawForeground;
node.getNickname = function () { return getNickname(node, node.type.trim()) };
node.onDrawForeground = function (ctx) { drawBadge(node, orig, arguments) };
}
}
},
@@ -1438,7 +1484,7 @@ app.registerExtension({
node.prototype.getExtraMenuOptions = function (_, options) {
origGetExtraMenuOptions?.apply?.(this, arguments);
if (node.category.startsWith('group nodes/')) {
if (node.category.startsWith('group nodes>')) {
options.push({
content: "Save As Component",
callback: (obj) => {

View File

@@ -315,7 +315,7 @@ export class ShareDialogChooser extends ComfyDialog {
key: "comfyworkflows",
textContent: "ComfyWorkflows",
website: "https://comfyworkflows.com",
description: "Share & browse thousands of ComfyUI workflows and art 🎨<br/><br/><a style='color:white;' href='https://comfyworkflows.com' target='_blank'>ComfyWorkflows.com</a>",
description: "Share & browse thousands of ComfyUI workflows and art 🎨<br/><br/><a style='color:var(--input-text);' href='https://comfyworkflows.com' target='_blank'>ComfyWorkflows.com</a>",
onclick: () => {
showShareDialog('comfyworkflows').then((suc) => {
suc && this.close();
@@ -326,7 +326,7 @@ export class ShareDialogChooser extends ComfyDialog {
key: "esheep",
textContent: "eSheep",
website: "https://www.esheep.com",
description: "Share & download thousands of ComfyUI workflows on <a style='color:white;' href='https://www.esheep.com' target='_blank'>esheep.com</a>",
description: "Share & download thousands of ComfyUI workflows on <a style='color:var(--input-text);' href='https://www.esheep.com' target='_blank'>esheep.com</a>",
onclick: () => {
shareToEsheep();
this.close();
@@ -336,7 +336,7 @@ export class ShareDialogChooser extends ComfyDialog {
key: "Copus",
textContent: "Copus",
website: "https://www.copus.io",
description: "🔴 Permanently store and secure ownership of your workflow on the open-source platform: <a style='color:white;' href='https://copus.io' target='_blank'>Copus.io</a>",
description: "🔴 Permanently store and secure ownership of your workflow on the open-source platform: <a style='color:var(--input-text);' href='https://copus.io' target='_blank'>Copus.io</a>",
onclick: () => {
showCopusShareDialog();
this.close();
@@ -382,7 +382,7 @@ export class ShareDialogChooser extends ComfyDialog {
innerHTML: b.description,
style: {
'text-align': 'left',
color: 'white',
color: 'var(--input-text)',
'font-size': '14px',
'margin-bottom': '0',
},
@@ -393,7 +393,7 @@ export class ShareDialogChooser extends ComfyDialog {
href: b.website,
target: "_blank",
style: {
color: 'white',
color: 'var(--input-text)',
'margin-left': '10px',
'font-size': '12px',
'text-decoration': 'none',
@@ -440,7 +440,7 @@ export class ShareDialogChooser extends ComfyDialog {
textContent: 'Choose a platform to share your workflow',
style: {
'text-align': 'center',
'color': 'white',
'color': 'var(--input-text)',
'font-size': '18px',
'margin-bottom': '10px',
},
@@ -686,7 +686,7 @@ export class ShareDialog extends ComfyDialog {
$el("div", {}, [
$el("p", {
size: 3, color: "white", style: {
color: 'white'
color: 'var(--input-text)'
}
}, [`Select where to share your art:`]),
this.matrix_destination_checkbox,
@@ -701,7 +701,7 @@ export class ShareDialog extends ComfyDialog {
size: 3,
color: "white",
style: {
color: 'white'
color: 'var(--input-text)'
}
}, []),
this.credits_input,
@@ -712,7 +712,7 @@ export class ShareDialog extends ComfyDialog {
size: 3,
color: "white",
style: {
color: 'white'
color: 'var(--input-text)'
}
}, []),
this.title_input,
@@ -723,7 +723,7 @@ export class ShareDialog extends ComfyDialog {
size: 3,
color: "white",
style: {
color: 'white'
color: 'var(--input-text)'
}
}, []),
this.description_input,
@@ -989,7 +989,7 @@ export class ShareDialog extends ComfyDialog {
}
const radio_button_text = $el("label", {
// style: {
// color: 'white'
// color: 'var(--input-text)'
// }
}, [output.title])
radio_button.style.color = "var(--fg-color)";
@@ -1028,7 +1028,7 @@ export class ShareDialog extends ComfyDialog {
color: "white",
style: {
'text-align': 'center',
color: 'white',
color: 'var(--input-text)',
backgroundColor: 'black',
padding: '10px',
'margin-top': '0px',
@@ -1040,7 +1040,7 @@ export class ShareDialog extends ComfyDialog {
color: "white",
style: {
'text-align': 'center',
color: 'white',
color: 'var(--input-text)',
'margin-bottom': '5px',
'font-style': 'italic',
'font-size': '12px',

View File

@@ -199,7 +199,7 @@ export class OpenArtShareDialog extends ComfyDialog {
color: "white",
style: {
'text-align': 'center',
color: 'white',
color: 'var(--input-text)',
margin: '0 0 10px 0',
}
});
@@ -733,7 +733,7 @@ export class OpenArtShareDialog extends ComfyDialog {
size: 2,
color: "white",
style: {
color: 'white',
color: 'var(--input-text)',
margin: '0 0 5px 0',
fontSize: '12px',
},

View File

@@ -4,6 +4,8 @@ import { sleep, show_message } from "./common.js";
import { GroupNodeConfig, GroupNodeHandler } from "../../extensions/core/groupNode.js";
import { ComfyDialog, $el } from "../../scripts/ui.js";
const SEPARATOR = ">"
let pack_map = {};
let rpack_map = {};
@@ -20,7 +22,7 @@ export function getPureName(node) {
let purename = node.comfyClass.substring(category.length+1);
return purename;
}
else if(node.comfyClass.startsWith('workflow/')) {
else if(node.comfyClass.startsWith('workflow/') || node.comfyClass.startsWith(`workflow${SEPARATOR}`)) {
return node.comfyClass.substring(9);
}
else {
@@ -76,7 +78,7 @@ export async function load_components() {
let category = data.packname;
if(data.category) {
category += "/" + data.category;
category += SEPARATOR + data.category;
}
if(category == '') {
category = 'components';
@@ -100,7 +102,7 @@ export async function load_components() {
try {
let category = nodeData.packname;
if(nodeData.category) {
category += "/" + nodeData.category;
category += SEPARATOR + nodeData.category;
}
if(category == '') {
category = 'components';
@@ -139,7 +141,7 @@ export async function load_components() {
try {
let category = nodeData.packname;
if(nodeData.workflow.category) {
category += "/" + nodeData.category;
category += SEPARATOR + nodeData.category;
}
if(category == '') {
category = 'components';
@@ -174,7 +176,7 @@ export async function load_components() {
try {
let category = nodeData.workflow.packname;
if(nodeData.workflow.category) {
category += "/" + nodeData.category;
category += SEPARATOR + nodeData.category;
}
if(category == '') {
category = 'components';
@@ -234,7 +236,7 @@ async function save_as_component(node, version, author, prefix, nodename, packna
let category = body.workflow.packname;
if(body.workflow.category) {
category += "/" + body.workflow.category;
category += SEPARATOR + body.workflow.category;
}
if(category == '') {
category = 'components';
@@ -266,7 +268,7 @@ async function import_component(component_name, component, mode) {
let category = component.packname;
if(component.category) {
category += "/" + component.category;
category += SEPARATOR + component.category;
}
if(category == '') {
category = 'components';
@@ -403,7 +405,7 @@ function handle_import_components(components) {
}
if(cnt == 1 && last_name) {
const node = LiteGraph.createNode(`workflow/${last_name}`);
const node = LiteGraph.createNode(`workflow${SEPARATOR}${last_name}`);
node.pos = [app.canvas.graph_mouse[0], app.canvas.graph_mouse[1]];
app.canvas.graph.add(node, false);
}
@@ -786,7 +788,7 @@ app.graphToPrompt = async function () {
// get used group nodes
let used_group_nodes = new Set();
for(let node of p.workflow.nodes) {
if(node.type.startsWith('workflow/')) {
if(node.type.startsWith(`workflow/`) || node.type.startsWith(`workflow${SEPARATOR}`)) {
used_group_nodes.add(node.type.substring(9));
}
}

View File

@@ -1106,7 +1106,7 @@ export class CustomNodesManager {
for (let i in nodes) {
const node_type = nodes[i].type;
if(node_type.startsWith('workflow/'))
if(node_type.startsWith('workflow/') || node_type.startsWith('workflow>'))
continue;
if (!registered_nodes.has(node_type)) {

View File

@@ -101,7 +101,7 @@ function connect_inputs(nearest_inputs, node) {
}
}
function node_info_copy(src, dest, connect_both) {
function node_info_copy(src, dest, connect_both, copy_shape) {
// copy input connections
for(let i in src.inputs) {
let input = src.inputs[i];
@@ -142,9 +142,11 @@ function node_info_copy(src, dest, connect_both) {
}
}
dest.color = src.color;
dest.bgcolor = src.bgcolor;
dest.size = src.size;
if(copy_shape) {
dest.color = src.color;
dest.bgcolor = src.bgcolor;
dest.size = max(src.size, dest.size);
}
app.graph.afterChange();
}
@@ -162,6 +164,7 @@ app.registerExtension({
switch(double_click_policy) {
case "copy-all":
case "copy-full":
case "copy-input":
{
if(node.inputs?.some(x => x.link != null) || node.outputs?.some(x => x.links != null && x.links.length > 0) )
@@ -169,7 +172,11 @@ app.registerExtension({
let src_node = lookup_nearest_nodes(node);
if(src_node)
node_info_copy(src_node, node, double_click_policy == "copy-all");
{
let both_connection = double_click_policy != "copy-input";
let copy_shape = double_click_policy == "copy-full";
node_info_copy(src_node, node, both_connection, copy_shape);
}
}
break;
case "possible-input":

View File

@@ -9,11 +9,13 @@ app.registerExtension({
name: "Comfy.Manager.Terminal",
registerCustomNodes() {
class TerminalNode {
class TerminalNode extends LiteGraph.LGraphNode {
color = "#222222";
bgcolor = "#000000";
groupcolor = LGraphCanvas.node_colors.black.groupcolor;
constructor() {
super();
this.title = "Terminal Log (Manager)";
this.logs = [];
if (!this.properties) {

View File

File diff suppressed because it is too large Load Diff

View File

@@ -11,6 +11,580 @@
{
"author": "monate0615",
"title": "Affine Transform ComfyUI Node",
"reference": "https://github.com/monate0615/ComfyUI-Affine-Transform",
"files": [
"https://github.com/monate0615/ComfyUI-Affine-Transform"
],
"install_type": "git-clone",
"description": "This node output the image that are transfromed by affine matrix what is made according to 4 points of output.\nNOTE: The files in the repo are not organized."
},
{
"author": "ComfyUI-Workflow",
"title": "ComfyUI OpenAI Nodes",
"reference": "https://github.com/ComfyUI-Workflow/ComfyUI-OpenAI",
"files": [
"https://github.com/ComfyUI-Workflow/ComfyUI-OpenAI"
],
"install_type": "git-clone",
"description": "By utilizing OpenAI's powerful vision models, this node enables you to incorporate state-of-the-art image understanding into your ComfyUI projects with minimal setup."
},
{
"author": "ruka-game",
"title": "ComfyUI RukaLib [WIP]",
"reference": "https://github.com/ruka-game/rukalib_comfyui",
"files": [
"https://github.com/ruka-game/rukalib_comfyui"
],
"install_type": "git-clone",
"description": "NODES: Ruka Prompt Enhancer, Ruka Debug Probe.\nMy utilities for comfy (WIP / ollama is required for LLM nodes)"
},
{
"author": "MythicalChu",
"title": "ComfyUI-APG_ImYourCFGNow",
"reference": "https://github.com/MythicalChu/ComfyUI-APG_ImYourCFGNow",
"files": [
"https://github.com/MythicalChu/ComfyUI-APG_ImYourCFGNow"
],
"install_type": "git-clone",
"description": "Use this node like a RescaleCFG node, ... modelIn -> ThisNode -> ModelOut ... -> KSampler\n'scale' acts like your CFG, your CFG doesn't do anything anymore white this node is active. See paper [a/https://arxiv.org/pdf/2410.02416](https://arxiv.org/pdf/2410.02416) for instructions about the other parameters. (Pages 20-21)"
},
{
"author": "okg21",
"title": "VLLMVisionChatNode",
"reference": "https://github.com/okg21/VLLMVisionChatNode",
"files": [
"https://github.com/okg21/VLLMVisionChatNode/raw/refs/heads/main/VLLMVisionChatNode.py"
],
"pip": ["openai", "numpy"],
"install_type": "copy",
"description": "This platform extension provides ZhipuAI nodes, enabling you to configure a workflow for online video generation."
},
{
"author": "jetchopper",
"title": "ComfyUI-GeneraNodes",
"id": "genera",
"reference": "https://github.com/evolox/ComfyUI-GeneraNodes",
"files": [
"https://github.com/evolox/ComfyUI-GeneraNodes"
],
"install_type": "git-clone",
"description": "Genera custom nodes and extensions"
},
{
"author": "HavocsCall",
"title": "comfyui_HavocsCall_Custom_Nodes",
"reference": "https://github.com/HavocsCall/comfyui_HavocsCall_Custom_Nodes",
"files": [
"https://github.com/HavocsCall/comfyui_HavocsCall_Custom_Nodes"
],
"install_type": "git-clone",
"description": "NODES:Prompt Combiner, Sampler Config, Text Box, Int to Float, Clip Switch, Conditioning Switch, Image Switch, Latent Switch, Model Switch, String Switch, VAE Switch"
},
{
"author": "mfg637",
"title": "ComfyUI-ScheduledGuider-Ext",
"reference": "https://github.com/mfg637/ComfyUI-ScheduledGuider-Ext",
"files": [
"https://github.com/mfg637/ComfyUI-ScheduledGuider-Ext"
],
"install_type": "git-clone",
"description": "NODES:SheduledCFGGuider, CosineScheduler, InvertSigmas, ConcatSigmas."
},
{
"author": "SS-snap",
"title": "ComfyUI-Snap_Processing",
"reference": "https://github.com/SS-snap/ComfyUI-Snap_Processing",
"files": [
"https://github.com/SS-snap/ComfyUI-Snap_Processing"
],
"install_type": "git-clone",
"description": "Creating this repository was a last resort because I couldn't find a node in ComfyUI that calculates area size and ratio, so I had to create a custom node to integrate with my 'Majic product' workflow for automated execution.\nNOTE: The files in the repo are not organized."
},
{
"author": "netanelben",
"title": "comfyui-photobooth-customnode",
"reference": "https://github.com/netanelben/comfyui-photobooth-customnode",
"files": [
"https://github.com/netanelben/comfyui-photobooth-customnode"
],
"install_type": "git-clone",
"description": "comfyui-photobooth-customnode"
},
{
"author": "netanelben",
"title": "comfyui-text2image-customnode",
"reference": "https://github.com/netanelben/comfyui-text2image-customnode",
"files": [
"https://github.com/netanelben/comfyui-text2image-customnode"
],
"install_type": "git-clone",
"description": "comfyui-text2image-customnode"
},
{
"author": "netanelben",
"title": "comfyui-camera2image-customnode",
"reference": "https://github.com/netanelben/comfyui-camera2image-customnode",
"files": [
"https://github.com/netanelben/comfyui-camera2image-customnode"
],
"install_type": "git-clone",
"description": "comfyui-camera2image-customnode"
},
{
"author": "netanelben",
"title": "comfyui-image2image-customnode",
"reference": "https://github.com/netanelben/comfyui-image2image-customnode",
"files": [
"https://github.com/netanelben/comfyui-image2image-customnode"
],
"install_type": "git-clone",
"description": "comfyui-image2image-customnode"
},
{
"author": "JayLyu",
"title": "ComfyUI_BaiKong_Node",
"id": "baikong",
"reference": "https://github.com/JayLyu/ComfyUI_BaiKong_Node",
"files": [
"https://github.com/JayLyu/ComfyUI_BaiKong_Node"
],
"install_type": "git-clone",
"description": "Nodes for advanced color manipulation and image processing: BK Img To Color, BK Color Selector, BK Color Contrast, BK Color Limit, BK Color Luminance, BK Gradient Image, and BK Image Aspect Filter.\n[w/requirements.txt is broken.]"
},
{
"author": "ShmuelRonen",
"title": "ComfyUI-FreeMemory",
"reference": "https://github.com/ShmuelRonen/ComfyUI-FreeMemory",
"files": [
"https://github.com/ShmuelRonen/ComfyUI-FreeMemory"
],
"install_type": "git-clone",
"description": "ComfyUI-FreeMemory is a custom node extension for ComfyUI that provides advanced memory management capabilities within your image generation workflows."
},
{
"author": "ZHO-ZHO-ZHO",
"title": "ComfyUI Llama 3.1 [WIP]",
"reference": "https://github.com/ZHO-ZHO-ZHO/ComfyUI-Llama-3-2",
"files": [
"https://github.com/ZHO-ZHO-ZHO/ComfyUI-Llama-3-2"
],
"install_type": "git-clone",
"description": "Using Llama-3-1 in ComfyUI"
},
{
"author": "netanelben",
"title": "comfyui-text2image-customnode [WIP]",
"reference": "https://github.com/netanelben/comfyui-text2image-customnode",
"files": [
"https://github.com/netanelben/comfyui-text2image-customnode"
],
"install_type": "git-clone",
"description": "text2image web extension"
},
{
"author": "leeguandong",
"title": "ComfyUI_AliControlnetInpainting [WIP]",
"reference": "https://github.com/leeguandong/ComfyUI_AliControlnetInpainting",
"files": [
"https://github.com/leeguandong/ComfyUI_AliControlnetInpainting"
],
"install_type": "git-clone",
"description": "ComfyUI nodes to use AliControlnetInpainting"
},
{
"author": "jordancoult",
"title": "ComfyUI_HelpfulNodes",
"reference": "https://github.com/jordancoult/ComfyUI_HelpfulNodes",
"files": [
"https://github.com/jordancoult/ComfyUI_HelpfulNodes"
],
"install_type": "git-clone",
"description": "NODES: Prep Crop Around Keypoints"
},
{
"author": "ashishsaini",
"title": "comfyui_segformer_b2_sleeves",
"reference": "https://github.com/ashishsaini/comfyui-segment-clothing-sleeves",
"files": [
"https://github.com/ashishsaini/comfyui-segment-clothing-sleeves"
],
"install_type": "git-clone",
"description": "NODES:segformer_b2_sleeves"
},
{
"author": "io-club",
"title": "ComfyUI-LuminaNext [WIP]",
"reference": "https://github.com/io-club/ComfyUI-LuminaNext",
"files": [
"https://github.com/io-club/ComfyUI-LuminaNext"
],
"install_type": "git-clone",
"description": "NODES: GemmaClipLoader"
},
{
"author": "shadowcz007",
"title": "Comfyui-EzAudio",
"reference": "https://github.com/shadowcz007/Comfyui-EzAudio",
"files": [
"https://github.com/shadowcz007/Comfyui-EzAudio"
],
"install_type": "git-clone",
"description": "NODES: EZ Generate Audio, EZ Load Model\nNOTE: The files in the repo are not organized."
},
{
"author": "neo0801",
"title": "my-comfy-node",
"reference": "https://github.com/neo0801/my-comfy-node",
"files": [
"https://github.com/neo0801/my-comfy-node"
],
"install_type": "git-clone",
"description": "NODES:Deep Mosaic Get Image Mosaic Mask, Deep Mosaic Get Video Mosaic Mask, Deep Mosaic Remove Image Mosaic, Deep Mosaic Remove Video Mosaic"
},
{
"author": "nikkuexe",
"title": "List Data Helper Nodes",
"reference": "https://github.com/paulhoux/Smart-Prompting",
"files": [
"https://github.com/paulhoux/Smart-Prompting"
],
"install_type": "git-clone",
"description": "Custom nodes for ComfyUI, allowing you to more easily manipulate text and create good prompts.[w/The use of outdated front extension techniques results in remnants being left behind during uninstallation.]"
},
{
"author": "nikkuexe",
"title": "List Data Helper Nodes",
"reference": "https://github.com/nikkuexe/ComfyUI-ListDataHelpers",
"files": [
"https://github.com/nikkuexe/ComfyUI-ListDataHelpers"
],
"install_type": "git-clone",
"description": "A set of custom nodes for handling lists in ComfyUI."
},
{
"author": "Fannovel16",
"title": "ComfyUI-AppIO",
"reference": "https://github.com/Fannovel16/ComfyUI-AppIO",
"files": [
"https://github.com/Fannovel16/ComfyUI-AppIO"
],
"install_type": "git-clone",
"description": "NODES:AppIO_StringInput, AppIO_ImageInput, AppIO_StringOutput, AppIO_ImageOutput"
},
{
"author": "wilzamguerrero",
"title": "Comfyui-DownZ",
"reference": "https://github.com/wilzamguerrero/Comfyui-DownZ",
"files": [
"https://github.com/wilzamguerrero/Comfyui-DownZ"
],
"install_type": "git-clone",
"description": "NODES:Download Z, Compress Z, Move Z"
},
{
"author": "SoftMeng",
"title": "ComfyUI-PIL",
"reference": "https://github.com/SoftMeng/ComfyUI-PIL",
"files": [
"https://github.com/SoftMeng/ComfyUI-PIL"
],
"install_type": "git-clone",
"description": "PIL Nodes"
},
{
"author": "seancheung",
"title": "comfyui-creative-nodes",
"reference": "https://github.com/seancheung/comfyui-creative-nodes",
"files": [
"https://github.com/seancheung/comfyui-creative-nodes"
],
"install_type": "git-clone",
"description": "NODES:Stop Flow, Skip From Flow, Skip To Flow, Resolution Selector, ResolutionXL Selector"
},
{
"author": "AlexXi19",
"title": "ComfyUI-OpenAINode",
"reference": "https://github.com/AlexXi19/ComfyUI-OpenAINode",
"files": [
"https://github.com/AlexXi19/ComfyUI-OpenAINode"
],
"install_type": "git-clone",
"description": "ComfyUI-OpenAINode is a user-friendly node that serves as an interface to the OpenAI Models.[w/Repo name conflict with Electrofried/ComfyUI-OpenAINode]"
},
{
"author": "hgabha",
"title": "WWAA-CustomNodes",
"reference": "https://github.com/hgabha/WWAA-CustomNodes",
"files": [
"https://github.com/hgabha/WWAA-CustomNodes"
],
"install_type": "git-clone",
"description": "Custom Nodes for ComfyUI made by the team at [a/WeirdWonderfulAI.Art](https://weirdwonderfulai.art/) These are developed based on the needs where there was a gap to make our workflows better. You are welcome to use it as you see fit."
},
{
"author": "IgPoly",
"title": "ComfyUI-igTools",
"reference": "https://github.com/IgPoly/ComfyUI-igTools",
"files": [
"https://github.com/IgPoly/ComfyUI-igTools"
],
"install_type": "git-clone",
"description": "NODES:IGT Simple Tiles Calc"
},
{
"author": "Ryota",
"title": "Ryota's Nodes",
"reference": "https://github.com/lichenhao/Comfyui_Ryota",
"files": [
"https://github.com/lichenhao/Comfyui_Ryota"
],
"install_type": "git-clone",
"description": "NODES:CombineTexts, FontLoader, DrawText, TxtFileLoader, SaveTxtFile, SwitchModelClip, SwitchAnyInputs, Reroute2, Reroute3"
},
{
"author": "Soppatorsk",
"title": "comfyui_img_to_ascii [WIP]",
"reference": "https://github.com/Soppatorsk/comfyui_img_to_ascii",
"files": [
"https://github.com/Soppatorsk/comfyui_img_to_ascii"
],
"install_type": "git-clone",
"description": "Basic functionality for converting an image to ASCII art returned as a png image based on [a/ascii_magic](https://github.com/LeandroBarone/python-ascii_magic)"
},
{
"author": "AIFSH",
"title": "HivisionIDPhotos-ComfyUI",
"reference": "https://github.com/AIFSH/HivisionIDPhotos-ComfyUI",
"files": [
"https://github.com/AIFSH/HivisionIDPhotos-ComfyUI"
],
"install_type": "git-clone",
"description": "a custom node for [a/HivisionIDPhotos](https://github.com/Zeyi-Lin/HivisionIDPhotos).\nNOTE: Unsuitable for international users"
},
{
"author": "lu64k",
"title": "SK-Nodes",
"reference": "https://github.com/lu64k/SK-Nodes",
"files": [
"https://github.com/lu64k/SK-Nodes"
],
"install_type": "git-clone",
"description": "NODES:image select, Load AnyLLM, Ask LLM, OpenAI DAlle Node, SK Text_String, SK Random File Name"
},
{
"author": "Cardoso-topdev",
"title": "comfyui_meshanything_v1 [WIP]",
"reference": "https://github.com/Cardoso-topdev/comfyui_meshanything_v1",
"files": [
"https://github.com/Cardoso-topdev/comfyui_meshanything_v1"
],
"install_type": "git-clone",
"description": "MeshAnything V2: Artist-Created Mesh Generation With Adjacent Mesh Tokenization"
},
{
"author": "Lilien86",
"title": "lauger NodePack for ComfyUI",
"reference": "https://github.com/Lilien86/lauger_NP_comfyui",
"files": [
"https://github.com/Lilien86/lauger_NP_comfyui"
],
"install_type": "git-clone",
"description": "Hey everyone it's my Custom ComfyUI Nodes Pack repository! This project contains a collection of custom nodes designed to extend the functionality of ComfyUI. These nodes offer capabilities and new creative possibilities, especially in the realms of latent space manipulation and interpolation.\nNOTE: The files in the repo are not organized."
},
{
"author": "haodman",
"title": "ComfyUI_Rain",
"reference": "https://github.com/haodman/ComfyUI_Rain",
"files": [
"https://github.com/haodman/ComfyUI_Rain"
],
"install_type": "git-clone",
"description": "NODES:Rain_ValueSwitch, Rain_Math, Rain_IntToFloat, Rain_ImageSize."
},
{
"author": "bananasss00",
"title": "Comfyui-PyExec [UNSAFE]",
"reference": "https://github.com/bananasss00/Comfyui-PyExec",
"files": [
"https://github.com/bananasss00/Comfyui-PyExec"
],
"install_type": "git-clone",
"description": "Nodes:PyExec.[w/This node allows access to arbitrary files through the workflow, which could pose a security threat.]"
},
{
"author": "jgbrblmd",
"title": "ComfyUI-ComfyFluxSize [WIP]",
"reference": "https://github.com/jgbrblmd/ComfyUI-ComfyFluxSize",
"files": [
"https://github.com/jgbrblmd/ComfyUI-ComfyFluxSize"
],
"install_type": "git-clone",
"description": "Nodes:ComfyFlux Size\nNOTE: The files in the repo are not organized."
},
{
"author": "yojimbodayne",
"title": "ComfyUI-Dropbox-API [WIP]",
"reference": "https://github.com/yojimbodayne/ComfyUI-Dropbox-API",
"files": [
"https://github.com/yojimbodayne/ComfyUI-Dropbox-API"
],
"install_type": "git-clone",
"description": "This custom node package for ComfyUI allows users to interact with Dropbox API, enabling image, text, and video uploads, downloads, and management directly from ComfyUI workflows.\nNOTE: The files in the repo are not organized."
},
{
"author": "ilovejohnwhite",
"title": "Kolors Awesome Prompts [WIP]",
"reference": "https://github.com/ilovejohnwhite/Tracer",
"files": [
"https://github.com/ilovejohnwhite/Tracer"
],
"install_type": "git-clone",
"description": "Nodes:Image Load TTK, SuckerPunch, LinkMasterNode, PixelPerfectResolution, ImageGenResolutionFromImage, ImageGenResolutionFromLatent, HintImageEnchance\nNOTE: The files in the repo are not organized."
},
{
"author": "shuanshtalon468uan",
"title": "ComfyUI-Rpg-Architect [WIP]",
"reference": "https://github.com/talon468/ComfyUI-Rpg-Architect",
"files": [
"https://github.com/talon468/ComfyUI-Rpg-Architect"
],
"install_type": "git-clone",
"description": "Custom Node for ComfyUI to create RPG Characters\nNOTE: The files in the repo are not organized."
},
{
"author": "shuanshuan",
"title": "ComfyUI_CheckPointLoader_Ext [WIP]",
"reference": "https://github.com/shuanshuan/ComfyUI_CheckPointLoader_Ext",
"files": [
"https://github.com/shuanshuan/ComfyUI_CheckPointLoader_Ext"
],
"install_type": "git-clone",
"description": "NODES:Checkpoint Loader Ext"
},
{
"author": "123jimin",
"title": "ComfyUI MobileForm [WIP]",
"reference": "https://github.com/123jimin/ComfyUI-MobileForm",
"files": [
"https://github.com/123jimin/ComfyUI-MobileForm"
],
"install_type": "git-clone",
"description": "MobileForm is an extension for ComfyUI, providing simple form for any workflows, suitable for use on mobile phones.[w/Currently MobileForm is in a PoC state; expect bugs and breaking changes.]"
},
{
"author": "go-package-lab",
"title": "ComfyUI-Tools-Video-Combine [WIP]",
"reference": "https://github.com/go-package-lab/ComfyUI-Tools-Video-Combine",
"files": [
"https://github.com/go-package-lab/ComfyUI-Tools-Video-Combine"
],
"install_type": "git-clone",
"description": "NODES:LoadAudioUrl, VideoWatermark"
},
{
"author": "zhongpei",
"title": "Comfyui_image2prompt",
"id": "img2prompt",
"reference": "https://github.com/zhongpei/Comfyui_image2prompt",
"files": [
"https://github.com/zhongpei/Comfyui_image2prompt"
],
"install_type": "git-clone",
"description": "Nodes:Image to Text, Loader Image to Text Model.[w/This custom node may break dependencies by reinstalling the torch package.]"
},
{
"author": "APZmedia",
"title": "comfyui-textools [WIP]",
"reference": "https://github.com/APZmedia/comfyui-textools",
"files": [
"https://github.com/APZmedia/comfyui-textools"
],
"install_type": "git-clone",
"description": "ComfyUI-textools is a collection of custom nodes designed for use with ComfyUI. These nodes enhance text processing capabilities, including applying rich text overlays on images and cleaning file names for safe and consistent file management.\nNOTE: The files in the repo are not organized."
},
{
"author": "shinich39",
"title": "comfyui-event-handler [USAFE]",
"reference": "https://github.com/shinich39/comfyui-event-handler",
"files": [
"https://github.com/shinich39/comfyui-event-handler"
],
"install_type": "git-clone",
"description": "Javascript code will run when an event fires. [w/This node allows you to execute arbitrary JavaScript code as input for the workflow.]"
},
{
"author": "Comfy Org",
"title": "ComfyUI_devtools [WIP]",
"reference": "https://github.com/Comfy-Org/ComfyUI_devtools",
"files": [
"https://github.com/Comfy-Org/ComfyUI_devtools"
],
"install_type": "git-clone",
"description": "ComfyUI developer tools (Custom Node)"
},
{
"author": "Sakura-nee",
"title": "ComfyUI_Save2Discord",
"reference": "https://github.com/Sakura-nee/ComfyUI_Save2Discord",
"files": [
"https://github.com/Sakura-nee/ComfyUI_Save2Discord"
],
"install_type": "git-clone",
"description": "Nodes:Send Generated Image To Discord Webhook.\nNOTE: The files in the repo are not organized."
},
{
"author": "ThisModernDay",
"title": "ComfyUI Instructor Ollama",
"reference": "https://github.com/ThisModernDay/ComfyUI-InstructorOllama",
"files": [
"https://github.com/ThisModernDay/ComfyUI-InstructorOllama"
],
"install_type": "git-clone",
"description": "Custom ComfyUI Nodes for interacting with Ollama using the Instructor. Library to provide structured output from your LLM. To use this properly, you would need a running Ollama server reachable from the host that is running ComfyUI.\nNOTE: The files in the repo are not organized, which may lead to update issues."
},
{
"author": "gioferreira",
"title": "ComfyUI-Molde-Utils",
"reference": "https://github.com/gioferreira/ComfyUI-Molde-Utils",
"files": [
"https://github.com/gioferreira/ComfyUI-Molde-Utils"
],
"install_type": "git-clone",
"description": "ComfyUI-Molde-Utils is a utility library designed to provide various helper functions for working with UI elements. This project includes modules for handling bezier curves and color conversions.\nNOTE: The files in the repo are not organized, which may lead to update issues."
},
{
"author": "kijai",
"title": "ComfyUI nodes for VEnhancer [WIP]",
"reference": "https://github.com/kijai/ComfyUI-VEnhancer",
"files": [
"https://github.com/kijai/ComfyUI-VEnhancer"
],
"install_type": "git-clone",
"description": "Original repo: [a/https://github.com/Vchitect/VEnhancer](https://github.com/Vchitect/VEnhancer)"
},
{
"author": "jimstudt",
"title": "Jim's ComfyUI Nodes [WIP]",
"reference": "https://github.com/jimstudt/ComfyUI-Jims-Nodes",
"files": [
"https://github.com/jimstudt/ComfyUI-Jims-Nodes"
],
"install_type": "git-clone",
"description": "Zoom and Enhance Nodes, Text Dictionary Nodes"
},
{
"author": "hananbeer",
"title": "node_dev - ComfyUI Node Development Helper",
"reference": "https://github.com/hananbeer/node_dev",
"files": [
"https://github.com/hananbeer/node_dev"
],
"install_type": "git-clone",
"description": "Browse to this endpoint to reload custom nodes for more streamlined development:\nhttp://127.0.0.1:8188/node_dev/reload/<module_name>"
},
{
"author": "sebord",
"title": "ComfyUI-LMCQ [WIP]",
@@ -19,17 +593,7 @@
"https://github.com/sebord/ComfyUI-LMCQ"
],
"install_type": "git-clone",
"description": "ComfyUI small node toolkit, this toolkit is mainly to update some practical small nodes, to make a contribution to the comfyui ecosystem, PS: 'LMCQ' is the abbreviation of the team name"
},
{
"author": "logtd",
"title": "ComfyUI-Fluxtapoz [WIP]",
"reference": "https://github.com/logtd/ComfyUI-Fluxtapoz",
"files": [
"https://github.com/logtd/ComfyUI-Fluxtapoz"
],
"install_type": "git-clone",
"description": "A set of nodes for editing images using Flux in ComfyUI"
"description": "ComfyUI small node toolkit, this toolkit is mainly to update some practical small nodes, to make a contribution to the comfyui ecosystem, PS: 'LMCQ' is the abbreviation of the team name\nNOTE: The files in the repo are not organized, which may lead to update issues."
},
{
"author": "ChrisColeTech",
@@ -101,26 +665,6 @@
"install_type": "git-clone",
"description": "A Video2Video framework for text2image models in ComfyUI. Supports SD1.5 and SDXL."
},
{
"author": "kijai",
"title": "ComfyUI-LLaVA-OneVision [WIP]",
"reference": "https://github.com/kijai/ComfyUI-LLaVA-OneVision",
"files": [
"https://github.com/kijai/ComfyUI-LLaVA-OneVision"
],
"install_type": "git-clone",
"description": "Original repo: [a/https://github.com/LLaVA-VL/LLaVA-NeXT](https://github.com/LLaVA-VL/LLaVA-NeXT)\nUnsure of the dependencies, the original was a huge list, but I didn't install single new one to my environment and it worked."
},
{
"author": "TTPlanetPig",
"title": "for comfyui image proprocessor",
"reference": "https://github.com/TTPlanetPig/Comfyui_TTP_CN_Preprocessor",
"files": [
"https://github.com/TTPlanetPig/Comfyui_TTP_CN_Preprocessor"
],
"install_type": "git-clone",
"description": "Adapt for Hunyuan now"
},
{
"author": "IuvenisSapiens",
"title": "ComfyUI_MiniCPM-V-2_6-int4",
@@ -142,16 +686,6 @@
"install_type": "git-clone",
"description": "ComfyUI_EnvAutopsyAPI is a powerful debugging tool designed for ComfyUI that provides in-depth analysis of your environment and dependencies through an API interface. This tool allows you to inspect environment variables, pip packages, and dependency trees, making it easier to diagnose and resolve issues in your ComfyUI setup.[w/This tool may expose sensitive system information if used on a public server. MUST READ [a/THIS](https://github.com/chrisdreid/ComfyUI_EnvAutopsyAPI#%EF%B8%8F-warning-security-risk-%EF%B8%8F) before install.]"
},
{
"author": "kijai",
"title": "ComfyUI-CogVideoXWrapper [WIP]",
"reference": "https://github.com/kijai/ComfyUI-CogVideoXWrapper",
"files": [
"https://github.com/kijai/ComfyUI-CogVideoXWrapper"
],
"install_type": "git-clone",
"description": "Original repo: [a/https://github.com/THUDM/CogVideo](https://github.com/THUDM/CogVideo)\nNOTE:Currently requires diffusers with PR: [a/huggingface/diffusers#9082](https://github.com/huggingface/diffusers/pull/9082)"
},
{
"author": "neuratech-ai",
"title": "ComfyUI-MultiGPU",
@@ -222,16 +756,6 @@
"install_type": "git-clone",
"description": "[a/SadTalker](https://github.com/OpenTalker/SadTalker) for ComfyUI"
},
{
"author": "maepopi",
"title": "Diffusers-in-ComfyUI",
"reference": "https://github.com/maepopi/Diffusers-in-ComfyUI",
"files": [
"https://github.com/maepopi/Diffusers-in-ComfyUI"
],
"install_type": "git-clone",
"description": "This is a custom node allowing the use of the diffusers pipeline into ComfyUI. Based on [a/Limitex/ComfyUI-Diffusers](https://github.com/Limitex/ComfyUI-Diffusers)"
},
{
"author": "hotpizzatactics",
"title": "ComfyUI-WaterMark-Detector",
@@ -243,16 +767,6 @@
"install_type": "git-clone",
"description": "Nodes:CLAHE Enhancement, High Pass Filter, Edge Detection, Combine Enhancements, Adaptive Thresholding, Morphological Operations, Gray Color Enhancement, Improved Gray Color Enhancement, Texture Enhancement, Denoising Filter, Flexible Combine Enhancements."
},
{
"author": "drmbt",
"title": "comfyui-dreambait-nodes",
"reference": "https://github.com/drmbt/comfyui-dreambait-nodes",
"files": [
"https://github.com/drmbt/comfyui-dreambait-nodes"
],
"install_type": "git-clone",
"description": "Nodes:Aspect Pad Image For Outpainting"
},
{
"author": "AIFSH",
"title": "IMAGDressing-ComfyUI",
@@ -450,16 +964,6 @@
"install_type": "git-clone",
"description": "Custom ComfyUI nodes to run [a/fal-ai/AuraSR](https://huggingface.co/fal-ai/AuraSR) model.[w/This node cannot be installed simultaneously with AIFSH/ComfyUI-AuraSR due to overlapping repository names.]"
},
{
"author": "m-ai-studio",
"title": "mai-prompt-progress",
"reference": "https://github.com/m-ai-studio/mai-prompt-progress",
"files": [
"https://github.com/m-ai-studio/mai-prompt-progress"
],
"install_type": "git-clone",
"description": "mai-prompt-progress"
},
{
"author": "linhusyung",
"title": "ComfyUI Build and Train Your Network [WIP]",
@@ -840,17 +1344,6 @@
"install_type": "git-clone",
"description": "I've been working on the UX/UI of a timeline custom node system for ComfyUI over the past two weeks. The goal is to create a timeline similar to video/animation editing tools, without relying on traditional timeframe code. You can effortlessly add, delete, or rearrange rows, providing a streamlined user experience."
},
{
"author": "jh-leon-kim",
"title": "ComfyUI-JHK-utils",
"id": "jhk",
"reference": "https://github.com/jh-leon-kim/ComfyUI-JHK-utils",
"files": [
"https://github.com/jh-leon-kim/ComfyUI-JHK-utils"
],
"install_type": "git-clone",
"description": "Nodes:JHK_Utils_LoadEmbed, JHK_Utils_string_merge, JHK_Utils_ImageRemoveBackground"
},
{
"author": "StartHua",
"title": "Comfyui_CXH_CRM",
@@ -884,17 +1377,6 @@
"install_type": "git-clone",
"description": "Fixed AttentionCouple/NegPip(negative weights in prompts), more CFG++ samplers, etc."
},
{
"author": "Scorpinaus",
"title": "ComfyUI-DiffusersLoader",
"id": "diffusersloader",
"reference": "https://github.com/Scorpinaus/ComfyUI-DiffusersLoader",
"files": [
"https://github.com/Scorpinaus/ComfyUI-DiffusersLoader"
],
"install_type": "git-clone",
"description": "The purpose of this package is to understand how loading of diffusers format checkpoints are done in comfyUI and to create a loader that works for SDXL."
},
{
"author": "FoundD-oka",
"title": "ComfyUI KISEKAE-OOTD",
@@ -915,7 +1397,7 @@
"https://github.com/bruce007lee/comfyui-tiny-utils"
],
"install_type": "git-clone",
"description": "Nodes:FaceAlign, FaceAlignImageProcess, FaceAlignMaskProcess"
"description": "Nodes:FaceAlign, FaceAlignImageProcess, FaceAlignMaskProcess, ImageFillColorByMask, CropImageByMask, LoadImageAdvance, ImageTransposeAdvance, ImageSAMMask"
},
{
"author": "brycegoh",
@@ -1109,16 +1591,6 @@
"install_type": "git-clone",
"description": "Dandy is a JavaScript bridge for ComfyUI. It includes everything you need to make JavaScript enabled extensions, or just load and code in little editor nodes right in ComfyUI.[w/This code can cause security issues because it allows for the execution of arbitrary JavaScript input.]"
},
{
"author": "tachyon-beep",
"title": "comfyui-simplefeed [UNSAFE]",
"reference": "https://github.com/tachyon-beep/comfyui-simplefeed",
"files": [
"https://github.com/tachyon-beep/comfyui-simplefeed"
],
"install_type": "git-clone",
"description": "A simple image feed for comfyUI which is easily configurable and easily extensible.\nUse the filter button to select which nodes write to the feed. Under settings, there are options that allow you: Position the feed. Set a max iamge count for the feed. Set oldest to newest or newest to oldest."
},
{
"author": "shadowcz007",
"title": "ComfyUI-PuLID [TEST]",
@@ -1311,16 +1783,6 @@
"install_type": "git-clone",
"description": "Experimental method to use reference video to drive motion in generations without training in ComfyUI."
},
{
"author": "logtd",
"title": "ComfyUI-MotionThiefExperiment",
"reference": "https://github.com/logtd/ComfyUI-MotionThiefExperiment",
"files": [
"https://github.com/logtd/ComfyUI-MotionThiefExperiment"
],
"install_type": "git-clone",
"description": "Nodes:This is an experimental node pack to test using reference videos for their motion.\nIt isn't compatible with a lot of things as this is a hacky implementation for experiments only."
},
{
"author": "hy134300",
"title": "comfyui-hb-node",
@@ -1731,16 +2193,6 @@
"install_type": "git-clone",
"description": "A simple custom node that unloads all models. Useful for developers or users who want to free some memory."
},
{
"author": "AIGODLIKE",
"title": "AIGODLIKE/ComfyUI-Model-Manager [WIP]",
"reference": "https://github.com/AIGODLIKE/ComfyUI-Studio",
"files": [
"https://github.com/AIGODLIKE/ComfyUI-Studio"
],
"install_type": "git-clone",
"description": "WIP"
},
{
"author": "MrAdamBlack",
"title": "CheckProgress [WIP]",
@@ -1851,16 +2303,6 @@
"install_type": "git-clone",
"description": "Nodes: Node Jumper. Various quality of life testing nodes"
},
{
"author": "ilovejohnwhite",
"title": "TatToolkit",
"reference": "https://github.com/ilovejohnwhite/UncleBillyGoncho",
"files": [
"https://github.com/ilovejohnwhite/UncleBillyGoncho"
],
"install_type": "git-clone",
"description": "Nodes:UWU TTK Preprocessor, Pixel Perfect Resolution, Generation Resolution From Image, Generation Resolution From Latent, Enchance And Resize Hint Images, ..."
},
{
"author": "IvanZhd",
"title": "comfyui-codeformer [WIP]",

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

@@ -1,5 +1,25 @@
{
"custom_nodes": [
{
"author": "jags111",
"title": "NyaamZ/ComfyUI-Long-CLIP",
"reference": "https://github.com/NyaamZ/efficiency-nodes-ED",
"files": [
"https://github.com/NyaamZ/efficiency-nodes-ED"
],
"install_type": "git-clone",
"description": "This forked repo supports efficiency-nodes-comfyui. Additional features."
},
{
"author": "SeaArtLab",
"title": "zer0int/ComfyUI-Long-CLIP",
"reference": "https://github.com/zer0int/ComfyUI-Long-CLIP",
"files": [
"https://github.com/zer0int/ComfyUI-Long-CLIP"
],
"install_type": "git-clone",
"description": "This forked repo supports FLUX.1 not only SD1.5, SDXL."
},
{
"author": "meimeilook",
"title": "ComfyUI_IPAdapter_plus.old [backward compatbility]",

View File

@@ -11,6 +11,170 @@
{
"author": "DannyStone1999",
"title": "ComfyUI-Depth2Mask [REMOVED]",
"reference": "https://github.com/DannyStone1999/ComfyUI-Depth2Mask",
"files": [
"https://github.com/DannyStone1999/ComfyUI-Depth2Mask/raw/main/Depth2Mask.py"
],
"install_type": "copy",
"description": "Nodes:Depth2Mask"
},
{
"author": "syaofox",
"title": "ComfyUI_FoxTools [REMOVED]",
"reference": "https://github.com/syaofox/ComfyUI_FoxTools",
"files": [
"https://github.com/syaofox/ComfyUI_FoxTools"
],
"install_type": "git-clone",
"description": "Nodes:BatchImageFromList, Load Face Occlusion Model, Create Face Mask, Simple FaceAlign, Cacul FaceAlign, Gen Blurbord, Face Align, Face Rotate, ImageAdd, LoadImageList, SaveImage Plus, RegTextFind"
},
{
"author": "AIFSH",
"title": "SeedVC-ComfyUI [REMOVED]",
"reference": "https://github.com/AIFSH/SeedVC-ComfyUI",
"files": [
"https://github.com/AIFSH/SeedVC-ComfyUI"
],
"install_type": "git-clone",
"description": "a custom node for [a/seed-vc](https://github.com/Plachtaa/seed-vc)"
},
{
"author": "jazhang00",
"title": "ComfyUI Node for Slicedit [REMOVED]",
"reference": "https://github.com/jazhang00/ComfyUI-Slicedit",
"files": [
"https://github.com/jazhang00/ComfyUI-Slicedit"
],
"install_type": "git-clone",
"description": "Slicedit main page: [a/https://matankleiner.github.io/slicedit/](https://matankleiner.github.io/slicedit/). Use Slicedit with ComfyUI."
},
{
"author": "rklaffehn",
"title": "rk-comfy-nodes [REMOVED]",
"id": "rknodes",
"reference": "https://github.com/rklaffehn/rk-comfy-nodes",
"files": [
"https://github.com/rklaffehn/rk-comfy-nodes"
],
"install_type": "git-clone",
"description": "Nodes: RK_CivitAIMetaChecker, RK_CivitAIAddHashes."
},
{
"author": "Extraltodeus",
"title": "CLIP-Token-Injection [REMOVED]",
"reference": "https://github.com/Extraltodeus/CLIP-Token-Injection",
"files": [
"https://github.com/Extraltodeus/CLIP-Token-Injection"
],
"install_type": "git-clone",
"description": "These nodes are to edit the text vectors of CLIP models, so to customize how the prompts will be interpreted. You could see it as either customisation, 'one token prompt' up to some limitation and a way to mess with how the text will be interpreted. The edited CLIP can then be saved, or as well the edited tokens themselves. The shared example weights does not contain any image-knowledge but the text vector of the words affected."
},
{
"author": "openart",
"title": "openart-comfyui-deploy [REMOVED]",
"id": "openart-comfyui-deploy",
"reference": "https://github.com/kulsisme/openart-comfyui-deploy",
"files": [
"https://github.com/kulsisme/openart-comfyui-deploy"
],
"install_type": "git-clone",
"description": "NODES: External Boolean (ComfyUI Deploy), External Checkpoint (ComfyUI Deploy), External Image (ComfyUI Deploy), External Video (ComfyUI Deploy x VHS), OpenArt Text, Image Websocket Output (ComfyDeploy), ..."
},
{
"author": "mittimi",
"title": "ComfyUI_mittimiLoadPreset [DEPRECATED]",
"id": "comfyui-mittimi-load-preset",
"reference": "https://github.com/mittimi/ComfyUI_mittimiLoadPreset",
"files": [
"https://github.com/mittimi/ComfyUI_mittimiLoadPreset"
],
"install_type": "git-clone",
"description": "The system selects and loads preset."
},
{
"author": "jinljin",
"title": "ComfyUI-Talking-Head [REMOVED]",
"reference": "https://github.com/jinljin/ComfyUI-ElevenlabsAndDID-Combine",
"files": [
"https://github.com/jinljin/ComfyUI-ElevenlabsAndDID-Combine"
],
"install_type": "git-clone",
"description": "ComfyUI-Talking-Head"
},
{
"author": "yvann-ba",
"title": "ComfyUI_Yvann-Nodes [REMOVED]",
"reference": "https://github.com/yvann-ba/ComfyUI_Yvann-Nodes",
"files": [
"https://github.com/yvann-ba/ComfyUI_Yvann-Nodes"
],
"install_type": "git-clone",
"description": "Audio reactivity nodes for AI animations 🔊 Analyze audio, extract drums and vocals. Generate reactive masks and weights. Create audio-driven visuals. Produce weight graphs and audio masks. Compatible with IPAdapter, ControlNets and more. Features audio scheduling and waveform analysis. Tutorials to use this pack: [a/Yvann Youtube](https://www.youtube.com/@yvann.mp4)"
},
{
"author": "jh-leon-kim",
"title": "ComfyUI-JHK-utils [REMOVED]",
"id": "jhk",
"reference": "https://github.com/jh-leon-kim/ComfyUI-JHK-utils",
"files": [
"https://github.com/jh-leon-kim/ComfyUI-JHK-utils"
],
"install_type": "git-clone",
"description": "Nodes:JHK_Utils_LoadEmbed, JHK_Utils_string_merge, JHK_Utils_ImageRemoveBackground"
},
{
"author": "ilovejohnwhite",
"title": "TatToolkit [REMOVED]",
"reference": "https://github.com/ilovejohnwhite/UncleBillyGoncho",
"files": [
"https://github.com/ilovejohnwhite/UncleBillyGoncho"
],
"install_type": "git-clone",
"description": "Nodes:UWU TTK Preprocessor, Pixel Perfect Resolution, Generation Resolution From Image, Generation Resolution From Latent, Enchance And Resize Hint Images, ..."
},
{
"author": "hzchet",
"title": "ComfyUI_QueueGeneration [REMOVED]",
"reference": "https://github.com/hzchet/ComfyUI_QueueGeneration",
"files": [
"https://github.com/hzchet/ComfyUI_QueueGeneration"
],
"install_type": "git-clone",
"description": "NODES:Queue Img2Vid Generation"
},
{
"author": "ader47",
"title": "ComfyUI-MeshHamer [REMOVED]",
"reference": "https://github.com/ader47/comfyui_meshhamer",
"files": [
"https://github.com/ader47/comfyui_meshhamer"
],
"install_type": "git-clone",
"description": "Nodes:MeshHamer Hand Refiner. See also: [a/HaMeR: Hand Mesh Recovery](https://github.com/geopavlakos/hamer/tree/main)"
},
{
"author": "SEkINVR",
"title": "ComfyUI-Animator",
"reference": "https://github.com/SEkINVR/ComfyUI-Animator [REMOVED]",
"files": [
"https://github.com/SEkINVR/ComfyUI-Animator"
],
"install_type": "git-clone",
"description": "This custom node for ComfyUI provides full-body animation capabilities, including facial rigging, various lighting styles, and green screen output."
},
{
"author": "m-ai-studio",
"title": "mai-prompt-progress [REMOVED]",
"reference": "https://github.com/m-ai-studio/mai-prompt-progress",
"files": [
"https://github.com/m-ai-studio/mai-prompt-progress"
],
"install_type": "git-clone",
"description": "mai-prompt-progress"
},
{
"author": "ZHO-ZHO-ZHO",
"title": "ComfyUI-AnyText [NOT MAINTAINED]",

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

File diff suppressed because it is too large Load Diff

View File

@@ -170,16 +170,6 @@
"install_type": "git-clone",
"description": "Nodes:Concatenate multiple text nodes."
},
{
"author": "nilor-corp",
"title": "nilor-nodes",
"reference": "https://github.com/nilor-corp/nilor-nodes",
"files": [
"https://github.com/nilor-corp/nilor-nodes"
],
"install_type": "git-clone",
"description": "Nodes:Nilor Floats, Nilor Int To List Of Bools, Nilor Bool From List Of Bools, Nilor Int From List Of Ints, Nilor List of Ints, Nilor Count Images In Directory"
},
{
"author": "OuticNZ",
"title": "ComfyUI-Simple-Of-Complex",

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.50.1"
version = "2.51.6"
license = { file = "LICENSE.txt" }
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"]

View File

@@ -3,5 +3,9 @@ rm ~/.tmp/default/*.py > /dev/null 2>&1
python scanner.py ~/.tmp/default $*
cp extension-node-map.json node_db/new/.
echo Integrity check
./check.sh
echo "Integrity check"
if [ -f "check2.sh" ]; then
./check2.sh
else
./check.sh
fi