Compare commits

...

44 Commits

Author SHA1 Message Date
Mark Merritt
93fd74c96f
Merge e26927a881 into e730af2ae5 2025-12-29 07:27:21 +00:00
Dr.Lt.Data
e730af2ae5 update DB
Some checks are pending
Python Linting / Run Ruff (push) Waiting to run
2025-12-29 12:42:49 +09:00
Dr.Lt.Data
8662f6e527 update DB
Some checks are pending
Python Linting / Run Ruff (push) Waiting to run
2025-12-29 00:28:43 +09:00
Dr.Lt.Data
3103fc9864 update DB
Some checks are pending
Python Linting / Run Ruff (push) Waiting to run
2025-12-28 08:35:32 +09:00
Shobhit Gupta
637678db20
Custom nodes for Google's Genmedia models (#2433)
Adding a suite of experimental custom nodes that allows access to Google's 1P models like Veo, Imagen, Nano Banana, Gemini, Virtual-try-on, Lyria
2025-12-28 08:34:56 +09:00
Dr.Lt.Data
e97407a286 update DB 2025-12-28 08:34:44 +09:00
mrm987
e494abb779
Update custom-node-list.json (#2439)
Add ComfyUI-Multi-Prompt-Generator
2025-12-28 08:33:59 +09:00
Dr.Lt.Data
44093a42fa update DB 2025-12-28 08:33:12 +09:00
Dr.Lt.Data
8e1481ae78 update DB 2025-12-28 08:18:23 +09:00
chrishill197724-gif
9c59e7498f
Update custom-node-list.json - Add Wan2.2 Storyboard LowVRAM Node (#2434)
* Update custom-node-list.json

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-12-28 08:17:28 +09:00
Dr.Lt.Data
0a202dd506 update DB 2025-12-28 07:47:42 +09:00
room3dev
7eb4a3f961
Add ComfyUI-FrameIO node to custom-node-list (#2435) 2025-12-28 07:46:36 +09:00
Dr.Lt.Data
1ce5603379 update DB 2025-12-28 07:46:24 +09:00
Lucas
97b86b02ad
Add "Image MetaHub Save Node" to custom-node-list (#2432) 2025-12-28 07:44:29 +09:00
CornmeisterNL
f2da1635f2
Add CornmeisterNL PowerPack (#2425)
Co-authored-by: CornmeisterNL <cornmeister@gmail.com>
2025-12-28 07:25:47 +09:00
Dr.Lt.Data
f0ed5c3433 update DB
Some checks are pending
Python Linting / Run Ruff (push) Waiting to run
2025-12-27 05:37:29 +09:00
Eric Rollei
aca5925e57
Add Qwen Layers Diffuser Pipeline integration (#2420)
Added a new integration for Qwen Layers Diffuser Pipeline with detailed description and reference.
2025-12-27 05:10:01 +09:00
Dr.Lt.Data
b8d78174a5 update DB 2025-12-27 04:48:18 +09:00
Wakapedia
edf2a43122
Add WanVideo Wakawave - Advanced LoRA & Prompt Tools (#2431)
* Add WanVideo Wakawave nodes

Added a new custom node entry for 'WanVideo Wakawave' with details on its features and installation.

* Fix typo in custom-node-list.json
2025-12-27 04:47:22 +09:00
Dr.Lt.Data
21de993546 update DB 2025-12-27 04:46:42 +09:00
ConstantlyGrowup
49bc24b66e
Update custom-node-list.json (#2428) 2025-12-27 04:44:29 +09:00
Dr.Lt.Data
771d627c5a update DB 2025-12-27 04:43:53 +09:00
hkun
98967de31b
Add 4 downloader plugins (LoRA, UNet, Plugin, Upscaler) to ComfyUI Manager (#2426)
new nodepacks: UNet Downloader for ComfyUI, Plugin Downloader for ComfyUI, Upscaler Downloader for ComfyUI
2025-12-27 04:35:55 +09:00
ArtsticH
c87c07dbd5
Update the main info for my plugin EasyKitHT NodeAlignPro. Cheers! (#2422)
* Update the main info for my plugin EasyKitHT NodeAlignPro. Cheers!

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-12-27 04:27:35 +09:00
Dr.Lt.Data
2478d20e76 update DB
Some checks failed
Python Linting / Run Ruff (push) Has been cancelled
2025-12-24 12:50:12 +09:00
Dr.Lt.Data
cc3428eb3b update DB 2025-12-24 02:11:26 +09:00
Dr.Lt.Data
6001bd4940 update DB
Some checks are pending
Python Linting / Run Ruff (push) Waiting to run
2025-12-24 01:47:04 +09:00
BlackVortexAI
f8709f4091
Update custom-node-list.json fro BV-NodePack (#2412)
* Update custom-node-list.json

* Update custom-node-list.json. Add BV-NodePack
2025-12-24 01:46:09 +09:00
Dr.Lt.Data
3cff881b5b update DB 2025-12-24 01:43:49 +09:00
AugustusLXIII
b79e997a14
Added "Custom Resolution I2V" node for WAN to the list. (#2416) 2025-12-24 01:42:50 +09:00
Dr.Lt.Data
ed2c34143c update DB 2025-12-24 01:42:23 +09:00
Asidert
639b17ef6b
Add "ComfyUI_Base64Images" to custom-node-list.json (#2418) 2025-12-24 01:41:25 +09:00
Dr.Lt.Data
7834411ef3 update DB 2025-12-24 01:33:46 +09:00
HB2k
d8ea83a44c
Add ComfyUI-FlashVSR_Stable node to custom-node-list (#2421)
* Add ComfyUI-FlashVSR_Stable node to custom-node-list

Add ComfyUI-FlashVSR_Stable

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2025-12-24 01:33:00 +09:00
Dr.Lt.Data
6b9818b748 update DB 2025-12-24 01:27:43 +09:00
Rakka Rage
b4d5b228ae
Add ComfyRage text nodes. (#2408) 2025-12-24 01:24:31 +09:00
Dr.Lt.Data
29b4824ee2 update DB
Some checks are pending
Python Linting / Run Ruff (push) Waiting to run
2025-12-23 12:35:16 +09:00
Dr.Lt.Data
e3a8b669b2 improved: scanner.py - more pattern 2025-12-23 12:34:55 +09:00
Dr.Lt.Data
80e5c8a987 update DB
Some checks are pending
Python Linting / Run Ruff (push) Waiting to run
2025-12-22 18:52:24 +09:00
Dr.Lt.Data
e0e4886e63 update DB
Some checks are pending
Python Linting / Run Ruff (push) Waiting to run
2025-12-22 12:29:41 +09:00
Dr.Lt.Data
c0947f4192 update DB 2025-12-22 12:15:03 +09:00
pixelpainter
7706b047ce
Update custom-node-list.json (#2414) 2025-12-22 12:08:57 +09:00
akawana
a44c6ff27c
Update Utils Extra to AK Pack with new details (#2413)
Updated the title and reference for a utility tool, and enhanced the description and tags.
2025-12-22 12:07:17 +09:00
Mark Merritt
e26927a881 use configured db_mode instead of hardcoded 'remote' at startup
This allows users to set db_mode='cache' in config to avoid downloading
fresh data on every startup, which should help with startup performance
and reduce unnecessary network requests.
2025-09-16 12:41:36 -07:00
14 changed files with 20878 additions and 15754 deletions

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

View File

@ -811,7 +811,7 @@ class UnifiedManager:
dont_wait = True
# reload 'cnr_map' and 'repo_cnr_map'
cnrs = await cnr_utils.get_cnr_data(cache_mode=cache_mode=='cache', dont_wait=dont_wait)
cnrs = await cnr_utils.get_cnr_data(cache_mode=True, dont_wait=dont_wait)
for x in cnrs:
self.cnr_map[x['id']] = x

View File

@ -1836,9 +1836,10 @@ async def default_cache_update():
if core.get_config()['network_mode'] == 'private':
logging.info("[ComfyUI-Manager] The private comfyregistry is not yet supported in `network_mode=private`.")
else:
# load at least once
await core.unified_manager.reload('remote', dont_wait=False)
await core.unified_manager.get_custom_nodes(channel_url, 'remote')
# use configured db_mode for startup data loading
db_mode = core.get_config()['db_mode']
await core.unified_manager.reload(db_mode, dont_wait=False)
await core.unified_manager.get_custom_nodes(channel_url, db_mode)
logging.info("[ComfyUI-Manager] All startup tasks have been completed.")

View File

@ -1,5 +1,285 @@
{
"custom_nodes": [
"custom_nodes": [
{
"author": "agavesunset",
"title": "Comfyui_SiliconFlow_AgaveSunset",
"reference": "https://github.com/agavesunset/Comfyui_SiliconFlow_AgaveSunset",
"files": [
"https://github.com/agavesunset/Comfyui_SiliconFlow_AgaveSunset"
],
"install_type": "git-clone",
"description": "NODES: SiliconFlowLoader_AS, SiliconFlowSampler_AS"
},
{
"author": "IIEleven11",
"title": "[WIP] ComfyUI-Dataset_Maker",
"reference": "https://github.com/IIEleven11/ComfyUI-Dataset_Maker",
"files": [
"https://github.com/IIEleven11/ComfyUI-Dataset_Maker"
],
"install_type": "git-clone",
"description": "Custom node pack that automates dataset creation by generating images for concept lists, each with a specific LoRA. (Description by CC)\nNOTE: The files in the repo are not organized."
},
{
"author": "bhaveek424",
"title": "ComfyUI-HMNodes",
"reference": "https://github.com/bhaveek424/ComfyUI-HMNodes",
"files": [
"https://github.com/bhaveek424/ComfyUI-HMNodes"
],
"install_type": "git-clone",
"description": "ComfyUI nodes for audio processing, image enhancement, and AI-powered prompting including FFT analysis, automatic white balance, lens effects, and realism optimization. (Description by CC)"
},
{
"author": "raohammad",
"title": "ComfyUI-VTUtilNodes [WIP]",
"reference": "https://github.com/raohammad/ComfyUI-VTUtilNodes",
"files": [
"https://github.com/raohammad/ComfyUI-VTUtilNodes"
],
"install_type": "git-clone",
"description": "A collection of utility custom nodes for ComfyUI.\nNOTE: The files in the repo are not organized."
},
{
"author": "huyl3-cpu",
"title": "ComfyUI_A100_Ultimate_Optimizer",
"reference": "https://github.com/huyl3-cpu/ComfyUI_A100_Ultimate_Optimizer",
"files": [
"https://github.com/huyl3-cpu/ComfyUI_A100_Ultimate_Optimizer"
],
"install_type": "git-clone",
"description": "A100 GPU batch processing and optimization node for ComfyUI. (Description by CC)"
},
{
"author": "yamanacn",
"title": "ComfyUI-ImageMask-Random-Sync-Picker",
"reference": "https://github.com/yamanacn/ComfyUI-ImageMask-Random-Sync-Picker",
"files": [
"https://github.com/yamanacn/ComfyUI-ImageMask-Random-Sync-Picker"
],
"install_type": "git-clone",
"description": "Node for randomly selecting and synchronizing image masks with selectable options. (Description by CC)"
},
{
"author": "tdrminglin",
"title": "ComfyUI_SceneSplitter",
"reference": "https://github.com/tdrminglin/ComfyUI_SceneSplitter",
"files": [
"https://github.com/tdrminglin/ComfyUI_SceneSplitter"
],
"install_type": "git-clone",
"description": "Scene detection and splitting nodes for ComfyUI enabling frame-level scene detection and start frame tracking. (Description by CC)"
},
{
"author": "starsFriday",
"title": "ComfyUI-KLingAI-OmniVideo [WIP]",
"reference": "https://github.com/starsFriday/ComfyUI-KLingAI-OmniVideo",
"files": [
"https://github.com/starsFriday/ComfyUI-KLingAI-OmniVideo"
],
"install_type": "git-clone",
"description": "Five API nodes for KLingAI's OmniVideo (O1) usage\nNOTE: The files in the repo are not organized."
},
{
"author": "Hifunyo",
"title": "comfyui_google_ai",
"reference": "https://github.com/Hifunyo/comfyui_google_ai",
"files": [
"https://github.com/Hifunyo/comfyui_google_ai"
],
"install_type": "git-clone",
"description": "ComfyUI integration node for Google AI image generation capabilities. (Description by CC)"
},
{
"author": "nschpy",
"title": "ComfyUI_MovisAdapter [UNSAFE]",
"reference": "https://github.com/nschpy/ComfyUI_MovisAdapter",
"files": [
"https://github.com/nschpy/ComfyUI_MovisAdapter"
],
"install_type": "git-clone",
"description": "A collection of custom nodes for ComfyUI[w/This nodepack contains a node that has a vulnerability allowing write to arbitrary file paths.]"
},
{
"author": "devzeroLL",
"title": "comfyui-lxj-Node",
"reference": "https://github.com/devzeroLL/comfyui-lxj-Node",
"files": [
"https://github.com/devzeroLL/comfyui-lxj-Node"
],
"install_type": "git-clone",
"description": "NODES: lxj_ImageBatch14, lxj_TextBatch14"
},
{
"author": "hgh086",
"title": "Comfyui-HghImage",
"reference": "https://github.com/hgh086/Comfyui-HghImage",
"files": [
"https://github.com/hgh086/Comfyui-HghImage"
],
"install_type": "git-clone",
"description": "ComfyUI custom node for image comparison functionality. (Description by CC)"
},
{
"author": "Ginolazy",
"title": "ComfyUI-FluxKontextImageCompensate [WIP]",
"reference": "https://github.com/Ginolazy/ComfyUI-FluxKontextImageCompensate",
"files": [
"https://github.com/Ginolazy/ComfyUI-FluxKontextImageCompensate"
],
"install_type": "git-clone",
"description": "A focused ComfyUI plugin to handle the vertical stretching issue introduced by the Flux Kontext model.\nNOTE: The files in the repo are not organized."
},
{
"author": "IO-AtelierTech",
"title": "comfyui-genai-connectors [WIP]",
"reference": "https://github.com/IO-AtelierTech/comfyui-genai-connectors",
"files": [
"https://github.com/IO-AtelierTech/comfyui-genai-connectors"
],
"install_type": "git-clone",
"description": "The ComfyUI-fal-Connector is a tool designed to provide an integration between ComfyUI and fal. This extension allows users to execute their ComfyUI workflows directly on [a/fal.ai](https://fal.ai/). This enables users to leverage the computational power and resources provided by fal.ai for running their ComfyUI workflows.\nNOTE: The files in the repo are not organized."
},
{
"author": "PozzettiAndrea",
"title": "ComfyUI-MVDUST3R [UNSAFE]",
"reference": "https://github.com/PozzettiAndrea/ComfyUI-MVDUST3R",
"files": [
"https://github.com/PozzettiAndrea/ComfyUI-MVDUST3R"
],
"install_type": "git-clone",
"description": "ComfyUI nodes for MVDUST3R multi-view 3D reconstruction[w/This nodepack contains a node that has a vulnerability allowing write to arbitrary file paths.]"
},
{
"author": "ProjectAtlantis-dev",
"title": "comfyui-atlantis-json [UNSAFE]",
"reference": "https://github.com/ProjectAtlantis-dev/comfyui-atlantis-json",
"files": [
"https://github.com/ProjectAtlantis-dev/comfyui-atlantis-json"
],
"install_type": "git-clone",
"description": "Custom ComfyUI nodes for JSON processing and transcription workflows, including text-to-JSON conversion, SRT subtitle parsing, and file saving. (Description by CC)[w/This nodepack contains a node that has a vulnerability allowing write to arbitrary file paths.]"
},
{
"author": "ShammiG",
"title": "ComfyUI_Text_Tools_SG [UNSAFE]",
"reference": "https://github.com/ShammiG/ComfyUI_Text_Tools_SG",
"files": [
"https://github.com/ShammiG/ComfyUI_Text_Tools_SG"
],
"install_type": "git-clone",
"description": "Text Editor node with Markdown editing plus quick shortcuts, Text Viewer node, with extra features plus Text Merge, Text Save and Load Text from anywhere nodes.[w/This nodepack contains a node that has a vulnerability allowing write to arbitrary file paths.]"
},
{
"author": "Smyshnikof",
"title": "ComfyUI-PresetDownloadManager [UNSAFE]",
"reference": "https://github.com/Smyshnikof/ComfyUI-PresetDownloadManager",
"files": [
"https://github.com/Smyshnikof/ComfyUI-PresetDownloadManager"
],
"install_type": "git-clone",
"description": "A custom ComfyUI node for managing and downloading models from HuggingFace with preset support[w/This nodepack contains a node that has a vulnerability allowing write to arbitrary file paths.]"
},
{
"author": "gulajawalegit",
"title": "ComfyUI-Telegram-Sender [UNSAFE]",
"reference": "https://github.com/gulajawalegit/ComfyUI-Telegram-Sender",
"files": [
"https://github.com/gulajawalegit/ComfyUI-Telegram-Sender"
],
"install_type": "git-clone",
"description": "ComfyUI custom node for sending generated videos to Telegram, enabling direct output sharing to messaging platforms. (Description by CC)[w/This nodepack contains a node that has a vulnerability allowing write to arbitrary file paths.]"
},
{
"author": "Laolilzp",
"title": "Laoli3D [UNSAFE]",
"reference": "https://github.com/Laolilzp/Laoli3D",
"files": [
"https://github.com/Laolilzp/Laoli3D"
],
"install_type": "git-clone",
"description": "ComfyUI 3D pose editor enabling visual character manipulation and ControlNet image generation for precise AI figure control without prompt description. (Description by CC)[w/This nodepack contains a node that has a vulnerability allowing write to arbitrary file paths.]"
},
{
"author": "Goldlionren",
"title": "ComfyUI_Bridge_fabric [UNSAFE]",
"reference": "https://github.com/Goldlionren/ComfyUI_Bridge_fabric",
"files": [
"https://github.com/Goldlionren/ComfyUI_Bridge_fabric"
],
"install_type": "git-clone",
"description": "AI Compute Fabric bridge for ComfyUI enabling distributed CLIP, VAE, and ControlNet inference across local and remote machines. (Description by CC)[w/This nodepack contains a node that has a vulnerability allowing write to arbitrary file paths.]"
},
{
"author": "CypherNaught-0x",
"title": "ComfyUI-StarVector [WIP]",
"reference": "https://github.com/CypherNaught-0x/ComfyUI-StarVector",
"files": [
"https://github.com/CypherNaught-0x/ComfyUI-StarVector"
],
"install_type": "git-clone",
"description": "ComfyUI custom nodes for SVG generation using StarVector models\nNOTE: The files in the repo are not organized."
},
{
"author": "Clivey1234",
"title": "ComfyUI_FBX_Import [UNSAFE]",
"reference": "https://github.com/Clivey1234/ComfyUI_FBX_Import",
"files": [
"https://github.com/Clivey1234/ComfyUI_FBX_Import"
],
"install_type": "git-clone",
"description": "Convert FBX animations into ControlNet OpenPose images for driving AI video generation with motion from any animation source. (Description by CC)[w/This nodepack has a vulnerability that allows arbitrary code execution remotely.]"
},
{
"author": "TobiasGlaubach",
"title": "ComfyUI-TG_PyCode [UNSAFE]",
"reference": "https://github.com/TobiasGlaubach/ComfyUI-TG_PyCode",
"files": [
"https://github.com/TobiasGlaubach/ComfyUI-TG_PyCode"
],
"install_type": "git-clone",
"description": "ComfyUI node library with an editor and nodes to run Python code within ComfyUI workflows.[w/This nodepack has a vulnerability that allows arbitrary code execution remotely.]"
},
{
"author": "jchiotaka",
"title": "ComfyUI-ClarityAI-Upscaler",
"reference": "https://github.com/jchiotaka/ComfyUI-ClarityAI-Upscaler",
"files": [
"https://github.com/jchiotaka/ComfyUI-ClarityAI-Upscaler"
],
"install_type": "git-clone",
"description": "ComfyUI upscaler nodes including ClarityCreativeUpscaler, ClarityCrystalUpscaler, and ClarityFluxUpscaler. (Description by CC)"
},
{
"author": "tpc2233",
"title": "ComfyUI-TP-IMtalker [WIP]",
"reference": "https://github.com/tpc2233/ComfyUI-TP-IMtalker",
"files": [
"https://github.com/tpc2233/ComfyUI-TP-IMtalker"
],
"install_type": "git-clone",
"description": "Comfy UI nodes for IMtalker to run native weights.)\nNOTE: The files in the repo are not organized."
},
{
"author": "yuyu0218yu",
"title": "comfyui-NXCM-tool [UNSAFE]",
"reference": "https://github.com/yuyu0218yu/comfyui-NXCM-tool",
"files": [
"https://github.com/yuyu0218yu/comfyui-NXCM-tool"
],
"install_type": "git-clone",
"description": "Next-generation creative media encryption toolkit for ComfyUI providing image and video encryption with AES-256-CTR + HMAC-SHA256, metadata preservation, and batch processing support. (Description by CC) [w/hardcoded encryption key]"
},
{
"author": "SergeyKarleev",
"title": "[WIP] comfyui-textutils",
"reference": "https://github.com/SergeyKarleev/comfyui-textutils",
"files": [
"https://github.com/SergeyKarleev/comfyui-textutils"
],
"install_type": "git-clone",
"description": "Small utility nodes for ComfyUI text workflows.\nNOTE: The files in the repo are not organized."
},
{
"author": "love530love",
"title": "[WIP] ComfyUI-TorchMonitor",
@ -4747,16 +5027,6 @@
"install_type": "git-clone",
"description": "Generate random prompts easily for FMJ.\nNOTE: The files in the repo are not organized."
},
{
"author": "amamisonlyuser",
"title": "MixvtonComfyui [WIP]",
"reference": "https://github.com/amamisonlyuser/MixvtonComfyui",
"files": [
"https://github.com/amamisonlyuser/MixvtonComfyui"
],
"install_type": "git-clone",
"description": "NODES: CXH_Leffa_Viton_Load, CXH_Leffa_Viton_Run\nNOTE: The files in the repo are not organized."
},
{
"author": "pictorialink",
"title": "comfyui-static-resource[UNSAFE]",
@ -5378,16 +5648,6 @@
"description": "NODES: Properties, Apply SVG to Image",
"install_type": "git-clone"
},
{
"author": "AhBumm",
"title": "ComfyUI_MangaLineExtraction",
"reference": "https://github.com/AhBumm/ComfyUI_MangaLineExtraction-hf",
"files": [
"https://github.com/AhBumm/ComfyUI_MangaLineExtraction-hf"
],
"description": "p1atdev/MangaLineExtraction-hf as a node in comfyui",
"install_type": "git-clone"
},
{
"author": "Kur0butiMegane",
"title": "Comfyui-StringUtils",
@ -8781,16 +9041,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": "Futureversecom",
"title": "ComfyUI-JEN",
"reference": "https://github.com/futureversecom/ComfyUI-JEN",
"files": [
"https://github.com/futureversecom/ComfyUI-JEN"
],
"install_type": "git-clone",
"description": "Comfy UI custom nodes for JEN music generation powered by Futureverse"
},
{
"author": "denislov",
"title": "Comfyui_AutoSurvey",

View File

@ -340,8 +340,6 @@
"ImageBlendText",
"ImageBlendV1",
"ImageRatioCrop",
"Load_Images_Advance",
"Load_Images_V1",
"PD Image Resize_V1",
"PDEmptyRatioLatent",
"PDIMAGE_ImageCombine",
@ -366,6 +364,7 @@
"PD_GetImageRatio",
"PD_GetImageSize",
"PD_ImageFileTraining",
"PD_ImageGroupComposite",
"PD_ImageListForSort",
"PD_ImageListForSortWithMetadata",
"PD_ImageSearch",
@ -376,7 +375,6 @@
"PD_JoinStringMultiLine",
"PD_LoadImageMetadata",
"PD_LoadImageWithMeta",
"PD_LoadImagesFromDir",
"PD_LoadImagesFromZip",
"PD_LoadTextsFromDir",
"PD_LoadTextsFromZip",
@ -411,6 +409,8 @@
"PD_image_to_text_v1",
"PD_imagesave_path",
"PD_load_image_v1",
"PD_loadimage_path",
"PD_loadimage_path advance",
"PD_name_replacewordorder",
"PD_number_star",
"PD_number_start",
@ -636,6 +636,8 @@
],
"https://github.com/AMTPorn/comfyui_amt": [
[
"AMTCountTagsInDirectory",
"AMTEmbedTagFrequencySafetensors",
"AMTMultiConditionRegexReplace",
"AMTReplaceAndMaybeDropString",
"AMTStringDeduplication"
@ -711,14 +713,6 @@
"title_aux": "ComfyUI-Upscayl"
}
],
"https://github.com/AhBumm/ComfyUI_MangaLineExtraction-hf": [
[
"MangaLineExtraction-hf"
],
{
"title_aux": "ComfyUI_MangaLineExtraction"
}
],
"https://github.com/AkiEvansDev/ComfyUI-Tools": [
[
"AE.AnySwitch",
@ -879,6 +873,7 @@
"TSRestoreFromCrop",
"TSWhisper",
"TS_BGRM_BiRefNet",
"TS_BatchPromptLoader",
"TS_Color_Grade",
"TS_DeflickerNode",
"TS_FilePathLoader",
@ -894,6 +889,7 @@
"TS_Qwen3_VL",
"TS_QwenCanvas",
"TS_QwenSafeResize",
"TS_Qwen_3VL_V2",
"TS_VideoDepthNode",
"TS_Video_Upscale_With_Model",
"TS_WAN_SafeResize"
@ -1391,6 +1387,21 @@
"title_aux": "ComfyUI-Inpaint_with_Detailer"
}
],
"https://github.com/Clivey1234/ComfyUI_FBX_Import": [
[
"BatchListResize",
"FBX_CameraDirector",
"FBX_Canny_Blender",
"FBX_Depth_Blender",
"FBX_Extraction",
"FBX_ImageBatchNumberOverlay",
"FBX_ImageResInfo",
"FBX_Info"
],
{
"title_aux": "ComfyUI_FBX_Import [UNSAFE]"
}
],
"https://github.com/Clybius/ComfyUI-FluxDeCLIP": [
[
"FluxDeCLIPCheckpointLoader"
@ -1476,6 +1487,21 @@
],
{}
],
"https://github.com/CypherNaught-0x/ComfyUI-StarVector": [
[
"LoadSVG",
"SVGPreview",
"SVGPreviewFromString",
"SVGToString",
"SaveSVG",
"StarVectorImage2SVG",
"StarVectorModelLoader",
"StringToSVG"
],
{
"title_aux": "ComfyUI-StarVector [WIP]"
}
],
"https://github.com/D1-3105/ComfyUI-VideoStream": [
[
"FloWWeaverExportSingleFrameGRPC",
@ -1647,6 +1673,7 @@
"DonutApplyLoRAStack",
"DonutCacheDebug",
"DonutClipEncode",
"DonutDetailerZIT",
"DonutFillerClip",
"DonutFillerModel",
"DonutHotReload",
@ -1972,6 +1999,16 @@
"title_aux": "ComfyUI Local Media Manager [UNSAFE]"
}
],
"https://github.com/FoundD-oka/ComfyUI-kisekae-OOTD": [
[
"LoadOOTDPipeline",
"LoadOOTDPipelineHub",
"OOTDGenerate"
],
{
"title_aux": "ComfyUI KISEKAE-OOTD"
}
],
"https://github.com/Fucci-Mateo/ComfyUI-Airtable": [
[
"Push pose to Airtable"
@ -2047,6 +2084,15 @@
"title_aux": "Slim-Comfy-Pack [private]"
}
],
"https://github.com/Ginolazy/ComfyUI-FluxKontextImageCompensate": [
[
"FluxKontextImageCompensate",
"FluxKontextImageRestore"
],
{
"title_aux": "ComfyUI-FluxKontextImageCompensate [WIP]"
}
],
"https://github.com/GoddessLabs/ComfyUI-GoddessLabs-NodePack": [
[
"GoddessLabsDestroyAndRecreate",
@ -2069,6 +2115,15 @@
"title_aux": "ComfyUI-CleanSlate [WIP]"
}
],
"https://github.com/Goldlionren/ComfyUI_Bridge_fabric": [
[
"LocalCLIPClient",
"RemoteCLIPHostSaver"
],
{
"title_aux": "ComfyUI_Bridge_fabric [UNSAFE]"
}
],
"https://github.com/Grant-CP/ComfyUI-LivePortraitKJ-MPS": [
[
"DownloadAndLoadLivePortraitModels",
@ -2143,6 +2198,14 @@
"title_aux": "This n that (Hapse)"
}
],
"https://github.com/Hifunyo/comfyui_google_ai": [
[
"GoogleAIGenerateImage"
],
{
"title_aux": "comfyui_google_ai"
}
],
"https://github.com/HuangYuChuh/ComfyUI-LLMs-Toolkit": [
[
"DeepSeekImageAnalyst",
@ -2165,6 +2228,33 @@
"title_aux": "Comfyui_XF_Custom_Actual-Node"
}
],
"https://github.com/IIEleven11/ComfyUI-Dataset_Maker": [
[
"ConceptList",
"DatasetGenerator",
"DatasetLoraLoader",
"DatasetPromptBuilder",
"LoraList"
],
{
"title_aux": "[WIP] ComfyUI-Dataset_Maker"
}
],
"https://github.com/IO-AtelierTech/comfyui-genai-connectors": [
[
"BooleanInput_fal",
"FloatInput_fal",
"IntegerInput_fal",
"LoadImageFromURL_fal",
"RemoteCheckpointLoader_fal",
"RemoteLoraLoader_fal",
"SaveImage_fal",
"StringInput_fal"
],
{
"title_aux": "comfyui-genai-connectors [WIP]"
}
],
"https://github.com/IXIWORKS-KIMJUNGHO/comfyui-ixiworks": [
[
"BuildCharacterPromptNode",
@ -2194,7 +2284,8 @@
"IGT_ImageResizer",
"IGT_ImageTilesCalc",
"IGT_IntMinMax",
"IGT_SimpleTilesCalc"
"IGT_SimpleTilesCalc",
"IGT_TelegramSender"
],
{
"title_aux": "ComfyUI-igTools"
@ -2651,8 +2742,11 @@
[
"LunaBatchPromptExtractor",
"LunaBatchPromptLoader",
"LunaBatchUpscaleRefine",
"LunaCheckpointLoader",
"LunaCheckpointTunnel",
"LunaChessRefiner",
"LunaChessTileTest",
"LunaCivitaiBatchScraper",
"LunaCivitaiScraper",
"LunaConfigGateway",
@ -2667,8 +2761,10 @@
"LunaExpressionPromptBuilder",
"LunaExpressionSlicerSaver",
"LunaGGUFConverter",
"LunaINT8Loader",
"LunaKSampler",
"LunaKSamplerAdvanced",
"LunaKSamplerHeadless",
"LunaLoRARandomizer",
"LunaLoRAStacker",
"LunaLoRATriggerInjector",
@ -2676,12 +2772,18 @@
"LunaModelRestore",
"LunaModelRouter",
"LunaMultiSaver",
"LunaNF4Loader",
"LunaNativeCanvasDownscale",
"LunaOptimizedWeightsManager",
"LunaPipeExpander",
"LunaPromptCraft",
"LunaPromptCraftDebug",
"LunaPyramidNoiseGenerator",
"LunaResetModelWeights",
"LunaSAM3Detector",
"LunaScaffoldUpscaler",
"LunaSecondaryModelLoader",
"LunaSemanticDetailer",
"LunaSmartLoRALinker",
"LunaSuperUpscaler",
"LunaSuperUpscalerSimple",
@ -2712,6 +2814,14 @@
"title_aux": "ComfyUI-Text"
}
],
"https://github.com/Laolilzp/Laoli3D": [
[
"Laoli_3DPoseEditor"
],
{
"title_aux": "Laoli3D [UNSAFE]"
}
],
"https://github.com/LarryJane491/ComfyUI-ModelUnloader": [
[
"Model Unloader"
@ -3128,6 +3238,28 @@
"title_aux": "comfyui-yaml-prompt"
}
],
"https://github.com/Mets3D/mets-nodes": [
[
"AdjustImageNode",
"AutoExtractTags",
"DownloadCivitaiModel",
"ExtractTagFromString",
"PrepareCheckpoint",
"PrepareLoRA",
"PromptTidy",
"RegexNode",
"RenderPass",
"RenderPass_Face",
"RenderPass_Prepare",
"SplitData",
"StableRandomChoiceNode",
"TagStacker",
"TagTweaker"
],
{
"title_aux": "Mets-Nodes"
}
],
"https://github.com/MickeyJ/ComfyUI_mickster_nodes": [
[
"Image Size Scaled",
@ -3402,16 +3534,15 @@
"image_iterator",
"img2url_v2_Node",
"img_understanding_Node",
"kie_base64_upload_node",
"kie_nano_get_node",
"kie_nano_post_node",
"klingai_video_Node",
"liblib_auto_video_node",
"nano_banana_node",
"path_join_Node",
"save_img_NODE",
"save_img_v2_NODE",
"set_api_Node",
"suchuang_get_node",
"suchuang_nano_post_node",
"sora2",
"sora2_suchuang_node",
"text_replace_node"
],
{
@ -3561,7 +3692,21 @@
],
"https://github.com/OhSeongHyeon/comfyui-random-image-size": [
[
"RandomImageSize"
"BFParameters",
"BFParametersSimple",
"CheckpointComboParameter",
"DetailerSchedulerComboParameter",
"IntegerPicker",
"KsamplerSamplersComboParameter",
"KsamplerSchedulersComboParameter",
"OuputDirByModelName",
"RandomImageSizeAdvanced",
"RandomImageSizeAdvancedYAML",
"RandomInteger",
"UnetComboParameter",
"UniqueStringList",
"UniqueStringListAdvanced",
"VAEComboParameter"
],
{
"title_aux": "comfyui-random-image-size"
@ -3789,6 +3934,21 @@
"title_aux": "Hunyuan3D-Part [WIP]"
}
],
"https://github.com/PozzettiAndrea/ComfyUI-MVDUST3R": [
[
"BlurDetection",
"ExportMesh",
"ExportPointCloud",
"LoadMVDUST3RModel",
"MVDUST3DVisualizer",
"MVDUST3RGridMesh",
"MVDUST3RInference",
"PrepareImages"
],
{
"title_aux": "ComfyUI-MVDUST3R [UNSAFE]"
}
],
"https://github.com/PozzettiAndrea/ComfyUI-MotionCapture": [
[
"BVHViewer",
@ -3819,17 +3979,13 @@
"https://github.com/PozzettiAndrea/ComfyUI-SAM3DObjects": [
[
"LoadSAM3DModel",
"SAM3DExportMesh",
"SAM3DExportPLY",
"SAM3DExportPLYBatch",
"SAM3DExtractMesh",
"SAM3DGaussianDecode",
"SAM3DGenerateSLAT",
"SAM3DMeshDecode",
"SAM3DRenderSingle",
"SAM3DSLATGen",
"SAM3DSparseGen",
"SAM3DSceneGenerate",
"SAM3DTextureBake",
"SAM3DVisualizer",
"SAM3D_DepthEstimate",
"SAM3D_PoseOptimization",
"SAM3D_PreviewPointCloud",
@ -3856,6 +4012,16 @@
"title_aux": "ComfyUI-UniRig [WIP]"
}
],
"https://github.com/ProjectAtlantis-dev/comfyui-atlantis-json": [
[
"SRTToJson",
"SaveJSON",
"TextToJsonInput"
],
{
"title_aux": "comfyui-atlantis-json [UNSAFE]"
}
],
"https://github.com/QingLuanWithoutHeart/comfyui-file-image-utils": [
[
"FileManagerV2",
@ -3943,21 +4109,31 @@
[
"AliyunChat",
"AliyunVLChat",
"AnyToBoolean",
"CropImageByJson",
"DownloadImagesFromUrls",
"Florence2CoordinateExtractor",
"Florence2JsonShow",
"FreepikIconSearch",
"GeminiVision",
"ImageDesaturateEdgeBinarize",
"ImageSubtraction",
"ImageSubtractionAdvanced",
"ImageToSVG_Potracer",
"JsonExtractTextList",
"MaskExternalRectangle",
"PreviewSVG",
"QwenVLBboxVisualizer",
"QwenVLPointVisualizer",
"SVGToImage",
"SaveSVG",
"SearchIconFreepik",
"SimpleImageStitch",
"SimpleVisionChat",
"StringContainsKeyword",
"TextSplitLines",
"imageStitchForICImproved",
"imageStitchForICImproved_CropBack"
"imageStitchForICImproved_CropBack",
"string_to_boolean"
],
{
"author": "chflame",
@ -4208,6 +4384,14 @@
"title_aux": "comfyui_caption-around-image"
}
],
"https://github.com/SergeyKarleev/comfyui-textutils": [
[
"TextLinesBatch"
],
{
"title_aux": "[WIP] comfyui-textutils"
}
],
"https://github.com/ShahFaisalWani/ComfyUI-Mojen-Nodeset": [
[
"MojenAnalyzeProcessor",
@ -4224,6 +4408,20 @@
"title_aux": "ComfyUI-Mojen-Nodeset"
}
],
"https://github.com/ShammiG/ComfyUI_Text_Tools_SG": [
[
"Text Tools Editor-SG",
"Text Tools Load Text FilePath-SG",
"Text Tools Load Text-SG",
"Text Tools Merge Text Multi-SG",
"Text Tools Merge Text-SG",
"Text Tools Save Text File-SG",
"Text Tools Viewer-SG"
],
{
"title_aux": "ComfyUI_Text_Tools_SG [UNSAFE]"
}
],
"https://github.com/Shinsplat/ComfyUI-Shinsplat": [
[
"Clip Text Encode (Shinsplat)",
@ -4257,6 +4455,7 @@
],
"https://github.com/SilentLuxRay/ComfyUI-Furrey-Super-Prompt": [
[
"FurreySimplePrompt",
"FurreySuperPrompt"
],
{
@ -4443,6 +4642,14 @@
"title_aux": "comfyui-enhanced [WIP]"
}
],
"https://github.com/Smyshnikof/ComfyUI-PresetDownloadManager": [
[
"PresetDownloadManager"
],
{
"title_aux": "ComfyUI-PresetDownloadManager [UNSAFE]"
}
],
"https://github.com/Solankimayursinh/PMSnodes": [
[
"InputAnalyzer",
@ -4886,6 +5093,20 @@
"title_aux": "ComfyUI CK3 Presets"
}
],
"https://github.com/TobiasGlaubach/ComfyUI-TG_PyCode": [
[
"TG_PyCall",
"TG_PyCallKey",
"TG_PyEditor",
"TG_PyEval",
"TG_PyEvalNamespace",
"TG_PyGetInstalledLibs",
"TG_PyImportLibs"
],
{
"title_aux": "ComfyUI-TG_PyCode [UNSAFE]"
}
],
"https://github.com/Toxic1228/Eleven-labs-comfyui-sts": [
[
"ElevenLabs_SpeechToSpeech"
@ -5426,6 +5647,15 @@
"title_aux": "ComfyUI_LoRA_Tracker"
}
],
"https://github.com/agavesunset/Comfyui_SiliconFlow_AgaveSunset": [
[
"SiliconFlowLoader_AS",
"SiliconFlowSampler_AS"
],
{
"title_aux": "Comfyui_SiliconFlow_AgaveSunset"
}
],
"https://github.com/ahkimkoo/ComfyUI-OSS-Upload": [
[
"OSSAudioUploader",
@ -5506,36 +5736,6 @@
"title_aux": "ComfyUI_UguuUploader"
}
],
"https://github.com/akatz-ai/ComfyUI-Execution-Inversion": [
[
"AccumulateNode",
"AccumulationGetItemNode",
"AccumulationGetLengthNode",
"AccumulationHeadNode",
"AccumulationSetItemNode",
"AccumulationTailNode",
"AccumulationToListNode",
"DebugPrint",
"ExecutionBlocker",
"ForLoopClose",
"ForLoopOpen",
"GetFloatFromList",
"GetIntFromList",
"IntegerListGeneratorNode",
"LazyConditional",
"LazyIndexSwitch",
"LazyMixImages",
"LazySwitch",
"ListToAccumulationNode",
"MakeListNode",
"WhileLoopClose",
"WhileLoopOpen",
"_ForLoopCounter"
],
{
"title_aux": "ComfyUI-Execution-Inversion"
}
],
"https://github.com/aklevecz/ComfyUI-AutoPrompt": [
[
"OllamaChat",
@ -5661,15 +5861,6 @@
"title_aux": "Dream Painter [WIP]"
}
],
"https://github.com/amamisonlyuser/MixvtonComfyui": [
[
"CXH_Leffa_Viton_Load",
"CXH_Leffa_Viton_Run"
],
{
"title_aux": "MixvtonComfyui [WIP]"
}
],
"https://github.com/ammahmoudi/ComfyUI-Legendary-Nodes": [
[
"Legendary Dataset Saver",
@ -5998,6 +6189,21 @@
"title_aux": "ComfyUI_BeySoft"
}
],
"https://github.com/bhaveek424/ComfyUI-HMNodes": [
[
"Analogizer",
"FFTSurgeon",
"HearmemanAI_Prompter",
"Realism_AdaptiveGrain",
"Realism_AutoWB",
"Realism_LensEffects",
"Realism_MicroContrast",
"Realism_SpectrumMatch"
],
{
"title_aux": "ComfyUI-HMNodes"
}
],
"https://github.com/bheins/ComfyUI-glb-to-stl": [
[
"GLBToSTLNode"
@ -6679,13 +6885,13 @@
"EmptyLatentHunyuan3Dv2",
"EmptyLatentImage",
"EmptyMochiLatentVideo",
"EmptyQwenImageLayeredLatentImage",
"EmptySD3LatentImage",
"Epsilon Scaling",
"ExponentialScheduler",
"ExtendIntermediateSigmas",
"FeatherMask",
"FlipSigmas",
"Flux2ProImageNode",
"Flux2Scheduler",
"FluxDisableGuidance",
"FluxGuidance",
@ -6763,6 +6969,7 @@
"KlingImageToVideoWithAudio",
"KlingLipSyncAudioToVideoNode",
"KlingLipSyncTextToVideoNode",
"KlingMotionControl",
"KlingOmniProEditVideoNode",
"KlingOmniProFirstLastFrameNode",
"KlingOmniProImageNode",
@ -6793,6 +7000,7 @@
"LatentConcat",
"LatentCrop",
"LatentCut",
"LatentCutToBatch",
"LatentFlip",
"LatentFromBatch",
"LatentInterpolate",
@ -6831,6 +7039,7 @@
"LumaVideoNode",
"Mahiro",
"MakeTrainingDataset",
"ManualSigmas",
"MaskComposite",
"MaskPreview",
"MaskToImage",
@ -7285,6 +7494,15 @@
"title_aux": "Comfyui_AutoSurvey"
}
],
"https://github.com/devzeroLL/comfyui-lxj-Node": [
[
"lxj_ImageBatch14",
"lxj_TextBatch14"
],
{
"title_aux": "comfyui-lxj-Node"
}
],
"https://github.com/dexintenebri/comfyui_voxel_nodes": [
[
"AutoVoxelScaler",
@ -8239,6 +8457,7 @@
"XIS_SetColor",
"XIS_ShapeAndText",
"XIS_ShapeData",
"XIS_StringListMerger",
"XIS_StringSwitch",
"XIS_UnpackImages"
],
@ -8250,6 +8469,7 @@
[
"HolafBypasser",
"HolafGroupBypasser",
"HolafImageAdjustment",
"HolafImageBatchSlice",
"HolafImageComparer",
"HolafInstagramResize",
@ -8259,14 +8479,15 @@
"HolafLutSaver",
"HolafMaskToBoolean",
"HolafOverlayNode",
"HolafRatioCalculator",
"HolafRemote",
"HolafResolutionPreset",
"HolafSaveImage",
"HolafSaveVideo",
"HolafShortcut",
"HolafShortcutUser",
"HolafTextBox",
"HolafTiledKSampler",
"HolafToText",
"HolafVideoPreview",
"UpscaleImageHolaf"
],
@ -8274,6 +8495,14 @@
"title_aux": "Holaf Custom Nodes for ComfyUI"
}
],
"https://github.com/gulajawalegit/ComfyUI-Telegram-Sender": [
[
"TelegramSendVideo"
],
{
"title_aux": "ComfyUI-Telegram-Sender [UNSAFE]"
}
],
"https://github.com/haodman/ComfyUI_Rain": [
[
"Rain_ImageSize",
@ -8420,6 +8649,14 @@
"title_aux": "ComfyUI-Logic-Redux [WIP]"
}
],
"https://github.com/hgh086/Comfyui-HghImage": [
[
"GuanghuanImageComparer"
],
{
"title_aux": "Comfyui-HghImage"
}
],
"https://github.com/hhelloe/ComfyuiQuantizerToFp8": [
[
"FP8QuantizeFormat",
@ -8659,6 +8896,7 @@
"Alta:Add(Math)",
"Alta:AddInt(Math)",
"Alta:BuildFilePath",
"Alta:ComboWrapper(Logic)",
"Alta:CompareFolders(File)",
"Alta:DeleteAudioFromMemory",
"Alta:DeleteFile(Util)",
@ -8718,6 +8956,14 @@
"title_aux": "comfyui_alta_nodes"
}
],
"https://github.com/huyl3-cpu/ComfyUI_A100_Ultimate_Optimizer": [
[
"A100MonsterBatch"
],
{
"title_aux": "ComfyUI_A100_Ultimate_Optimizer"
}
],
"https://github.com/hy134300/comfyui-hb-node": [
[
"generate story",
@ -8868,6 +9114,16 @@
"title_aux": "ComfyUI-DreamO"
}
],
"https://github.com/jchiotaka/ComfyUI-ClarityAI-Upscaler": [
[
"ClarityCreativeUpscaler",
"ClarityCrystalUpscaler",
"ClarityFluxUpscaler"
],
{
"title_aux": "ComfyUI-ClarityAI-Upscaler"
}
],
"https://github.com/jcomeme/ComfyUI-AsunaroTools": [
[
"AsunaroAnd",
@ -9097,13 +9353,19 @@
],
"https://github.com/jorin91/ComfyUI-JSG-Utils": [
[
"JSGAddMetadata",
"JSGCaptionBuilder",
"JSGDeleteFilePassAny",
"JSGDeleteFilePassImage",
"JSGDeleteFilePassString",
"JSGFindImagePathsRecursive",
"JSGFindImagesRecursiveList",
"JSGLoadImageFromPath",
"JSGParsePath"
"JSGParsePath",
"JSGRandomColorHSVA",
"JSGRemoveMetadata",
"JSGSaveImage",
"JSGSetMetadata"
],
{
"title_aux": "ComfyUI-JSG-Utils [UNSAFE]"
@ -10790,12 +11052,12 @@
],
"https://github.com/nobinBB/comfyui-samenodes": [
[
"A1111PromptSplitter",
"BatchImageProcessor",
"CivitaiBulkDownloader",
"ExtractPromptFromImage",
"FloatToString",
"FloatToStringWithPrefix",
"IsComfyQueueEmpty",
"LoraWildcardGenerator",
"RepeatTextLines"
],
@ -10833,6 +11095,19 @@
"title_aux": "ComfyUI_Cluster [WIP]"
}
],
"https://github.com/nschpy/ComfyUI_MovisAdapter": [
[
"MPA Brightness Effect",
"MPA Combine Videos",
"MPA Contrast Effect",
"MPA Speed Effect",
"MPA Text Overlay",
"MPA Video Transition"
],
{
"title_aux": "ComfyUI_MovisAdapter [UNSAFE]"
}
],
"https://github.com/numq/comfyui-camera-capture-node": [
[
"CameraCapture"
@ -11350,6 +11625,21 @@
"title_aux": "ComfyUI-HDRConversion [WIP]"
}
],
"https://github.com/raohammad/ComfyUI-VTUtilNodes": [
[
"JSONKeyExtractor",
"JSONListIterator",
"JSONQueue",
"JSONQueueOutput",
"JSONQueueSignal",
"SignalCounter",
"SimpleCounter",
"TextToJSON"
],
{
"title_aux": "ComfyUI-VTUtilNodes [WIP]"
}
],
"https://github.com/realm-weaver/ComfyUI-tile-seamstress-360": [
[
"RW_EquirectangularMask",
@ -11577,7 +11867,6 @@
],
"https://github.com/rookiestar28/ComfyUI_Security_Audit": [
[
"ComfyUI_Node_Audit",
"ComfyUI_Security_Audit"
],
{
@ -11674,7 +11963,9 @@
"https://github.com/saltchicken/ComfyUI-Identity-Mixer": [
[
"IdentityLoraMixer",
"IdentityLoraMixerStack"
"IdentityLoraMixerDirectory",
"IdentityLoraMixerStack",
"IdentityLoraMixerStackDirectory"
],
{
"title_aux": "ComfyUI-Identity-Mixer"
@ -11708,6 +11999,8 @@
"https://github.com/saltchicken/ComfyUI-Video-Utils": [
[
"FinalFrameSelector",
"NthLastFrameSelector",
"PreviewImageWithCounter",
"VideoMerge"
],
{
@ -11952,7 +12245,8 @@
"SamplingParameters",
"SystemMessagePresets",
"TextEncodeFlux2SystemPrompt",
"TextEncodeZITSystemPrompt"
"TextEncodeZITSystemPrompt",
"UnFrakturPad"
],
{
"title_aux": "Sampling Utility Toolkit"
@ -12151,9 +12445,9 @@
"https://github.com/stalkervr/ComfyUI-StalkerVr": [
[
"AnyCollector",
"ImageAspectRatioFixer",
"ImageBatchCrop",
"ImageGridCropper",
"ImageRatioResizer",
"JsonArraySplitter",
"JsonBuilder",
"JsonDeserializeObject",
@ -12223,6 +12517,18 @@
"title_aux": "ComfyUI-Audio-Subtitle [WIP]"
}
],
"https://github.com/starsFriday/ComfyUI-KLingAI-OmniVideo": [
[
"KlingFirstEndFrame",
"KlingImage2Video",
"KlingText2Video",
"KlingVideoEdit",
"KlingVideoExtend"
],
{
"title_aux": "ComfyUI-KLingAI-OmniVideo [WIP]"
}
],
"https://github.com/starsFriday/ComfyUI-LongCat-Image": [
[
"LongCatImageEdit",
@ -12444,6 +12750,15 @@
"title_aux": "ComfyUI_Save_Flux_Image"
}
],
"https://github.com/tdrminglin/ComfyUI_SceneSplitter": [
[
"SceneDetectSplitter",
"SceneStartFramesNode"
],
{
"title_aux": "ComfyUI_SceneSplitter"
}
],
"https://github.com/techidsk/comfyui_molook_nodes": [
[
"ImageOutpaintPadding(Molook)",
@ -12620,6 +12935,16 @@
"title_aux": "ComfyUI-SDXLGenerateFromTextFile [UNSAFE]"
}
],
"https://github.com/tpc2233/ComfyUI-TP-IMtalker": [
[
"IMTalkerAudioDriven",
"IMTalkerLoader",
"IMTalkerVideoDriven"
],
{
"title_aux": "ComfyUI-TP-IMtalker [WIP]"
}
],
"https://github.com/tracerstar/comfyui-p5js-node": [
[
"HYPE_P5JSImage"
@ -13343,6 +13668,14 @@
"title_aux": "ComfyUI-Direct3DS2 [WIP]"
}
],
"https://github.com/yamanacn/ComfyUI-ImageMask-Random-Sync-Picker": [
[
"ImageMaskRandomSelector"
],
{
"title_aux": "ComfyUI-ImageMask-Random-Sync-Picker"
}
],
"https://github.com/yamanacn/ComfyUI-QwenVL3-image": [
[
"QwenVL3_image",
@ -13380,6 +13713,7 @@
"AppendTagsNode",
"AspectRatiosNode",
"Base64ToImageNode",
"DetailMapNode",
"DivideNode",
"DownloadImageNode",
"ExcludeTagsNode",
@ -13388,12 +13722,13 @@
"FloatNode",
"FloatToIntNode",
"IfNode",
"ImageRemoveAlphaNode",
"ImageShapeNode",
"ImageSizeNode",
"ImageToBase64Node",
"ImageToVideoNode",
"ImagesCatNode",
"ImagesIndexNode",
"ImagesInfoNode",
"ImagesRangeNode",
"IntNode",
"IntToFloatNode",
@ -13403,6 +13738,7 @@
"LoadStringFromDirectoryNode",
"LoadStringNode",
"LoraLoaderDualNode",
"MaskMapNode",
"MaxNode",
"MinNode",
"ModulationDirectionNode",
@ -13414,11 +13750,14 @@
"PrependTagsNode",
"PrintAnyNode",
"PrintImageNode",
"PureColorImageNode",
"PythonScriptNode",
"RangeStringListNode",
"RangeStringNode",
"ResizeImageNode",
"RoughnessToSmoothnessNode",
"SaveImageToDirectoryNode",
"SaveImageToFolderNode",
"SaveStringToDirectoryNode",
"ShowStringNode",
"StringAppendNode",
@ -13515,6 +13854,16 @@
"title_aux": "ComfyUI HYPIR [NAME CONFLICT]"
}
],
"https://github.com/yuyu0218yu/comfyui-NXCM-tool": [
[
"HD_EncryptImage",
"HD_EncryptVideo",
"VideoToGarbledImage"
],
{
"title_aux": "comfyui-NXCM-tool [UNSAFE]"
}
],
"https://github.com/z604159435g/comfyui_random_prompt_plugin": [
[
"NaturalLanguagePromptGenerator",
@ -13652,6 +14001,7 @@
"TxtCounterNodeZV",
"UniversalBBOXToMaskZV",
"Veo31Image2VideoSubmitZV",
"VideoGeneratorFFmpegZV",
"VideoSceneDetectorZV",
"VideoSpeedZV",
"doubaoI2INodeZV",

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,15 @@
{
"custom_nodes": [
{
"author": "Fossiel",
"title": "ComfyUI-MultiGPU-Patched",
"reference": "https://github.com/Fossiel/ComfyUI-MultiGPU-Patched",
"files": [
"https://github.com/Fossiel/ComfyUI-MultiGPU-Patched"
],
"install_type": "git-clone",
"description": "Patched fork of ComfyUI-MultiGPU providing universal .safetensors and GGUF multi-GPU distribution with DisTorch 2.0 engine, model-driven allocation options (bytes/ratio modes), WanVideoWrapper integration, and up to 10% faster GGUF inference. (Description by CC)"
},
{
"author": "synchronicity-labs",
"title": "ComfyUI Sync Lipsync Node",

View File

@ -1,5 +1,127 @@
{
"custom_nodes": [
{
"author": "scott-createplay",
"title": "ComfyUI_frontend_tools [REMOVED]",
"reference": "https://github.com/scott-createplay/ComfyUI_frontend_tools",
"files": [
"https://github.com/scott-createplay/ComfyUI_frontend_tools"
],
"install_type": "git-clone",
"description": "A comprehensive utility suite for ComfyUI that helps maintain clean, organized workflows with node cleaner, layout tools, HUD projection, and wireless connection management.\nNOTE: The files in the repo are not organized."
},
{
"author": "yutrodimitri-ship-it",
"title": "ComfyUI-YUTRO-CastingStudio-v2 [REMOVED]",
"reference": "https://github.com/yutrodimitri-ship-it/ComfyUI-YUTRO-CastingStudio-v2",
"files": [
"https://github.com/yutrodimitri-ship-it/ComfyUI-YUTRO-CastingStudio-v2"
],
"install_type": "git-clone",
"description": "A professional modular suite of nodes for ComfyUI designed for virtual casting agencies, professional photographers, and content creators to generate high-quality model portfolios efficiently. (Description by CC)\nNOTE: The files in the repo are not organized."
},
{
"author": "amamisonlyuser",
"title": "MixvtonComfyui [REMOVED]",
"reference": "https://github.com/amamisonlyuser/MixvtonComfyui",
"files": [
"https://github.com/amamisonlyuser/MixvtonComfyui"
],
"install_type": "git-clone",
"description": "NODES: CXH_Leffa_Viton_Load, CXH_Leffa_Viton_Run\nNOTE: The files in the repo are not organized."
},
{
"author": "AhBumm",
"title": "ComfyUI_MangaLineExtraction [REMOVED]",
"reference": "https://github.com/AhBumm/ComfyUI_MangaLineExtraction-hf",
"files": [
"https://github.com/AhBumm/ComfyUI_MangaLineExtraction-hf"
],
"description": "p1atdev/MangaLineExtraction-hf as a node in comfyui",
"install_type": "git-clone"
},
{
"author": "danieljanata",
"title": "ComfyUI-QwenVL-Override [REMOVED]",
"reference": "https://github.com/danieljanata/ComfyUI-QwenVL-Override",
"files": [
"https://github.com/danieljanata/ComfyUI-QwenVL-Override"
],
"install_type": "git-clone",
"description": "Adds two nodes that reuse upstream ComfyUI-QwenVL presets but add a runtime override that can be wired/unwired without getting stuck."
},
{
"author": "Futureversecom",
"title": "ComfyUI-JEN [REMOVED]",
"reference": "https://github.com/futureversecom/ComfyUI-JEN",
"files": [
"https://github.com/futureversecom/ComfyUI-JEN"
],
"install_type": "git-clone",
"description": "Comfy UI custom nodes for JEN music generation powered by Futureverse"
},
{
"author": "TheBill2001",
"title": "comfyui-upscale-by-model [REMOVED]",
"reference": "https://github.com/TheBill2001/comfyui-upscale-by-model",
"files": [
"https://github.com/TheBill2001/comfyui-upscale-by-model"
],
"install_type": "git-clone",
"description": "This custom node allow upscaling an image by a factor using a model."
},
{
"author": "XYMikky12138",
"title": "ComfyUI-NanoBanana-inpaint [REMOVED]",
"reference": "https://github.com/XYMikky12138/ComfyUI-NanoBanana-inpaint",
"files": [
"https://github.com/XYMikky12138/ComfyUI-NanoBanana-inpaint"
],
"install_type": "git-clone",
"description": "ComfyUI nodes for API-based inpainting (Gemini, Imagen) with aspect ratio constraints, smart cropping, resize fitting, intelligent paste-back with transparency support. (Description by CC)"
},
{
"author": "Blonicx",
"title": "ComfyUI-Rework-X [REMOVED]",
"id": "rework-x",
"reference": "https://github.com/Blonicx/ComfyUI-X-Rework",
"files": [
"https://github.com/Blonicx/ComfyUI-X-Rework"
],
"install_type": "git-clone",
"description": "This is a plugin for ComfyUI that adds new Util Nodes and Nodes for easier image creation and sharing."
},
{
"author": "scott-createplay",
"title": "ComfyUI_video_essentials [REMOVED]",
"reference": "https://github.com/scott-createplay/ComfyUI_video_essentials",
"files": [
"https://github.com/scott-createplay/ComfyUI_video_essentials"
],
"install_type": "git-clone",
"description": "Essential video processing nodes for ComfyUI"
},
{
"author": "thnikk",
"title": "comfyui-thnikk-utils [REMOVED]",
"reference": "https://github.com/thnikk/comfyui-thnikk-utils",
"files": [
"https://github.com/thnikk/comfyui-thnikk-utils"
],
"install_type": "git-clone",
"description": "Nodes to clean up your workflow."
},
{
"author": "Tr1dae",
"title": "LoRA Matcher Nodes for ComfyUI [REMOVED]",
"reference": "https://github.com/Tr1dae/ComfyUI-LoraPromptMatcher",
"files": [
"https://github.com/Tr1dae/ComfyUI-LoraPromptMatcher"
],
"install_type": "git-clone",
"description": "This custom node provides two different approaches to automatically match text prompts with LoRA models using their descriptions."
},
{
"author": "jkhayiying",
"title": "ImageLoadFromLocalOrUrl Node for ComfyUI [REMOVED]",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,7 @@ from pathlib import Path
from typing import Set, Dict, Optional
# Scanner version for cache invalidation
SCANNER_VERSION = "2.0.11" # Multi-layer detection: class existence + display names
SCANNER_VERSION = "2.0.12" # Add dict comprehension + export list detection
# Cache for extract_nodes and extract_nodes_enhanced results
_extract_nodes_cache: Dict[str, Set[str]] = {}
@ -552,12 +552,22 @@ def extract_nodes_enhanced(
if exists:
phase5_nodes.add(node_name)
# Union all results (FIX: Scanner 2.0.9 bug + Scanner 2.0.10 bug)
# Phase 6: Dict comprehension pattern (NEW in 2.0.12)
# Detects: NODE_CLASS_MAPPINGS = {cls.__name__: cls for cls in to_export}
# Example: TobiasGlaubach/ComfyUI-TG_PyCode
phase6_nodes = _fallback_dict_comprehension(code_text, file_path)
# Phase 7: Import-based class names for dict comprehension (NEW in 2.0.12)
# Detects imported classes that are added to export lists
phase7_nodes = _fallback_import_class_names(code_text, file_path)
# Union all results (FIX: Scanner 2.0.9 bug + Scanner 2.0.10 bug + Scanner 2.0.12 dict comp)
# 2.0.9: Used early return which missed Phase 3 nodes
# 2.0.10: Only checked registrations, missed classes referenced in display names
all_nodes = phase1_nodes | phase2_nodes | phase3_nodes | phase4_nodes | phase5_nodes
# 2.0.12: Added dict comprehension and import-based class detection
all_nodes = phase1_nodes | phase2_nodes | phase3_nodes | phase4_nodes | phase5_nodes | phase6_nodes | phase7_nodes
# Phase 6: Empty dict detector (logging only, doesn't add nodes)
# Phase 8: Empty dict detector (logging only, doesn't add nodes)
if not all_nodes:
_fallback_empty_dict_detector(code_text, file_path, verbose)
@ -616,7 +626,7 @@ def _fallback_classname_resolver(code_text: str, file_path: Optional[Path]) -> S
def _fallback_item_assignment(code_text: str) -> Set[str]:
"""
Detect item assignment pattern.
Pattern:
NODE_CLASS_MAPPINGS = {}
NODE_CLASS_MAPPINGS["MyNode"] = MyNode
@ -627,9 +637,9 @@ def _fallback_item_assignment(code_text: str) -> Set[str]:
parsed = ast.parse(code_text)
except:
return set()
nodes = set()
for node in ast.walk(parsed):
if isinstance(node, ast.Assign):
for target in node.targets:
@ -640,10 +650,156 @@ def _fallback_item_assignment(code_text: str) -> Set[str]:
if isinstance(target.slice, ast.Constant):
if isinstance(target.slice.value, str):
nodes.add(target.slice.value)
return nodes
def _fallback_dict_comprehension(code_text: str, file_path: Optional[Path] = None) -> Set[str]:
"""
Detect dict comprehension pattern with __name__ attribute access.
Pattern:
NODE_CLASS_MAPPINGS = {cls.__name__: cls for cls in to_export}
NODE_CLASS_MAPPINGS = {c.__name__: c for c in [ClassA, ClassB]}
This function detects dict comprehension assignments to NODE_CLASS_MAPPINGS
and extracts class names from the iterable (list literal or variable reference).
Returns:
Set of class names extracted from the dict comprehension
"""
try:
with warnings.catch_warnings():
warnings.filterwarnings('ignore', category=SyntaxWarning)
parsed = ast.parse(code_text)
except:
return set()
nodes = set()
export_lists = {} # Track list variables and their contents
# First pass: collect list assignments (to_export = [...], exports = [...])
for node in ast.walk(parsed):
if isinstance(node, ast.Assign):
for target in node.targets:
if isinstance(target, ast.Name):
var_name = target.id
# Check for list literal
if isinstance(node.value, ast.List):
class_names = set()
for elt in node.value.elts:
if isinstance(elt, ast.Name):
class_names.add(elt.id)
export_lists[var_name] = class_names
# Handle augmented assignment: to_export += [...]
elif isinstance(node, ast.AugAssign):
if isinstance(node.target, ast.Name) and isinstance(node.op, ast.Add):
var_name = node.target.id
if isinstance(node.value, ast.List):
class_names = set()
for elt in node.value.elts:
if isinstance(elt, ast.Name):
class_names.add(elt.id)
if var_name in export_lists:
export_lists[var_name].update(class_names)
else:
export_lists[var_name] = class_names
# Second pass: find NODE_CLASS_MAPPINGS dict comprehension
for node in ast.walk(parsed):
if isinstance(node, ast.Assign):
for target in node.targets:
if isinstance(target, ast.Name) and target.id in ['NODE_CLASS_MAPPINGS', 'NODE_CONFIG']:
# Check for dict comprehension
if isinstance(node.value, ast.DictComp):
dictcomp = node.value
# Check if key is cls.__name__ pattern
key = dictcomp.key
if isinstance(key, ast.Attribute) and key.attr == '__name__':
# Get the iterable from the first generator
for generator in dictcomp.generators:
iter_node = generator.iter
# Case 1: Inline list [ClassA, ClassB, ...]
if isinstance(iter_node, ast.List):
for elt in iter_node.elts:
if isinstance(elt, ast.Name):
nodes.add(elt.id)
# Case 2: Variable reference (to_export, exports, etc.)
elif isinstance(iter_node, ast.Name):
var_name = iter_node.id
if var_name in export_lists:
nodes.update(export_lists[var_name])
return nodes
def _fallback_import_class_names(code_text: str, file_path: Optional[Path] = None) -> Set[str]:
"""
Extract class names from imports that are added to export lists.
Pattern:
from .module import ClassA, ClassB
to_export = [ClassA, ClassB]
NODE_CLASS_MAPPINGS = {cls.__name__: cls for cls in to_export}
This is a complementary fallback that works with _fallback_dict_comprehension
to resolve import-based node registrations.
Returns:
Set of imported class names that appear in export-like contexts
"""
try:
with warnings.catch_warnings():
warnings.filterwarnings('ignore', category=SyntaxWarning)
parsed = ast.parse(code_text)
except:
return set()
# Collect imported names
imported_names = set()
for node in ast.walk(parsed):
if isinstance(node, ast.ImportFrom):
for alias in node.names:
name = alias.asname if alias.asname else alias.name
imported_names.add(name)
# Check if these names appear in list assignments that feed into NODE_CLASS_MAPPINGS
export_candidates = set()
has_dict_comp_mapping = False
for node in ast.walk(parsed):
# Check for dict comprehension NODE_CLASS_MAPPINGS
if isinstance(node, ast.Assign):
for target in node.targets:
if isinstance(target, ast.Name) and target.id == 'NODE_CLASS_MAPPINGS':
if isinstance(node.value, ast.DictComp):
has_dict_comp_mapping = True
# Collect list contents
if isinstance(node, ast.Assign):
if isinstance(node.value, ast.List):
for elt in node.value.elts:
if isinstance(elt, ast.Name) and elt.id in imported_names:
export_candidates.add(elt.id)
# Handle augmented assignment
elif isinstance(node, ast.AugAssign):
if isinstance(node.value, ast.List):
for elt in node.value.elts:
if isinstance(elt, ast.Name) and elt.id in imported_names:
export_candidates.add(elt.id)
# Only return if there's a dict comprehension mapping
if has_dict_comp_mapping:
return export_candidates
return set()
def _extract_repo_name(file_path: Path) -> str:
"""
Extract repository name from file path.