Compare commits

...
Author SHA1 Message Date
Alexander Brown 910bef52e4 Apply suggestion from @DrJKL 2026-10-24 12:36:09 -07:00
Alexander Brown 5fe4b0cea7 Reload components on clear of any root graph
ComfyUI_frontend is moving to one LGraph instance per workflow tab
(Comfy-Org/ComfyUI_frontend#21571), and app.clean() clears the new graph
before any extension hook fires. The instance patch on app.graph.clear
only reaches the graph that existed at startup, so components would not
be reloaded for later workflows.

Patch clear on the graph prototype and reload components when the
cleared graph is the current root graph. This also stops a subgraph
clear from clearing the root graph, which the old wrapper did by always
calling orig_clear on app.graph.

Amp-Thread-ID: https://ampcode.com/threads/T-d545a10a-f002-4dc5-9a74-f6402a836919
2026-10-24 05:56:26 +00:00
Dr.Lt.Data 7e1af9c202 update DB 2026-10-24 07:22:13 +09:00
Dr.Lt.Data a74929c65b update DB 2026-10-19 22:29:33 +09:00
Dr.Lt.Data 0ebfa0cbd1 Merge pull request #3394 from NotUsingGithub/codex/add-wan27-nodes
Add Wan27 ComfyUI nodes
2026-10-19 22:29:12 +09:00
Dr.Lt.Data f6dadde0d9 update DB 2026-10-19 22:28:45 +09:00
Dr.Lt.Data 9aa4879d6f Merge pull request #3365 from AceDataCloud/codex/ace-suno-comfy-manager
Add Suno by Ace Data Cloud to custom node index
2026-10-19 22:28:02 +09:00
Dr.Lt.Data 30e7605bb2 update DB 2026-10-19 22:27:42 +09:00
Dr.Lt.Data 72ed050d84 Merge pull request #3228 from xm6018924/main
Add BSAI-H3-MotionFix to custom node list (MiniMax H3 high-speed motion glitch/noise fix)
2026-10-19 22:26:53 +09:00
NotUsingGithub 0430015440 feat: register Wan27 ComfyUI nodes 2026-10-19 16:17:36 +08:00
Alexander Brown b0b8bbe4e2 fix: replace PrimeVue styling with Manager-owned theme CSS (#3392)
Amp-Thread-ID: https://ampcode.com/threads/T-5e2d7b14-ee5c-40ff-b11a-1a158c0521c5
2026-10-18 14:57:03 -07:00
Dr.Lt.Data b230402a48 update DB 2026-10-18 22:37:50 +09:00
Dr.Lt.Data 706ab9a624 Merge pull request #3376 from j0eyhu/patch-1
Add ComfyUI-MacOffload-TE to custom node list
2026-10-18 22:37:31 +09:00
Dr.Lt.Data 032446438c update DB 2026-10-18 22:37:02 +09:00
Dr.Lt.Data 65dafe577b Merge pull request #3389 from xm6018924/bsai-3-approved-entries
Add 3 approved BSAI custom nodes (AimDo-Fix, MiniMax-H3-PDD-Acc, VRAM-Unlock)
2026-10-18 12:00:01 +09:00
xm6018924 afb921a09e Add 3 approved BSAI custom nodes (AimDo-Fix, MiniMax-H3-PDD-Acc, VRAM-Unlock) 2026-10-18 09:27:51 +08:00
xm6018924 a62690bf8d Add BSAI-H3-MotionFix to custom node list (MiniMax H3 high-speed motion glitch/noise fix wizard) 2026-10-17 17:43:30 +08:00
xm6018924 c67a8898ac Add BSAI-H3-MotionFix to custom node list (MiniMax H3 high-speed motion glitch/noise fix wizard) 2026-10-17 17:40:30 +08:00
Dr.Lt.Data 69187ed44b update DB 2026-10-17 13:33:38 +09:00
Dr.Lt.Data 0fee5c497e Merge pull request #3380 from T8mars/add-flux3-pe-gguf-t8
Add FLUX 3 PE GGUF (T8)
2026-10-17 13:33:10 +09:00
Dr.Lt.Data c4d4997333 update DB 2026-10-17 13:32:35 +09:00
Dr.Lt.Data 4937c119cf Merge pull request #3368 from jeankassio/main
add ComfyUI_YuE2
2026-10-17 13:32:01 +09:00
Dr.Lt.Data abda2fce82 update DB 2026-10-17 13:13:08 +09:00
Dr.Lt.Data bdfac03976 Merge pull request #3369 from Strix-3D/main
Add ComfyUI-DLSS5-Enhancer-v15 to custom node list upload
2026-10-17 13:12:30 +09:00
Dr.Lt.Data 4d3bed4b56 update DB 2026-10-16 22:09:07 +09:00
Dr.Lt.Data 7669e21abc Merge pull request #3381 from pixelpainter/update-mute-bypass-entry
Update mute-bypass by node ID entry (add id, update description)
2026-10-16 22:07:03 +09:00
Dr.Lt.Data 113aca4851 Merge pull request #3382 from hanshs474/add-comfyui-emaki
Add ComfyUI-emaki to custom-node-list.json
2026-10-16 22:06:40 +09:00
Dr.Lt.Data 6edcc12033 Merge pull request #3379 from zaum/codex/add-comfyui-sidebar-hider
Add ComfyUI Sidebar Hider to the custom node catalog
2026-10-16 22:06:08 +09:00
hanshs474 d47225dd0c Add ComfyUI-emaki 2026-10-16 12:57:54 +08:00
pixelpainter 005fe35de9 Update mute-bypass by node ID entry (add id, update description) 2026-10-15 18:15:47 -05:00
T8star-Aix dace16e4a3 Add FLUX 3 PE GGUF (T8) 2026-10-15 17:58:09 -04:00
Andromeda dc693487a2 Add ComfyUI Sidebar Hider to the node catalog 2026-10-15 18:44:56 +02:00
Dr.Lt.Data 45ef35b081 update DB 2026-10-15 23:43:42 +09:00
Dr.Lt.Data 686edbefd2 update DB 2026-10-15 23:06:26 +09:00
Dr.Lt.Data 8eae750128 update DB 2026-10-15 20:39:53 +09:00
Dr.Lt.Data 16f1398321 Merge pull request #3370 from Archerkattri/wip/comfy-manager-catalog-claims-2026-10-13
docs: qualify TRELLIS HiCache catalog benchmarks
2026-10-15 20:38:44 +09:00
Dr.Lt.Data 29f9e94bb8 Merge pull request #3366 from xelionaj/main
add ComfyUI-XeLion utility custom node
2026-10-15 20:38:38 +09:00
Dr.Lt.Data 11b0d6c7a7 Merge pull request #3352 from AHEKOT/vnccs_utils_nodes
add vnccs-utils to node list
2026-10-15 20:38:31 +09:00
Dr.Lt.Data a5983e77ce Merge pull request #3338 from jesse890423/add-media-toolbox
Add comfyui_media_toolbox to node_db/new
2026-10-15 20:38:25 +09:00
Dr.Lt.Data f66a82375a Merge pull request #3337 from tumbislav/Add-ComfyUI-ModelArchivist
Add ComfyUI-ModelArchivist
2026-10-15 20:38:21 +09:00
j0eyhu a2fc3e1c21 Add ComfyUI-MacOffload-TE to custom node list 2026-10-14 16:25:57 +08:00
Archerkattri 0a83ffa720 docs: preserve install details in catalog 2026-10-13 00:15:47 -04:00
Archerkattri 40d3884dc3 docs: qualify TRELLIS acceleration catalog claims 2026-10-13 00:07:20 -04:00
Strix b5e406a6b5 Add files via upload 2026-10-12 23:38:22 +03:00
Jean Kassio adf5304302 add ComfyUI_YuE2 -fix 2026-10-12 16:09:18 -03:00
Jean Kassio 3364c8c899 add ComfyUI_YuE2 2026-10-12 13:10:49 -03:00
Ajay Sharma e48a3b266b add ComfyUI-XeLion utility custom node 2026-10-12 13:00:49 +05:30
Ace Data Cloud Dev 66446e4501 List Ace Data Cloud Suno nodes in Manager 2026-10-11 23:12:40 +08:00
Dr.Lt.Data 45c3fb6837 update DB 2026-10-11 22:31:15 +09:00
Dr.Lt.Data cd07e4a598 Merge pull request #3335 from jesse890423/add-qwen3-tts-5x
Add ComfyUI-Qwen-TTS-5x (transformers 5.x support) to node_db/new
2026-10-11 22:30:40 +09:00
Dr.Lt.Data c4ac4feaef update DB 2026-10-11 22:02:37 +09:00
Dr.Lt.Data c2de81a3b0 Merge pull request #3363 from pixelpainter/update-ui-decorators
Update UI-Decorators entry: add Registry id and current description
2026-10-11 22:00:56 +09:00
Dr.Lt.Data 7006d57805 Merge pull request #3342 from DemonGatanjieu/add-anomalous-tts
Add Anomalous TTS (GPT-SoVITS) to custom node list
2026-10-11 22:00:52 +09:00
Dr.Lt.Data c418622aa5 Merge pull request #3360 from hermankwan/patch-1
Add ComfyUI-Batch-Image-Timer node
2026-10-11 22:00:47 +09:00
Dr.Lt.Data 9f710ae931 Merge pull request #3359 from Yasei-no-otoko/add-aiter-attention
Add ComfyUI Aiter Attention
2026-10-11 22:00:40 +09:00
pixelpainter bc4dde71ba Update UI-Decorators entry: add Registry id and current description 2026-10-10 00:38:38 -05:00
Herman Kwan e38d8304f2 Add ComfyUI-Batch-Image-Timer node
Register new custom node: ComfyUI-Batch-Image-Timer
2026-10-08 20:33:55 -07:00
Dr.Lt.Data 87ed66b80b update DB 2026-10-08 23:15:15 +09:00
Dr.Lt.Data 00fceb4086 update DB 2026-10-08 22:56:16 +09:00
Dr.Lt.Data 2707ae2f9e Merge pull request #3351 from rookiestar28/add-minimax-h3-studio-and-sigmax
Add ComfyUI-MiniMaxH3-Studio and ComfyUI-Sigmax
2026-10-08 22:55:44 +09:00
野生の男 3671cb4935 Add ComfyUI Aiter Attention 2026-10-08 22:08:42 +09:00
Dr.Lt.Data 69bd94e741 update DB 2026-10-08 19:17:45 +09:00
Dr.Lt.Data 8034c1b2f4 update DB 2026-10-08 19:04:26 +09:00
Dr.Lt.Data c99884c0e1 Merge pull request #3329 from younestft/codex/add-elvax-nodes
Add Elvax Nodes to custom node list
2026-10-08 19:03:41 +09:00
Dr.Lt.Data f3dc0ea51e update DB 2026-10-08 18:58:50 +09:00
Dr.Lt.Data 9c1280331e Merge pull request #3344 from xiaodoudou/add-comfyui-rigshare
Add ComfyUI-RigShare to custom node list
2026-10-08 18:58:18 +09:00
Dr.Lt.Data 9ba42e570a update DB 2026-10-08 12:21:13 +09:00
Dr.Lt.Data 25f1b6a272 Merge pull request #3348 from DemonGatanjieu/update-anomalous-model-browser
Update Anomalous Model Browser description
2026-10-08 12:19:52 +09:00
Dr.Lt.Data 801a8b0d7d Merge pull request #3343 from Bloodwolfb/add-comfyui-hotswitches
Add ComfyUI-HotSwitches to custom-node-list
2026-10-08 12:19:39 +09:00
Dr.Lt.Data 518abae6df Merge pull request #3333 from chookg/codex/add-chicktools
Add ComfyUI-ChickTools
2026-10-08 12:19:35 +09:00
Dr.Lt.Data e848c5edf7 update DB 2026-10-08 08:59:08 +09:00
AHEKOT 3e7de5bf7a add vnccs-utils to node list 2026-10-05 23:59:40 +05:00
rookiestar28 349a7bd1c6 feat(catalog): add MiniMax H3 Studio and Sigmax 2026-10-06 00:17:50 +08:00
younestft 63d2ea95ab Update Elvax Nodes catalog description 2026-10-05 16:16:49 +04:00
DemonGatanjieuandClaude Opus 5.5 39281e9a4e Update Anomalous Model Browser description
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 16:24:53 +08:00
jesse890423 7fbde6001e Update the comfyui_media_toolbox entry after the security rework
- Add VideoReportNode to nodename_pattern. It is a new node class in the
  plugin, so without it Manager's node detection would not find it.
- Describe the actual file-access model: paths are resolved with realpath and
  confirmed with commonpath against the input/output directories, and absolute
  paths, ".." traversal and outside symlinks are rejected.
- State where files come from and go (input directory via drag-and-drop or the
  upload button, output directory under a relative prefix), since the previous
  "absolute path" wording no longer applies.
- Drop the duplicated bilingual description; the UI is English by default with a
  Simplified Chinese translation.
2026-10-04 17:10:07 +08:00
Edouard Durand ffe36d044c Add ComfyUI-RigShare to custom node list 2026-10-04 07:11:47 +00:00
BloodwolfbandClaude Opus 5.5 c819bc5963 Add ComfyUI-HotSwitches to custom-node-list
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 02:09:48 -05:00
chookg bef8882929 Require HTTPS for NotifyMe callbacks 2026-10-04 11:08:04 +08:00
DemonGatanjieuandClaude Opus 5.5 761f766c79 Add Anomalous TTS (GPT-SoVITS) to custom node list
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 11:00:06 +08:00
chookg 024360c097 Describe reviewed callback host policy 2026-10-04 10:20:28 +08:00
Dr.Lt.Data 855a0f50ec update DB 2026-10-03 15:29:59 +09:00
Dr.Lt.Data 59a192d269 update DB 2026-10-03 14:56:26 +09:00
Dr.Lt.Data 2674eb095f Merge branch 'main' of github.com:Comfy-Org/ComfyUI-Manager 2026-10-03 14:53:22 +09:00
Dr.Lt.Data cd6ffc2975 Merge pull request #3336 from ANe5s/codex/add-krea2-harness-node-list-20261003
Add Krea2 Harness to custom node list
2026-10-03 14:53:07 +09:00
Dr.Lt.Data cd20eb216e update DB 2026-10-03 14:39:37 +09:00
jesse890423 863f58ab13 Add comfyui_media_toolbox to node_db/new 2026-10-03 09:03:51 +08:00
DESKTOP-5090\marko d82ec59032 Add ComfyUI-ModelArchivist 2026-10-02 19:58:37 +02:00
{name} 7e4b00c9b6 Add Krea2 Harness to custom node list 2026-10-03 01:10:53 +08:00
jesse890423 84cf40314e Use the repo name as the entry id and spell out the coexistence rule
id: comfyui-qwen-tts-5x (was qwen3-tts-comfyui-5x), matching the repository
name and the folder Manager creates under custom_nodes/.

description: state that the fork keeps the upstream node class names, so
both packages register the same classes and must not be enabled together.
2026-10-02 23:07:19 +08:00
jesse890423 6140aa0db5 Add ComfyUI-Qwen-TTS-5x to node_db/new
Fork of flybirdxx/ComfyUI-Qwen-TTS v1.0.7 adapted for transformers 5.x
(verified on 5.14.1 / ComfyUI 0.37.0 / torch 2.13.0).

Node names are unchanged (FB_Qwen3TTS*), so existing workflows keep
working. Do not install both packages. The transformers pin was widened
to >=4.57.0 so installation cannot downgrade a 5.x environment.
2026-10-02 22:22:33 +08:00
chookg 4dc0b0b01c Add ComfyUI-ChickTools 2026-10-02 19:21:32 +08:00
Dr.Lt.Data 2a6cb16430 update DB 2026-10-01 19:09:09 +09:00
younestft fa697b77c1 Add Elvax Nodes to custom node list 2026-09-30 18:33:39 +04:00
Dr.Lt.Data 6db282e248 update DB 2026-09-30 20:58:26 +09:00
Dr.Lt.Data 913b0d8da6 Merge pull request #3307 from kaerozhi/main
Add ComfyUI VideoMark to custom-node-list.json
2026-09-30 20:58:09 +09:00
kaerozhi 6951efa5ab Add ComfyUI VideoMark to custom-node-list.json 2026-09-30 19:46:16 +08:00
Dr.Lt.Data 1e40793fc5 update DB 2026-09-30 20:46:01 +09:00
Dr.Lt.Data 66672442f4 Merge pull request #3328 from AbstractEyes/add-comfy-cfg-megapack
Add CFG Megapack (AbstractEyes/comfy-cfg-megapack)
2026-09-30 20:44:39 +09:00
Dr.Lt.Data 29205f0020 Merge pull request #3321 from aifeifei798/main
Add ComfyUI-FeiFei to custom-node-list.json
2026-09-30 20:44:22 +09:00
AbstractPhilandClaude Opus 5.5 88e9c4a316 Add CFG Megapack (AbstractEyes/comfy-cfg-megapack)
Seven classifier-free guidance stage nodes and 50 nodes named after the published
guidance methods they implement; SDXL, SD1.5 and flow-matching models (Anima).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 22:05:12 -07:00
Dr.Lt.Data 14b5aaab71 update DB 2026-09-29 23:44:02 +09:00
Dr.Lt.Data 3ac380d725 update DB 2026-09-29 19:52:21 +09:00
Dr.Lt.Data cefc4f5db9 Merge pull request #3327 from buqi-code/add-qwen-image21-multigpu
Add Qwen-Image 2.1 Multi-GPU node
2026-09-29 19:50:49 +09:00
Dr.Lt.Data 34808de665 Merge pull request #3317 from CoolBreeze164/main
Add ComfyUI-Autonomous-Telegram-Bot to custom-node-list
2026-09-29 19:50:39 +09:00
Dr.Lt.Data 07b9bbc813 Merge pull request #3319 from shootthesound/add-fizgig-h3-tweaks
Add Fizgig H3 Tweaks
2026-09-29 19:50:17 +09:00
Dr.Lt.Data d000401f63 Merge pull request #3320 from ethanfel/fix/minimax-h3-context-loop-catalog
Fix MiniMax H3 Context Loop catalogue name and repository URLs
2026-09-29 19:49:34 +09:00
fan wang dd8cff5e7b Fix ComfyUI requirements for multi-GPU nodes 2026-09-29 14:29:11 +08:00
fan wang 33c89b4438 Add Qwen-Image 2.1 Multi-GPU node 2026-09-29 13:25:40 +08:00
Dr.Lt.Data 7b703a153b update DB 2026-09-28 22:24:22 +09:00
feifei a0151c8359 Add ComfyUI-FeiFei to custom-node-list.json 2026-09-25 21:14:13 +08:00
ethanfel 79f34708fb Correct MiniMax H3 Context Loop catalogue name and URLs 2026-09-25 15:07:45 +02:00
shootthesound b77e8c6876 Add Fizgig H3 Tweaks 2026-09-25 13:25:39 +01:00
Dr.Lt.Data 9c29dc68a4 update DB 2026-09-25 17:48:06 +09:00
Dr.Lt.Data 125b7928e3 Merge pull request #3200 from KOFiblto/KOFiblto-NodeList-add-comfyui-leafflow
Add ComfyUI-SaturnNodes
2026-09-25 17:47:04 +09:00
Dr.Lt.Data a536514b55 Merge pull request #3318 from ausboss/add-comfyui-ausboss
Add ComfyUI-AusBoss to custom-node-list
2026-09-25 17:46:59 +09:00
ausboss 4e18a1c67d Place ComfyUI-AusBoss above the copy/unzip entries 2026-09-24 23:17:45 -05:00
ausboss 1475988f24 Add ComfyUI-AusBoss to custom-node-list 2026-09-24 17:37:18 -05:00
CoolBreeze164 19bf7239cf added node pack 2026-09-24 21:40:49 +03:00
Dr.Lt.Data 9002c327b3 update DB 2026-09-24 17:28:56 +09:00
Dr.Lt.Data 9c354fb2d3 update DB 2026-09-24 08:44:52 +09:00
Dr.Lt.Data 12e0bda3d3 Merge pull request #3292 from CoolBreeze164/main
Add "ComfyUI CoolB Nodes" to custom nodes list
2026-09-24 08:44:48 +09:00
Dr.Lt.Data 4ef99f88b8 Merge pull request #3313 from Zoltar358-ComfyUI/update-universal-model-loader-107
Update Universal Model Loader listing for Qwen Image 2.1
2026-09-23 18:58:56 +09:00
Dr.Lt.Data 29a4808952 update DB 2026-09-23 18:57:02 +09:00
Dr.Lt.Data c33e03c6a1 update DB 2026-09-23 18:25:36 +09:00
Dr.Lt.Data 2b9dec25a6 Merge pull request #3260 from bada-ya/add-comfyui-bada-utils
feat(custom-node-list): register bada-ya/ComfyUI-Bada-Utils
2026-09-23 18:25:03 +09:00
Dr.Lt.Data 7409ad5639 update DB 2026-09-23 18:16:12 +09:00
Dr.Lt.Data 99e2e57550 update DB 2026-09-23 17:58:13 +09:00
Dr.Lt.Data 16602dce5c Merge pull request #3266 from yonghaozheng64-commits/add-prompt-workbench-and-trigger-helper
Add ComfyUI Prompt Workbench and LoRA Trigger Helper
2026-09-23 17:57:50 +09:00
Dariusz Dębicki 02dc503f44 Update Universal Model Loader 1.1.0 listing 2026-09-23 09:20:33 +02:00
Dr.Lt.Data 3223e802ed update DB 2026-09-23 15:06:30 +09:00
Dr.Lt.Data 2d8353d85c update DB 2026-09-23 14:41:22 +09:00
Dr.Lt.Data 731338bd0e Merge pull request #3252 from killjoyeliteHF/main
Add Anime Eye Detector (YOLOv8n) model entry
2026-09-23 14:40:38 +09:00
Dr.Lt.Data 721cf377da update DB 2026-09-23 14:18:00 +09:00
Dr.Lt.Data 73bbe810c9 update DB 2026-09-23 12:53:15 +09:00
Dr.Lt.Data db76cf00ef update DB 2026-09-23 12:02:51 +09:00
Dr.Lt.Data 4e645a013a Merge pull request #3311 from xzbdqian10nian/update-tanknodes-listing
Update Qwen3.8 VL listing to TankNodes
2026-09-23 12:02:15 +09:00
Dr.Lt.Data 30fc966092 update DB 2026-09-23 08:47:46 +09:00
KOFiblto 6e689752c4 Add ComfyUI-SaturnNodes 2026-09-22 20:21:55 +02:00
Tank 695e755ffe Update Qwen3.8 VL listing to TankNodes 2026-09-22 08:48:36 -07:00
Dr.Lt.Data 1698958286 update DB 2026-09-22 23:21:34 +09:00
Dr.Lt.Data 3e1f5d3a8c update DB 2026-09-22 22:41:33 +09:00
Dr.Lt.Data c7ffd06174 update DB 2026-09-22 22:38:33 +09:00
Dr.Lt.Data 88bcf04ce3 update DB 2026-09-22 22:02:33 +09:00
Dr.Lt.Data dc427adbfc Merge pull request #3270 from MajoorWaldi/feat/add-majoor-omnicam
Add Majoor OmniCam to custom-node-list.json
2026-09-22 21:51:00 +09:00
Dr.Lt.Data 14ed410545 Merge pull request #3255 from swqa7697/add-comfyui-arisu-nodes
Add ComfyUI-Arisu-Nodes to custom-node-list
2026-09-22 21:50:49 +09:00
Dr.Lt.Data ce61d2297e Merge pull request #3249 from DemonAlone/miniPaint
add DemonAlone-miniPaint-ComfyUI
2026-09-22 21:50:45 +09:00
Dr.Lt.Data 1aae35982f Merge pull request #3242 from blackbossokok/add-comfyui-ezflex-presets
Add ComfyUI-EzFlex-Presets to custom node list
2026-09-22 21:50:39 +09:00
Dr.Lt.Data 10a5ac6c5e Merge pull request #3198 from vdeng-ai/add-comfyui-prompt-bookmarks
Add ComfyUI Prompt Bookmarks
2026-09-22 21:50:33 +09:00
Dr.Lt.Data 65650fcc19 Merge pull request #3175 from ruashots/add-openh3-ir
Add OpenH3-IR to custom-node-list.json
2026-09-22 21:50:28 +09:00
Dr.Lt.Data 673be1c297 Merge pull request #3173 from SuperWJ062/main
Add SuperWJ062 custom nodes to custom node list
2026-09-22 21:50:25 +09:00
Ewald 5a6a59b6d1 Resolve Manager list conflict and retain canonical OmniCam entry 2026-09-21 07:05:20 +02:00
blackbossokok bf0d35310f Update Comfyui-EzFlex-Presets version and description
Updated version number and improved description for Comfyui-EzFlex-Presets.
2026-09-20 22:00:26 +08:00
SuperWJ062 15f9bc38b5 Merge upstream main and resolve conflict: keep SuperWJ062 entries 2026-09-17 10:00:50 +08:00
CoolBreeze164 1568ef38b2 Add "ComfyUI CoolB Nodes" to custom nodes list 2026-09-17 01:44:19 +03:00
killjoyelite 8eb483b893 Update nano URL, added small model entry with size 2026-09-17 03:33:26 +05:00
swqa7697 2da007861c Add ComfyUI-Arisu-Nodes to custom-node-list 2026-09-15 00:05:55 -07:00
blackbossokok 5f7b31bfa5 Update version of Comfyui-EzFlex-Presets to 1.2.2
Update version of Comfyui-EzFlex-Presets to 1.2.2
2026-09-13 19:26:36 +08:00
Ewald 5ddfbe4344 Tweak Majoor OmniCam description to mention 3D camera authoring 2026-09-11 16:50:01 +02:00
Ewald d4cb80924d Add Majoor OmniCam to custom-node-list.json
Registers ComfyUI-Majoor-OmniCam (majoor-omnicam on the Comfy Registry,
Active status) so it appears in the Manager install dialog.
2026-09-11 16:28:03 +02:00
Codex 3f02a7b9cf Add Prompt Workbench and LoRA Trigger Helper 2026-09-10 19:54:50 -07:00
solokjd-eng 9a2abe2433 feat(custom-node-list): register bada-ya/ComfyUI-Bada-Utils 2026-09-09 22:57:16 +09:00
killjoyelite 4525bb1fab Add size attribute to anime eye detector model 2026-09-08 19:23:48 +05:00
blackbossokok ef4204f767 Update version of Comfyui-EzFlex-Presets to 1.0.4
Update version of Comfyui-EzFlex-Presets to 1.0.4
2026-09-08 18:34:19 +08:00
dengwei 846f29ca7b Add ComfyUI Prompt Bookmarks 2026-09-08 11:39:55 +08:00
killjoyeliteHF 52b900b961 Add Anime Eye Detector (YOLOv8n) model entry
Added a new model entry for Anime Eye Detector (YOLOv8n) with relevant details.
2026-09-08 04:37:22 +05:00
DemonAlone 4048715398 miniPaint 2026-09-07 12:44:32 +03:00
blackbossokok 42a77456b3 add Comfyui-EzFlex-Presets
add Comfyui-EzFlex-Presets
2026-09-04 23:19:53 +08:00
SuperWJ062 6a129ee987 Resolve merge conflict: keep both SuperWJ062 entries and upstream new entries 2026-09-01 10:08:31 +08:00
Ruashots 8809373bf9 Nothing to start: the pack brings the compiler with it
The entry still told people to run a service. The nodes run the compiler inside
ComfyUI's own Python now, and requirements.txt pulls it from PyPI, so the only
thing a user needs is a model endpoint.
2026-08-23 11:24:20 -06:00
Ruashots 864899a6a8 Point at the nodes' own repository
The nodes moved out of open-h3-ir and into ComfyUI-OpenH3-IR, so a clone of
the old one now brings a Python package with no nodes in it.

Also four nodes rather than three, and the description says what the fourth one
does.
2026-08-22 16:25:18 -06:00
Ruashots 5db01ece5b Say what the nodes need: this repo's service and a model you already run 2026-08-15 23:31:23 -06:00
Ruashots 045d3d585d Add OpenH3-IR to custom-node-list.json 2026-08-15 23:20:21 -06:00
SuperWJ062 636a419be3 Use nvidia-ml-py for ARES_GPU_Manager dependency 2026-08-15 23:50:09 +08:00
SuperWJ062 5dd76ca97a Use Chinese descriptions for SuperWJ062 entries 2026-08-15 23:32:40 +08:00
SuperWJ062 5d95082dbf Add ComfyUI-ares_MiniMaxH3_IntelligentPrompt to custom node list 2026-08-15 23:31:11 +08:00
SuperWJ062 03fc8523b0 Update ARES_GPU_Manager reference to renamed repo 2026-08-15 23:22:56 +08:00
SuperWJ062 726df32df1 Add ARES_GPU_Manager to custom node list 2026-08-15 23:16:21 +08:00
SuperWJ062 0188b9a69b Add ComfyUI-ares_text_editor to custom node list 2026-08-15 23:14:59 +08:00
19 changed files with 20706 additions and 14875 deletions
+1510 -654
View File
File diff suppressed because it is too large Load Diff
+2957 -1190
View File
File diff suppressed because it is too large Load Diff
+9169 -9049
View File
File diff suppressed because it is too large Load Diff
+82
View File
@@ -0,0 +1,82 @@
.cm-ui-overlay {
z-index: 1000;
background: rgb(0 0 0 / 50%);
}
.cm-ui-dialog {
max-width: calc(100vw - 2rem);
max-height: calc(100vh - 2rem);
border: 1px solid var(--border, var(--border-color));
border-radius: 12px;
background: var(--background, var(--comfy-menu-bg));
color: var(--foreground, var(--fg-color));
box-shadow: var(--shadow-lg, 0 8px 24px rgb(0 0 0 / 30%));
}
.cm-ui-header {
flex-shrink: 0;
padding: 1rem;
}
.cm-ui-content {
padding: 0 1rem 1rem;
overflow: auto;
}
.cm-ui-muted {
color: var(--muted-foreground, var(--fg-color));
}
:where(.cm-ui-button) {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
padding: 0.5rem 0.75rem;
border: 1px solid var(--border, var(--border-color));
border-radius: 6px;
background: var(--secondary, var(--comfy-input-bg));
color: var(--foreground, var(--input-text));
font: inherit;
line-height: 1.25;
cursor: pointer;
}
:where(.cm-ui-input) {
padding: 0.5rem;
border: 1px solid var(--border, var(--border-color));
border-radius: 6px;
background: var(--secondary, var(--comfy-input-bg));
color: var(--foreground, var(--input-text));
font: inherit;
}
.cm-ui-button:not(:disabled):hover {
filter: brightness(115%);
}
.cm-ui-button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.cm-ui-button:focus-visible,
.cm-ui-input:focus-visible {
outline: 2px solid var(--ring, var(--input-text));
outline-offset: 2px;
}
.cm-ui-close {
width: 2rem;
height: 2rem;
flex-shrink: 0;
padding: 0;
border: 0;
border-radius: 50%;
background: transparent;
color: inherit;
}
.cm-ui-close:not(:disabled):hover {
background: var(--accent, var(--comfy-input-bg));
}
+19 -98
View File
@@ -1,4 +1,7 @@
import { $el } from "../../scripts/ui.js";
import { loadCss } from "./common.js";
loadCss("./comfyui-gui-builder.css");
function normalizeContent(content) {
const tmp = document.createElement('div');
@@ -16,7 +19,7 @@ export function createSettingsCombo(label, content) {
const settingItem = $el("div.setting-item", {}, [
$el("div.flex.flex-row.items-center.gap-2",[
$el("div.form-label.flex.grow.items-center", [
$el("span.text-muted", { textContent: label },)
$el("span.cm-ui-muted", { textContent: label },)
]),
$el("div.form-input.flex.justify-end",
[content]
@@ -28,51 +31,27 @@ export function createSettingsCombo(label, content) {
}
export function buildGuiFrame(dialogId, title, iconClass, content, owner) {
const dialog_mask = $el("div.p-dialog-mask.p-overlay-mask.p-overlay-mask-enter", {
const dialog_mask = $el("div.cm-ui-overlay.fixed.inset-0.flex.items-center.justify-center", {
parent: document.body,
style: {
position: "fixed",
height: "100%",
width: "100%",
left: "0px",
top: "0px",
display: "flex",
justifyContent: "center",
alignItems: "center",
pointerEvents: "auto",
zIndex: "1000"
},
onclick: (e) => {
if (e.target === dialog_mask) {
owner.close();
}
}
// data-pc-section="mask"
});
const header_actions = $el("div.p-dialog-header-actions", {
// [TODO]
// data-pc-section="headeractions"
}
);
const header_actions = $el("div.flex.items-center");
const close_button = $el("button.p-button.p-component.p-button-icon-only.p-button-secondary.p-button-rounded.p-button-text.p-dialog-close-button", {
$el("button.cm-ui-button.cm-ui-close", {
parent: header_actions,
type: "button",
ariaLabel: "Close",
onclick: () => owner.close(),
// "data-pc-name": "pcclosebutton",
// "data-p-disabled": "false",
// "data-p-severity": "secondary",
// "data-pc-group-section": "headericon",
// "data-pc-extend": "button",
// "data-pc-section": "root",
// [FIXME] Not sure how to do most of the SVG using $el
innerHTML: '<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" class="p-icon p-button-icon" aria-hidden="true"><path d="M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z" fill="currentColor"></path></svg><span class="p-button-label" data-pc-section="label">&nbsp;</span><!---->'
innerHTML: '<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z" fill="currentColor"></path></svg>'
}
);
const dialog_header = $el("div.p-dialog-header",
const dialog_header = $el("div.cm-ui-header.flex.items-center.justify-between.gap-2",
[
$el("div", [
$el("div",
@@ -96,8 +75,8 @@ export function buildGuiFrame(dialogId, title, iconClass, content, owner) {
]
);
const contentFrame = $el("div.p-dialog-content", {}, normalizeContent(content));
const manager_dialog = $el("div.p-dialog.p-component.global-dialog", {
const contentFrame = $el("div.cm-ui-content.min-h-0", {}, normalizeContent(content));
$el("div.cm-ui-dialog.global-dialog.flex.flex-col", {
id: dialogId,
parent: dialog_mask,
style: {
@@ -108,76 +87,35 @@ export function buildGuiFrame(dialogId, title, iconClass, content, owner) {
},
role: 'dialog',
ariaModal: 'true',
// [TODO]
// ariaLabbelledby: 'cm-title',
// maximized: 'false',
// data-pc-name: 'dialog',
// data-pc-section: 'root',
// data-pd-focustrap: 'true'
},
[ dialog_header, contentFrame ]
);
const hidden_accessible = $el("span.p-hidden-accessible.p-hidden-focusable", {
parent: manager_dialog,
tabindex: "0",
role: "presentation",
ariaHidden: "true",
"data-p-hidden-accessible": "true",
"data-p-hidden-focusable": "true",
"data-pc-section": "firstfocusableelement"
});
return dialog_mask;
}
export function buildGuiFrameCustomHeader(dialogId, customHeader, content, owner) {
const dialog_mask = $el("div.p-dialog-mask.p-overlay-mask.p-overlay-mask-enter", {
const dialog_mask = $el("div.cm-ui-overlay.fixed.inset-0.flex.items-center.justify-center", {
parent: document.body,
style: {
position: "fixed",
height: "100%",
width: "100%",
left: "0px",
top: "0px",
display: "flex",
justifyContent: "center",
alignItems: "center",
pointerEvents: "auto",
zIndex: "1000"
},
onclick: (e) => {
if (e.target === dialog_mask) {
owner.close();
}
}
// data-pc-section="mask"
});
const header_actions = $el("div.p-dialog-header-actions", {
// [TODO]
// data-pc-section="headeractions"
}
);
const header_actions = $el("div.flex.items-center");
const close_button = $el("button.p-button.p-component.p-button-icon-only.p-button-secondary.p-button-rounded.p-button-text.p-dialog-close-button", {
$el("button.cm-ui-button.cm-ui-close", {
parent: header_actions,
type: "button",
ariaLabel: "Close",
onclick: () => owner.close(),
// "data-pc-name": "pcclosebutton",
// "data-p-disabled": "false",
// "data-p-severity": "secondary",
// "data-pc-group-section": "headericon",
// "data-pc-extend": "button",
// "data-pc-section": "root",
// [FIXME] Not sure how to do most of the SVG using $el
innerHTML: '<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" class="p-icon p-button-icon" aria-hidden="true"><path d="M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z" fill="currentColor"></path></svg><span class="p-button-label" data-pc-section="label">&nbsp;</span><!---->'
innerHTML: '<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z" fill="currentColor"></path></svg>'
}
);
const _customHeader = normalizeContent(customHeader);
const dialog_header = $el("div.p-dialog-header",
const dialog_header = $el("div.cm-ui-header.flex.items-center.justify-between.gap-2",
[
$el("div", [
$el("div",
@@ -191,8 +129,8 @@ export function buildGuiFrameCustomHeader(dialogId, customHeader, content, owner
]
);
const contentFrame = $el("div.p-dialog-content", {}, normalizeContent(content));
const manager_dialog = $el("div.p-dialog.p-component.global-dialog", {
const contentFrame = $el("div.cm-ui-content.min-h-0", {}, normalizeContent(content));
$el("div.cm-ui-dialog.global-dialog.flex.flex-col", {
id: dialogId,
parent: dialog_mask,
style: {
@@ -203,25 +141,8 @@ export function buildGuiFrameCustomHeader(dialogId, customHeader, content, owner
},
role: 'dialog',
ariaModal: 'true',
// [TODO]
// ariaLabbelledby: 'cm-title',
// maximized: 'false',
// data-pc-name: 'dialog',
// data-pc-section: 'root',
// data-pd-focustrap: 'true'
},
[ dialog_header, contentFrame ]
);
const hidden_accessible = $el("span.p-hidden-accessible.p-hidden-focusable", {
parent: manager_dialog,
tabindex: "0",
role: "presentation",
ariaHidden: "true",
"data-p-hidden-accessible": "true",
"data-p-hidden-focusable": "true",
"data-pc-section": "firstfocusableelement"
});
return dialog_mask;
}
}
+27 -26
View File
@@ -826,7 +826,7 @@ class ManagerMenuDialog extends ComfyDialog {
const isElectron = 'electronAPI' in window;
update_comfyui_button =
$el("button.p-button.p-component.cm-button", {
$el("button.cm-ui-button.cm-button", {
type: "button",
textContent: "Update ComfyUI",
style: {
@@ -837,7 +837,7 @@ class ManagerMenuDialog extends ComfyDialog {
});
switch_comfyui_button =
$el("button.p-button.p-component.cm-button", {
$el("button.cm-ui-button.cm-button", {
type: "button",
textContent: "Switch ComfyUI",
style: {
@@ -848,7 +848,7 @@ class ManagerMenuDialog extends ComfyDialog {
});
restart_stop_button =
$el("button.p-button.p-component.cm-button-red", {
$el("button.cm-ui-button.cm-button-red", {
type: "button",
textContent: "Restart",
onclick: () => restartOrStop()
@@ -856,7 +856,7 @@ class ManagerMenuDialog extends ComfyDialog {
if(isElectron) {
update_all_button =
$el("button.p-button.p-component.cm-button", {
$el("button.cm-ui-button.cm-button", {
type: "button",
textContent: "Update All Custom Nodes",
onclick:
@@ -865,7 +865,7 @@ class ManagerMenuDialog extends ComfyDialog {
}
else {
update_all_button =
$el("button.p-button.p-component.cm-button", {
$el("button.cm-ui-button.cm-button", {
type: "button",
textContent: "Update All",
onclick:
@@ -875,7 +875,7 @@ class ManagerMenuDialog extends ComfyDialog {
const res =
[
$el("button.p-button.p-component.cm-button", {
$el("button.cm-ui-button.cm-button", {
type: "button",
textContent: "Custom Nodes Manager",
onclick:
@@ -887,7 +887,7 @@ class ManagerMenuDialog extends ComfyDialog {
}
}),
$el("button.p-button.p-component.cm-button", {
$el("button.cm-ui-button.cm-button", {
type: "button",
textContent: "Install Missing Custom Nodes",
onclick:
@@ -899,7 +899,7 @@ class ManagerMenuDialog extends ComfyDialog {
}
}),
$el("button.p-button.p-component.cm-button", {
$el("button.cm-ui-button.cm-button", {
type: "button",
textContent: "Custom Nodes In Workflow",
onclick:
@@ -910,7 +910,7 @@ class ManagerMenuDialog extends ComfyDialog {
CustomNodesManager.instance.show(CustomNodesManager.ShowMode.IN_WORKFLOW);
}
}),
$el("button.cm-button", {
$el("button.cm-ui-button.cm-button", {
type: "button",
textContent: "Node Usage Analyzer",
onclick:
@@ -923,7 +923,7 @@ class ManagerMenuDialog extends ComfyDialog {
}),
$el("div", {}, []),
$el("button.p-button.p-component.cm-button", {
$el("button.cm-ui-button.cm-button", {
type: "button",
textContent: "Model Manager",
onclick:
@@ -935,7 +935,7 @@ class ManagerMenuDialog extends ComfyDialog {
}
}),
$el("button.p-button.p-component.cm-button", {
$el("button.cm-ui-button.cm-button", {
type: "button",
textContent: "Install via Git URL",
onclick: async () => {
@@ -969,7 +969,7 @@ class ManagerMenuDialog extends ComfyDialog {
this.datasrc_combo = document.createElement("select");
this.datasrc_combo.setAttribute("title", "Configure where to retrieve node/model information. If set to 'local,' the channel is ignored, and if set to 'channel (remote),' it fetches the latest information each time the list is opened.");
this.datasrc_combo.className = "cm-menu-combo p-select p-component p-inputwrapper p-inputwrapper-filled ";
this.datasrc_combo.className = "cm-menu-combo cm-ui-input ";
this.datasrc_combo.appendChild($el('option', { value: 'cache', text: 'Channel (1day cache)' }, []));
this.datasrc_combo.appendChild($el('option', { value: 'local', text: 'Local' }, []));
this.datasrc_combo.appendChild($el('option', { value: 'remote', text: 'Channel (remote)' }, []));
@@ -987,7 +987,7 @@ class ManagerMenuDialog extends ComfyDialog {
// preview method
let preview_combo = document.createElement("select");
preview_combo.setAttribute("title", "Configure how latent variables will be decoded during preview in the sampling process.");
preview_combo.className = "cm-menu-combo p-select p-component p-inputwrapper p-inputwrapper-filled";
preview_combo.className = "cm-menu-combo cm-ui-input";
// Loading state to prevent flash of enabled state
preview_combo.appendChild($el('option', { value: '', text: 'Loading...', disabled: true }, []));
@@ -1085,7 +1085,7 @@ class ManagerMenuDialog extends ComfyDialog {
// channel
let channel_combo = document.createElement("select");
channel_combo.setAttribute("title", "Configure the channel for retrieving data from the Custom Node list (including missing nodes) or the Model list.");
channel_combo.className = "cm-menu-combo p-select p-component p-inputwrapper p-inputwrapper-filled";
channel_combo.className = "cm-menu-combo cm-ui-input";
api.fetchApi('/manager/channel_url_list')
.then(response => response.json())
.then(async data => {
@@ -1115,7 +1115,7 @@ class ManagerMenuDialog extends ComfyDialog {
// share
let share_combo = document.createElement("select");
share_combo.setAttribute("title", "Hide the share button in the main menu or set the default action upon clicking it. Additionally, configure the default share site when sharing via the context menu's share button.");
share_combo.className = "cm-menu-combo p-select p-component p-inputwrapper p-inputwrapper-filled";
share_combo.className = "cm-menu-combo cm-ui-input";
const share_options = [
['none', 'None'],
['openart', 'OpenArt AI'],
@@ -1152,7 +1152,7 @@ class ManagerMenuDialog extends ComfyDialog {
let component_policy_combo = document.createElement("select");
component_policy_combo.setAttribute("title", "When loading the workflow, configure which version of the component to use.");
component_policy_combo.className = "cm-menu-combo p-select p-component p-inputwrapper p-inputwrapper-filled";
component_policy_combo.className = "cm-menu-combo cm-ui-input";
component_policy_combo.appendChild($el('option', { value: 'workflow', text: 'Use workflow version' }, []));
component_policy_combo.appendChild($el('option', { value: 'higher', text: 'Use higher version' }, []));
component_policy_combo.appendChild($el('option', { value: 'mine', text: 'Use my version' }, []));
@@ -1173,7 +1173,7 @@ class ManagerMenuDialog extends ComfyDialog {
update_policy_combo = document.createElement("select");
update_policy_combo.setAttribute("title", "Sets the policy to be applied when performing an update.");
update_policy_combo.className = "cm-menu-combo p-select p-component p-inputwrapper p-inputwrapper-filled";
update_policy_combo.className = "cm-menu-combo cm-ui-input";
update_policy_combo.appendChild($el('option', { value: 'stable-comfyui', text: 'ComfyUI Stable Version' }, []));
update_policy_combo.appendChild($el('option', { value: 'nightly-comfyui', text: 'ComfyUI Nightly Version' }, []));
api.fetchApi('/manager/policy/update')
@@ -1201,7 +1201,7 @@ class ManagerMenuDialog extends ComfyDialog {
//[TODO] replace mt-2 with wrapper div with flex column gap
$el("filedset.cm-experimental.mt-auto", {}, [
$el("legend.cm-experimental-legend", {}, ["EXPERIMENTAL"]),
$el("button.p-button.p-component.cm-button.cm-experimental-button", {
$el("button.cm-ui-button.cm-button.cm-experimental-button", {
type: "button",
textContent: "Snapshot Manager",
onclick:
@@ -1211,7 +1211,7 @@ class ManagerMenuDialog extends ComfyDialog {
SnapshotManager.instance.show();
}
}),
$el("button.p-button.p-component.cm-button.cm-experimental-button.mt-2", {
$el("button.cm-ui-button.cm-button.cm-experimental-button.mt-2", {
type: "button",
textContent: "Install PIP packages",
onclick:
@@ -1229,7 +1229,7 @@ class ManagerMenuDialog extends ComfyDialog {
createControlsRight() {
const elts = [
$el("button.p-button.p-component.cm-button", {
$el("button.cm-ui-button.cm-button", {
id: 'cm-manual-button',
type: "button",
textContent: "Community Manual",
@@ -1280,7 +1280,7 @@ class ManagerMenuDialog extends ComfyDialog {
})
]),
$el("button.p-button.p-component.cm-button", {
$el("button.cm-ui-button.cm-button", {
id: 'workflowgallery-button',
type: "button",
style: {
@@ -1323,7 +1323,7 @@ class ManagerMenuDialog extends ComfyDialog {
})
]),
$el("button.p-button.p-component.cm-button", {
$el("button.cm-ui-button.cm-button", {
id: 'cm-nodeinfo-button',
type: "button",
textContent: "Nodes Info",
@@ -1536,10 +1536,11 @@ app.registerExtension({
});
},
async setup() {
let orig_clear = app.graph.clear;
app.graph.clear = function () {
orig_clear.call(app.graph);
load_components();
const graphProto = Object.getPrototypeOf(app.graph);
const orig_clear = graphProto.clear;
graphProto.clear = function () {
orig_clear.apply(this, arguments);
if (this === app.graph) load_components();
};
load_components();
+2 -2
View File
@@ -103,7 +103,7 @@
line-height: 28px;
cursor: pointer;
padding: 0.5em 0.5em;
padding: 0 0.5em;
border: 1px solid var(--border-color);
border-radius: 6px;
background: var(--comfy-input-bg);
@@ -726,4 +726,4 @@
.cn-manager-light .cn-btn-install {
background-color: #333;
}
}
+8 -8
View File
@@ -24,13 +24,13 @@ const pageHtml = `
<div class="cn-manager-selection"></div>
<div class="cn-manager-message"></div>
<div class="cn-manager-footer">
<button class="cn-manager-restart p-button p-component">Restart</button>
<button class="cn-manager-stop p-button p-component">Stop</button>
<button class="cn-manager-restart cm-ui-button">Restart</button>
<button class="cn-manager-stop cm-ui-button">Stop</button>
<div class="cn-flex-auto"></div>
<button class="cn-manager-used-in-workflow p-button p-component">Used In Workflow</button>
<button class="cn-manager-check-update p-button p-component">Check Update</button>
<button class="cn-manager-check-missing p-button p-component">Check Missing</button>
<button class="cn-manager-install-url p-button p-component">Install via Git URL</button>
<button class="cn-manager-used-in-workflow cm-ui-button">Used In Workflow</button>
<button class="cn-manager-check-update cm-ui-button">Check Update</button>
<button class="cn-manager-check-missing cm-ui-button">Check Missing</button>
<button class="cn-manager-install-url cm-ui-button">Install via Git URL</button>
</div>
</div>
`;
@@ -85,7 +85,7 @@ export class CustomNodesManager {
// $el("select.cn-manager-filter")
// ]),
createSettingsCombo("Filter", $el("select.cn-manager-filter")),
$el("input.cn-manager-keywords.p-inputtext.p-component", { type: "search", placeholder: "Search" }),
$el("input.cn-manager-keywords.cm-ui-input", { type: "search", placeholder: "Search" }),
$el("div.cn-manager-status"),
$el("div.cn-flex-auto"),
$el("div.cn-manager-channel")
@@ -384,7 +384,7 @@ export class CustomNodesManager {
return list.map(id => {
const bt = buttons[id];
return `<button class="cn-btn-${id} p-button p-component" group="${sanitizeHTML(String(action))}" mode="${bt.mode}">${bt.label}</button>`;
return `<button class="cn-btn-${id} cm-ui-button" group="${sanitizeHTML(String(action))}" mode="${bt.mode}">${bt.label}</button>`;
}).join("");
}
+2 -2
View File
@@ -71,7 +71,7 @@
line-height: 28px;
cursor: pointer;
padding: 0.5em 0.5em;
padding: 0 0.5em;
border: 1px solid var(--border-color);
border-radius: 6px;
background: var(--comfy-input-bg);
@@ -234,4 +234,4 @@
.cmm-manager-light .cmm-btn-install {
background-color: #333;
}
}
+5 -5
View File
@@ -31,8 +31,8 @@ const pageHtml = `
<div class="cmm-manager-selection"></div>
<div class="cmm-manager-message"></div>
<div class="cmm-manager-footer">
<button class="cmm-manager-refresh p-button p-component">Refresh</button>
<button class="cmm-manager-stop p-button p-component">Stop</button>
<button class="cmm-manager-refresh cm-ui-button">Refresh</button>
<button class="cmm-manager-stop cm-ui-button">Stop</button>
<div class="cmm-flex-auto"></div>
</div>
</div>
@@ -61,7 +61,7 @@ export class ModelManager {
createSettingsCombo("Filter", $el("select.cmm-manager-filter")),
createSettingsCombo("Type", $el("select.cmm-manager-type")),
createSettingsCombo("Base", $el("select.cmm-manager-base")),
$el("input.cmm-manager-keywords.p-inputtext.p-component", { type: "search", placeholder: "Search" }),
$el("input.cmm-manager-keywords.cm-ui-input", { type: "search", placeholder: "Search" }),
$el("div.cmm-manager-status"),
$el("div.cmm-flex-auto")
]);
@@ -347,7 +347,7 @@ export class ModelManager {
if (installed === "True") {
return `<div class="cmm-icon-passed">${icons.passed}</div>`;
}
return `<button class="cmm-btn-install p-button p-component" mode="install">Install</button>`;
return `<button class="cmm-btn-install cm-ui-button" mode="install">Install</button>`;
}
}, {
id: 'url',
@@ -425,7 +425,7 @@ export class ModelManager {
}
this.selectedModels = selectedList;
this.showSelection(`<span>Selected <b>${selectedList.length}</b> models <button class="cmm-btn-install p-button p-component" mode="install">Install</button>`);
this.showSelection(`<span>Selected <b>${selectedList.length}</b> models <button class="cmm-btn-install cm-ui-button" mode="install">Install</button>`);
}
focusInstall(item) {
+5 -5
View File
@@ -29,7 +29,7 @@ async function restore_snapshot(target) {
}
finally {
await SnapshotManager.instance.invalidateControl();
SnapshotManager.instance.updateMessage("<BR>To apply the snapshot, please <button id='cm-reboot-button2' class='p-button p-component'>RESTART</button> ComfyUI. And refresh browser.", 'cm-reboot-button2');
SnapshotManager.instance.updateMessage("<BR>To apply the snapshot, please <button id='cm-reboot-button2' class='cm-ui-button'>RESTART</button> ComfyUI. And refresh browser.", 'cm-reboot-button2');
}
}
}
@@ -122,7 +122,7 @@ export class SnapshotManager extends ComfyDialog {
createControls() {
return [
$el("button.p-button.p-component", {
$el("button.cm-ui-button", {
type: "button",
textContent: "Close",
onclick: () => { this.close(); }
@@ -220,7 +220,7 @@ export class SnapshotManager extends ComfyDialog {
data_button.className = "data-btns";
var restoreBtn = document.createElement('button');
restoreBtn.className = "snapshot-restore-btn p-button p-component";
restoreBtn.className = "snapshot-restore-btn cm-ui-button";
restoreBtn.innerHTML = 'Restore';
restoreBtn.style.width = "100px";
@@ -229,7 +229,7 @@ export class SnapshotManager extends ComfyDialog {
});
var removeBtn = document.createElement('button');
removeBtn.className = "snapshot-remove-btn p-button p-component";
removeBtn.className = "snapshot-remove-btn cm-ui-button";
removeBtn.innerHTML = 'Remove';
removeBtn.style.width = "100px";
@@ -279,7 +279,7 @@ export class SnapshotManager extends ComfyDialog {
async createBottomControls() {
var save_button = document.createElement("button");
save_button.className = "p-button p-component";
save_button.className = "cm-ui-button";
save_button.innerHTML = "Save snapshot";
save_button.onclick = () => { save_current_snapshot(); }
save_button.style.horizontalAlign = "right";
+23 -1
View File
@@ -6249,6 +6249,28 @@
"filename": "Qwen-Image-InstantX-ControlNet-Inpainting.safetensors",
"url": "https://huggingface.co/Comfy-Org/Qwen-Image-InstantX-ControlNets/resolve/main/split_files/controlnet/Qwen-Image-InstantX-ControlNet-Inpainting.safetensors",
"size": "2.54GB"
},
{
"name": "Anime Eye Detector (YOLOv8n)",
"type": "Ultralytics",
"base": "yolov8",
"save_path": "ultralytics/bbox",
"description": "Anime eye detector (YOLOv8n). Detects eyes in anime-style character art for use with BboxDetectorSEGS/Detailer workflows.",
"reference": "https://huggingface.co/killjoyelite/anime-eye-yolov8",
"filename": "eye_yolov8n.pt",
"url": "https://huggingface.co/killjoyelite/anime-eye-yolov8/resolve/6bceece59aa38f7fe9d3867f3e2931b11c7ff9a1/eye_yolov8n.pt",
"size": "6.24MB"
},
{
"name": "Anime Eye Detector (YOLOv8s)",
"type": "Ultralytics",
"base": "yolov8",
"save_path": "ultralytics/bbox",
"description": "Anime eye detector (YOLOv8s). Detects eyes in anime-style character art for use with BboxDetectorSEGS/Detailer workflows.",
"reference": "https://huggingface.co/killjoyelite/anime-eye-yolov8",
"filename": "eye_yolov8s.pt",
"url": "https://huggingface.co/killjoyelite/anime-eye-yolov8/resolve/6bceece59aa38f7fe9d3867f3e2931b11c7ff9a1/eye_yolov8s.pt",
"size": "22.5MB"
}
]
}
}
+63 -381
View File
@@ -1,5 +1,67 @@
{
"custom_nodes": [
{
"author": "magicwang1111",
"title": "ComfyUI-GPT-image (OpenAI/Relay) [NAME CONFLICT]",
"id": "comfyui-gpt-image-openai-relay",
"reference": "https://github.com/magicwang1111/ComfyUI-GPT-image",
"files": [
"https://github.com/magicwang1111/ComfyUI-GPT-image"
],
"install_type": "git-clone",
"description": "Generate and edit images in ComfyUI with OpenAI GPT Image models. Includes dedicated Generate and Edit nodes, multi-image reference input, size presets, and support for both the official OpenAI API and OpenAI-compatible relay endpoints."
},
{
"author": "Yuan-ManX",
"title": "ComfyUI-Bagel [NAME CONFLICT]",
"reference": "https://github.com/Yuan-ManX/ComfyUI-Bagel",
"files": [
"https://github.com/Yuan-ManX/ComfyUI-Bagel"
],
"install_type": "git-clone",
"description": "ComfyUI-Bagel is now available in ComfyUI, BAGEL is an open‑source multimodal foundation model with 7B active parameters (14B total) trained on large‑scale interleaved multimodal data. [w/Don't install together with neverbiasu/ComfyUI-BAGEL simultaneously.]"
},
{
"author": "liming123332",
"title": "ComfyUI-Ranbooru [NAME CONFLICT]",
"reference": "https://github.com/liming123332/ComfyUI-Ranbooru",
"files": [
"https://github.com/liming123332/ComfyUI-Ranbooru"
],
"install_type": "git-clone",
"description": "Custom node that migrates WebUI Forge's Ranbooru plugin to ComfyUI, enabling searches across Booru sites to generate positive/negative prompts with tag cleaning, rating sorting, and caching support. (Description by CC)"
},
{
"author": "katalist-ai",
"title": "comfyUI-nsfw-detection [NAME CONFLICT]",
"id": "nsfw-detection",
"reference": "https://github.com/katalist-ai/comfyUI-nsfw-detection",
"files": [
"https://github.com/katalist-ai/comfyUI-nsfw-detection"
],
"install_type": "git-clone",
"description": "Nodes: NudenetDetector"
},
{
"author": "AIFSH",
"title": "DiffSynth-ComfyUI [NAME CONFLICT]",
"reference": "https://github.com/AIFSH/DiffSynth-ComfyUI",
"files": [
"https://github.com/AIFSH/DiffSynth-ComfyUI"
],
"install_type": "git-clone",
"description": "a custom node for [a/DiffSynth-Studio](https://github.com/modelscope/DiffSynth-Studio)"
},
{
"author": "flyghtxmz",
"title": "ComfyUI-CFG-Ctrl [NAME CONFLICT]",
"reference": "https://github.com/flyghtxmz/ComfyUI-CFG-Ctrl",
"files": [
"https://github.com/flyghtxmz/ComfyUI-CFG-Ctrl"
],
"install_type": "git-clone",
"description": "ComfyUI custom node implementing SMC-CFG (Sliding Mode Control Classifier-Free Guidance), a nonlinear control-theory approach to CFG that prevents instability and semantic overshooting at high guidance scales. (Description by CC)"
},
{
"author": "trusapien",
"title": "ComfyUI-Trusapien",
@@ -121,16 +183,6 @@
"install_type": "git-clone",
"description": "A small pack of utility nodes including CLIP/VAE fallbacks, Anima model detection, and multi image preview.\nNOTE: The files in the repo are not organized."
},
{
"author": "TechnoWarrior2",
"title": "comfyui-live-preview [WIP]",
"reference": "https://github.com/TechnoWarrior2/comfyui-live-preview",
"files": [
"https://github.com/TechnoWarrior2/comfyui-live-preview"
],
"install_type": "git-clone",
"description": "ComfyUI node displaying large floating overlay window with live denoising step previews as image generates, similar to A1111 and Forge.\nNOTE: The files in the repo are not organized."
},
{
"author": "HuajunPeng1982",
"title": "comfyui-grsai-storyboard",
@@ -561,16 +613,6 @@
"install_type": "git-clone",
"description": "ComfyUI utility nodes including SamplerPipeIn, SamplerPipeOut, and VAENames for workflow management. (Description by CC)"
},
{
"author": "pollockjj",
"title": "JAXTools",
"reference": "https://github.com/pollockjj/ComfyUI-JAXTools",
"files": [
"https://github.com/pollockjj/ComfyUI-JAXTools"
],
"install_type": "git-clone",
"description": "JAX-accelerated image processing nodes for ComfyUI via dm_pix sealed worker isolation"
},
{
"author": "ptmff",
"title": "ComfyUI-Nodes8734",
@@ -971,16 +1013,6 @@
"install_type": "git-clone",
"description": "A lightweight utility node for ComfyUI that detects aspect ratio of input images and selects preset resolutions with multiplier support.\nNOTE: The files in the repo are not organized."
},
{
"author": "MengYe-Z",
"title": "ComfyUI-MultiPointWhiteBalance [WIP]",
"reference": "https://github.com/MengYe-Z/ComfyUI-MultiPointWhiteBalance",
"files": [
"https://github.com/MengYe-Z/ComfyUI-MultiPointWhiteBalance"
],
"install_type": "git-clone",
"description": "A custom node pack for e-commerce product photography with precise white balance and exposure correction using multi-point sampling.\nNOTE: The files in the repo are not organized."
},
{
"author": "Mervent",
"title": "comfyui-fast-lut [WIP]",
@@ -1181,16 +1213,6 @@
"install_type": "git-clone",
"description": "Image selector node for ComfyUI.\nNOTE: The files in the repo are not organized."
},
{
"author": "saganaki22",
"title": "Kitten-TTS [NAME CONFLICT]",
"reference": "https://github.com/Saganaki22/ComfyUI-KittenTTS",
"files": [
"https://github.com/Saganaki22/ComfyUI-KittenTTS"
],
"install_type": "git-clone",
"description": "ComfyUI custom node for KittenTTS - Ultra-lightweight text-to-speech (CUDA / CPU)"
},
{
"author": "opj161",
"title": "comfyui-comfyui-lmstudio [NAME CONFLICT]",
@@ -1853,16 +1875,6 @@
"install_type": "git-clone",
"description": "ComfyUI Frontend Vue Basic is custom node that demonstrate how to use vue as frontend framework along with primevue and vue-i18n, cooperating with ComfyUI API. Needs ComfyUI Frontend 1.25.0 or later."
},
{
"author": "vjumpkung",
"title": "comfyui-mosaic-blur [NAME CONFLICT]",
"reference": "https://github.com/vjumpkung/comfyui-mosaic-blur",
"files": [
"https://github.com/vjumpkung/comfyui-mosaic-blur"
],
"install_type": "git-clone",
"description": "ComfyUI custom node for applying mosaic blur effects. (Description by CC)"
},
{
"author": "richardctw",
"title": "ComfyUI-ImageFillBackgroundColor",
@@ -1913,16 +1925,6 @@
"install_type": "git-clone",
"description": "NODES: CLIPModelSelectionNode, CLIPVisionModelSelectionNode, CheckpointSelectionNode, DiffusionModelSelectionNode, FilteredCLIPModelsNode, ... (13 total)"
},
{
"author": "pollockjj",
"title": "ComfyUI-StabilityTest",
"reference": "https://github.com/pollockjj/ComfyUI-StabilityTest",
"files": [
"https://github.com/pollockjj/ComfyUI-StabilityTest"
],
"install_type": "git-clone",
"description": "ComfyUI stability testing node. (Description by CC)"
},
{
"author": "Tr1dae",
"title": "ComfyUI-MobileSAM [WIP]",
@@ -1993,16 +1995,6 @@
"install_type": "git-clone",
"description": "Custom ComfyUI nodes for Google Gemini AI with text generation and image generation capabilities using the Python SDK."
},
{
"author": "Saganaki22",
"title": "ComfyUI-NovaSR",
"reference": "https://github.com/Saganaki22/ComfyUI-NovaSR",
"files": [
"https://github.com/Saganaki22/ComfyUI-NovaSR"
],
"install_type": "git-clone",
"description": "ComfyUI node for NovaSR - Ultra-fast audio super resolution (3600x realtime, 50KB model)"
},
{
"author": "GokuHiki",
"title": "ComfyUI-Goku-Tools",
@@ -2243,16 +2235,6 @@
"install_type": "git-clone",
"description": "NODES: GetSimilarity, LPIPSSimilarity"
},
{
"author": "StevenBaby",
"title": "comfyui-tools",
"reference": "https://github.com/StevenBaby/comfyui-tools",
"files": [
"https://github.com/StevenBaby/comfyui-tools"
],
"install_type": "git-clone",
"description": "IntParameterNode: A Node contain 4 int parameters to quick switch input to other nodes."
},
{
"author": "zhu798542746",
"title": "comfyui_model [UNSAFE]",
@@ -2367,6 +2349,7 @@
"author": "huhu-tiger",
"title": "ComfyUI-RemoteResource",
"reference": "https://github.com/huhu-tiger/ComfyUI-RemoteResource",
"reference2": "https://github.com/huhu-tiger/ComfyUI-RemoteDownload",
"files": [
"https://github.com/huhu-tiger/ComfyUI-RemoteResource"
],
@@ -2693,16 +2676,6 @@
"install_type": "git-clone",
"description": "ComfyUI custom node applying image transformations (scaling, rotation, translation) around a pivot point with optional canvas expansion and pivot visualization. (Description by CC)\nNOTE: The files in the repo are not organized."
},
{
"author": "OhSeongHyeon",
"title": "comfyui-random-image-size",
"reference": "https://github.com/OhSeongHyeon/comfyui-random-image-size",
"files": [
"https://github.com/OhSeongHyeon/comfyui-random-image-size"
],
"install_type": "git-clone",
"description": "ComfyUI Random Image Size"
},
{
"author": "Enferlain",
"title": "ComfyUI-Model-Comparison [WIP]",
@@ -2933,16 +2906,6 @@
"install_type": "git-clone",
"description": "ComfyUI custom node providing customizable prompt generation capabilities. (Description by CC)"
},
{
"author": "JBKing514",
"title": "map_comfyui [WIP]",
"reference": "https://github.com/JBKing514/map_comfyui",
"files": [
"https://github.com/JBKing514/map_comfyui"
],
"install_type": "git-clone",
"description": "A custom node implementing the Manifold Alignment Protocol (MAP) within ComfyUI, transforming diffusion sampling into a measurable and visualizable geometric process. (Description by CC)\nNOTE: The files in the repo are not organized."
},
{
"author": "binarystatic",
"title": "ComfyUI-BinarystaticMasterSeed",
@@ -3253,16 +3216,6 @@
"install_type": "git-clone",
"description": "A simple ComfyUI node that lets you choose one text from up to 10 inputs.\nNOTE: The files in the repo are not organized."
},
{
"author": "Isi-dev",
"title": "ComfyUI_DeleteModelPassthrough_ExecutionFlowControl [WIP]",
"reference": "https://github.com/Isi-dev/ComfyUI_DeleteModelPassthrough_ExecutionFlowControl",
"files": [
"https://github.com/Isi-dev/ComfyUI_DeleteModelPassthrough_ExecutionFlowControl"
],
"install_type": "git-clone",
"description": "Memory management custom node that deletes specific models from VRAM and RAM while passing through other input types unchanged, useful for low-memory environments. (Description by CC)"
},
{
"author": "K1maran",
"title": "ComfyUI-Kimaran",
@@ -3433,16 +3386,6 @@
"install_type": "git-clone",
"description": "Quality-of-life utility nodes for ComfyUI providing smart switches for dynamic data routing, path helpers for consistent file naming, and image utilities including Qwen vision model preparation.\nNOTE: The files in the repo are not organized."
},
{
"author": "huhu-tiger",
"title": "ComfyUI-RemoteDownload",
"reference": "https://github.com/huhu-tiger/ComfyUI-RemoteDownload",
"files": [
"https://github.com/huhu-tiger/ComfyUI-RemoteDownload"
],
"install_type": "git-clone",
"description": "NODES: LoadImageFromRemote"
},
{
"author": "basenc",
"title": "Comfyui-Nodes-basenc [UNSAFE]",
@@ -3523,16 +3466,6 @@
"install_type": "git-clone",
"description": "This repo has different functions to help dealing with huggingface data"
},
{
"author": "ilslli",
"title": "Comfyui-IV2Z",
"reference": "https://github.com/ilslli/Comfyui-IV2Z",
"files": [
"https://github.com/ilslli/Comfyui-IV2Z"
],
"install_type": "git-clone",
"description": "Modify the VideoCombine node of [a/ComfyUI-VideoHelperSuite](https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite) so that, after encoding the video, it outputs the result as a compressed archive."
},
{
"author": "PladsElsker",
"title": "comfyui-krita [WIP]",
@@ -3624,16 +3557,6 @@
"install_type": "git-clone",
"description": "NODES: 'URL: Load Media', 'Image: Save To Disk (No UI)', 'S3: Upload Presigned', ..."
},
{
"author": "akashch1512",
"title": "ComfyUI_UguuUploader",
"reference": "https://github.com/akashch1512/ComfyUI_UguuUploader",
"files": [
"https://github.com/akashch1512/ComfyUI_UguuUploader"
],
"install_type": "git-clone",
"description": "NODES: Uguu.se Video Uploader\nNOTE: The files in the repo are not organized."
},
{
"author": "vadimcro",
"title": "string_by_index",
@@ -4426,16 +4349,6 @@
"install_type": "git-clone",
"description": "NODES: S3 Upload File, File Explorer, Save Image Export Path, Save Video Export Path, Save Audio Export Path, S3 Combine Images to Video, Multi-Line Text Input, ...\nNOTE: The files in the repo are not organized.[w/This extension has a vulnerability that allows arbitrary access to local files from remote.]"
},
{
"author": "kesslerdev",
"title": "Comfyui : kesslerdev_comfyui_nodes [UNSAFE]",
"reference": "https://github.com/kesslerdev/kesslerdev_comfyui_nodes",
"files": [
"https://github.com/kesslerdev/kesslerdev_comfyui_nodes"
],
"install_type": "git-clone",
"description": "NODES: Multiline Text Choice (Kesslerdev), Environment Variable Getter (Kesslerdev)[w/This nodepack includes a node that can remotely read arbitrary environment variables.]"
},
{
"author": "panchovial-max",
"title": "ComfyUI-ListHelper [NAME CONFLICT]",
@@ -4987,16 +4900,6 @@
"install_type": "git-clone",
"description": "A ComfyUI custom node implementation of ByteDance's USO (Unified Style and Subject-Driven Generation) model, which enables advanced style transfer and subject preservation using FLUX.\nNOTE: The files in the repo are not organized."
},
{
"author": "numq",
"title": "comfyui-camera-capture-node",
"reference": "https://github.com/numq/comfyui-camera-capture-node",
"files": [
"https://github.com/numq/comfyui-camera-capture-node"
],
"install_type": "git-clone",
"description": "NODES: Camera Capture"
},
{
"author": "pickles",
"title": "PyPromptGenerator [UNSAFE]",
@@ -5097,16 +5000,6 @@
"install_type": "git-clone",
"description": "NODES: INT Constant, Simple Int Math Handle, Simple Json Array Handle, Simple Json Object Handle, Select Image Size, Video Time & FPS, Video Frame Size, Wan22 Step Handle, Prompt Selector String, Prompt Example Node, Prompt Join or List, Prompt List, CRD Audio Length Node, ..."
},
{
"author": "Saganaki22",
"title": "ComfyUI YTDL Nodes [WIP]",
"reference": "https://github.com/Saganaki22/ComfyUI-ytdl_nodes",
"files": [
"https://github.com/Saganaki22/ComfyUI-ytdl_nodes"
],
"install_type": "git-clone",
"description": "Custom ComfyUI nodes for downloading, converting, and previewing audio/video from YouTube and 1,000+ other platforms"
},
{
"author": "comfyscript",
"title": "ComfyUI-CloudClient",
@@ -5127,16 +5020,6 @@
"install_type": "git-clone",
"description": "A custom node for ComfyUI that automatically uploads generated images to SharePoint or OneDrive document libraries.[w/This nodepack contains a node that can write files to an arbitrary path.]"
},
{
"author": "KoinnAI",
"title": "ComfyUI Dynamic Prompting Simplified [WIP]",
"reference": "https://github.com/KoinnAI/ComfyUI-DynPromptSimplified",
"files": [
"https://github.com/KoinnAI/ComfyUI-DynPromptSimplified"
],
"install_type": "git-clone",
"description": "A minimal dynamic prompting + mirrored wildcards node for ComfyUI.\nNOTE: The files in the repo are not organized."
},
{
"author": "jtrue",
"title": "MaskTools",
@@ -5528,16 +5411,6 @@
"install_type": "git-clone",
"description": "This custom node Qwen3 designed to integrate with a GPT-based system under the category GPT_QWEN/Qwen. It serves as an interface to interact with the Qwen language model, specifically the 'Qwen/Qwen3-4B-Instruct-2507' variant."
},
{
"author": "MatthewClayHarrison",
"title": "MetaMan - Universal AI Image Metadata Manager [UNSAFE]",
"reference": "https://github.com/MatthewClayHarrison/ComfyUI-MetaMan",
"files": [
"https://github.com/MatthewClayHarrison/ComfyUI-MetaMan"
],
"install_type": "git-clone",
"description": "First universal metadata system for AI image generation, with template-driven architecture allowing easy extension to new services; comprehensive dependency tracking with automatic download resolution; lossless conversion between platform formats where possible; future-proof design with extensible schema and validation system.[w/This nodepack has a vulnerability that allows remote access to arbitrary file paths.]"
},
{
"author": "idoru",
"title": "Filestash Upload Node [UNSAFE]",
@@ -5908,16 +5781,6 @@
"install_type": "git-clone",
"description": "This is a text translation node using a local SLM (Microsoft Phi-4) for ComfyUI."
},
{
"author": "DenRakEiw",
"title": "Denrakeiw Nodes [WIP]",
"reference": "https://github.com/DenRakEiw/DenRakEiw_Nodes",
"files": [
"https://github.com/DenRakEiw/DenRakEiw_Nodes"
],
"install_type": "git-clone",
"description": "A custom nodepack for ComfyUI that provides utility nodes for image generation and manipulation.\nNOTE: The files in the repo are not organized."
},
{
"author": "ahmedbana",
"title": "json-creator [WIP]",
@@ -6398,16 +6261,6 @@
"install_type": "git-clone",
"description": "NODES: Whisper + AudioTranslate, Google Translate Node"
},
{
"author": "edgerunner",
"title": "ComfyUI Queue Manager [WIP]",
"reference": "https://github.com/QuietNoise/ComfyUI-Queue-Manager",
"files": [
"https://github.com/QuietNoise/ComfyUI-Queue-Manager"
],
"install_type": "git-clone",
"description": "An extension supporting more streamlined prompt queue management."
},
{
"author": "fylrid2",
"title": "lockValue",
@@ -7180,16 +7033,6 @@
"install_type": "git-clone",
"description": "NODES: Random Line from File (Seeded), Keyword Prompt Composer, Simple Prompt Combiner (5x), Boolean Switch (Any), Select Line from TxT (Any), Multiline Text Input, Flux 2M Aspect Ratios, SDXL Aspect Ratios, Room Mapper, ..."
},
{
"author": "pacchikAI",
"title": "ImagePromptBatch [UNSAFE]",
"reference": "https://github.com/pacchikAI/ImagePromptBatch",
"files": [
"https://github.com/pacchikAI/ImagePromptBatch"
],
"install_type": "git-clone",
"description": "NODES: Load Image and Prompt[w/This includes a node that can read the contents of a `.csv` file from an arbitrary path.]"
},
{
"author": "papcorns",
"title": "ComfyUI-Papcorns-Node-UploadToGCS",
@@ -7900,16 +7743,6 @@
"install_type": "git-clone",
"description": "ComfyUI extensions for sending prompt progress to webhook"
},
{
"author": "ashllay",
"title": "ComfyUI_MoreComfy",
"reference": "https://github.com/ashllay/ComfyUI_MoreComfy",
"files": [
"https://github.com/ashllay/ComfyUI_MoreComfy"
],
"install_type": "git-clone",
"description": "NODES: MC Switch Seed/Image/Latent/Model/String, MC Alter Seed, MC Set Tile Size, MC Get Image Size, MC Multi Concat"
},
{
"author": "gordon1chuge2623",
"title": "ComfyUI_seal_migration [WIP]",
@@ -8080,16 +7913,6 @@
"install_type": "git-clone",
"description": "NODES: Add Text To Image, Adjust Hex Brightness, Adjust Transparency By Mask, Align Images with Mask, Align Restore Json, Binarize Mask, Blend ICLight, ..."
},
{
"author": "alexgenovese",
"title": "ComfyUI-Reica",
"reference": "https://github.com/alexgenovese/ComfyUI-Reica",
"files": [
"https://github.com/alexgenovese/ComfyUI-Reica"
],
"install_type": "git-clone",
"description": "NODES: Reica Text Image Display, Flux Image Generator, Reica GCP: Read Image, Reica GCP: Write Image & Get URL, Reica API: Send HTTP Notification"
},
{
"author": "Stable-X",
"title": "ComfyUI-Hi3DGen",
@@ -8201,16 +8024,6 @@
"install_type": "git-clone",
"description": "Nodes: Provides nodes to execute arbitrary Python code snippets and Resize images directly within ComfyUI workflows. [w/This node allows you to execute arbitrary code via the workflow.]"
},
{
"author": "ashllay",
"title": "ComfyUI_MoreComfy",
"reference": "https://github.com/ashllay/ComfyUI_MoreComfy",
"files": [
"https://github.com/ashllay/ComfyUI_MoreComfy"
],
"install_type": "git-clone",
"description": "NODES: MC Switch Seed, MC Alter Seed, MC Set Tile Size, MC Multi Concat"
},
{
"author": "ayaoayaoayaoaya",
"title": "ComfyUI-KLUT-DeepSeek-API [WIP]",
@@ -8311,16 +8124,6 @@
"install_type": "git-clone",
"description": "A lightweight nodepack for ComfyUI that adds a few handy nodes that I use in my workflows"
},
{
"author": "CeeVeeR",
"title": "ComfyUi-Text-Tiler",
"reference": "https://github.com/CeeVeeR/ComfyUi-Text-Tiler",
"files": [
"https://github.com/CeeVeeR/ComfyUi-Text-Tiler"
],
"install_type": "git-clone",
"description": "NODES: Text Tiler"
},
{
"author": "Dreamshot-io",
"title": "ComfyUI-Extend-Resolution",
@@ -8832,26 +8635,6 @@
"install_type": "git-clone",
"description": "NODES: Add Grid Boundaries, Pack Frames, Unpack Frames, Resize Frame"
},
{
"author": "Northerner1",
"title": "ComfyUI_North_Noise [WIP]",
"reference": "https://github.com/Northerner1/ComfyUI_North_Noise",
"files": [
"https://github.com/Northerner1/ComfyUI_North_Noise"
],
"install_type": "git-clone",
"description": "NODES: Unsampler"
},
{
"author": "kimara-ai",
"title": "ComfyUI-Kimara-AI-Image-From-URL [WIP]",
"reference": "https://github.com/kimara-ai/ComfyUI-Kimara-AI-Image-From-URL",
"files": [
"https://github.com/kimara-ai/ComfyUI-Kimara-AI-Image-From-URL"
],
"install_type": "git-clone",
"description": "Load image from URL and downscale to desired megapixels. Set megapixels to 0 for no downscaling."
},
{
"author": "tc8M4lF3s88",
"title": "comfy-tif-support",
@@ -9684,16 +9467,6 @@
"install_type": "git-clone",
"description": "A set of nodes to edit videos using the Hunyuan Video model"
},
{
"author": "watarika",
"title": "ComfyUI-exit [UNSAFE]",
"reference": "https://github.com/watarika/ComfyUI-exit",
"files": [
"https://github.com/watarika/ComfyUI-exit"
],
"install_type": "git-clone",
"description": "A custom node that terminates ComfyUI after a specified number of seconds. Use this node if you want Google Colab to automatically terminate after mass generation. It is necessary to disconnect and delete the Google Colab runtime on the Notebook side."
},
{
"author": "backearth1",
"title": "Comfyui-MiniMax-Video [WIP]",
@@ -9845,16 +9618,6 @@
"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": "Big Idea Technology",
"title": "ComfyUI-Movie-Tools [WIP]",
@@ -10189,16 +9952,6 @@
"install_type": "git-clone",
"description": "NODES:LETM Save Image, ETM Load Image From Local"
},
{
"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": "ComfyUI extensions for sending prompt progress to webhook"
},
{
"author": "neeltheninja",
"title": "ComfyUI-TempFileDeleter [UNSAFE]",
@@ -10413,16 +10166,6 @@
"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",
@@ -10836,16 +10579,6 @@
"install_type": "git-clone",
"description": "A powerful debugging tool designed to provide in-depth analysis of your environment and dependencies by exposing API endpoints. This tool allows you to inspect environment variables, pip packages, python info 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]"
},
{
"author": "denislov",
"title": "Comfyui_AutoSurvey",
"reference": "https://github.com/denislov/Comfyui_AutoSurvey",
"files": [
"https://github.com/denislov/Comfyui_AutoSurvey"
],
"install_type": "git-clone",
"description": "Nodes:AutoSurvey, WriteOutline, WriteSection, ChatModel, QueryKnowledge, ManageDatabase, AddDoc2Knowledge"
},
{
"author": "leoleelxh",
"title": "ComfyUI-MidjourneyNode-leoleexh",
@@ -11205,17 +10938,6 @@
"install_type": "git-clone",
"description": "Nodes:Lora Block Weight Regex Loader"
},
{
"author": "jtydhr88",
"title": "ComfyUI-Unique3D [WIP]",
"id": "unique3d",
"reference": "https://github.com/jtydhr88/ComfyUI-Unique3D",
"files": [
"https://github.com/jtydhr88/ComfyUI-Unique3D"
],
"install_type": "git-clone",
"description": "ComfyUI Unique3D is custom nodes that running [a/AiuniAI/Unique3D](https://github.com/AiuniAI/Unique3D) into ComfyUI."
},
{
"author": "kycg",
"title": "comfyui-Kwtoolset",
@@ -11238,16 +10960,6 @@
"install_type": "git-clone",
"description": "This Python script is an optional add-on to the Comfy UI stable diffusion client."
},
{
"author": "immersiveexperience",
"title": "ie-comfyui-color-nodes",
"reference": "https://github.com/immersiveexperience/ie-comfyui-color-nodes",
"files": [
"https://github.com/immersiveexperience/ie-comfyui-color-nodes"
],
"install_type": "git-clone",
"description": "Custom ComfyUI nodes for simple color correction."
},
{
"author": "LZpenguin",
"title": "ComfyUI-Text",
@@ -11552,16 +11264,6 @@
"install_type": "git-clone",
"description": "ComfyUI extensions for better [a/Captain](https://github.com/blib-la/captain) integration."
},
{
"author": "ejektaflex",
"title": "ComfyUI-Ty",
"reference": "https://github.com/ejektaflex/ComfyUI-Ty",
"files": [
"https://github.com/ejektaflex/ComfyUI-Ty"
],
"install_type": "git-clone",
"description": "Nodes:Lora Block Weight Regex Loader"
},
{
"author": "christian-byrne",
"title": "Python Interpreter ComfyUI Node [UNSAFE]",
@@ -11683,16 +11385,6 @@
"install_type": "git-clone",
"description": "[a/https://huggingface.co/deepseek-ai](https://huggingface.co/deepseek-ai)"
},
{
"author": "GentlemanHu",
"title": "ComfyUI-Notifier",
"reference": "https://github.com/GentlemanHu/ComfyUI-Notifier",
"files": [
"https://github.com/GentlemanHu/ComfyUI-Notifier"
],
"install_type": "git-clone",
"description": "Nodes:GentlemanHu_Notifier"
},
{
"author": "nat-chan",
"title": "Transceiver📡",
@@ -11893,16 +11585,6 @@
"install_type": "git-clone",
"description": "Nodes:GH Tools Image Sizer, GH Tools Simple Scale. Simple quality of life Tools for ComfyUI. Basically, If it makes my life easier, it will be here. The list will grow over time."
},
{
"author": "Beinsezii",
"title": "comfyui-amd-go-fast",
"reference": "https://github.com/Beinsezii/comfyui-amd-go-fast",
"files": [
"https://github.com/Beinsezii/comfyui-amd-go-fast"
],
"install_type": "git-clone",
"description": "See details: [a/link](https://github.com/Beinsezii/comfyui-amd-go-fast?tab=readme-ov-file)"
},
{
"author": "SeedV",
"title": "ComfyUI-SeedV-Nodes [UNSAFE]",
File diff suppressed because it is too large Load Diff
+1415 -1625
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -349,7 +349,7 @@ class HtmlByDesignSinkTest(unittest.TestCase):
'"");',
'"");',
'`<span>Selected <b>${selectedList.length}</b> models <button '
'class="cmm-btn-install p-button p-component" mode="install">Install</button>`);',
'class="cmm-btn-install cm-ui-button" mode="install">Install</button>`);',
],
"node-usage-analyzer.js": [
'"");',