Compare commits

...

21 Commits

Author SHA1 Message Date
Mark Merritt
0e4d96d57b
Merge e26927a881 into f4fa394e0f 2026-01-08 11:47:02 +00:00
Dr.Lt.Data
f4fa394e0f fix(security): add input sanitization and path traversal protection
Some checks are pending
Python Linting / Run Ruff (push) Waiting to run
- Sanitize config string values to prevent CRLF injection attacks
- Add get_safe_snapshot_path() helper to validate snapshot targets
- Block path traversal attempts in remove_snapshot and restore_snapshot endpoints
- Reject targets containing /, \, .., or null characters
2026-01-08 18:29:14 +09:00
Dr.Lt.Data
8d67702ab0 update DB
Some checks are pending
Python Linting / Run Ruff (push) Waiting to run
2026-01-08 03:04:19 +09:00
SBCODE
b1d804a47e
Change author name from 'Sean-Bradley' to 'sbcode' (#2468)
Updated author names for all my custom nodes to match what i have in the registry.
Also added a node for my version of ComfyUI-Sonic
2026-01-08 02:57:57 +09:00
Dr.Lt.Data
db6ff690bf update DB 2026-01-08 02:55:50 +09:00
Dr.Lt.Data
adfbe8de75 update DB 2026-01-08 02:55:17 +09:00
BWDrum
8184430df5
Update custom-node-list.json (#2470)
Add ComfyUI Random Wildcard Loader
2026-01-08 02:54:34 +09:00
Dr.Lt.Data
88938a04cc update DB 2026-01-08 02:54:22 +09:00
Yifan Zhu
6a50229ef6
Add ComfyUI-Persona-Director to custom node list (#2467) 2026-01-08 02:53:12 +09:00
The Kraken
76e9ce9b5d
Add Kraken Tools custom node pack + fix author attribution (#2459)
- Add new kraken-tools entry for comfyui-kraken-tools repo
- Fix author attribution for existing ComfyUI-KrakenTools entry (thimpat -> KrakenUnbound)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: KrakenUnbound <thekraken@thekraken.net>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 02:50:48 +09:00
Dr.Lt.Data
c635591e16 update DB 2026-01-08 02:42:56 +09:00
Dr.Lt.Data
82cf838d28 update DB 2026-01-08 01:50:17 +09:00
mengqin
9d1bc43a58
Update DB. (#2473) 2026-01-08 01:49:07 +09:00
solidlime
4711e81cec
Update custom-node-list.json (#2474) 2026-01-08 01:46:49 +09:00
Dr.Lt.Data
09f0656139 update DB 2026-01-08 01:27:06 +09:00
LiChunlin
98cf72e0a2
Update custom-node-list.json (#2464) 2026-01-08 01:25:00 +09:00
Dr.Lt.Data
10f3b6551c bump version 2026-01-08 01:22:59 +09:00
Akhil Narayanan
1fe90867a2
Ignore Windows stderr flush errors (#2462) 2026-01-08 01:22:02 +09:00
Bulldog68
42aabcfec1
Add FMJ Save Image + Versions node entry (#2445)
* Add FMJ Save Image + Versions node entry

Sauvegarde d’images avec métadonnées complètes (prompt, seed, versions logicielles) + chargement intelligent.

* Update custom-node-list.json

---------

Co-authored-by: Dr.Lt.Data <128333288+ltdrdata@users.noreply.github.com>
2026-01-08 01:18:36 +09:00
Dr.Lt.Data
ac122a1db0 update DB
Some checks are pending
Python Linting / Run Ruff (push) Waiting to run
2026-01-07 12:37:25 +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
13 changed files with 5784 additions and 5225 deletions

View File

@ -1666,6 +1666,17 @@
"install_type": "git-clone",
"description": "Nodes related to video workflows"
},
{
"author": "KrakenUnbound",
"title": "Kraken Tools",
"id": "kraken-tools",
"reference": "https://github.com/krakenunbound/comfyui-kraken-tools",
"files": [
"https://github.com/krakenunbound/comfyui-kraken-tools"
],
"install_type": "git-clone",
"description": "15 productivity nodes: Kraken Unbound Prompt (vision-enabled prompt builder with Qwen2-VL), WAN Prompt Splitter (cinematic styling), Ollama Prompt Chat (LLM enhancement), LoRA Loader with CivitAI trigger fetching, Dual CLIP Loader (Flux/SD3/SDXL), smart KSampler (AMP handling for WAN/Flow/FP8), Empty Latent with aspect presets, Upscale & Tile Calculator for Ultimate SD Upscale, Resolution Helper, Image Processor, WAN Helper, and more."
},
{
"author": "Gourieff",
"title": "ComfyUI-FutureWarningIgnore",
@ -33109,7 +33120,7 @@
"description": "A collection of essential utility nodes for handling image sequences, video, audio, and synchronized data within ComfyUI workflows."
},
{
"author": "thimpat",
"author": "KrakenUnbound",
"title": "ComfyUI-KrakenTools",
"reference": "https://github.com/krakenunbound/ComfyUI-KrakenTools",
"files": [
@ -33522,6 +33533,16 @@
"install_type": "git-clone",
"description": "A general comfyui model loading plugin that supports loading unet models quantized in bnb-4bit (nf4 and fp4) format"
},
{
"author": "mengqin",
"title": "Twinflow Node for ComfyUI",
"reference": "https://github.com/mengqin/ComfyUI-TwinFlow",
"files": [
"https://github.com/mengqin/ComfyUI-TwinFlow"
],
"install_type": "git-clone",
"description": "This is a set of sampling nodes specifically designed for fine-tuning Twinflow models."
},
{
"author": "Artificial-Sweetener",
"title": "WhiteRabbit",
@ -34419,7 +34440,7 @@
"description": "Lucy Edit is a video editing model that performs instruction-guided edits on videos using free-text prompts — it supports a variety of edits, such as clothing & accessory changes, character changes, object insertions, and scene replacements while preserving the motion and composition perfectly."
},
{
"author": "Sean-Bradley",
"author": "sbcode",
"title": "ComfyUI Virtual Webcam",
"reference": "https://github.com/Sean-Bradley/ComfyUI-Virtual-Webcam",
"files": [
@ -34430,7 +34451,7 @@
"tags": ["virtual-camera", "obs", "webcam"]
},
{
"author": "Sean-Bradley",
"author": "sbcode",
"title": "ComfyUI Image Compare",
"reference": "https://github.com/Sean-Bradley/ComfyUI-Image-Compare",
"files": [
@ -34441,7 +34462,7 @@
"tags": ["image-compare", "imagecompare"]
},
{
"author": "Sean-Bradley",
"author": "sbcode",
"title": "ComfyUI Video Reverse",
"reference": "https://github.com/Sean-Bradley/ComfyUI-Video-Reverse",
"files": [
@ -34452,7 +34473,7 @@
"tags": ["video-reverse", "image-batch-reverse"]
},
{
"author": "Sean-Bradley",
"author": "sbcode",
"title": "ComfyUI Voice Clone",
"reference": "https://github.com/Sean-Bradley/ComfyUI-Voice-Clone",
"files": [
@ -34472,7 +34493,7 @@
"description": "Remove background scenery from an image of a person. The output image is saved as an RGBA PNG. The alpha channel is included."
},
{
"author": "Sean-Bradley",
"author": "sbcode",
"title": "ComfyUI-Get-Line",
"reference": "https://github.com/Sean-Bradley/ComfyUI-Get-Line",
"files": [
@ -34480,6 +34501,16 @@
],
"install_type": "git-clone",
"description": "A ComfyUI custom node used to get one line of string from a multi line string. Search in the manager for `get line`, or `getline` or `get-line`."
},
{
"author": "sbcode",
"title": "ComfyUI-Sonic",
"reference": "https://github.com/Sean-Bradley/ComfyUI-Sonic",
"files": [
"https://github.com/Sean-Bradley/ComfyUI-Sonic"
],
"install_type": "git-clone",
"description": "Custom node that takes an audio mp3 and an image, and creates a lip synced video from them."
},
{
"author": "LukeCoulson1",
@ -37012,6 +37043,18 @@
"description": "Advanced nodes for interaction with Olama (text, vision, image editing), with dynamic management of prompts via CSV.",
"tags": ["prompt", "csv", "text", "random"]
},
{
"author": "bulldog68",
"title": "FMJ Save Image + Versions",
"description": "Sauvegarde dimages avec métadonnées complètes (prompt, seed, versions logicielles) + chargement intelligent.",
"reference": "https://github.com/bulldog68/ComfyUI_FMJ_SaveImageVersions",
"files": [
"https://github.com/bulldog68/ComfyUI_FMJ_SaveImageVersions"
],
"install_type": "git-clone",
"tags": ["save image", "metadonne"],
"license": "GNUV3"
},
{
"author": "Usonaki",
"title": "ComfyUI-DyPE-Nunchaku",
@ -37406,6 +37449,16 @@
"install_type": "git-clone",
"description": "Qwen multi-image editing enhancement node supporting 8-image input, dual conditional output, and background layer priority for coordinated image composition workflows. (Description by CC)"
},
{
"author": "princepainter",
"title": "ComfyUI-PainterLTXV2",
"reference": "https://github.com/princepainter/ComfyUI-PainterLTXV2",
"files": [
"https://github.com/princepainter/ComfyUI-PainterLTXV2"
],
"install_type": "git-clone",
"description": "ComfyUI custom nodes providing LTXV audio-video separation sampling and latent preparation capabilities for professional video generation workflows."
},
{
"author": "rafacost",
"title": "rafacostComfy",
@ -40653,9 +40706,109 @@
"install_type": "git-clone",
"description": "A ComfyUI custom node that scans PyTorch model files for potential security vulnerabilities without executing them."
},
{
"author": "DanrisiUA",
"title": "ComfyUI-ZImage-LoRA-Merger",
"reference": "https://github.com/DanrisiUA/ComfyUI-ZImage-LoRA-Merger",
"files": [
"https://github.com/DanrisiUA/ComfyUI-ZImage-LoRA-Merger"
],
"install_type": "git-clone",
"description": "Custom nodes for combining multiple LoRAs without overexposure on distilled models like Z-Image Turbo"
},
{
"author": "yangrui511",
"title": "ComfyUI-Text-Preserve",
"reference": "https://github.com/yangrui511/ComfyUI-Text-Preserve",
"files": [
"https://github.com/yangrui511/ComfyUI-Text-Preserve"
],
"install_type": "git-clone",
"description": "Custom node providing text preservation preprocessing for ComfyUI using OCR to identify text regions and apply blur/noise fusion to non-text areas. (Description by CC)"
},
{
"author": "Atsushi888",
"title": "easy_prompt_selector_for_comfyui",
"reference": "https://github.com/Atsushi888/easy_prompt_selector_for_comfyui",
"files": [
"https://github.com/Atsushi888/easy_prompt_selector_for_comfyui"
],
"install_type": "git-clone",
"description": "A simple custom node for ComfyUI that loads and provides an all-in-one dropdown selector to build a prompt string."
},
{
"author": "pixixai",
"title": "ComfyUI-AlignLayout",
"reference": "https://github.com/pixixai/ComfyUI-AlignLayout",
"files": [
"https://github.com/pixixai/ComfyUI-AlignLayout"
],
"install_type": "git-clone",
"description": "Productivity enhancement extension for ComfyUI featuring radial menus and mouse flick gestures for efficient node alignment, distribution, and resizing. (Description by CC)"
},
{
"author": "MechaBabyAi",
"title": "ComfyUI-MechaBabyNodeSearch",
"reference": "https://github.com/MechaBabyAi/ComfyUI-MechaBabyNodeSearch",
"files": [
"https://github.com/MechaBabyAi/ComfyUI-MechaBabyNodeSearch"
],
"install_type": "git-clone",
"description": "Enhance ComfyUI workflow by providing powerful node search, attribute search, and port navigation features with Ctrl+F shortcut support."
},
{
"author": "shmbatom",
"title": "Comfyui-ImageAB-Compare",
"id": "Comfyui-ImageAB-Compare",
"reference": "https://github.com/shmbatom/Comfyui-ImageAB-Compare",
"files": [
"https://github.com/shmbatom/Comfyui-ImageAB-Compare"
],
"install_type": "git-clone",
"description": "image split comparison horizontally/vertically, real-time mouse interaction to adjust split ratios, bidirectional linkage between slider and mouse, and the ability to export comparison images with precise split lines."
},
{
"author": "solidlime",
"title": "Random Image Picker",
"reference": "https://github.com/solidlime/Comfyui-Random_Image_Picker",
"files": [
"https://github.com/solidlime/Comfyui-Random_Image_Picker"
],
"install_type": "git-clone",
"description": "ComfyUI custom node for flexible image loading with file picker and random folder selection. Features instant preview, auto mode switching, and browser-based file selection.",
"nodename_pattern": "RandomImagePicker"
},
{
"author": "18yz153",
"title": "ComfyUI-Persona-Director",
"reference": "https://github.com/c/ComfyUI-Persona-Director",
"files": [
"https://github.com/18yz153/ComfyUI-Persona-Director"
],
"install_type": "git-clone",
"description": "A visual state machine for consistent character generation. It intelligently maintains character identity, outfits, and locations across multiple generations using LLM-driven state management."
},
{
"author": "BWDrum",
"title": "ComfyUI Random Wildcard Loader",
"id": "random-wildcard-loader",
"reference": "https://github.com/BWDrum/ComfyUI-RandomWildcardLoader",
"files": [
"https://github.com/BWDrum/ComfyUI-RandomWildcardLoader"
],
"install_type": "git-clone",
"description": "A custom node for randomized prompt generation with __wildcard__ expansion, subfolder filtering, prefix/suffix support, and seed-based reproducibility."
},
{
"author": "GonDesign",
"title": "ComfyUI-HaoranWanxImageEdit",
"reference": "https://github.com/GonDesign/ComfyUI-HaoranWanxImageEdit",
"files": [
"https://github.com/GonDesign/ComfyUI-HaoranWanxImageEdit"
],
"install_type": "git-clone",
"description": "API plugin for Alibaba Cloud Wanx 2.1 Image Editing model. Supports 10 functions including stylization, inpainting, and outpainting."
},
@ -41070,6 +41223,6 @@
],
"install_type": "unzip",
"description": "This is a node to convert an image into a CMYK Halftone dot image."
}
}
]
}

View File

@ -387,6 +387,15 @@
"title_aux": "Comfyui-ergouzi-samplers"
}
],
"https://github.com/18yz153/ComfyUI-Persona-Director": [
[
"PersonaDirector",
"PersonaDirectorNode"
],
{
"title_aux": "ComfyUI-Persona-Director"
}
],
"https://github.com/1hew/ComfyUI-1hewNodes": [
[
"1hew_AnyEmptyBool",
@ -467,7 +476,6 @@
"1hew_StringFilter",
"1hew_StringJoinMulti",
"1hew_TextCustomExtract",
"1hew_TextEncodeQwenImageEditKeepSize",
"1hew_TextListToString",
"1hew_TextPrefixSuffix",
"1hew_URLToVideo",
@ -3059,6 +3067,14 @@
"title_aux": "ComfyUI AstroCorp Nodes"
}
],
"https://github.com/Atsushi888/easy_prompt_selector_for_comfyui": [
[
"EasyHairPromptSelector"
],
{
"title_aux": "easy_prompt_selector_for_comfyui"
}
],
"https://github.com/AugustusLXIII/ComfyUI_CustomResolution_I2V": [
[
"CustomResolutionI2V"
@ -3333,6 +3349,15 @@
"title_aux": "comfyui_flux_corrector"
}
],
"https://github.com/BWDrum/ComfyUI-RandomWildcardLoader": [
[
"RandomWildcardLoader",
"RandomWildcardLoaderAdvanced"
],
{
"title_aux": "ComfyUI Random Wildcard Loader"
}
],
"https://github.com/BXYMartin/ComfyUI-InstantIDUtils": [
[
"ListOfImages",
@ -5633,6 +5658,18 @@
"title_aux": "ComfyUI Prompt Template"
}
],
"https://github.com/DanrisiUA/ComfyUI-ZImage-LoRA-Merger": [
[
"ZImageLoRAMergeToSingle",
"ZImageLoRAMerger",
"ZImageLoRAStack",
"ZImageLoRAStackApply",
"ZImageLoRATrueMerge"
],
{
"title_aux": "ComfyUI-ZImage-LoRA-Merger"
}
],
"https://github.com/Daohoi123/ComfyUI-Gemini3": [
[
"Gemini3ProImageNode"
@ -6310,12 +6347,15 @@
"BoyoExecutionBarrier",
"BoyoForLoopEnd",
"BoyoForLoopStart",
"BoyoFrameCounter",
"BoyoFramePackLoRA",
"BoyoIPAdapterZImageLoader",
"BoyoImageCrop",
"BoyoImageGrab",
"BoyoIncontextSaver",
"BoyoLatentCacheUpdater",
"BoyoLatentPassthrough",
"BoyoLatentSwitch",
"BoyoLoRAConfigInspector",
"BoyoLoRAConfigProcessor",
"BoyoLoRAJSONBuilder",
@ -6326,7 +6366,10 @@
"BoyoLoopCounter",
"BoyoLoopImageSaver",
"BoyoLoopReset",
"BoyoLorainforsender",
"BoyoMathInt",
"BoyoOverlapSwitch",
"BoyoPainterSVI",
"BoyoPairedImageSaver",
"BoyoPairedSaver",
"BoyoPromptInjector",
@ -6340,6 +6383,8 @@
"BoyoVACEInjector",
"BoyoVACEViewer",
"BoyoVAEDecode",
"BoyoVideoCutter",
"BoyoVideoLengthCalculator",
"BoyoVideoPairedSaver",
"BoyoVideoSaver",
"BoyoVision",
@ -7072,7 +7117,7 @@
],
"https://github.com/EricRorich/ComfyUI-face-shaper": [
[
"ComfyUI-face-shaper"
"RORICH-AI"
],
{
"title_aux": "ComfyUI-face-shaper"
@ -8499,6 +8544,16 @@
"title_aux": "Save Image Plus for ComfyUI"
}
],
"https://github.com/GonDesign/ComfyUI-HaoranWanxImageEdit": [
[
"HaoranWanxAPILoader",
"HaoranWanxImageEdit",
"HaoranWanxPromptHelper"
],
{
"title_aux": "ComfyUI-HaoranWanxImageEdit"
}
],
"https://github.com/GoogleCloudPlatform/comfyui-google-genmedia-custom-nodes": [
[
"Gemini25FlashImage",
@ -12334,7 +12389,6 @@
"LTXVBaseSampler",
"LTXVExtendSampler",
"LTXVGemmaCLIPModelLoader",
"LTXVGemmaCLIPModelLoaderMGPU",
"LTXVGemmaEnhancePrompt",
"LTXVImgToVideoConditionOnly",
"LTXVInContextSampler",
@ -13567,6 +13621,7 @@
"Pose Image Setup",
"PreviewAsMarkdown",
"PreviewImageAlpha",
"Remove Background",
"ReplaceAlpha",
"Resize Image and Mask by Side",
"Save Folder as ZIP",
@ -14041,7 +14096,10 @@
"https://github.com/NOLABEL-VFX/ComfyUI-NL_Nodes": [
[
"ModelLocalizer",
"ShotPathBuilder"
"NLContextDebug",
"NLRead",
"NLWorkflow",
"NLWrite"
],
{
"title_aux": "ComfyUI-NL_Nodes"
@ -16889,6 +16947,16 @@
"title_aux": "Remove Background"
}
],
"https://github.com/Sean-Bradley/ComfyUI-Sonic": [
[
"SONICSampler",
"SONICTLoader",
"SONIC_PreData"
],
{
"title_aux": "ComfyUI-Sonic"
}
],
"https://github.com/Sean-Bradley/ComfyUI-Video-Reverse": [
[
"VideoReverseNode"
@ -19033,6 +19101,7 @@
"https://github.com/SuzumiyaAkizuki/ComfyUI-LLM_Prompt_XML_Formatter": [
[
"LLM_Prompt_Formatter",
"LLM_Style_Saver",
"LLM_Xml_Style_Injector"
],
{
@ -19372,6 +19441,7 @@
],
"https://github.com/TTPlanetPig/Comfyui_TTP_Toolset": [
[
"LTXVFirstLastFrameControl_TTP",
"TTP_CoordinateSplitter",
"TTP_Expand_And_Mask",
"TTP_Image_Assy",
@ -25929,6 +25999,7 @@
"LoadVideoFromUrlOrPath",
"LoadVideoLoraFromUrlOrPath",
"LoadVideoLoraFromUrlOrPathSelect",
"OpenRouterGeminiImage",
"PasteImageByMask"
],
{
@ -26354,6 +26425,15 @@
"title_aux": "FMJ-speed-Prompt"
}
],
"https://github.com/bulldog68/ComfyUI_FMJ_SaveImageVersions": [
[
"FMJ_LoadImageWithSnapshot",
"FMJ_SaveImageWithSnapshot"
],
{
"title_aux": "FMJ Save Image + Versions"
}
],
"https://github.com/burnsbert/ComfyUI-EBU-LMStudio": [
[
"EbuLMStudioBrainstormer",
@ -27902,6 +27982,7 @@
"LayerMask: MaskEdgeShrink",
"LayerMask: MaskEdgeUltraDetail",
"LayerMask: MaskEdgeUltraDetail V2",
"LayerMask: MaskEdgeUltraDetail V3",
"LayerMask: MaskGradient",
"LayerMask: MaskGrain",
"LayerMask: MaskGrow",
@ -29557,6 +29638,7 @@
"WanMoveTracksFromCoords",
"WanMoveVisualizeTracks",
"WanPhantomSubjectToVideo",
"WanReferenceVideoApi",
"WanSoundImageToVideo",
"WanSoundImageToVideoExtend",
"WanTextToImageApi",
@ -30599,7 +30681,8 @@
"LatentImageAndSeed",
"PromptCameraSelector",
"PromptConstructor",
"PromptLightingSelector"
"PromptLightingSelector",
"TrainingDatasetSaver"
],
{
"title_aux": "ComfyUI-daveand-nodes"
@ -38725,6 +38808,7 @@
"Intrinsic_lora_sampling",
"JoinStringMulti",
"JoinStrings",
"LTXVEnhanceAVideoKJ",
"LatentInpaintTTM",
"LazySwitchKJ",
"LeapfusionHunyuanI2VPatcher",
@ -38801,6 +38885,7 @@
"VAELoaderKJ",
"VRAM_Debug",
"VisualizeCUDAMemoryHistory",
"VisualizeSigmasKJ",
"Wan21BlockLoraSelect",
"WanImageToVideoSVIPro",
"WanVideoEnhanceAVideoKJ",
@ -39544,6 +39629,23 @@
"title_aux": "ComfyUI-KrakenTools"
}
],
"https://github.com/krakenunbound/comfyui-kraken-tools": [
[
"KrakenDualCLIPLoader",
"KrakenImageProcessor",
"KrakenImageResize",
"KrakenKSampler",
"KrakenLastFrameMeta",
"KrakenLoras3",
"KrakenOllamaPromptChat",
"KrakenResolutionHelper",
"KrakenWanHelper",
"kraken_checkpoint_loader"
],
{
"title_aux": "Kraken Tools"
}
],
"https://github.com/krakenunbound/kraken-discord-bot": [
[
"KrakenDiscordBot",
@ -42935,6 +43037,17 @@
"title_aux": "comfy-oiio"
}
],
"https://github.com/mengqin/ComfyUI-TwinFlow": [
[
"TwinFlowKSampler",
"TwinFlowPatcher",
"TwinFlowSampler",
"TwinFlowScheduler"
],
{
"title_aux": "Twinflow Node for ComfyUI"
}
],
"https://github.com/mengqin/ComfyUI-UnetBnbModelLoader": [
[
"UnetBnbModelLoader"
@ -43817,6 +43930,7 @@
"FullPipeIn",
"FullPipeLoader",
"FullPipeOut",
"ImageDifference",
"ImageFileSize",
"LoaderFullPipe",
"MaskDetailerNode",
@ -46425,6 +46539,15 @@
"title_aux": "ComfyUI-PainterImageLoad"
}
],
"https://github.com/princepainter/ComfyUI-PainterLTXV2": [
[
"PainterLTXVtoVideo",
"PainterSamplerLTXV"
],
{
"title_aux": "ComfyUI-PainterLTXV2"
}
],
"https://github.com/princepainter/ComfyUI-PainterLongVideo": [
[
"PainterLongVideo"
@ -49310,6 +49433,14 @@
"title_aux": "shinyakidoguchi301/LoRA Tag Loader for ComfyUI"
}
],
"https://github.com/shmbatom/Comfyui-ImageAB-Compare": [
[
"ImageABCompare"
],
{
"title_aux": "Comfyui-ImageAB-Compare"
}
],
"https://github.com/shobhitic/ComfyUI-PlusMinusTextClip": [
[
"PlusMinusTextClip"
@ -50425,6 +50556,15 @@
"title_aux": "ComfyUI Video Crop"
}
],
"https://github.com/solidlime/Comfyui-Random_Image_Picker": [
[
"RandomImagePicker"
],
{
"nodename_pattern": "RandomImagePicker",
"title_aux": "Random Image Picker"
}
],
"https://github.com/sonnybox/ComfyUI-SuperNodes": [
[
"ImageMaskCrop",
@ -50434,6 +50574,7 @@
"SigmasGraph",
"SigmasRescale",
"SuperCreateTiles",
"SuperResizeImage",
"SuperSVRCalcTiles",
"SuperStitchTiles"
],
@ -54555,6 +54696,14 @@
"title_aux": "ComfyUI Kontext Duo Image Analyzer"
}
],
"https://github.com/yangrui511/ComfyUI-Text-Preserve": [
[
"TextPreserveNode"
],
{
"title_aux": "ComfyUI-Text-Preserve"
}
],
"https://github.com/yanhuifair/comfyui-janus": [
[
"JanusProImageGenerationNode",

File diff suppressed because it is too large Load Diff

View File

@ -44,7 +44,7 @@ import manager_migration
from node_package import InstalledNodePackage
version_code = [3, 39]
version_code = [3, 39, 2]
version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '')
@ -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
@ -1701,6 +1701,11 @@ def write_config():
'db_mode': get_config()['db_mode'],
}
# Sanitize all string values to prevent CRLF injection attacks
for key, value in config['default'].items():
if isinstance(value, str):
config['default'][key] = value.replace('\r', '').replace('\n', '').replace('\x00', '')
directory = os.path.dirname(manager_config_path)
if not os.path.exists(directory):
os.makedirs(directory)

View File

@ -997,6 +997,15 @@ async def get_snapshot_list(request):
return web.json_response({'items': items}, content_type='application/json')
def get_safe_snapshot_path(target):
"""
Safely construct a snapshot file path, preventing path traversal attacks.
"""
if '/' in target or '\\' in target or '..' in target or '\x00' in target:
return None
return os.path.join(core.manager_snapshot_path, f"{target}.json")
@routes.get("/snapshot/remove")
async def remove_snapshot(request):
if not is_allowed_security_level('middle'):
@ -1005,8 +1014,12 @@ async def remove_snapshot(request):
try:
target = request.rel_url.query["target"]
path = get_safe_snapshot_path(target)
if path is None:
logging.error(f"[ComfyUI-Manager] Invalid snapshot target: {target}")
return web.Response(text="Invalid snapshot target", status=400)
path = os.path.join(core.manager_snapshot_path, f"{target}.json")
if os.path.exists(path):
os.remove(path)
@ -1023,8 +1036,12 @@ async def restore_snapshot(request):
try:
target = request.rel_url.query["target"]
path = get_safe_snapshot_path(target)
if path is None:
logging.error(f"[ComfyUI-Manager] Invalid snapshot target: {target}")
return web.Response(text="Invalid snapshot target", status=400)
path = os.path.join(core.manager_snapshot_path, f"{target}.json")
if os.path.exists(path):
if not os.path.exists(core.manager_startup_script_path):
os.makedirs(core.manager_startup_script_path)
@ -1836,9 +1853,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,25 @@
{
"custom_nodes": [
{
"author": "w3rc",
"title": "lpips-similarity-comfyui",
"reference": "https://github.com/w3rc/lpips-similarity-comfyui",
"files": [
"https://github.com/w3rc/lpips-similarity-comfyui"
],
"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]",
@ -90,16 +110,6 @@
"install_type": "git-clone",
"description": "Personal utility tools for ComfyUI. (Description by CC)\nNOTE: The files in the repo are not organized."
},
{
"author": "EricRorich",
"title": "ComfyUI-Parametric-Face-Canvas [WIP]",
"reference": "https://github.com/EricRorich/ComfyUI-Parametric-Face-Canvas",
"files": [
"https://github.com/EricRorich/ComfyUI-Parametric-Face-Canvas"
],
"install_type": "git-clone",
"description": "Generates a parametric 3D face wireframe and renders it as a 2D image with adjustable facial proportions and camera orientation for use in AI pipelines.\nNOTE: The files in the repo are not organized."
},
{
"author": "HailXD",
"title": "comfyui-random-artist",

View File

@ -1915,15 +1915,6 @@
"title_aux": "[WIP] ComfyUI-MegaTran-cutom-node"
}
],
"https://github.com/EricRorich/ComfyUI-Parametric-Face-Canvas": [
[
"Parametric Face Canvas",
"ParametricFaceCanvas"
],
{
"title_aux": "ComfyUI-Parametric-Face-Canvas [WIP]"
}
],
"https://github.com/Estanislao-Oviedo/ComfyUI-CustomNodes": [
[
"Attention couple",
@ -2790,6 +2781,7 @@
"LunaConnectionEditor",
"LunaConnectionMatcher",
"LunaConnectionStats",
"LunaDAAMAnalyzer",
"LunaDaemonCLIPLoader",
"LunaDaemonVAELoader",
"LunaDimensionScaler",
@ -2804,6 +2796,8 @@
"LunaKSamplerAdvanced",
"LunaKSamplerHeadless",
"LunaKSamplerScaffold",
"LunaLSDBridge",
"LunaLSDTokenEditor",
"LunaLoRARandomizer",
"LunaLoRAStacker",
"LunaLoRATriggerInjector",
@ -4978,6 +4972,14 @@
"title_aux": "Comfyui_leffa"
}
],
"https://github.com/StevenBaby/comfyui-tools": [
[
"IntParameterNode"
],
{
"title_aux": "comfyui-tools"
}
],
"https://github.com/StoryWalker/comfyui_flux_collection_advanced": [
[
"Example",
@ -7421,6 +7423,7 @@
"WanMoveTracksFromCoords",
"WanMoveVisualizeTracks",
"WanPhantomSubjectToVideo",
"WanReferenceVideoApi",
"WanSoundImageToVideo",
"WanSoundImageToVideoExtend",
"WanTextToImageApi",
@ -8571,6 +8574,7 @@
],
"https://github.com/grokuku/ComfyUI-Holaf": [
[
"HolafAutoSelectX2",
"HolafBundleCreator",
"HolafBundleExtractor",
"HolafBypasser",
@ -8586,6 +8590,7 @@
"HolafMaskToBoolean",
"HolafOverlayNode",
"HolafRemote",
"HolafRemoteSelector",
"HolafResolutionPreset",
"HolafSaveImage",
"HolafSaveVideo",
@ -12083,6 +12088,7 @@
"https://github.com/saltchicken/ComfyUI-Local-Loader": [
[
"LoadImageFromDir",
"LoadImageFromOutput",
"LoadImageFromPath",
"LoadSingleImageFromPath",
"LoadVideoFromOutput"
@ -12093,7 +12099,7 @@
],
"https://github.com/saltchicken/ComfyUI-Prompter": [
[
"CustomizablePromptGenerator"
"PromptTemplateManager"
],
{
"title_aux": "ComfyUI-Prompter"
@ -13414,6 +13420,15 @@
"title_aux": "ComfyUI-ccsrv2 [WIP]"
}
],
"https://github.com/w3rc/lpips-similarity-comfyui": [
[
"GetSimilarity",
"LPIPSSimilarity"
],
{
"title_aux": "lpips-similarity-comfyui"
}
],
"https://github.com/wTechArtist/ComfyUI-VVL-Tools": [
[
"ApplyUrlsToJson",

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,15 @@
{
"custom_nodes": [
{
"author": "EricRorich",
"title": "ComfyUI-Parametric-Face-Canvas [WIP]",
"reference": "https://github.com/EricRorich/ComfyUI-Parametric-Face-Canvas",
"files": [
"https://github.com/EricRorich/ComfyUI-Parametric-Face-Canvas"
],
"install_type": "git-clone",
"description": "Generates a parametric 3D face wireframe and renders it as a 2D image with adjustable facial proportions and camera orientation for use in AI pipelines.\nNOTE: The files in the repo are not organized."
},
{
"author": "pixixai",
"title": "ComfyUI_Pixix-Tools [UNSAFE/REMOVED]",

View File

@ -1,5 +1,152 @@
{
"custom_nodes": [
{
"author": "KrakenUnbound",
"title": "Kraken Tools",
"id": "kraken-tools",
"reference": "https://github.com/krakenunbound/comfyui-kraken-tools",
"files": [
"https://github.com/krakenunbound/comfyui-kraken-tools"
],
"install_type": "git-clone",
"description": "15 productivity nodes: Kraken Unbound Prompt (vision-enabled prompt builder with Qwen2-VL), WAN Prompt Splitter (cinematic styling), Ollama Prompt Chat (LLM enhancement), LoRA Loader with CivitAI trigger fetching, Dual CLIP Loader (Flux/SD3/SDXL), smart KSampler (AMP handling for WAN/Flow/FP8), Empty Latent with aspect presets, Upscale & Tile Calculator for Ultimate SD Upscale, Resolution Helper, Image Processor, WAN Helper, and more."
},
{
"author": "18yz153",
"title": "ComfyUI-Persona-Director",
"reference": "https://github.com/c/ComfyUI-Persona-Director",
"files": [
"https://github.com/18yz153/ComfyUI-Persona-Director"
],
"install_type": "git-clone",
"description": "A visual state machine for consistent character generation. It intelligently maintains character identity, outfits, and locations across multiple generations using LLM-driven state management."
},
{
"author": "bulldog68",
"title": "FMJ Save Image + Versions",
"description": "Sauvegarde dimages avec métadonnées complètes (prompt, seed, versions logicielles) + chargement intelligent.",
"reference": "https://github.com/bulldog68/ComfyUI_FMJ_SaveImageVersions",
"files": [
"https://github.com/bulldog68/ComfyUI_FMJ_SaveImageVersions"
],
"install_type": "git-clone",
"tags": ["save image", "metadonne"],
"license": "GNUV3"
},
{
"author": "GonDesign",
"title": "ComfyUI-HaoranWanxImageEdit",
"reference": "https://github.com/GonDesign/ComfyUI-HaoranWanxImageEdit",
"files": [
"https://github.com/GonDesign/ComfyUI-HaoranWanxImageEdit"
],
"install_type": "git-clone",
"description": "API plugin for Alibaba Cloud Wanx 2.1 Image Editing model. Supports 10 functions including stylization, inpainting, and outpainting."
},
{
"author": "BWDrum",
"title": "ComfyUI Random Wildcard Loader",
"id": "random-wildcard-loader",
"reference": "https://github.com/BWDrum/ComfyUI-RandomWildcardLoader",
"files": [
"https://github.com/BWDrum/ComfyUI-RandomWildcardLoader"
],
"install_type": "git-clone",
"description": "A custom node for randomized prompt generation with __wildcard__ expansion, subfolder filtering, prefix/suffix support, and seed-based reproducibility."
},
{
"author": "solidlime",
"title": "Random Image Picker",
"reference": "https://github.com/solidlime/Comfyui-Random_Image_Picker",
"files": [
"https://github.com/solidlime/Comfyui-Random_Image_Picker"
],
"install_type": "git-clone",
"description": "ComfyUI custom node for flexible image loading with file picker and random folder selection. Features instant preview, auto mode switching, and browser-based file selection.",
"nodename_pattern": "RandomImagePicker"
},
{
"author": "mengqin",
"title": "Twinflow Node for ComfyUI",
"reference": "https://github.com/mengqin/ComfyUI-TwinFlow",
"files": [
"https://github.com/mengqin/ComfyUI-TwinFlow"
],
"install_type": "git-clone",
"description": "This is a set of sampling nodes specifically designed for fine-tuning Twinflow models."
},
{
"author": "shmbatom",
"title": "Comfyui-ImageAB-Compare",
"id": "Comfyui-ImageAB-Compare",
"reference": "https://github.com/shmbatom/Comfyui-ImageAB-Compare",
"files": [
"https://github.com/shmbatom/Comfyui-ImageAB-Compare"
],
"install_type": "git-clone",
"description": "image split comparison horizontally/vertically, real-time mouse interaction to adjust split ratios, bidirectional linkage between slider and mouse, and the ability to export comparison images with precise split lines."
},
{
"author": "DanrisiUA",
"title": "ComfyUI-ZImage-LoRA-Merger",
"reference": "https://github.com/DanrisiUA/ComfyUI-ZImage-LoRA-Merger",
"files": [
"https://github.com/DanrisiUA/ComfyUI-ZImage-LoRA-Merger"
],
"install_type": "git-clone",
"description": "Custom nodes for combining multiple LoRAs without overexposure on distilled models like Z-Image Turbo"
},
{
"author": "pixixai",
"title": "ComfyUI-AlignLayout",
"reference": "https://github.com/pixixai/ComfyUI-AlignLayout",
"files": [
"https://github.com/pixixai/ComfyUI-AlignLayout"
],
"install_type": "git-clone",
"description": "Productivity enhancement extension for ComfyUI featuring radial menus and mouse flick gestures for efficient node alignment, distribution, and resizing. (Description by CC)"
},
{
"author": "MechaBabyAi",
"title": "ComfyUI-MechaBabyNodeSearch",
"reference": "https://github.com/MechaBabyAi/ComfyUI-MechaBabyNodeSearch",
"files": [
"https://github.com/MechaBabyAi/ComfyUI-MechaBabyNodeSearch"
],
"install_type": "git-clone",
"description": "Enhance ComfyUI workflow by providing powerful node search, attribute search, and port navigation features with Ctrl+F shortcut support."
},
{
"author": "yangrui511",
"title": "ComfyUI-Text-Preserve",
"reference": "https://github.com/yangrui511/ComfyUI-Text-Preserve",
"files": [
"https://github.com/yangrui511/ComfyUI-Text-Preserve"
],
"install_type": "git-clone",
"description": "Custom node providing text preservation preprocessing for ComfyUI using OCR to identify text regions and apply blur/noise fusion to non-text areas. (Description by CC)"
},
{
"author": "Atsushi888",
"title": "easy_prompt_selector_for_comfyui",
"reference": "https://github.com/Atsushi888/easy_prompt_selector_for_comfyui",
"files": [
"https://github.com/Atsushi888/easy_prompt_selector_for_comfyui"
],
"install_type": "git-clone",
"description": "A simple custom node for ComfyUI that loads and provides an all-in-one dropdown selector to build a prompt string."
},
{
"author": "princepainter",
"title": "ComfyUI-PainterLTXV2",
"reference": "https://github.com/princepainter/ComfyUI-PainterLTXV2",
"files": [
"https://github.com/princepainter/ComfyUI-PainterLTXV2"
],
"install_type": "git-clone",
"description": "ComfyUI custom nodes providing LTXV audio-video separation sampling and latent preparation capabilities for professional video generation workflows."
},
{
"author": "logicalor",
"title": "comfyui_path_sanitizer",
@ -553,156 +700,6 @@
],
"install_type": "git-clone",
"description": "LLM integration nodes for ComfyUI. Support chat completions and image generation with OpenAI/Gemini. Features precise resolution and aspect ratio control for Gemini image generation (1K/2K/4K with 5 aspect ratios). Zero external dependencies."
},
{
"author": "Rhovanx",
"title": "Wan Vace Auto Joiner",
"reference": "https://github.com/Rhovanx/wan_vace_auto_joiner",
"files": [
"https://github.com/Rhovanx/wan_vace_auto_joiner"
],
"install_type": "git-clone",
"description": "Seamlessly join multiple video clips using WAN VACE with one click."
},
{
"author": "552023587",
"title": "comfyui_character_selector",
"reference": "https://github.com/552023587/comfyui_character_selector",
"files": [
"https://github.com/552023587/comfyui_character_selector"
],
"install_type": "git-clone",
"description": "Supports 2D dropdown selector for characters and actions that automatically combines prompt descriptions. (Description by CC)"
},
{
"author": "rookiestar28",
"title": "ComfyUI-Doctor",
"reference": "https://github.com/rookiestar28/ComfyUI-Doctor",
"files": [
"https://github.com/rookiestar28/ComfyUI-Doctor"
],
"install_type": "git-clone",
"description": "A continuous, real-time runtime diagnostics suite for ComfyUI. Automatic error interception, intelligent fix suggestions, and deep data flow inspection."
},
{
"author": "PozzettiAndrea",
"title": "ComfyUI-MIDI3D",
"reference": "https://github.com/PozzettiAndrea/ComfyUI-MIDI3D",
"files": [
"https://github.com/PozzettiAndrea/ComfyUI-MIDI3D"
],
"install_type": "git-clone",
"description": "THIS NODE IS WIP. ComfyUI wrapper for MIDI-3D: Multi-Instance Diffusion for single image to compositional 3D scene generation."
},
{
"author": "EricRollei",
"title": "Refocus - Generative Refocusing",
"reference": "https://github.com/EricRollei/comfyui-refocus",
"files": [
"https://github.com/EricRollei/comfyui-refocus"
],
"install_type": "git-clone",
"description": "ComfyUI nodes for Genfocus generative refocusing. Features DeblurNet (restore all-in-focus images), BokehNet (create realistic depth-of-field/bokeh effects), DepthPro depth estimation, and defocus map utilities. Uses FLUX.1-dev with specialized LoRA adapters."
},
{
"author": "princepainter",
"title": "ComfyUI-PainterI2Vadvanced",
"reference": "https://github.com/princepainter/ComfyUI-PainterI2Vadvanced",
"files": [
"https://github.com/princepainter/ComfyUI-PainterI2Vadvanced"
],
"install_type": "git-clone",
"description": "Enhanced Wan2.2 image-to-video node with dual sampler workflow, dynamic enhancement, and intelligent color drift correction for video generation. (Description by CC)"
},
{
"author": "daveand",
"title": "ComfyUI-daveand-utils",
"reference": "https://github.com/daveand/ComfyUI-daveand-utils",
"files": [
"https://github.com/daveand/ComfyUI-daveand-utils"
],
"install_type": "git-clone",
"description": "Utility nodes including ModelConfigSelector for saving checkpoint configurations and managing manual sampler overrides. (Description by CC)"
},
{
"author": "ckinpdx",
"title": "ComfyUI-LoadAudioandSplit",
"reference": "https://github.com/ckinpdx/ComfyUI-LoadAudioandSplit",
"files": [
"https://github.com/ckinpdx/ComfyUI-LoadAudioandSplit"
],
"install_type": "git-clone",
"description": "Splits audio into frame-synced chunks for video generation workflows with support for overlapping segments for seamless transitions."
},
{
"author": "NewBieAI-Lab",
"title": "ComfyUI-MltoXml",
"reference": "https://github.com/NewBieAI-Lab/ComfyUI-MltoXml",
"files": [
"https://github.com/NewBieAI-Lab/ComfyUI-MltoXml"
],
"install_type": "git-clone",
"description": "Simple node to convert ML or XML format data. (Description by CC)"
},
{
"author": "Hahihula",
"title": "ComfyUI-batching-nodes",
"reference": "https://github.com/Hahihula/ComfyUI-batching-nodes",
"files": [
"https://github.com/Hahihula/ComfyUI-batching-nodes"
],
"install_type": "git-clone",
"description": "A collection of custom nodes for ComfyUI that enable powerful batch processing capabilities for both prompts and images."
},
{
"author": "huyl3-cpu",
"title": "comfyui_segment_anything_a100",
"reference": "https://github.com/huyl3-cpu/comfyui_segment_anything_a100",
"files": [
"https://github.com/huyl3-cpu/comfyui_segment_anything_a100"
],
"install_type": "git-clone",
"description": "Heavily optimized A100 GPU fork of ComfyUI Segment Anything using BF16 precision, VRAM Locking, and Zero-Copy GPU processing for massive batch processing."
},
{
"author": "elgalardi",
"title": "comfyui-clip-prompt-splitter",
"reference": "https://github.com/elgalardi/comfyui-clip-prompt-splitter",
"files": [
"https://github.com/elgalardi/comfyui-clip-prompt-splitter"
],
"install_type": "git-clone",
"description": "Custom node for ComfyUI that splits a multiline prompt into 5 independent CLIP conditionings."
},
{
"author": "ZhiHui6",
"title": "zhihui_nodes_comfyui",
"reference": "https://github.com/ZhiHui6/zhihui_nodes_comfyui",
"files": [
"https://github.com/ZhiHui6/zhihui_nodes_comfyui"
],
"install_type": "git-clone",
"description": "ComfyUI node collection: text processing tools, image processing nodes, prompt generators and system prompt loaders, ect."
},
{
"author": "tori29umai0123",
"title": "ComfyUI-Model_Downloader",
"reference": "https://github.com/tori29umai0123/ComfyUI-Model_Downloader",
"files": [
"https://github.com/tori29umai0123/ComfyUI-Model_Downloader"
],
"install_type": "git-clone",
"description": "ComfyUI custom node for downloading models directly from HuggingFace and CivitAI with support for individual files, directory downloads, and batch processing via INI files. (Description by CC)"
},
{
"author": "visualbruno",
"title": "ComfyUI-Trellis2",
"reference": "https://github.com/visualbruno/ComfyUI-Trellis2",
"files": [
"https://github.com/visualbruno/ComfyUI-Trellis2"
],
"install_type": "git-clone",
"description": "ComfyUI Wrapper for TRELLIS.2 - Microsoft's image-to-3D generation model. (Description by CC)"
}
]
}

View File

@ -387,6 +387,15 @@
"title_aux": "Comfyui-ergouzi-samplers"
}
],
"https://github.com/18yz153/ComfyUI-Persona-Director": [
[
"PersonaDirector",
"PersonaDirectorNode"
],
{
"title_aux": "ComfyUI-Persona-Director"
}
],
"https://github.com/1hew/ComfyUI-1hewNodes": [
[
"1hew_AnyEmptyBool",
@ -467,7 +476,6 @@
"1hew_StringFilter",
"1hew_StringJoinMulti",
"1hew_TextCustomExtract",
"1hew_TextEncodeQwenImageEditKeepSize",
"1hew_TextListToString",
"1hew_TextPrefixSuffix",
"1hew_URLToVideo",
@ -3059,6 +3067,14 @@
"title_aux": "ComfyUI AstroCorp Nodes"
}
],
"https://github.com/Atsushi888/easy_prompt_selector_for_comfyui": [
[
"EasyHairPromptSelector"
],
{
"title_aux": "easy_prompt_selector_for_comfyui"
}
],
"https://github.com/AugustusLXIII/ComfyUI_CustomResolution_I2V": [
[
"CustomResolutionI2V"
@ -3333,6 +3349,15 @@
"title_aux": "comfyui_flux_corrector"
}
],
"https://github.com/BWDrum/ComfyUI-RandomWildcardLoader": [
[
"RandomWildcardLoader",
"RandomWildcardLoaderAdvanced"
],
{
"title_aux": "ComfyUI Random Wildcard Loader"
}
],
"https://github.com/BXYMartin/ComfyUI-InstantIDUtils": [
[
"ListOfImages",
@ -5633,6 +5658,18 @@
"title_aux": "ComfyUI Prompt Template"
}
],
"https://github.com/DanrisiUA/ComfyUI-ZImage-LoRA-Merger": [
[
"ZImageLoRAMergeToSingle",
"ZImageLoRAMerger",
"ZImageLoRAStack",
"ZImageLoRAStackApply",
"ZImageLoRATrueMerge"
],
{
"title_aux": "ComfyUI-ZImage-LoRA-Merger"
}
],
"https://github.com/Daohoi123/ComfyUI-Gemini3": [
[
"Gemini3ProImageNode"
@ -6310,12 +6347,15 @@
"BoyoExecutionBarrier",
"BoyoForLoopEnd",
"BoyoForLoopStart",
"BoyoFrameCounter",
"BoyoFramePackLoRA",
"BoyoIPAdapterZImageLoader",
"BoyoImageCrop",
"BoyoImageGrab",
"BoyoIncontextSaver",
"BoyoLatentCacheUpdater",
"BoyoLatentPassthrough",
"BoyoLatentSwitch",
"BoyoLoRAConfigInspector",
"BoyoLoRAConfigProcessor",
"BoyoLoRAJSONBuilder",
@ -6326,7 +6366,10 @@
"BoyoLoopCounter",
"BoyoLoopImageSaver",
"BoyoLoopReset",
"BoyoLorainforsender",
"BoyoMathInt",
"BoyoOverlapSwitch",
"BoyoPainterSVI",
"BoyoPairedImageSaver",
"BoyoPairedSaver",
"BoyoPromptInjector",
@ -6340,6 +6383,8 @@
"BoyoVACEInjector",
"BoyoVACEViewer",
"BoyoVAEDecode",
"BoyoVideoCutter",
"BoyoVideoLengthCalculator",
"BoyoVideoPairedSaver",
"BoyoVideoSaver",
"BoyoVision",
@ -7072,7 +7117,7 @@
],
"https://github.com/EricRorich/ComfyUI-face-shaper": [
[
"ComfyUI-face-shaper"
"RORICH-AI"
],
{
"title_aux": "ComfyUI-face-shaper"
@ -8499,6 +8544,16 @@
"title_aux": "Save Image Plus for ComfyUI"
}
],
"https://github.com/GonDesign/ComfyUI-HaoranWanxImageEdit": [
[
"HaoranWanxAPILoader",
"HaoranWanxImageEdit",
"HaoranWanxPromptHelper"
],
{
"title_aux": "ComfyUI-HaoranWanxImageEdit"
}
],
"https://github.com/GoogleCloudPlatform/comfyui-google-genmedia-custom-nodes": [
[
"Gemini25FlashImage",
@ -12334,7 +12389,6 @@
"LTXVBaseSampler",
"LTXVExtendSampler",
"LTXVGemmaCLIPModelLoader",
"LTXVGemmaCLIPModelLoaderMGPU",
"LTXVGemmaEnhancePrompt",
"LTXVImgToVideoConditionOnly",
"LTXVInContextSampler",
@ -13567,6 +13621,7 @@
"Pose Image Setup",
"PreviewAsMarkdown",
"PreviewImageAlpha",
"Remove Background",
"ReplaceAlpha",
"Resize Image and Mask by Side",
"Save Folder as ZIP",
@ -14041,7 +14096,10 @@
"https://github.com/NOLABEL-VFX/ComfyUI-NL_Nodes": [
[
"ModelLocalizer",
"ShotPathBuilder"
"NLContextDebug",
"NLRead",
"NLWorkflow",
"NLWrite"
],
{
"title_aux": "ComfyUI-NL_Nodes"
@ -16889,6 +16947,16 @@
"title_aux": "Remove Background"
}
],
"https://github.com/Sean-Bradley/ComfyUI-Sonic": [
[
"SONICSampler",
"SONICTLoader",
"SONIC_PreData"
],
{
"title_aux": "ComfyUI-Sonic"
}
],
"https://github.com/Sean-Bradley/ComfyUI-Video-Reverse": [
[
"VideoReverseNode"
@ -19033,6 +19101,7 @@
"https://github.com/SuzumiyaAkizuki/ComfyUI-LLM_Prompt_XML_Formatter": [
[
"LLM_Prompt_Formatter",
"LLM_Style_Saver",
"LLM_Xml_Style_Injector"
],
{
@ -19372,6 +19441,7 @@
],
"https://github.com/TTPlanetPig/Comfyui_TTP_Toolset": [
[
"LTXVFirstLastFrameControl_TTP",
"TTP_CoordinateSplitter",
"TTP_Expand_And_Mask",
"TTP_Image_Assy",
@ -25929,6 +25999,7 @@
"LoadVideoFromUrlOrPath",
"LoadVideoLoraFromUrlOrPath",
"LoadVideoLoraFromUrlOrPathSelect",
"OpenRouterGeminiImage",
"PasteImageByMask"
],
{
@ -26354,6 +26425,15 @@
"title_aux": "FMJ-speed-Prompt"
}
],
"https://github.com/bulldog68/ComfyUI_FMJ_SaveImageVersions": [
[
"FMJ_LoadImageWithSnapshot",
"FMJ_SaveImageWithSnapshot"
],
{
"title_aux": "FMJ Save Image + Versions"
}
],
"https://github.com/burnsbert/ComfyUI-EBU-LMStudio": [
[
"EbuLMStudioBrainstormer",
@ -27902,6 +27982,7 @@
"LayerMask: MaskEdgeShrink",
"LayerMask: MaskEdgeUltraDetail",
"LayerMask: MaskEdgeUltraDetail V2",
"LayerMask: MaskEdgeUltraDetail V3",
"LayerMask: MaskGradient",
"LayerMask: MaskGrain",
"LayerMask: MaskGrow",
@ -29557,6 +29638,7 @@
"WanMoveTracksFromCoords",
"WanMoveVisualizeTracks",
"WanPhantomSubjectToVideo",
"WanReferenceVideoApi",
"WanSoundImageToVideo",
"WanSoundImageToVideoExtend",
"WanTextToImageApi",
@ -30599,7 +30681,8 @@
"LatentImageAndSeed",
"PromptCameraSelector",
"PromptConstructor",
"PromptLightingSelector"
"PromptLightingSelector",
"TrainingDatasetSaver"
],
{
"title_aux": "ComfyUI-daveand-nodes"
@ -38725,6 +38808,7 @@
"Intrinsic_lora_sampling",
"JoinStringMulti",
"JoinStrings",
"LTXVEnhanceAVideoKJ",
"LatentInpaintTTM",
"LazySwitchKJ",
"LeapfusionHunyuanI2VPatcher",
@ -38801,6 +38885,7 @@
"VAELoaderKJ",
"VRAM_Debug",
"VisualizeCUDAMemoryHistory",
"VisualizeSigmasKJ",
"Wan21BlockLoraSelect",
"WanImageToVideoSVIPro",
"WanVideoEnhanceAVideoKJ",
@ -39544,6 +39629,23 @@
"title_aux": "ComfyUI-KrakenTools"
}
],
"https://github.com/krakenunbound/comfyui-kraken-tools": [
[
"KrakenDualCLIPLoader",
"KrakenImageProcessor",
"KrakenImageResize",
"KrakenKSampler",
"KrakenLastFrameMeta",
"KrakenLoras3",
"KrakenOllamaPromptChat",
"KrakenResolutionHelper",
"KrakenWanHelper",
"kraken_checkpoint_loader"
],
{
"title_aux": "Kraken Tools"
}
],
"https://github.com/krakenunbound/kraken-discord-bot": [
[
"KrakenDiscordBot",
@ -42935,6 +43037,17 @@
"title_aux": "comfy-oiio"
}
],
"https://github.com/mengqin/ComfyUI-TwinFlow": [
[
"TwinFlowKSampler",
"TwinFlowPatcher",
"TwinFlowSampler",
"TwinFlowScheduler"
],
{
"title_aux": "Twinflow Node for ComfyUI"
}
],
"https://github.com/mengqin/ComfyUI-UnetBnbModelLoader": [
[
"UnetBnbModelLoader"
@ -43817,6 +43930,7 @@
"FullPipeIn",
"FullPipeLoader",
"FullPipeOut",
"ImageDifference",
"ImageFileSize",
"LoaderFullPipe",
"MaskDetailerNode",
@ -46425,6 +46539,15 @@
"title_aux": "ComfyUI-PainterImageLoad"
}
],
"https://github.com/princepainter/ComfyUI-PainterLTXV2": [
[
"PainterLTXVtoVideo",
"PainterSamplerLTXV"
],
{
"title_aux": "ComfyUI-PainterLTXV2"
}
],
"https://github.com/princepainter/ComfyUI-PainterLongVideo": [
[
"PainterLongVideo"
@ -49310,6 +49433,14 @@
"title_aux": "shinyakidoguchi301/LoRA Tag Loader for ComfyUI"
}
],
"https://github.com/shmbatom/Comfyui-ImageAB-Compare": [
[
"ImageABCompare"
],
{
"title_aux": "Comfyui-ImageAB-Compare"
}
],
"https://github.com/shobhitic/ComfyUI-PlusMinusTextClip": [
[
"PlusMinusTextClip"
@ -50425,6 +50556,15 @@
"title_aux": "ComfyUI Video Crop"
}
],
"https://github.com/solidlime/Comfyui-Random_Image_Picker": [
[
"RandomImagePicker"
],
{
"nodename_pattern": "RandomImagePicker",
"title_aux": "Random Image Picker"
}
],
"https://github.com/sonnybox/ComfyUI-SuperNodes": [
[
"ImageMaskCrop",
@ -50434,6 +50574,7 @@
"SigmasGraph",
"SigmasRescale",
"SuperCreateTiles",
"SuperResizeImage",
"SuperSVRCalcTiles",
"SuperStitchTiles"
],
@ -54555,6 +54696,14 @@
"title_aux": "ComfyUI Kontext Duo Image Analyzer"
}
],
"https://github.com/yangrui511/ComfyUI-Text-Preserve": [
[
"TextPreserveNode"
],
{
"title_aux": "ComfyUI-Text-Preserve"
}
],
"https://github.com/yanhuifair/comfyui-janus": [
[
"JanusProImageGenerationNode",

View File

@ -370,10 +370,13 @@ try:
pass
with std_log_lock:
if self.is_stdout:
original_stdout.flush()
else:
original_stderr.flush()
try:
if self.is_stdout:
original_stdout.flush()
else:
original_stderr.flush()
except (OSError, ValueError):
pass
def close(self):
self.flush()

View File

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