mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2025-12-23 21:30:49 +08:00
Merge branch 'Comfy-Org:main' into main
This commit is contained in:
commit
4fee08aae4
@ -430,6 +430,16 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "Apply AFFINE noise transforms to latent space to improve image quality, especially with light loras."
|
||||
},
|
||||
{
|
||||
"author": "was",
|
||||
"title": "WAS LMStudio Easy-Query",
|
||||
"reference": "https://github.com/WASasquatch/ComfyUI_LMStudio_EasyQuery",
|
||||
"files": [
|
||||
"https://github.com/WASasquatch/ComfyUI_LMStudio_EasyQuery"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "LM Studio calls with image support and easy task directions."
|
||||
},
|
||||
{
|
||||
"author": "omar92",
|
||||
"title": "Quality of life Suit:V2",
|
||||
@ -20001,6 +20011,16 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "A video transition effects plugin implemented using a Chromium headless browser and Python."
|
||||
},
|
||||
{
|
||||
"author": "yichengup",
|
||||
"title": "ComfyUI-YCNodes_Toolkit",
|
||||
"reference": "https://github.com/yichengup/ComfyUI-YCNodes_Toolkit",
|
||||
"files": [
|
||||
"https://github.com/yichengup/ComfyUI-YCNodes_Toolkit"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI toolkit with custom nodes for BBox canvas visualization, image brush mask drawing, and coordinate annotation for debugging and external data bridging. (Description by CC)"
|
||||
},
|
||||
{
|
||||
"author": "Horizon Team",
|
||||
"title": "ComfyUI_FluxMod",
|
||||
@ -21304,6 +21324,16 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI wrapper nodes for Ruyi, an image-to-video model by CreateAI."
|
||||
},
|
||||
{
|
||||
"author": "IamCreateAI",
|
||||
"title": "ComfyUI-Animon",
|
||||
"reference": "https://github.com/IamCreateAI/ComfyUI-Animon",
|
||||
"files": [
|
||||
"https://github.com/IamCreateAI/ComfyUI-Animon"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI nodes for [Animon Platform](https://platform.animon.ai/), a comprehensive API service offering a variety of image and video generation models."
|
||||
},
|
||||
{
|
||||
"author": "pollockjj",
|
||||
"title": "ComfyUI-MultiGPU",
|
||||
@ -22483,6 +22513,16 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "Fixed implementation of the export workflow image utility from [a/pythongosssss/ComfyUI-Custom-Scripts](https://github.com/pythongosssss/ComfyUI-Custom-Scripts). All nodes should display and all node links should be visible and render 1:1 to their actual states in ComfyUI."
|
||||
},
|
||||
{
|
||||
"author": "fuselayer",
|
||||
"title": "comfyui-lite-tracker",
|
||||
"reference": "https://github.com/fuselayer/comfyui-lite-tracker",
|
||||
"files": [
|
||||
"https://github.com/fuselayer/comfyui-lite-tracker"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI custom nodes for LiteTracker, a fast and efficient point tracking model for videos with load model, track, and grid editor nodes."
|
||||
},
|
||||
{
|
||||
"author": "jerrylongyan",
|
||||
"title": "ComfyUI-My-Mask",
|
||||
@ -28159,9 +28199,9 @@
|
||||
{
|
||||
"author": "GACLove",
|
||||
"title": "ComfyUI-Lightx2vWrapper",
|
||||
"reference": "https://github.com/GACLove/ComfyUI-Lightx2vWrapper",
|
||||
"reference": "https://github.com/ModelTC/ComfyUI-Lightx2vWrapper",
|
||||
"files": [
|
||||
"https://github.com/GACLove/ComfyUI-Lightx2vWrapper"
|
||||
"https://github.com/ModelTC/ComfyUI-Lightx2vWrapper"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI-Lightx2vWrapper is an inference wrapper for Lightx2v designed for use with ComfyUI."
|
||||
@ -29054,36 +29094,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "This is keit's utility nodes."
|
||||
},
|
||||
{
|
||||
"author": "fredconex",
|
||||
"title": "ComfyUI-SoundFlow",
|
||||
"reference": "https://github.com/fredconex/ComfyUI-SoundFlow",
|
||||
"files": [
|
||||
"https://github.com/fredconex/ComfyUI-SoundFlow"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This is a bunch of nodes for ComfyUI to help with sound work."
|
||||
},
|
||||
{
|
||||
"author": "fredconex",
|
||||
"title": "Sync Edit",
|
||||
"reference": "https://github.com/fredconex/ComfyUI-SyncEdit",
|
||||
"files": [
|
||||
"https://github.com/fredconex/ComfyUI-SyncEdit"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This node allow to intercept changes on the input string and choose between use the current one or sync with incoming new one."
|
||||
},
|
||||
{
|
||||
"author": "fredconex",
|
||||
"title": "SongBloom",
|
||||
"reference": "https://github.com/fredconex/ComfyUI-SongBloom",
|
||||
"files": [
|
||||
"https://github.com/fredconex/ComfyUI-SongBloom"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI Nodes for SongBloom"
|
||||
},
|
||||
{
|
||||
"author": "A043-studios",
|
||||
"title": "Pixel3DMM ComfyUI Nodes",
|
||||
@ -30615,10 +30625,10 @@
|
||||
"id": "comfyui-exloadout",
|
||||
"reference": "https://github.com/IsItDanOrAi/ComfyUI-exLoadout",
|
||||
"files": [
|
||||
"https://github.com/IsItDanOrAi/ComfyUI-exLoadout"
|
||||
"https://github.com/IsItDanOrAi/ComfyUI-exLoadout"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Excel spreadsheet-driven ComfyUI nodes that let you load models, values, and workflows based on saved rows in Excel. Great for organizing and switching between CLIPs, VAEs, LoRAs, and more."
|
||||
"install_type": "git-clone",
|
||||
"description": "Excel spreadsheet-driven ComfyUI nodes that let you load models, values, and workflows based on saved rows in Excel. Great for organizing and switching between CLIPs, VAEs, LoRAs, and more."
|
||||
},
|
||||
{
|
||||
"author": "claptrap0",
|
||||
@ -30967,6 +30977,16 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "Extract comprehensive scene properties from 360-degree equirectangular panoramas, including depth, normals, and PBR materials, using OmniX adapters with Flux."
|
||||
},
|
||||
{
|
||||
"author": "cedarconnor",
|
||||
"title": "ComfyUI-DreamCube",
|
||||
"reference": "https://github.com/cedarconnor/ComfyUI-DreamCube",
|
||||
"files": [
|
||||
"https://github.com/cedarconnor/ComfyUI-DreamCube"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "360° panoramic depth estimation with multi-plane synchronization for ComfyUI, featuring equirectangular-cubemap transformations, cross-face consistency, and boundary blending for seamless depth maps."
|
||||
},
|
||||
{
|
||||
"author": "vaishnav-vn",
|
||||
"title": "va1",
|
||||
@ -33501,6 +33521,16 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "A set of ComfyUI nodes for calling the Nano-Banana API , while also supporting the Google API and frankAI API."
|
||||
},
|
||||
{
|
||||
"author": "fr0nky0ng",
|
||||
"title": "ComfyUI-JSON-Prompt",
|
||||
"reference": "https://github.com/fr0nky0ng/ComfyUI-JSON-Prompt",
|
||||
"files": [
|
||||
"https://github.com/fr0nky0ng/ComfyUI-JSON-Prompt"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Custom node for ComfyUI that generates JSON prompts from natural language descriptions to improve text-to-image generation quality. Supports local LLM integration via Ollama or Google Gemini API."
|
||||
},
|
||||
{
|
||||
"author": "Tr1dae",
|
||||
"title": "LoRA Matcher Nodes for ComfyUI",
|
||||
@ -34865,6 +34895,16 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI nodes to use Depth Anything V3 - the latest depth estimation model from ByteDance. For now monocular depth, camera pose estimation and 3D point clouds/gaussians are supported. Models autodownload from HuggingFace (depth-anything org). This is a first draft, let me know if you have any feedback! :)"
|
||||
},
|
||||
{
|
||||
"author": "PozzettiAndrea",
|
||||
"title": "ComfyUI-AnyTop",
|
||||
"reference": "https://github.com/PozzettiAndrea/ComfyUI-AnyTop",
|
||||
"files": [
|
||||
"https://github.com/PozzettiAndrea/ComfyUI-AnyTop"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Standalone ComfyUI custom nodes for AnyTop - Universal Motion Generation for Any Skeleton Topology."
|
||||
},
|
||||
{
|
||||
"author": "rookiestar28",
|
||||
"title": "Danbooru Tags Upsampler for ComfyUI",
|
||||
@ -35009,6 +35049,26 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "Professional ComfyUI nodes for Tencent HunyuanImage-3.0, the 80B parameter native multimodal image generation model. Features: BF16/NF4 loading, multi-GPU support, smart memory management, official prompt enhancement with LLM APIs (DeepSeek/OpenAI/Claude/local), large image generation with CPU offload, organized resolution presets. Requires 24GB+ VRAM for NF4, 80GB+ for BF16."
|
||||
}
|
||||
{
|
||||
"author": "EricRollei",
|
||||
"title": "Comfy_HunyuanImage3",
|
||||
"reference": "https://github.com/EricRollei/Comfy_HunyuanImage3",
|
||||
"files": [
|
||||
"https://github.com/EricRollei/Comfy_HunyuanImage3"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Professional ComfyUI custom nodes for Tencent's HunyuanImage-3.0 80B multimodal model, with multiple loading modes, smart memory management, large image generation with CPU offload, and optional prompt enhancement via LLM APIs."
|
||||
},
|
||||
{
|
||||
"author": "EricRollei",
|
||||
"title": "Eric_Image_Processing_Nodes",
|
||||
"reference": "https://github.com/EricRollei/Eric_Image_Processing_Nodes",
|
||||
"files": [
|
||||
"https://github.com/EricRollei/Eric_Image_Processing_Nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A comprehensive collection of advanced image processing nodes for ComfyUI, featuring state-of-the-art denoising, enhancement, and restoration techniques with GPU acceleration and specialized film grain processing."
|
||||
},
|
||||
{
|
||||
"author": "nomadoor",
|
||||
"title": "ComfyUI Temporal Mask Tools",
|
||||
@ -35451,6 +35511,26 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "Multi-frame reference conditioning nodes for Wan2.2 A14B I2V models."
|
||||
},
|
||||
{
|
||||
"author": "wallen0322",
|
||||
"title": "ComfyUI-TTM-WAN22",
|
||||
"reference": "https://github.com/wallen0322/ComfyUI-TTM-WAN22",
|
||||
"files": [
|
||||
"https://github.com/wallen0322/ComfyUI-TTM-WAN22"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "TTM (Time-to-Move) node for ComfyUI enabling motion-controlled video generation with Wan2.2 models using dual-clock denoising for independent background and object animation control."
|
||||
},
|
||||
{
|
||||
"author": "wallen0322",
|
||||
"title": "ComfyUI-AE-Animation",
|
||||
"reference": "https://github.com/wallen0322/ComfyUI-AE-Animation",
|
||||
"files": [
|
||||
"https://github.com/wallen0322/ComfyUI-AE-Animation"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "After Effects-style animation nodes for ComfyUI with timeline-based keyframe control, layer management, and real-time preview rendering. (Description by CC)"
|
||||
},
|
||||
{
|
||||
"author": "KursatAs",
|
||||
"title": "Comfyui Krs Nodes",
|
||||
@ -36171,6 +36251,16 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "Simple implementation of [a/ByteDance Sa2VA](https://github.com/bytedance/Sa2VA) nodes for ComfyUI."
|
||||
},
|
||||
{
|
||||
"author": "alexjx",
|
||||
"title": "ComfyUI-XJNodes",
|
||||
"reference": "https://github.com/alexjx/ComfyUI-XJNodes",
|
||||
"files": [
|
||||
"https://github.com/alexjx/ComfyUI-XJNodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A modular collection of custom nodes for ComfyUI, organized by data type for easy navigation and maintenance."
|
||||
},
|
||||
{
|
||||
"author": "bowtiedbluefin",
|
||||
"title": "ComfyUI-AI-CustomURL",
|
||||
@ -36617,11 +36707,96 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "Human-in-the-loop image selection tool for ComfyUI workflows using a Flask web server, enabling users to pause workflows and interactively select images via a web browser interface."
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"author": "Devin Garner",
|
||||
"title": "ComfyUI_Make-It-Animatable",
|
||||
"reference": "https://github.com/speige/ComfyUI_Make-It-Animatable",
|
||||
"files": [
|
||||
"https://github.com/speige/ComfyUI_Make-It-Animatable"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Auto-Rigging humanoid 3D meshes for Mixamo animations"
|
||||
},
|
||||
{
|
||||
"author": "hua1995116",
|
||||
"title": "comfyui_goenhance_ffmpeg_wm",
|
||||
"reference": "https://github.com/hua1995116/comfyui_goenhance_ffmpeg_wm",
|
||||
"files": [
|
||||
"https://github.com/hua1995116/comfyui_goenhance_ffmpeg_wm"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI custom node for adding watermarks to videos using FFmpeg, with configurable position, opacity, scale, and hardware acceleration support."
|
||||
},
|
||||
{
|
||||
"author": "dowa-git",
|
||||
"title": "comfyui-dowa",
|
||||
"reference": "https://github.com/dowa-git/comfyui-dowa",
|
||||
"files": [
|
||||
"https://github.com/dowa-git/comfyui-dowa"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Professional navigation bar widget for ComfyUI with JWT-based user authentication, workflow templates, and team collaboration features in a purple gradient design."
|
||||
},
|
||||
{
|
||||
"author": "wzyfromhust",
|
||||
"title": "ComfyUI_SAM2UltraV2",
|
||||
"reference": "https://github.com/wzyfromhust/ComfyUI_SAM2UltraV2",
|
||||
"files": [
|
||||
"https://github.com/wzyfromhust/ComfyUI_SAM2UltraV2"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A fully modular and high-performance implementation of SAM2 (Segment Anything Model 2) for ComfyUI with dual-prompt support, negative point sampling, and upper body segmentation."
|
||||
},
|
||||
{
|
||||
"author": "slahiri",
|
||||
"title": "ComfyUI-AI-Photography-Toolkit",
|
||||
"reference": "https://github.com/slahiri/ComfyUI-AI-Photography-Toolkit",
|
||||
"files": [
|
||||
"https://github.com/slahiri/ComfyUI-AI-Photography-Toolkit"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A collection of AI-powered photography and image generation tools for ComfyUI, featuring the SID_AIPromptGenerator node that uses Anthropic's Claude API to analyze images and generate optimized prompts for various image generation models."
|
||||
},
|
||||
{
|
||||
"author": "neonr0",
|
||||
"title": "ComfyUI-PixelConstrainedScaler",
|
||||
"reference": "https://github.com/neonr-0/ComfyUI-PixelConstrainedScaler",
|
||||
"files": [
|
||||
"https://github.com/neonr-0/ComfyUI-PixelConstrainedScaler"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Smart upscaling with pixel-budget awareness while preserving native aspect ratios. Ideal for Image to Image (I2I) and Image to Video (I2V) workflows!"
|
||||
},
|
||||
{
|
||||
"author": "swan7-py",
|
||||
"title": "ComfyUI-ImageAlphaCrop",
|
||||
"reference": "https://github.com/swan7-py/ComfyUI-ImageAlphaCrop",
|
||||
"files": [
|
||||
"https://github.com/swan7-py/ComfyUI-ImageAlphaCrop"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI plugin for automatically cropping transparent alpha channel borders from images - ideal for processing logos and icons. Supports batch processing with adjustable padding and alpha threshold. (Description by CC)"
|
||||
},
|
||||
{
|
||||
"author": "huyl3-cpu",
|
||||
"title": "comfyui-huyl2-nodes",
|
||||
"reference": "https://github.com/huyl3-cpu/comfyui-sortlist",
|
||||
"files": [
|
||||
"https://github.com/huyl3-cpu/comfyui-sortlist"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Custom utility nodes for ComfyUI by huyl2 (sort list v2, etc.)"
|
||||
},
|
||||
{
|
||||
"author": "7BEII",
|
||||
"title": "comfyui-PD_comfy-api-node",
|
||||
"reference": "https://github.com/7BEII/comfyui-PD_comfy-api-node",
|
||||
"files": [
|
||||
"https://github.com/7BEII/comfyui-PD_comfy-api-node"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI custom node suite integrating multiple AI image generation APIs (Gemini, Flux.1 Kontext Pro) with unified authentication via ComfyUI API Key and real-time cost tracking. (Description by CC)"
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
@ -381,12 +381,14 @@
|
||||
"1hew_AnyEmptyInt",
|
||||
"1hew_AnySwitchBool",
|
||||
"1hew_AnySwitchInt",
|
||||
"1hew_AudioDuration",
|
||||
"1hew_DetectGuideLine",
|
||||
"1hew_DetectYolo",
|
||||
"1hew_ImageAddLabel",
|
||||
"1hew_ImageBBoxOverlayByMask",
|
||||
"1hew_ImageBatchExtract",
|
||||
"1hew_ImageBatchGroup",
|
||||
"1hew_ImageBatchRange",
|
||||
"1hew_ImageBatchSplit",
|
||||
"1hew_ImageBatchToList",
|
||||
"1hew_ImageBlendModeByAlpha",
|
||||
@ -395,29 +397,30 @@
|
||||
"1hew_ImageCropWithBBoxMask",
|
||||
"1hew_ImageEdgeCropPad",
|
||||
"1hew_ImageEditStitch",
|
||||
"1hew_ImageGetSize",
|
||||
"1hew_ImageGridSplit",
|
||||
"1hew_ImageHLFreqCombine",
|
||||
"1hew_ImageHLFreqSeparate",
|
||||
"1hew_ImageHLFreqTransform",
|
||||
"1hew_ImageListAppend",
|
||||
"1hew_ImageListToBatch",
|
||||
"1hew_ImageMainStitch",
|
||||
"1hew_ImageMaskBlend",
|
||||
"1hew_ImageMaskCrop",
|
||||
"1hew_ImagePasteByBBoxMask",
|
||||
"1hew_ImagePingPong",
|
||||
"1hew_ImagePlot",
|
||||
"1hew_ImageResizeFluxKontext",
|
||||
"1hew_ImageResizeQwenImage",
|
||||
"1hew_ImageResizeUniversal",
|
||||
"1hew_ImageRotateWithMask",
|
||||
"1hew_ImageSolid",
|
||||
"1hew_ImageSolidFluxKontext",
|
||||
"1hew_ImageSolidQwenImage",
|
||||
"1hew_ImageStrokeByMask",
|
||||
"1hew_ImageThreeStitch",
|
||||
"1hew_ImageTileMerge",
|
||||
"1hew_ImageTileSplit",
|
||||
"1hew_ImageTileSplitPreset",
|
||||
"1hew_IntImageSideLength",
|
||||
"1hew_IntImageSize",
|
||||
"1hew_IntMaskSideLength",
|
||||
"1hew_IntSplit",
|
||||
"1hew_IntWan",
|
||||
"1hew_ListCustomFloat",
|
||||
@ -425,6 +428,7 @@
|
||||
"1hew_ListCustomSeed",
|
||||
"1hew_ListCustomString",
|
||||
"1hew_MaskBatchMathOps",
|
||||
"1hew_MaskBatchRange",
|
||||
"1hew_MaskBatchSplit",
|
||||
"1hew_MaskBatchToList",
|
||||
"1hew_MaskCropByBBoxMask",
|
||||
@ -437,13 +441,15 @@
|
||||
"1hew_MultiMaskBatch",
|
||||
"1hew_MultiStringJoin",
|
||||
"1hew_RangeMapping",
|
||||
"1hew_SaveVideo",
|
||||
"1hew_SaveVideoRGBA",
|
||||
"1hew_StringCoordinateToBBoxMask",
|
||||
"1hew_StringCoordinateToBBoxes",
|
||||
"1hew_StringFilter",
|
||||
"1hew_StringJoinMulti",
|
||||
"1hew_TextCustomExtract",
|
||||
"1hew_TextEncodeQwenImageEditKeepSize",
|
||||
"1hew_TextFilter",
|
||||
"1hew_TextJoinByTextList",
|
||||
"1hew_TextJoinMulti",
|
||||
"1hew_TextListToString",
|
||||
"1hew_TextPrefixSuffix",
|
||||
"1hew_URLToVideo",
|
||||
"1hew_VideoCutGroup",
|
||||
@ -659,6 +665,16 @@
|
||||
"title_aux": "Comflowy's Custom Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/7BEII/comfyui-PD_comfy-api-node": [
|
||||
[
|
||||
"PDFluxKontextProOfficial",
|
||||
"PDGeminiImageGenComfyKey",
|
||||
"PDOpenAIGPTImageKey"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui-PD_comfy-api-node"
|
||||
}
|
||||
],
|
||||
"https://github.com/807502278/ComfyUI-3D-MeshTool": [
|
||||
[
|
||||
"Auto_Normal",
|
||||
@ -4553,6 +4569,54 @@
|
||||
"title_aux": "JH Misc. Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/ComfyUI-WanVideoWrapper/QQ.copied": [
|
||||
[
|
||||
"ImageBlend_GPU",
|
||||
"ImageRadialZoomBlur_GPU",
|
||||
"LoraExtractKJv2",
|
||||
"PowerLoraLoaderV2",
|
||||
"VideoMergeABC",
|
||||
"WanScaleAB",
|
||||
"WanVideoCacheSamples",
|
||||
"WanVideoCacheVideos",
|
||||
"WanVideoEmptyEmbeds_v2",
|
||||
"WanVideoFlowmapDistortion",
|
||||
"WanVideoImageToVideoEncode_v2",
|
||||
"WanVideoMotionToFlowmap",
|
||||
"WanVideoPowerLoraLoader"
|
||||
],
|
||||
{}
|
||||
],
|
||||
"https://github.com/ComfyUI/Eagleshadow": [
|
||||
[
|
||||
"Batch 12 Images",
|
||||
"Detect Transparency",
|
||||
"Fix Checkpoint Name",
|
||||
"ImageLinearGammaCompositeMasked",
|
||||
"KSampler Same Noise",
|
||||
"MaskGlow",
|
||||
"OffsetImage",
|
||||
"Round Float to String",
|
||||
"SaveImageToFolder",
|
||||
"Select ControlNet",
|
||||
"Select Model 20",
|
||||
"Simple Load Image Batch"
|
||||
],
|
||||
{}
|
||||
],
|
||||
"https://github.com/ComfyUI/SequentialGroupController": [
|
||||
[
|
||||
"SequentialGroupController",
|
||||
"SequentialGroupControllerV2"
|
||||
],
|
||||
{}
|
||||
],
|
||||
"https://github.com/ComfyUI/subjectselector": [
|
||||
[
|
||||
"ComfyUI_subjectselector"
|
||||
],
|
||||
{}
|
||||
],
|
||||
"https://github.com/ComplexRobot/ComfyUI-Simple-VFI": [
|
||||
[
|
||||
"Simple_Frame_Interpolation"
|
||||
@ -5672,8 +5736,10 @@
|
||||
"BoyoImageGrab",
|
||||
"BoyoIncontextSaver",
|
||||
"BoyoLoRAConfigInspector",
|
||||
"BoyoLoRAConfigProcessor",
|
||||
"BoyoLoRAJSONBuilder",
|
||||
"BoyoLoRAPairedLoader",
|
||||
"BoyoLoRAPathForwarder",
|
||||
"BoyoLoadImageList",
|
||||
"BoyoLoopCollector",
|
||||
"BoyoLoopImageSaver",
|
||||
@ -6085,6 +6151,79 @@
|
||||
"title_aux": "ComfyUI-EreNodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/EricRollei/Comfy_HunyuanImage3": [
|
||||
[
|
||||
"HunyuanImage3FullGPULoader",
|
||||
"HunyuanImage3FullLoader",
|
||||
"HunyuanImage3Generate",
|
||||
"HunyuanImage3GenerateLarge",
|
||||
"HunyuanImage3QuantizedLoader",
|
||||
"HunyuanImage3Unload"
|
||||
],
|
||||
{
|
||||
"title_aux": "Comfy_HunyuanImage3"
|
||||
}
|
||||
],
|
||||
"https://github.com/EricRollei/Eric_Image_Processing_Nodes": [
|
||||
[
|
||||
"AdaptiveFrequencyFilter",
|
||||
"AdaptiveImageEnhancement",
|
||||
"AdvancedFilmGrainNode",
|
||||
"AutoDenoiseComparisonNode",
|
||||
"AutoDenoiseNode",
|
||||
"BM3D Film Grain Denoising",
|
||||
"BM3DComparisonNode",
|
||||
"BM3DDeblurNode",
|
||||
"BM3DDenoiseNode",
|
||||
"BatchImageProcessing",
|
||||
"ComprehensiveComparison",
|
||||
"DeepImagePriorNode",
|
||||
"DiffBIRRestorationNode",
|
||||
"DnCNNDenoiseNode",
|
||||
"FGANNFilmGrainDenoiseNode",
|
||||
"FilmGrainAnalysis",
|
||||
"FilmGrainAnalysisNode",
|
||||
"FilmGrainProcessing",
|
||||
"FrequencyEnhancementPresets",
|
||||
"GPUWaveletDenoiseNode",
|
||||
"HomomorphicFilter",
|
||||
"ImageQualityAssessment",
|
||||
"LB-CLAHE",
|
||||
"LightweightCNNDenoiseNode",
|
||||
"MemoryOptimization",
|
||||
"Multi-Scale Retinex",
|
||||
"MultiscaleFFTEnhancement",
|
||||
"NAFNetDenoiseNode",
|
||||
"Noise2VoidNode",
|
||||
"NoiseDABatchNode",
|
||||
"NoiseDANode",
|
||||
"NonLocalMeans",
|
||||
"NonLocalMeansSimple",
|
||||
"PhasePreservingEnhancement",
|
||||
"ProfessionalRestorationPipeline",
|
||||
"RealBM3DDeblurNode",
|
||||
"RealBM3DNode",
|
||||
"RestormerRestorationNode",
|
||||
"RichardsonLucy",
|
||||
"RichardsonLucyGPU",
|
||||
"RichardsonLucySimple",
|
||||
"SCUNetBatchRestoration",
|
||||
"SCUNetRestoration",
|
||||
"Smart Sharpening",
|
||||
"SmartWorkflowNode",
|
||||
"StationaryWaveletDenoise",
|
||||
"SwinIRBatch",
|
||||
"SwinIRRestoration",
|
||||
"SwinIRSharpnessBoostNode",
|
||||
"WaveletDenoise",
|
||||
"WienerFilter",
|
||||
"WienerFilterCompare",
|
||||
"WienerFilterSNR"
|
||||
],
|
||||
{
|
||||
"title_aux": "Eric_Image_Processing_Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/EricRollei/Local_LLM_Prompt_Enhancer": [
|
||||
[
|
||||
"EricImageToImagePromptExpander",
|
||||
@ -7089,26 +7228,6 @@
|
||||
"title_aux": "ComfyUI-SD3-Powerlab"
|
||||
}
|
||||
],
|
||||
"https://github.com/GACLove/ComfyUI-Lightx2vWrapper": [
|
||||
[
|
||||
"LightX2VConfigCombiner",
|
||||
"LightX2VConfigCombinerV2",
|
||||
"LightX2VInferenceConfig",
|
||||
"LightX2VLoRALoader",
|
||||
"LightX2VMemoryOptimization",
|
||||
"LightX2VModularInference",
|
||||
"LightX2VModularInferenceV2",
|
||||
"LightX2VQuantization",
|
||||
"LightX2VTalkObjectInput",
|
||||
"LightX2VTalkObjectsCombiner",
|
||||
"LightX2VTalkObjectsFromFiles",
|
||||
"LightX2VTalkObjectsFromJSON",
|
||||
"LightX2VTeaCache"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Lightx2vWrapper"
|
||||
}
|
||||
],
|
||||
"https://github.com/GACLove/ComfyUI-VFI": [
|
||||
[
|
||||
"CalculateLoadedFPS",
|
||||
@ -7898,9 +8017,8 @@
|
||||
],
|
||||
"https://github.com/Haoming02/comfyui-diffusion-cg": [
|
||||
[
|
||||
"Normalization",
|
||||
"Recenter",
|
||||
"Recenter XL"
|
||||
"Diffusion CG",
|
||||
"Disable CG"
|
||||
],
|
||||
{
|
||||
"title_aux": "Diffusion CG"
|
||||
@ -7916,7 +8034,7 @@
|
||||
],
|
||||
"https://github.com/Haoming02/comfyui-resharpen": [
|
||||
[
|
||||
"Resharpen"
|
||||
"ReSharpen"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI ReSharpen"
|
||||
@ -8149,7 +8267,9 @@
|
||||
"https://github.com/IAMCCS/IAMCCS-nodes": [
|
||||
[
|
||||
"IAMCCS_ModelWithLoRA",
|
||||
"IAMCCS_WanLoRAStack"
|
||||
"IAMCCS_WanLoRAStack",
|
||||
"IAMCCS_WanLoRAStackModelIO",
|
||||
"IAMCCS_qwenloraloader"
|
||||
],
|
||||
{
|
||||
"title_aux": "IAMCCS-nodes"
|
||||
@ -8273,6 +8393,22 @@
|
||||
"title_aux": "ComfyUI-VideoDescription"
|
||||
}
|
||||
],
|
||||
"https://github.com/IamCreateAI/ComfyUI-Animon": [
|
||||
[
|
||||
"AnimonImageToVideoNode",
|
||||
"AnimonKeyNode",
|
||||
"AnimonStartEndToVideoNode",
|
||||
"AnimonUploadImageFromFileNode",
|
||||
"AnimonUploadImageFromTensorNode",
|
||||
"AnimonUploadVideoFromBytesNode",
|
||||
"AnimonUploadVideoFromFileNode",
|
||||
"AnimonUploadVideoFromTensorNode",
|
||||
"AnimonUpscaleVideoNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Animon"
|
||||
}
|
||||
],
|
||||
"https://github.com/IamCreateAI/Ruyi-Models": [
|
||||
[
|
||||
"Ruyi_EnhanceAVideo",
|
||||
@ -11264,6 +11400,12 @@
|
||||
"title_aux": "ComfyUI-OneForOne"
|
||||
}
|
||||
],
|
||||
"https://github.com/MergeBlockWeighted/fo_ComfyUI": [
|
||||
[
|
||||
"MergeBlockWeighted"
|
||||
],
|
||||
{}
|
||||
],
|
||||
"https://github.com/MetaGLM/ComfyUI-ZhipuAI-Platform": [
|
||||
[
|
||||
"VideoReportData",
|
||||
@ -11446,6 +11588,26 @@
|
||||
"title_aux": "ComfyUI-LightVAE"
|
||||
}
|
||||
],
|
||||
"https://github.com/ModelTC/ComfyUI-Lightx2vWrapper": [
|
||||
[
|
||||
"LightX2VConfigCombiner",
|
||||
"LightX2VConfigCombinerV2",
|
||||
"LightX2VInferenceConfig",
|
||||
"LightX2VLoRALoader",
|
||||
"LightX2VMemoryOptimization",
|
||||
"LightX2VModularInference",
|
||||
"LightX2VModularInferenceV2",
|
||||
"LightX2VQuantization",
|
||||
"LightX2VTalkObjectInput",
|
||||
"LightX2VTalkObjectsCombiner",
|
||||
"LightX2VTalkObjectsFromFiles",
|
||||
"LightX2VTalkObjectsFromJSON",
|
||||
"LightX2VTeaCache"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Lightx2vWrapper"
|
||||
}
|
||||
],
|
||||
"https://github.com/MohammadAboulEla/ComfyUI-iTools": [
|
||||
[
|
||||
"iToolsAddOverlay",
|
||||
@ -12812,6 +12974,18 @@
|
||||
"title_aux": "ComfyUI-AdvancedLivePortrait"
|
||||
}
|
||||
],
|
||||
"https://github.com/PozzettiAndrea/ComfyUI-AnyTop": [
|
||||
[
|
||||
"AnyTopConditionLoader",
|
||||
"AnyTopExportBVH",
|
||||
"AnyTopGenerateMotion",
|
||||
"AnyTopMotionPreview",
|
||||
"DownLoadAnyTopModel"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-AnyTop"
|
||||
}
|
||||
],
|
||||
"https://github.com/PozzettiAndrea/ComfyUI-DepthAnythingV3": [
|
||||
[
|
||||
"DA3_CreateCameraParams",
|
||||
@ -12822,11 +12996,11 @@
|
||||
"DA3_Save3DGaussians",
|
||||
"DA3_SavePointCloud",
|
||||
"DA3_To3DGaussians",
|
||||
"DA3_ToMesh",
|
||||
"DA3_ToPointCloud",
|
||||
"DepthAnythingV3_3D",
|
||||
"DepthAnythingV3_Advanced",
|
||||
"DepthAnythingV3_MultiView",
|
||||
"DepthAnythingV3_MultiView_3D",
|
||||
"DepthAnything_V3",
|
||||
"DownloadAndLoadDepthAnythingV3Model"
|
||||
],
|
||||
@ -12836,22 +13010,21 @@
|
||||
],
|
||||
"https://github.com/PozzettiAndrea/ComfyUI-GeometryPack": [
|
||||
[
|
||||
"GeomPackBlenderRemeshWithTexture",
|
||||
"GeomPackAppendMesh",
|
||||
"GeomPackBlenderUV",
|
||||
"GeomPackBooleanOp",
|
||||
"GeomPackCheckNormals",
|
||||
"GeomPackCombineMeshes",
|
||||
"GeomPackCombineMeshesWeighted",
|
||||
"GeomPackComputeNormals",
|
||||
"GeomPackComputeSDF",
|
||||
"GeomPackCreatePrimitive",
|
||||
"GeomPackDetectSelfIntersections",
|
||||
"GeomPackExampleNode",
|
||||
"GeomPackExtractSkeleton",
|
||||
"GeomPackFillHoles",
|
||||
"GeomPackFilterComponents",
|
||||
"GeomPackFixIntersectionsByPerturbation",
|
||||
"GeomPackFixIntersectionsByRemoval",
|
||||
"GeomPackFixNormals",
|
||||
"GeomPackFixSelfIntersectionsByPerturbation",
|
||||
"GeomPackFixSelfIntersectionsByRemoval",
|
||||
"GeomPackLibiglARAP",
|
||||
"GeomPackLibiglHarmonic",
|
||||
"GeomPackLibiglLSCM",
|
||||
@ -12859,30 +13032,32 @@
|
||||
"GeomPackLoadMeshBatch",
|
||||
"GeomPackLoadMeshBlend",
|
||||
"GeomPackLoadMeshFBX",
|
||||
"GeomPackMarkBoundaryEdges",
|
||||
"GeomPackMeshDistance",
|
||||
"GeomPackMeshFromSkeleton",
|
||||
"GeomPackMeshInfo",
|
||||
"GeomPackMeshQuality",
|
||||
"GeomPackMeshToMeshDistance",
|
||||
"GeomPackMeshToPointCloud",
|
||||
"GeomPackPreviewBoundingBoxesVTK",
|
||||
"GeomPackPointCloudToMesh",
|
||||
"GeomPackPointToMeshDistance",
|
||||
"GeomPackPreviewMesh",
|
||||
"GeomPackPreviewMeshUV",
|
||||
"GeomPackPreviewMeshVTK",
|
||||
"GeomPackPreviewMeshVTKFields",
|
||||
"GeomPackPreviewMeshVTKFilters",
|
||||
"GeomPackPreviewMeshVTKHidableMenu",
|
||||
"GeomPackPreviewMeshVTKTextured",
|
||||
"GeomPackPreviewMeshVTKEdges",
|
||||
"GeomPackPreviewMeshVTKPointCloud",
|
||||
"GeomPackPreviewMeshVTKSplit",
|
||||
"GeomPackPreviewMeshVTKWithNormals",
|
||||
"GeomPackPreviewMeshVTKWithTexture",
|
||||
"GeomPackReconstructSurface",
|
||||
"GeomPackRefineMesh",
|
||||
"GeomPackRemesh",
|
||||
"GeomPackRemeshSelfIntersections",
|
||||
"GeomPackRemeshUV",
|
||||
"GeomPackSaveMesh",
|
||||
"GeomPackSkeletonToLines",
|
||||
"GeomPackSkeletonToMesh",
|
||||
"GeomPackSplitComponents",
|
||||
"GeomPackStripMeshAdjacency",
|
||||
"GeomPackTransform",
|
||||
"GeomPackVisualizeNormals",
|
||||
"GeomPackXAtlasRemeshWithTexture",
|
||||
"GeomPackTextureToGeometry",
|
||||
"GeomPackTransformMesh",
|
||||
"GeomPackUVUnwrap",
|
||||
"GeomPackVisualizeNormalField",
|
||||
"GeomPackVisualizeSkeleton",
|
||||
"GeomPackXAtlasUVUnwrap"
|
||||
],
|
||||
{
|
||||
@ -13626,6 +13801,7 @@
|
||||
],
|
||||
"https://github.com/S4MUEL-404/ComfyUI-PromptsO": [
|
||||
[
|
||||
"\ud83d\udc80S4AnyToString",
|
||||
"\ud83d\udc80S4ImageWithGemini",
|
||||
"\ud83d\udc80S4ImageWithGrok",
|
||||
"\ud83d\udc80S4PromptsCombine",
|
||||
@ -14370,7 +14546,8 @@
|
||||
[
|
||||
"Simple Readable Metadata Text Viewer-SG",
|
||||
"SimpleReadableMetadataMAXSG",
|
||||
"SimpleReadableMetadataSG"
|
||||
"SimpleReadableMetadataSG",
|
||||
"SimpleReadableMetadataSaveTextSG"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Simple_Readable_Metadata-SG"
|
||||
@ -17292,6 +17469,21 @@
|
||||
"title_aux": "ControlFlowUtils"
|
||||
}
|
||||
],
|
||||
"https://github.com/WASasquatch/ComfyUI_LMStudio_EasyQuery": [
|
||||
[
|
||||
"WASLMStudioCaption",
|
||||
"WASLMStudioCaptionDataset",
|
||||
"WASLMStudioCaptionDatasetCustom",
|
||||
"WASLMStudioChat",
|
||||
"WASLMStudioModel",
|
||||
"WASLMStudioOptions",
|
||||
"WASLMStudioQuery",
|
||||
"WASLoadImageDirectory"
|
||||
],
|
||||
{
|
||||
"title_aux": "WAS LMStudio Easy-Query"
|
||||
}
|
||||
],
|
||||
"https://github.com/WASasquatch/ComfyUI_Preset_Merger": [
|
||||
[
|
||||
"Preset_Model_Merge"
|
||||
@ -18021,12 +18213,14 @@
|
||||
"ApplyStyleModelEnhanced",
|
||||
"ApplyStyleModelSimple",
|
||||
"BatchImagesNode",
|
||||
"FrameCalculator",
|
||||
"FrameCalculatorAudio",
|
||||
"FrameCalculatorVideo",
|
||||
"GetResolutionImage",
|
||||
"InpaintConditioningNode",
|
||||
"InpaintFluxKontextConditioning",
|
||||
"Prepimg2Vid",
|
||||
"RemoveBackgroundNode",
|
||||
"ShowAnyDataType",
|
||||
"StitchImages",
|
||||
"StitchImagesAndMask",
|
||||
"TextFieldNode",
|
||||
@ -19995,6 +20189,39 @@
|
||||
"title_aux": "ComfyUI-Sa2VA-XJ"
|
||||
}
|
||||
],
|
||||
"https://github.com/alexjx/ComfyUI-XJNodes": [
|
||||
[
|
||||
"XJFloatRangeList",
|
||||
"XJImageGrid",
|
||||
"XJImageListFilter",
|
||||
"XJImageRandomTransform",
|
||||
"XJImageScaleCalc",
|
||||
"XJImageScaleMegapixel",
|
||||
"XJImageTransform",
|
||||
"XJIntOffset",
|
||||
"XJIntegerDecrement",
|
||||
"XJIntegerIncrement",
|
||||
"XJJSONExtractor",
|
||||
"XJLoadImageByPath",
|
||||
"XJLoadImageWithMetadata",
|
||||
"XJLoadImagesFromDirBatch",
|
||||
"XJLoadImagesFromDirList",
|
||||
"XJOneImageFromBatch",
|
||||
"XJRandomImagesFromBatch",
|
||||
"XJRandomTextFromFile",
|
||||
"XJRandomTextFromList",
|
||||
"XJSamplerAdapter",
|
||||
"XJSaveImageWithMetadata",
|
||||
"XJSchedulerAdapter",
|
||||
"XJStringPass",
|
||||
"XJSupirParameters",
|
||||
"XJTextFileInfo",
|
||||
"XJTextListFromFile"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-XJNodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/alibof96/ComfyUI-DownscaleIRN": [
|
||||
[
|
||||
"IRNDownscale"
|
||||
@ -22883,6 +23110,28 @@
|
||||
"title_aux": "ComfyUI-DiT360"
|
||||
}
|
||||
],
|
||||
"https://github.com/cedarconnor/ComfyUI-DreamCube": [
|
||||
[
|
||||
"ApplyDepthToCubemapFace",
|
||||
"BatchCubemapDepth",
|
||||
"CreateEmptyCubemap",
|
||||
"CubemapInfo",
|
||||
"CubemapPreview",
|
||||
"CubemapSeamValidator",
|
||||
"CubemapToEquirect",
|
||||
"EnforceDepthConsistency",
|
||||
"EquirectToCubemap",
|
||||
"ExtractCubemapFace",
|
||||
"ExtractDepthChannel",
|
||||
"InsertCubemapFace",
|
||||
"MergeCubemapDepth",
|
||||
"NormalizeCubemapDepth",
|
||||
"SmoothCubemapDepth"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-DreamCube"
|
||||
}
|
||||
],
|
||||
"https://github.com/cedarconnor/ComfyUI-OmniX": [
|
||||
[
|
||||
"OmniX_PanoPerception_Depth",
|
||||
@ -25277,7 +25526,8 @@
|
||||
"WanVaceToVideo",
|
||||
"WebcamCapture",
|
||||
"unCLIPCheckpointLoader",
|
||||
"unCLIPConditioning"
|
||||
"unCLIPConditioning",
|
||||
"wanBlockSwap"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI"
|
||||
@ -26855,6 +27105,14 @@
|
||||
"title_aux": "ComfyUI Deadline Submission"
|
||||
}
|
||||
],
|
||||
"https://github.com/dowa-git/comfyui-dowa": [
|
||||
[
|
||||
"DowaNavigationNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui-dowa"
|
||||
}
|
||||
],
|
||||
"https://github.com/downlifted/ComfyUI_GROQ-PromptWizard": [
|
||||
[
|
||||
"GroqAudioProcessor",
|
||||
@ -28606,6 +28864,7 @@
|
||||
[
|
||||
"OnDemandCLIPLoader",
|
||||
"OnDemandCheckpointLoader",
|
||||
"OnDemandCivitaiLikedLoraLoader",
|
||||
"OnDemandControlNetLoader",
|
||||
"OnDemandGGUFLoader",
|
||||
"OnDemandLoraLoader",
|
||||
@ -28646,42 +28905,6 @@
|
||||
"title_aux": "ComfyUI_llm_easyanimiate"
|
||||
}
|
||||
],
|
||||
"https://github.com/fredconex/ComfyUI-SongBloom": [
|
||||
[
|
||||
"SongBloomGenerate",
|
||||
"SongBloomModelLoader"
|
||||
],
|
||||
{
|
||||
"title_aux": "SongBloom"
|
||||
}
|
||||
],
|
||||
"https://github.com/fredconex/ComfyUI-SoundFlow": [
|
||||
[
|
||||
"SoundFlow_Concatenator",
|
||||
"SoundFlow_DuckCompressor",
|
||||
"SoundFlow_Equalizer",
|
||||
"SoundFlow_Fade",
|
||||
"SoundFlow_GainPitchControl",
|
||||
"SoundFlow_GetLength",
|
||||
"SoundFlow_Mixer",
|
||||
"SoundFlow_PreviewAudio",
|
||||
"SoundFlow_SetLength",
|
||||
"SoundFlow_SilenceTrimmer",
|
||||
"SoundFlow_SimpleCompressor",
|
||||
"SoundFlow_TrimAudio"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-SoundFlow"
|
||||
}
|
||||
],
|
||||
"https://github.com/fredconex/ComfyUI-SyncEdit": [
|
||||
[
|
||||
"SyncTextEditor"
|
||||
],
|
||||
{
|
||||
"title_aux": "Sync Edit"
|
||||
}
|
||||
],
|
||||
"https://github.com/fredhopp/comfyui-flipflopnodes": [
|
||||
[
|
||||
"FF Group Positioner",
|
||||
@ -28769,6 +28992,16 @@
|
||||
"title_aux": "ComfyUI_pose_inter"
|
||||
}
|
||||
],
|
||||
"https://github.com/fuselayer/comfyui-lite-tracker": [
|
||||
[
|
||||
"LiteTracker_LoadModel",
|
||||
"LiteTracker_Track",
|
||||
"RectEditor"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui-lite-tracker"
|
||||
}
|
||||
],
|
||||
"https://github.com/fuselayer/comfyui-mosaic-blur": [
|
||||
[
|
||||
"ImageMosaic"
|
||||
@ -28914,6 +29147,7 @@
|
||||
"PerturbedAttentionDelta",
|
||||
"PromptShuffler",
|
||||
"QuantileMatchScaling",
|
||||
"ReflectionPadding",
|
||||
"SADAInfo",
|
||||
"SADAModelPatch",
|
||||
"SDXL_LoRA_BlockSlider_Loader",
|
||||
@ -29287,6 +29521,9 @@
|
||||
"HunyuanVideoLoraTrainer_fal",
|
||||
"Ideogramv3_fal",
|
||||
"Imagen4Preview_fal",
|
||||
"InfinityStarTextToVideo_fal",
|
||||
"Kling21Pro_fal",
|
||||
"Kling25TurboPro_fal",
|
||||
"KlingMaster_fal",
|
||||
"KlingPro10_fal",
|
||||
"KlingPro16_fal",
|
||||
@ -29301,6 +29538,7 @@
|
||||
"MiniMax_fal",
|
||||
"NanoBananaEdit_fal",
|
||||
"NanoBananaTextToImage_fal",
|
||||
"PixverseSwapNode_fal",
|
||||
"QwenImageEdit_fal",
|
||||
"Recraft_fal",
|
||||
"ReveTextToImage_fal",
|
||||
@ -29312,12 +29550,15 @@
|
||||
"SeedreamV4Edit_fal",
|
||||
"Seedvr_Upscale_Video_fal",
|
||||
"Seedvr_Upscaler_fal",
|
||||
"Sora2Pro_fal",
|
||||
"Topaz_Upscale_Video_fal",
|
||||
"UploadFile_fal",
|
||||
"UploadVideo_fal",
|
||||
"Upscaler_fal",
|
||||
"VLM_fal",
|
||||
"Veo2ImageToVideo_fal",
|
||||
"Veo31Fast_fal",
|
||||
"Veo31_fal",
|
||||
"Veo3_fal",
|
||||
"VideoUpscaler_fal",
|
||||
"Wan2214b_animate_move_character_fal",
|
||||
@ -30358,6 +30599,7 @@
|
||||
"WWAA_PromptWriter",
|
||||
"WWAA_SearchReplaceMulti",
|
||||
"WWAA_SearchReplaceText",
|
||||
"WWAA_SlicedArt",
|
||||
"WWAA_Switch_Int",
|
||||
"WWAA_VideoResolution"
|
||||
],
|
||||
@ -30462,6 +30704,14 @@
|
||||
"title_aux": "ComfyUI-MusePose-Remaster"
|
||||
}
|
||||
],
|
||||
"https://github.com/hua1995116/comfyui_goenhance_ffmpeg_wm": [
|
||||
[
|
||||
"GOENHANCE_FFmpegWatermark"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui_goenhance_ffmpeg_wm"
|
||||
}
|
||||
],
|
||||
"https://github.com/huagetai/ComfyUI-Gaffer": [
|
||||
[
|
||||
"ApplyICLight",
|
||||
@ -30673,6 +30923,15 @@
|
||||
"title_aux": "ComfyUI Text Remove Node"
|
||||
}
|
||||
],
|
||||
"https://github.com/huyl3-cpu/comfyui-sortlist": [
|
||||
[
|
||||
"sort_list_string",
|
||||
"video_dir_combiner"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui-huyl2-nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/hvppycoding/comfyui-json-prompt-renderer": [
|
||||
[
|
||||
"ExtractJSON",
|
||||
@ -30702,6 +30961,7 @@
|
||||
],
|
||||
"https://github.com/hw5511/comfyui_hf_upscaler_loader": [
|
||||
[
|
||||
"GGUFModelLoaderFromHF",
|
||||
"UpscaleModelLoaderFromHF"
|
||||
],
|
||||
{
|
||||
@ -31185,6 +31445,7 @@
|
||||
"IG1AspectRatioProperties",
|
||||
"IG1FluxReport",
|
||||
"IG1ImageSelector",
|
||||
"IG1LoadImage",
|
||||
"IG1QwenImageNativesResolutions",
|
||||
"IG1Resolution",
|
||||
"IG1ResolutionAdvisor",
|
||||
@ -37607,7 +37868,8 @@
|
||||
],
|
||||
"https://github.com/mercu-lore/-Multiple-Angle-Camera-Control": [
|
||||
[
|
||||
"CameraControlPromptNode"
|
||||
"CameraControlPromptNode",
|
||||
"RelightingPromptNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "Multiple-Angle-Camera-Control"
|
||||
@ -38548,6 +38810,14 @@
|
||||
"title_aux": "comfyui-usetaesd"
|
||||
}
|
||||
],
|
||||
"https://github.com/neonr-0/ComfyUI-PixelConstrainedScaler": [
|
||||
[
|
||||
"PixelConstrainedScaler"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-PixelConstrainedScaler"
|
||||
}
|
||||
],
|
||||
"https://github.com/neph1/comfyui-smooth-step-lora-loader": [
|
||||
[
|
||||
"Smooth_Step_Lora_Loader"
|
||||
@ -43421,6 +43691,14 @@
|
||||
"title_aux": "Skycoder Tools"
|
||||
}
|
||||
],
|
||||
"https://github.com/slahiri/ComfyUI-AI-Photography-Toolkit": [
|
||||
[
|
||||
"SID_AIPromptGenerator"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-AI-Photography-Toolkit"
|
||||
}
|
||||
],
|
||||
"https://github.com/slvslvslv/ComfyUI-SmartHelperNodes": [
|
||||
[
|
||||
"SmartFormatString",
|
||||
@ -44324,6 +44602,15 @@
|
||||
"title_aux": "comfyui-lsnet"
|
||||
}
|
||||
],
|
||||
"https://github.com/speige/ComfyUI_Make-It-Animatable": [
|
||||
[
|
||||
"MakeItAnimatableRig",
|
||||
"MakeItAnimatableRigGS"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_Make-It-Animatable"
|
||||
}
|
||||
],
|
||||
"https://github.com/spinagon/ComfyUI-seam-carving": [
|
||||
[
|
||||
"SeamCarving"
|
||||
@ -44768,6 +45055,15 @@
|
||||
"title_aux": "ComfyUI-RetroDiffusion-API-Node"
|
||||
}
|
||||
],
|
||||
"https://github.com/swan7-py/ComfyUI-ImageAlphaCrop": [
|
||||
[
|
||||
"ImageAlphaCrop",
|
||||
"ImageAlphaCropAdvanced"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-ImageAlphaCrop"
|
||||
}
|
||||
],
|
||||
"https://github.com/sweetndata/ComfyUI-Image-Harmonizer": [
|
||||
[
|
||||
"harmonizer"
|
||||
@ -46220,10 +46516,12 @@
|
||||
"https://github.com/vanche1212/ComfyUI-ZMG-Nodes": [
|
||||
[
|
||||
"API Request Node",
|
||||
"CombineImageAudioToVideoNode",
|
||||
"Empty Image Node",
|
||||
"JSON Builder Node",
|
||||
"JSON Parser Node",
|
||||
"JsonBuilderNode",
|
||||
"LoadAudioFromUrlNode",
|
||||
"LoadImageFromUrlNode",
|
||||
"MultilinePromptNode",
|
||||
"OSSUploadNode",
|
||||
@ -46671,6 +46969,7 @@
|
||||
"https://github.com/walke2019/ComfyUI-GGUF-VLM": [
|
||||
[
|
||||
"LocalTextModelLoader",
|
||||
"MemoryManagerNode",
|
||||
"MultiImageAnalysis",
|
||||
"NexaServiceStatus",
|
||||
"RemoteAPIConfig",
|
||||
@ -46687,6 +46986,15 @@
|
||||
"title_aux": "Qwen2.5-VL GGUF Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/wallen0322/ComfyUI-AE-Animation": [
|
||||
[
|
||||
"AEAnimationCore",
|
||||
"AERender"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-AE-Animation"
|
||||
}
|
||||
],
|
||||
"https://github.com/wallen0322/ComfyUI-QI-QwenEditSafe": [
|
||||
[
|
||||
"QI_DyPE",
|
||||
@ -46707,6 +47015,16 @@
|
||||
"title_aux": "ComfyUI-SageAttention3"
|
||||
}
|
||||
],
|
||||
"https://github.com/wallen0322/ComfyUI-TTM-WAN22": [
|
||||
[
|
||||
"WanTTMConditioning",
|
||||
"WanTTMSampler",
|
||||
"WanTTMSamplerComplete"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-TTM-WAN22"
|
||||
}
|
||||
],
|
||||
"https://github.com/wallen0322/ComfyUI-Wan22FMLF": [
|
||||
[
|
||||
"WanAdvancedExtractLastFrames",
|
||||
@ -47502,6 +47820,21 @@
|
||||
"title_aux": "Steganos Node for ComfyUI"
|
||||
}
|
||||
],
|
||||
"https://github.com/wzyfromhust/ComfyUI_SAM2UltraV2": [
|
||||
[
|
||||
"SAM2UltraV2: Crop",
|
||||
"SAM2UltraV2: LoadModel",
|
||||
"SAM2UltraV2: MaskKeepLargestN",
|
||||
"SAM2UltraV2: UpperBody"
|
||||
],
|
||||
{
|
||||
"author": "chflame",
|
||||
"description": "A set of nodes for ComfyUI that can composite layer and mask to achieve Photoshop like functionality.",
|
||||
"nickname": "LayerStyle",
|
||||
"title": "LayerStyle",
|
||||
"title_aux": "ComfyUI_SAM2UltraV2"
|
||||
}
|
||||
],
|
||||
"https://github.com/x0x0b/ComfyUI-PromptHistoryGallery": [
|
||||
[
|
||||
"PromptHistoryInput"
|
||||
@ -48111,6 +48444,16 @@
|
||||
"title_aux": "ComfyUI-YCNodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/yichengup/ComfyUI-YCNodes_Toolkit": [
|
||||
[
|
||||
"ycBBoxBridge",
|
||||
"ycCanvasBBox",
|
||||
"ycimagebrushmask"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-YCNodes_Toolkit"
|
||||
}
|
||||
],
|
||||
"https://github.com/yichengup/ComfyUI_SwiftCut": [
|
||||
[
|
||||
"SelectImages",
|
||||
@ -49057,6 +49400,7 @@
|
||||
"TextPreview",
|
||||
"TorchCompileModelAdvanced",
|
||||
"UpscaleImageWithModelIfNeed",
|
||||
"VolcanoArkImageEditNode",
|
||||
"VolcanoImageEditNode",
|
||||
"VolcanoOutpaintingNode"
|
||||
],
|
||||
@ -49433,9 +49777,6 @@
|
||||
"SDXLAspectRatio"
|
||||
],
|
||||
{
|
||||
"preemptions": [
|
||||
"SAMLoader"
|
||||
],
|
||||
"title_aux": "SDXLCustomAspectRatio"
|
||||
}
|
||||
],
|
||||
|
||||
7907
github-stats.json
7907
github-stats.json
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,115 @@
|
||||
{
|
||||
"custom_nodes": [
|
||||
{
|
||||
"author": "frost-byte",
|
||||
"title": "fb-tools",
|
||||
"reference": "https://github.com/frost-byte/fbTools",
|
||||
"files": [
|
||||
"https://github.com/frost-byte/fbTools"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A collect of custom nodes for ComfyUI"
|
||||
},
|
||||
{
|
||||
"author": "Aruntd008",
|
||||
"title": "ComfyUI_blender_render",
|
||||
"reference": "https://github.com/Aruntd008/ComfyUI_blender_render",
|
||||
"files": [
|
||||
"https://github.com/Aruntd008/ComfyUI_blender_render"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: Blender Render (Auto-Setup)"
|
||||
},
|
||||
{
|
||||
"author": "mertgoksel",
|
||||
"title": "comfyui-noot-nodes [WIP]",
|
||||
"reference": "https://github.com/mertgoksel/ComfyUI-Noot-Nodes",
|
||||
"files": [
|
||||
"https://github.com/mertgoksel/ComfyUI-Noot-Nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Nodes i made to suit my needs, currently includes a tag randomizer and a stagedksampler which iterates sampler steps and upscaling."
|
||||
},
|
||||
{
|
||||
"author": "egormly",
|
||||
"title": "ComfyUI-EG_Tools [WIP]",
|
||||
"reference": "https://github.com/egormly/ComfyUI-EG_Tools",
|
||||
"files": [
|
||||
"https://github.com/egormly/ComfyUI-EG_Tools"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Quality-of-life utility nodes for ComfyUI providing smart switches for dynamic data routing, path helpers for consistent file naming, and image utilities including Qwen vision model preparation.\nNOTE: The files in the repo are not organized."
|
||||
},
|
||||
{
|
||||
"author": "huhu-tiger",
|
||||
"title": "ComfyUI-RemoteDownload",
|
||||
"reference": "https://github.com/huhu-tiger/ComfyUI-RemoteDownload",
|
||||
"files": [
|
||||
"https://github.com/huhu-tiger/ComfyUI-RemoteDownload"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: LoadImageFromRemote"
|
||||
},
|
||||
{
|
||||
"author": "zhupeter010903",
|
||||
"title": "ComfyUI-prompt-library",
|
||||
"reference": "https://github.com/zhupeter010903/ComfyUI-prompt-library",
|
||||
"files": [
|
||||
"https://github.com/zhupeter010903/ComfyUI-prompt-library"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: Grouped Prompt Node, ..."
|
||||
},
|
||||
{
|
||||
"author": "basenc",
|
||||
"title": "Comfyui-Nodes-basenc [UNSAFE]",
|
||||
"reference": "https://github.com/basenc/Comfyui-Nodes-basenc",
|
||||
"files": [
|
||||
"https://github.com/basenc/Comfyui-Nodes-basenc"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: Custom OpenAI Chat Completion, Environment Variable, Eval, JSON Path Select, JSON Path Select, Wan Video Size, ... [w/This node pack has a vulnerability that allows arbitrary file contents to be read remotely.]"
|
||||
},
|
||||
{
|
||||
"author": "jkaarlehto",
|
||||
"title": "ComfyUI-GetWorkflowName [WIP]",
|
||||
"reference": "https://github.com/jKaarlehto/ComfyUI-GetWorkflowName",
|
||||
"files": [
|
||||
"https://github.com/jKaarlehto/ComfyUI-GetWorkflowName"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Adds a node that outputs the workflow's name as a string\nNOTE: The files in the repo are not organized."
|
||||
},
|
||||
{
|
||||
"author": "PozzettiAndrea",
|
||||
"title": "ComfyUI-CameraAnalysis",
|
||||
"reference": "https://github.com/PozzettiAndrea/ComfyUI-CameraAnalysis",
|
||||
"files": [
|
||||
"https://github.com/PozzettiAndrea/ComfyUI-CameraAnalysis"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Extracts camera intrinsic parameters from image EXIF data."
|
||||
},
|
||||
{
|
||||
"author": "newraina",
|
||||
"title": "comfyui-photoshop-v2 [WIP]",
|
||||
"reference": "https://github.com/newraina/comfyui-photoshop-v2",
|
||||
"files": [
|
||||
"https://github.com/newraina/comfyui-photoshop-v2"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: Photoshop ComfyUI Plugin, Send To Photoshop, ClipPass, modelPass, Photoshop RemoteConnection, ..."
|
||||
},
|
||||
{
|
||||
"author": "eddyhhlure1Eddy",
|
||||
"title": "ComfyUI-QwenImageWrapper [WIP]",
|
||||
"reference": "https://github.com/eddyhhlure1Eddy/ComfyUI-QwenImageWrapper",
|
||||
"files": [
|
||||
"https://github.com/eddyhhlure1Eddy/ComfyUI-QwenImageWrapper"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Integrated Qwen-Image node for ComfyUI with all-in-one model loading, 4 LoRA slots, memory optimization via BlockSwap reducing VRAM usage by 30-60%, and multiple quantization options.\nNOTE: The files in the repo are not organized."
|
||||
},
|
||||
{
|
||||
"author": "nohikomiso",
|
||||
"title": "ComfyUI-ImageFolderPicker [UNSAFE]",
|
||||
@ -1332,16 +1442,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: ModelMergeCombos\nNOTE: The files in the repo are not organized."
|
||||
},
|
||||
{
|
||||
"author": "Santat2023",
|
||||
"title": "ComfyUiRagNodes",
|
||||
"reference": "https://github.com/Santat2023/ComfyUiRagNodes",
|
||||
"files": [
|
||||
"https://github.com/Santat2023/ComfyUiRagNodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: RAG KSampler Node, LLM Node, DB Load Node, ..."
|
||||
},
|
||||
{
|
||||
"author": "lu64k",
|
||||
"title": "ks_nodes",
|
||||
@ -1482,16 +1582,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: WanVideo T5 Apply Soft Prefix"
|
||||
},
|
||||
{
|
||||
"author": "flybirdxx",
|
||||
"title": "ComfyUI-SDMatte [WIP]",
|
||||
"reference": "https://github.com/flybirdxx/ComfyUI-SDMatte",
|
||||
"files": [
|
||||
"https://github.com/flybirdxx/ComfyUI-SDMatte"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "[a/SDMatte](https://github.com/vivoCameraResearch/SDMatte) is an interactive image matting method based on Stable Diffusion, developed by the vivo Camera Research team and accepted by ICCV 2025. This method leverages the powerful priors of pre-trained diffusion models and supports multiple visual prompts (points, boxes, masks) for accurately extracting target objects from natural images.\nThis plugin integrates SDMatte into ComfyUI, providing a simple and easy-to-use node interface focused on trimap-guided matting functionality with built-in VRAM optimization strategies.\nNOTE: The files in the repo are not organized."
|
||||
},
|
||||
{
|
||||
"author": "NSFW-API",
|
||||
"title": "ComfyUI-WanSoftPrefix",
|
||||
@ -1683,16 +1773,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "This repository contains ComfyUI-Luna-Collection, a bespoke collection of custom nodes for ComfyUI, engineered for power, flexibility, and a efficient workflow. These tools are born from a collaborative project between a human architect and their AI muse, Luna.\nNOTE: The files in the repo are not organized."
|
||||
},
|
||||
{
|
||||
"author": "5agado",
|
||||
"title": "Sagado Nodes for ComfyUI",
|
||||
"reference": "https://github.com/5agado/ComfyUI-Sagado-Nodes",
|
||||
"files": [
|
||||
"https://github.com/5agado/ComfyUI-Sagado-Nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: Image Loader, Get Num Frames, Get Resolution Node, Video Loader"
|
||||
},
|
||||
{
|
||||
"author": "Juste-Leo2",
|
||||
"title": "ComfyUI-Arduino [WIP]",
|
||||
@ -1783,26 +1863,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "A ComfyUI custom node implementation of ByteDance's USO (Unified Style and Subject-Driven Generation) model, which enables advanced style transfer and subject preservation using FLUX.\nNOTE: The files in the repo are not organized."
|
||||
},
|
||||
{
|
||||
"author": "Fabio Sarracino",
|
||||
"title": "VibeVoice ComfyUI [NAME CONFLICT]",
|
||||
"reference": "https://github.com/Enemyx-net/VibeVoice-ComfyUI",
|
||||
"files": [
|
||||
"https://github.com/Enemyx-net/VibeVoice-ComfyUI"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI wrapper for Microsoft VibeVoice TTS model. Supports single speaker, multi-speaker, and text file loading"
|
||||
},
|
||||
{
|
||||
"author": "chaserhkj",
|
||||
"title": "Chaser's Custom Nodes",
|
||||
"reference": "https://github.com/chaserhkj/ComfyUI-Chaser-nodes",
|
||||
"files": [
|
||||
"https://github.com/chaserhkj/ComfyUI-Chaser-nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: Upload image(s) to WebDAV, Upload video as WebM to WebDAV, Load image from WebDAV, Evaluate S-Expr with integer output, Evaluate S-Expr with float output"
|
||||
},
|
||||
{
|
||||
"author": "numq",
|
||||
"title": "comfyui-camera-capture-node",
|
||||
@ -2023,16 +2083,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI FileTo64"
|
||||
},
|
||||
{
|
||||
"author": "chaserhkj",
|
||||
"title": "ComfyUI Chaser Custom Nodes",
|
||||
"reference": "https://github.com/chaserhkj/ComfyUI-Chaser-nodes",
|
||||
"files": [
|
||||
"https://github.com/chaserhkj/ComfyUI-Chaser-nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: Upload image(s) to WebDAV, Upload video as WebM to WebDAV, Load image from WebDAV"
|
||||
},
|
||||
{
|
||||
"author": "LittleTechPomp",
|
||||
"title": "comfyui-pixxio",
|
||||
@ -2183,16 +2233,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "Automation for ComfyUI Web UI [w/This nodepack provides functionality to access files through an endpoint.]"
|
||||
},
|
||||
{
|
||||
"author": "kblueleaf",
|
||||
"title": "HDM [WIP]",
|
||||
"reference": "https://github.com/KohakuBlueleaf/HDM-ext",
|
||||
"files": [
|
||||
"https://github.com/KohakuBlueleaf/HDM-ext"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "HDM(HomeDiffusionModel) Extension"
|
||||
},
|
||||
{
|
||||
"author": "Rizzlord",
|
||||
"title": "ComfyUI-SeqTex",
|
||||
@ -2454,16 +2494,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: Add Numbers, Float to String, Input Text, Show Text, Combine Strings, Text Appender, SSchl Text Encoder, Character, Connector"
|
||||
},
|
||||
{
|
||||
"author": "KY-2000",
|
||||
"title": "comfyui-ksampler-tester-loop",
|
||||
"reference": "https://github.com/KY-2000/comfyui-ksampler-tester-loop",
|
||||
"files": [
|
||||
"https://github.com/KY-2000/comfyui-ksampler-tester-loop"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Batch samplers, schedulers, cfg, shift and steps tester custom node, automatic looping functionality for Ksampler node"
|
||||
},
|
||||
{
|
||||
"author": "xgfone",
|
||||
"title": "ComfyUI_RasterCardMaker",
|
||||
@ -2944,16 +2974,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: Audio Duration, Audio Overlay (Mix)"
|
||||
},
|
||||
{
|
||||
"author": "Baverne",
|
||||
"title": "TiledWan ComfyUI Node Set [WIP]",
|
||||
"reference": "https://github.com/Baverne/comfyUI-TiledWan",
|
||||
"files": [
|
||||
"https://github.com/Baverne/comfyUI-TiledWan"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A custom node set for ComfyUI that provides tiled processing capabilities.\nNOTE: The files in the repo are not organized."
|
||||
},
|
||||
{
|
||||
"author": "soliton",
|
||||
"title": "Watermark Detection YOLO Custom Node [WIP]",
|
||||
@ -3575,16 +3595,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: WAN Optimal Resolution Selector, WAN Show Image Dimensions"
|
||||
},
|
||||
{
|
||||
"author": "iacoposk8",
|
||||
"title": "ComfyUI XOR Pickle Nodes",
|
||||
"reference": "https://github.com/iacoposk8/xor_pickle_nodes",
|
||||
"files": [
|
||||
"https://github.com/iacoposk8/xor_pickle_nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Two custom nodes for ComfyUI that allow you to encrypt and decrypt Python objects using simple XOR encryption with pickle."
|
||||
},
|
||||
{
|
||||
"author": "yamanacn",
|
||||
"title": "comfyui_qwen_object [WIP]",
|
||||
@ -3675,16 +3685,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "NODES: FlowMatchSigmas"
|
||||
},
|
||||
{
|
||||
"author": "casterpollux",
|
||||
"title": "MiniMax-bmo",
|
||||
"reference": "https://github.com/casterpollux/MiniMax-bmo",
|
||||
"files": [
|
||||
"https://github.com/casterpollux/MiniMax-bmo"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI MiniMax Remover Node"
|
||||
},
|
||||
{
|
||||
"author": "franky519",
|
||||
"title": "ComfyUI Face Four Image Matcher [WIP]",
|
||||
@ -3825,16 +3825,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "This custom node for ComfyUI provides a markdown renderer to display formatted text and notes within your workflow."
|
||||
},
|
||||
{
|
||||
"author": "IsItDanOrAi",
|
||||
"title": "ComfyUI-exLoadout [WIP]",
|
||||
"reference": "https://github.com/IsItDanOrAi/ComfyUI-exLoadout",
|
||||
"files": [
|
||||
"https://github.com/IsItDanOrAi/ComfyUI-exLoadout"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "exLoadout is a suite of lightweight ComfyUI custom nodes that let you define and switch between full loadouts stored in an Excel sheet. A loadout could include any node inputs that expect string values—models (checkpoints, CLIP, VAE, ControlNets, LoRAs, UNets), numeric or text variables (CFG, sampler names, scheduler types, etc.)—all pulled from a row in your sheet. By selecting a row, you instantly apply all of its settings in your workflow, with built‑in support for editing and reading those cells right inside the UI."
|
||||
},
|
||||
{
|
||||
"author": "grokuku",
|
||||
"title": "ComfyUI-Holaf-Terminal [UNSAFE]",
|
||||
@ -8630,17 +8620,6 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "a comfyui custom node for ViViD"
|
||||
},
|
||||
{
|
||||
"author": "NeuralNotW0rk",
|
||||
"title": "ComfyUI-Waveform-Extensions",
|
||||
"reference": "https://github.com/NeuralNotW0rk/ComfyUI-Waveform-Extensions",
|
||||
"files": [
|
||||
"https://raw.githubusercontent.com/NeuralNotW0rk/ComfyUI-Waveform-Extensions/main/EXT_VariationUtils.py",
|
||||
"https://raw.githubusercontent.com/NeuralNotW0rk/ComfyUI-Waveform-Extensions/main/EXT_AudioManipulation.py"
|
||||
],
|
||||
"install_type": "copy",
|
||||
"description": "Some additional audio utilites for use on top of Sample Diffusion ComfyUI Extension"
|
||||
},
|
||||
{
|
||||
"author": "nat-chan",
|
||||
"title": "comfyui-paint",
|
||||
|
||||
@ -283,18 +283,6 @@
|
||||
"title_aux": "ComfyUI_crdong"
|
||||
}
|
||||
],
|
||||
"https://github.com/5agado/ComfyUI-Sagado-Nodes": [
|
||||
[
|
||||
"Film Grain",
|
||||
"Get Num Frames",
|
||||
"Get Resolution",
|
||||
"Image Loader",
|
||||
"Video Loader"
|
||||
],
|
||||
{
|
||||
"title_aux": "Sagado Nodes for ComfyUI"
|
||||
}
|
||||
],
|
||||
"https://github.com/5x00/ComfyUI-Prompt-Plus": [
|
||||
[
|
||||
"LoadAPI",
|
||||
@ -368,13 +356,15 @@
|
||||
"PD_CropBorder",
|
||||
"PD_GetImageRatio",
|
||||
"PD_GetImageSize",
|
||||
"PD_ImageFengMianWipe",
|
||||
"PD_ImageListForSort",
|
||||
"PD_ImageListForSortWithMetadata",
|
||||
"PD_ImageListToGif",
|
||||
"PD_Image_Crop_Location",
|
||||
"PD_Image_Rotate_v1",
|
||||
"PD_Image_centerCrop",
|
||||
"PD_LoadImagesFromDir",
|
||||
"PD_LoadImagesFromZip",
|
||||
"PD_LoadTextsFromDir",
|
||||
"PD_LoadTextsFromZip",
|
||||
"PD_MASK_SELECTION",
|
||||
"PD_Mask Selector",
|
||||
"PD_Mask Selector By Area Left",
|
||||
@ -387,10 +377,12 @@
|
||||
"PD_Text Overlay Node",
|
||||
"PD_del_word",
|
||||
"PD_empty_word",
|
||||
"PD_image_to_text_v1",
|
||||
"PD_random_prompt",
|
||||
"PDbananaImagesizeByRatio",
|
||||
"PDimage_corp_v1",
|
||||
"PDimage_corp_v2",
|
||||
"PDimage_dual_batch_by_list",
|
||||
"PDimage_dual_batch_v1",
|
||||
"SimpleResolutionNode",
|
||||
"mask_edge_selector"
|
||||
@ -1011,6 +1003,15 @@
|
||||
"title_aux": "comfyui-face-remap [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/Aruntd008/ComfyUI_blender_render": [
|
||||
[
|
||||
"Blender Render Node",
|
||||
"BlenderRenderNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_blender_render"
|
||||
}
|
||||
],
|
||||
"https://github.com/BARKEM-JC/ComfyUI-Dynamic-Lora-Loader": [
|
||||
[
|
||||
"DynamicLoraBlockWeights",
|
||||
@ -1080,19 +1081,6 @@
|
||||
"title_aux": "ComfyUI-FileOps [UNSAFE]"
|
||||
}
|
||||
],
|
||||
"https://github.com/Baverne/comfyUI-TiledWan": [
|
||||
[
|
||||
"TiledWanImageStatistics",
|
||||
"TiledWanImageToMask",
|
||||
"TiledWanInpaintCropImproved",
|
||||
"TiledWanInpaintStitchImproved",
|
||||
"TiledWanMaskStatistics",
|
||||
"TiledWanVideoVACEpipe"
|
||||
],
|
||||
{
|
||||
"title_aux": "TiledWan ComfyUI Node Set [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/Beinsezii/DEET": [
|
||||
[
|
||||
"DEET"
|
||||
@ -1832,18 +1820,6 @@
|
||||
"title_aux": "ComfyUI-Math [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/Enemyx-net/VibeVoice-ComfyUI": [
|
||||
[
|
||||
"VibeVoice Free Memory",
|
||||
"VibeVoice LoRA",
|
||||
"VibeVoice Load Text From File",
|
||||
"VibeVoice Multiple Speakers",
|
||||
"VibeVoice Single Speaker"
|
||||
],
|
||||
{
|
||||
"title_aux": "VibeVoice ComfyUI [NAME CONFLICT]"
|
||||
}
|
||||
],
|
||||
"https://github.com/Eric7758/ComfyUI-IAT": [
|
||||
[
|
||||
"Base64ToImageNode by IAT",
|
||||
@ -1895,11 +1871,13 @@
|
||||
[
|
||||
"Attention couple",
|
||||
"AttentionCouple",
|
||||
"CombineVideoClips",
|
||||
"LoadImageFolder",
|
||||
"MakeBatchFromSingleImage",
|
||||
"RegionConditionMerge",
|
||||
"RegionConditionSpecPct",
|
||||
"RegionConditionSpecPx"
|
||||
"RegionConditionSpecPx",
|
||||
"WanVideoVaceSeamlessJoin"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-CustomNodes [NAME CONFLICT]"
|
||||
@ -2220,23 +2198,6 @@
|
||||
"title_aux": "comfyui-HandDetect"
|
||||
}
|
||||
],
|
||||
"https://github.com/IsItDanOrAi/ComfyUI-exLoadout": [
|
||||
[
|
||||
"dropdowns",
|
||||
"exCheckpointLoader",
|
||||
"exLoadoutCheckpointLoader",
|
||||
"exLoadoutEditCell",
|
||||
"exLoadoutReadColumn",
|
||||
"exLoadoutSeg",
|
||||
"exLoadoutSeg2",
|
||||
"exLoadoutSelector",
|
||||
"exSeg",
|
||||
"exSeg2"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-exLoadout [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/IvanZhd/comfyui-codeformer": [
|
||||
[
|
||||
"RedBeanie_CustomImageInverter"
|
||||
@ -2376,22 +2337,6 @@
|
||||
"title_aux": "ComfyUI-Easy-s3"
|
||||
}
|
||||
],
|
||||
"https://github.com/KY-2000/comfyui-ksampler-tester-loop": [
|
||||
[
|
||||
"AllParametersLoop",
|
||||
"AllParametersLoopAdvanced",
|
||||
"FloatRangeLoop",
|
||||
"ParametersRangeLoop",
|
||||
"SamplerLoop",
|
||||
"SamplerLoopAdvanced",
|
||||
"SamplerSchedulerLoop",
|
||||
"SamplerSchedulerLoopAdvanced",
|
||||
"SchedulerLoop"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui-ksampler-tester-loop"
|
||||
}
|
||||
],
|
||||
"https://github.com/Karlmeister/comfyui-karlmeister-nodes-suit": [
|
||||
[
|
||||
"A_IfNotNone",
|
||||
@ -2437,16 +2382,6 @@
|
||||
"title_aux": "ComfyUI-RoysNodes [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/KohakuBlueleaf/HDM-ext": [
|
||||
[
|
||||
"HDMCameraParam",
|
||||
"HDMLoader",
|
||||
"HDMTreadGamma"
|
||||
],
|
||||
{
|
||||
"title_aux": "HDM [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/KoinnAI/ComfyUI-DynPromptSimplified": [
|
||||
[
|
||||
"DynPromptExpand"
|
||||
@ -3565,6 +3500,14 @@
|
||||
"title_aux": "CADabra [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/PozzettiAndrea/ComfyUI-CameraAnalysis": [
|
||||
[
|
||||
"CameraAnalysis"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-CameraAnalysis"
|
||||
}
|
||||
],
|
||||
"https://github.com/PozzettiAndrea/ComfyUI-Hunyuan3D-Part": [
|
||||
[
|
||||
"ClearAllModelCaches",
|
||||
@ -3698,13 +3641,15 @@
|
||||
],
|
||||
"https://github.com/Randomwalkforest/Comfyui-Koi-Toolkit": [
|
||||
[
|
||||
"DashScopeChat",
|
||||
"Florence2CoordinateExtractor",
|
||||
"Florence2JsonShow",
|
||||
"ImageBinarize",
|
||||
"ImageSubtraction",
|
||||
"ImageSubtractionAdvanced",
|
||||
"MaskExternalRectangle",
|
||||
"QwenDashScopeChat",
|
||||
"SimpleImageStitch",
|
||||
"TextSplitLines",
|
||||
"imageStitchForICImproved",
|
||||
"imageStitchForICImproved_CropBack"
|
||||
],
|
||||
@ -3905,16 +3850,6 @@
|
||||
"title_aux": "HiDreamSampler for ComfyUI [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/Santat2023/ComfyUiRagNodes": [
|
||||
[
|
||||
"MyNodesForDB",
|
||||
"MyNodesForLLM",
|
||||
"MyNodesForRAG"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUiRagNodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/Scaryplasmon/ComfTrellis": [
|
||||
[
|
||||
"LoadTrellisModel",
|
||||
@ -4226,6 +4161,7 @@
|
||||
"SDVN Fill Background",
|
||||
"SDVN Filter List",
|
||||
"SDVN Flip Image",
|
||||
"SDVN Float Slider",
|
||||
"SDVN GPT Image",
|
||||
"SDVN Gemini Flash 2 Image",
|
||||
"SDVN Get Mask Size",
|
||||
@ -4247,6 +4183,7 @@
|
||||
"SDVN Inpaint",
|
||||
"SDVN Inpaint Crop",
|
||||
"SDVN InstantIDModel Download",
|
||||
"SDVN Int Slider",
|
||||
"SDVN Join Parameter",
|
||||
"SDVN Joy Caption",
|
||||
"SDVN KSampler",
|
||||
@ -4269,6 +4206,7 @@
|
||||
"SDVN Mask Regions",
|
||||
"SDVN Mask To Transparent Color",
|
||||
"SDVN Menu Option",
|
||||
"SDVN Menu Option Extra",
|
||||
"SDVN Merge Flux",
|
||||
"SDVN Merge SD1",
|
||||
"SDVN Merge SDXL",
|
||||
@ -5606,6 +5544,19 @@
|
||||
"title_aux": "ComfyUI Environment Variable Node [UNSAFE]"
|
||||
}
|
||||
],
|
||||
"https://github.com/basenc/Comfyui-Nodes-basenc": [
|
||||
[
|
||||
"ChatMessagesCreate",
|
||||
"CustomOpenAIChatCompletion",
|
||||
"EnvVarNode",
|
||||
"Eval",
|
||||
"JMESPathSelect",
|
||||
"WanVideoSize"
|
||||
],
|
||||
{
|
||||
"title_aux": "Comfyui-Nodes-basenc [UNSAFE]"
|
||||
}
|
||||
],
|
||||
"https://github.com/benda1989/WaterMarkRemover_ComfyUI": [
|
||||
[
|
||||
"Remover",
|
||||
@ -6016,14 +5967,6 @@
|
||||
"title_aux": "ComfyUI USO Custom Node [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/casterpollux/MiniMax-bmo": [
|
||||
[
|
||||
"MinimaxRemoverBMO"
|
||||
],
|
||||
{
|
||||
"title_aux": "MiniMax-bmo"
|
||||
}
|
||||
],
|
||||
"https://github.com/catboxanon/ComfyUI-Pixelsmith": [
|
||||
[
|
||||
"Pixelsmith"
|
||||
@ -6131,27 +6074,6 @@
|
||||
"title_aux": "ComfyUI-mobvoi-openapi"
|
||||
}
|
||||
],
|
||||
"https://github.com/chaserhkj/ComfyUI-Chaser-nodes": [
|
||||
[
|
||||
"EvalFloatExpr",
|
||||
"EvalIntExpr",
|
||||
"LoadImageFromWebDAV",
|
||||
"MergeData",
|
||||
"PromptFormatter",
|
||||
"PromptTemplate",
|
||||
"RegisterTemplate",
|
||||
"SetData",
|
||||
"TemplateFileLoader",
|
||||
"UploadImagesToWebDAV",
|
||||
"UploadMP4ToWebDAV",
|
||||
"UploadWebMToWebDAV",
|
||||
"YAMLData",
|
||||
"YAMLFileLoader"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI Chaser Custom Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/chenbaiyujason/ComfyUI_StepFun": [
|
||||
[
|
||||
"CombineStrings",
|
||||
@ -6813,7 +6735,8 @@
|
||||
"WanVaceToVideo",
|
||||
"WebcamCapture",
|
||||
"unCLIPCheckpointLoader",
|
||||
"unCLIPConditioning"
|
||||
"unCLIPConditioning",
|
||||
"wanBlockSwap"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI"
|
||||
@ -7139,6 +7062,91 @@
|
||||
"title_aux": "Duck_Nodes [UNSAFE]"
|
||||
}
|
||||
],
|
||||
"https://github.com/eddyhhlure1Eddy/ComfyUI-QwenImageWrapper": [
|
||||
[
|
||||
"CLIPLoader",
|
||||
"CLIPSetLastLayer",
|
||||
"CLIPTextEncode",
|
||||
"CLIPVisionEncode",
|
||||
"CLIPVisionLoader",
|
||||
"CheckpointLoader",
|
||||
"CheckpointLoaderSimple",
|
||||
"ConditioningAverage",
|
||||
"ConditioningCombine",
|
||||
"ConditioningConcat",
|
||||
"ConditioningSetArea",
|
||||
"ConditioningSetAreaPercentage",
|
||||
"ConditioningSetAreaStrength",
|
||||
"ConditioningSetMask",
|
||||
"ConditioningSetTimestepRange",
|
||||
"ConditioningZeroOut",
|
||||
"ControlNetApply",
|
||||
"ControlNetApplyAdvanced",
|
||||
"ControlNetLoader",
|
||||
"DiffControlNetLoader",
|
||||
"DiffusersLoader",
|
||||
"DualCLIPLoader",
|
||||
"EmptyImage",
|
||||
"EmptyLatentImage",
|
||||
"GLIGENLoader",
|
||||
"GLIGENTextBoxApply",
|
||||
"ImageBatch",
|
||||
"ImageInvert",
|
||||
"ImagePadForOutpaint",
|
||||
"ImageScale",
|
||||
"ImageScaleBy",
|
||||
"InpaintModelConditioning",
|
||||
"KSampler",
|
||||
"KSamplerAdvanced",
|
||||
"LatentBlend",
|
||||
"LatentComposite",
|
||||
"LatentCrop",
|
||||
"LatentFlip",
|
||||
"LatentFromBatch",
|
||||
"LatentRotate",
|
||||
"LatentUpscale",
|
||||
"LatentUpscaleBy",
|
||||
"LoadImage",
|
||||
"LoadImageMask",
|
||||
"LoadImageOutput",
|
||||
"LoadLatent",
|
||||
"LoraLoader",
|
||||
"LoraLoaderModelOnly",
|
||||
"PreviewImage",
|
||||
"RepeatLatentBatch",
|
||||
"SaveImage",
|
||||
"SaveLatent",
|
||||
"SetLatentNoiseMask",
|
||||
"StyleModelApply",
|
||||
"StyleModelLoader",
|
||||
"UNETLoader",
|
||||
"VAEDecode",
|
||||
"VAEDecodeTiled",
|
||||
"VAEEncode",
|
||||
"VAEEncodeForInpaint",
|
||||
"VAEEncodeTiled",
|
||||
"VAELoader",
|
||||
"eddy_batch_image_generator",
|
||||
"eddy_batch_prompt",
|
||||
"eddy_image_blend",
|
||||
"eddy_qwen_CLIPLoader",
|
||||
"eddy_qwen_CLIPTextEncode",
|
||||
"eddy_qwen_EmptySD3LatentImage",
|
||||
"eddy_qwen_KSampler",
|
||||
"eddy_qwen_LoraLoaderModelOnly",
|
||||
"eddy_qwen_ModelSamplingAuraFlow",
|
||||
"eddy_qwen_SaveImage",
|
||||
"eddy_qwen_UNETLoader",
|
||||
"eddy_qwen_VAEDecode",
|
||||
"eddy_qwen_VAELoader",
|
||||
"eddy_qwen_image_blockswap",
|
||||
"unCLIPCheckpointLoader",
|
||||
"unCLIPConditioning"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-QwenImageWrapper [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/edisonchan/ComfyUI-Sysinfo": [
|
||||
[
|
||||
"SysInfoDisplay"
|
||||
@ -7159,6 +7167,25 @@
|
||||
"title_aux": "DiffusionRenderer-ComfyUI [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/egormly/ComfyUI-EG_Tools": [
|
||||
[
|
||||
"EG_AppendSubfolder",
|
||||
"EG_GetDateTime",
|
||||
"EG_ImageInfo",
|
||||
"EG_IncrementCounter",
|
||||
"EG_ListFiles",
|
||||
"EG_PathExists",
|
||||
"EG_PathIndexFilename",
|
||||
"EG_PathIndexPrefix",
|
||||
"EG_PathParts",
|
||||
"EG_ProjectRoot",
|
||||
"EG_SaveImage",
|
||||
"EG_WithNewExtension"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-EG_Tools [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/eigenpunk/ComfyUI-audio": [
|
||||
[
|
||||
"ApplyVoiceFixer",
|
||||
@ -7394,14 +7421,6 @@
|
||||
"title_aux": "comfyui-flowty-lcm"
|
||||
}
|
||||
],
|
||||
"https://github.com/flybirdxx/ComfyUI-SDMatte": [
|
||||
[
|
||||
"SDMatteApply"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-SDMatte [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/flyingdogsoftware/gyre_for_comfyui": [
|
||||
[
|
||||
"BackgroundRemoval",
|
||||
@ -7462,6 +7481,24 @@
|
||||
"title_aux": "ComfyUI-LLM-Utils [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/frost-byte/fbTools": [
|
||||
[
|
||||
"FBTextEncodeQwenImageEditPlus",
|
||||
"OpaqueAlpha",
|
||||
"SAMPreprocessNHWC",
|
||||
"SaveScene",
|
||||
"SceneInput",
|
||||
"SceneOutput",
|
||||
"SceneView",
|
||||
"SelectScene",
|
||||
"SubdirLister",
|
||||
"TailEnhancePro",
|
||||
"TailSplit"
|
||||
],
|
||||
{
|
||||
"title_aux": "fb-tools"
|
||||
}
|
||||
],
|
||||
"https://github.com/ftechmax/ComfyUI-NovaKit-Pack": [
|
||||
[
|
||||
"CountTokens"
|
||||
@ -7807,6 +7844,7 @@
|
||||
"HolafSaveImage",
|
||||
"HolafSliceCalculator",
|
||||
"HolafTileCalculator",
|
||||
"HolafTiledDiffusionKSampler",
|
||||
"HolafTiledKSampler",
|
||||
"HolafZoneConditioner",
|
||||
"UpscaleImageHolaf"
|
||||
@ -8054,6 +8092,14 @@
|
||||
"title_aux": "comfy-magick [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/huhu-tiger/ComfyUI-RemoteDownload": [
|
||||
[
|
||||
"LoadImageFromRemote"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-RemoteDownload"
|
||||
}
|
||||
],
|
||||
"https://github.com/huizhang0110/ComfyUI_Easy_Nodes_hui": [
|
||||
[
|
||||
"EasyBgRemover",
|
||||
@ -8268,16 +8314,6 @@
|
||||
"title_aux": "comfyui-copilot"
|
||||
}
|
||||
],
|
||||
"https://github.com/iacoposk8/xor_pickle_nodes": [
|
||||
[
|
||||
"DecryptXORText",
|
||||
"Load XOR Pickle From File",
|
||||
"Save XOR Pickle To File"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI XOR Pickle Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/idoru/ComfyUI-SKCFI-NetworkFileIO": [
|
||||
[
|
||||
"FilestashUploadNode",
|
||||
@ -8366,6 +8402,14 @@
|
||||
"title_aux": "ComfyUI-Lovis-Node [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/jKaarlehto/ComfyUI-GetWorkflowName": [
|
||||
[
|
||||
"GetWorkflowName"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-GetWorkflowName [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/jammyfu/ComfyUI_PaintingCoderUtils": [
|
||||
[
|
||||
"PaintingCoder::DynamicImageCombiner",
|
||||
@ -9880,6 +9924,15 @@
|
||||
"title_aux": "ComfyUI-Lygia"
|
||||
}
|
||||
],
|
||||
"https://github.com/mertgoksel/ComfyUI-Noot-Nodes": [
|
||||
[
|
||||
"StagedKSampler",
|
||||
"TagRandomizer"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui-noot-nodes [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/mico-world/comfyui_mico_node": [
|
||||
[
|
||||
"HFUNETLoader"
|
||||
@ -10197,6 +10250,23 @@
|
||||
"title_aux": "ComfyUI-Remote-Save-Image [UNSAFE]"
|
||||
}
|
||||
],
|
||||
"https://github.com/newraina/comfyui-photoshop-v2": [
|
||||
[
|
||||
"\ud83d\udd39 Photoshop RemoteConnection",
|
||||
"\ud83d\udd39ClipPass",
|
||||
"\ud83d\udd39Floats",
|
||||
"\ud83d\udd39Photoshop ComfyUI Plugin",
|
||||
"\ud83d\udd39Photoshop Images",
|
||||
"\ud83d\udd39Photoshop Strings",
|
||||
"\ud83d\udd39Reroute - Anything Everywhere",
|
||||
"\ud83d\udd39SeedManager",
|
||||
"\ud83d\udd39SendTo Photoshop Plugin",
|
||||
"\ud83d\udd39modelPass"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui-photoshop-v2 [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/nidefawl/ComfyUI-nidefawl": [
|
||||
[
|
||||
"BlendImagesWithBoundedMasks",
|
||||
@ -12135,6 +12205,7 @@
|
||||
],
|
||||
"https://github.com/unphased/code-nodes": [
|
||||
[
|
||||
"ImageBatcherByIndexProV2",
|
||||
"PythonCodeNode",
|
||||
"ShellCodeNode"
|
||||
],
|
||||
@ -12995,6 +13066,21 @@
|
||||
"title_aux": "ComfyUI-ZVNodes [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/zhupeter010903/ComfyUI-prompt-library": [
|
||||
[
|
||||
"GroupedPromptNode",
|
||||
"XYZ Group Prompt Toggle",
|
||||
"XYZ Grouped Prompts",
|
||||
"XYZ Multi Clip Encoder",
|
||||
"XYZ Multi Text Concatenate",
|
||||
"XYZ Multi Text Replace",
|
||||
"XYZ Prompt Library",
|
||||
"XYZ Random String Picker"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-prompt-library"
|
||||
}
|
||||
],
|
||||
"https://github.com/zjkhurry/comfyui_MetalFX": [
|
||||
[
|
||||
"metalFXImg"
|
||||
@ -13029,17 +13115,6 @@
|
||||
"title_aux": "ComfyUI-zyd232-Nodes"
|
||||
}
|
||||
],
|
||||
"https://raw.githubusercontent.com/NeuralNotW0rk/ComfyUI-Waveform-Extensions/main/EXT_VariationUtils.py": [
|
||||
[
|
||||
"BatchToList",
|
||||
"ConcatAudioList",
|
||||
"SequenceVariation",
|
||||
"SliceAudio"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Waveform-Extensions"
|
||||
}
|
||||
],
|
||||
"https://raw.githubusercontent.com/jp0215/comfyUI_padding-resize_node/main/PaddingNode.py": [
|
||||
[
|
||||
"function"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,35 @@
|
||||
{
|
||||
"custom_nodes": [
|
||||
{
|
||||
"author": "fredconex",
|
||||
"title": "Sync Edit [REMOVED]",
|
||||
"reference": "https://github.com/fredconex/ComfyUI-SyncEdit",
|
||||
"files": [
|
||||
"https://github.com/fredconex/ComfyUI-SyncEdit"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This node allow to intercept changes on the input string and choose between use the current one or sync with incoming new one."
|
||||
},
|
||||
{
|
||||
"author": "fredconex",
|
||||
"title": "ComfyUI-SoundFlow [REMOVED]",
|
||||
"reference": "https://github.com/fredconex/ComfyUI-SoundFlow",
|
||||
"files": [
|
||||
"https://github.com/fredconex/ComfyUI-SoundFlow"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This is a bunch of nodes for ComfyUI to help with sound work."
|
||||
},
|
||||
{
|
||||
"author": "fredconex",
|
||||
"title": "SongBloom [REMOVED]",
|
||||
"reference": "https://github.com/fredconex/ComfyUI-SongBloom",
|
||||
"files": [
|
||||
"https://github.com/fredconex/ComfyUI-SongBloom"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI Nodes for SongBloom"
|
||||
},
|
||||
{
|
||||
"author": "EQXai",
|
||||
"title": "ComfyUI_EQX [REMOVED]",
|
||||
|
||||
@ -1,5 +1,216 @@
|
||||
{
|
||||
"custom_nodes": [
|
||||
{
|
||||
"author": "fr0nky0ng",
|
||||
"title": "ComfyUI-JSON-Prompt",
|
||||
"reference": "https://github.com/fr0nky0ng/ComfyUI-JSON-Prompt",
|
||||
"files": [
|
||||
"https://github.com/fr0nky0ng/ComfyUI-JSON-Prompt"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Custom node for ComfyUI that generates JSON prompts from natural language descriptions to improve text-to-image generation quality. Supports local LLM integration via Ollama or Google Gemini API."
|
||||
},
|
||||
{
|
||||
"author": "EricRollei",
|
||||
"title": "Eric_Image_Processing_Nodes",
|
||||
"reference": "https://github.com/EricRollei/Eric_Image_Processing_Nodes",
|
||||
"files": [
|
||||
"https://github.com/EricRollei/Eric_Image_Processing_Nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A comprehensive collection of advanced image processing nodes for ComfyUI, featuring state-of-the-art denoising, enhancement, and restoration techniques with GPU acceleration and specialized film grain processing."
|
||||
},
|
||||
{
|
||||
"author": "huyl3-cpu",
|
||||
"title": "comfyui-huyl2-nodes",
|
||||
"reference": "https://github.com/huyl3-cpu/comfyui-sortlist",
|
||||
"files": [
|
||||
"https://github.com/huyl3-cpu/comfyui-sortlist"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Custom utility nodes for ComfyUI by huyl2 (sort list v2, etc.)"
|
||||
},
|
||||
{
|
||||
"author": "7BEII",
|
||||
"title": "comfyui-PD_comfy-api-node",
|
||||
"reference": "https://github.com/7BEII/comfyui-PD_comfy-api-node",
|
||||
"files": [
|
||||
"https://github.com/7BEII/comfyui-PD_comfy-api-node"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI custom node suite integrating multiple AI image generation APIs (Gemini, Flux.1 Kontext Pro) with unified authentication via ComfyUI API Key and real-time cost tracking. (Description by CC)"
|
||||
},
|
||||
{
|
||||
"author": "wallen0322",
|
||||
"title": "ComfyUI-AE-Animation",
|
||||
"reference": "https://github.com/wallen0322/ComfyUI-AE-Animation",
|
||||
"files": [
|
||||
"https://github.com/wallen0322/ComfyUI-AE-Animation"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "After Effects-style animation nodes for ComfyUI with timeline-based keyframe control, layer management, and real-time preview rendering. (Description by CC)"
|
||||
},
|
||||
{
|
||||
"author": "wallen0322",
|
||||
"title": "ComfyUI-TTM-WAN22",
|
||||
"reference": "https://github.com/wallen0322/ComfyUI-TTM-WAN22",
|
||||
"files": [
|
||||
"https://github.com/wallen0322/ComfyUI-TTM-WAN22"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "TTM (Time-to-Move) node for ComfyUI enabling motion-controlled video generation with Wan2.2 models using dual-clock denoising for independent background and object animation control."
|
||||
},
|
||||
{
|
||||
"author": "swan7-py",
|
||||
"title": "ComfyUI-ImageAlphaCrop",
|
||||
"reference": "https://github.com/swan7-py/ComfyUI-ImageAlphaCrop",
|
||||
"files": [
|
||||
"https://github.com/swan7-py/ComfyUI-ImageAlphaCrop"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI plugin for automatically cropping transparent alpha channel borders from images - ideal for processing logos and icons. Supports batch processing with adjustable padding and alpha threshold. (Description by CC)"
|
||||
},
|
||||
{
|
||||
"author": "was",
|
||||
"title": "WAS LMStudio Easy-Query",
|
||||
"reference": "https://github.com/WASasquatch/ComfyUI_LMStudio_EasyQuery",
|
||||
"files": [
|
||||
"https://github.com/WASasquatch/ComfyUI_LMStudio_EasyQuery"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "LM Studio calls with image support and easy task directions."
|
||||
},
|
||||
{
|
||||
"author": "PozzettiAndrea",
|
||||
"title": "ComfyUI-AnyTop",
|
||||
"reference": "https://github.com/PozzettiAndrea/ComfyUI-AnyTop",
|
||||
"files": [
|
||||
"https://github.com/PozzettiAndrea/ComfyUI-AnyTop"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Standalone ComfyUI custom nodes for AnyTop - Universal Motion Generation for Any Skeleton Topology."
|
||||
},
|
||||
{
|
||||
"author": "IamCreateAI",
|
||||
"title": "ComfyUI-Animon",
|
||||
"reference": "https://github.com/IamCreateAI/ComfyUI-Animon",
|
||||
"files": [
|
||||
"https://github.com/IamCreateAI/ComfyUI-Animon"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI nodes for [Animon Platform](https://platform.animon.ai/), a comprehensive API service offering a variety of image and video generation models."
|
||||
},
|
||||
{
|
||||
"author": "neonr0",
|
||||
"title": "ComfyUI-PixelConstrainedScaler",
|
||||
"reference": "https://github.com/neonr-0/ComfyUI-PixelConstrainedScaler",
|
||||
"files": [
|
||||
"https://github.com/neonr-0/ComfyUI-PixelConstrainedScaler"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Smart upscaling with pixel-budget awareness while preserving native aspect ratios. Ideal for Image to Image (I2I) and Image to Video (I2V) workflows!"
|
||||
},
|
||||
{
|
||||
"author": "slahiri",
|
||||
"title": "ComfyUI-AI-Photography-Toolkit",
|
||||
"reference": "https://github.com/slahiri/ComfyUI-AI-Photography-Toolkit",
|
||||
"files": [
|
||||
"https://github.com/slahiri/ComfyUI-AI-Photography-Toolkit"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A collection of AI-powered photography and image generation tools for ComfyUI, featuring the SID_AIPromptGenerator node that uses Anthropic's Claude API to analyze images and generate optimized prompts for various image generation models."
|
||||
},
|
||||
{
|
||||
"author": "wzyfromhust",
|
||||
"title": "ComfyUI_SAM2UltraV2",
|
||||
"reference": "https://github.com/wzyfromhust/ComfyUI_SAM2UltraV2",
|
||||
"files": [
|
||||
"https://github.com/wzyfromhust/ComfyUI_SAM2UltraV2"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A fully modular and high-performance implementation of SAM2 (Segment Anything Model 2) for ComfyUI with dual-prompt support, negative point sampling, and upper body segmentation."
|
||||
},
|
||||
{
|
||||
"author": "cedarconnor",
|
||||
"title": "ComfyUI-DreamCube",
|
||||
"reference": "https://github.com/cedarconnor/ComfyUI-DreamCube",
|
||||
"files": [
|
||||
"https://github.com/cedarconnor/ComfyUI-DreamCube"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "360° panoramic depth estimation with multi-plane synchronization for ComfyUI, featuring equirectangular-cubemap transformations, cross-face consistency, and boundary blending for seamless depth maps."
|
||||
},
|
||||
{
|
||||
"author": "dowa-git",
|
||||
"title": "comfyui-dowa",
|
||||
"reference": "https://github.com/dowa-git/comfyui-dowa",
|
||||
"files": [
|
||||
"https://github.com/dowa-git/comfyui-dowa"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Professional navigation bar widget for ComfyUI with JWT-based user authentication, workflow templates, and team collaboration features in a purple gradient design."
|
||||
},
|
||||
{
|
||||
"author": "fuselayer",
|
||||
"title": "comfyui-lite-tracker",
|
||||
"reference": "https://github.com/fuselayer/comfyui-lite-tracker",
|
||||
"files": [
|
||||
"https://github.com/fuselayer/comfyui-lite-tracker"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI custom nodes for LiteTracker, a fast and efficient point tracking model for videos with load model, track, and grid editor nodes."
|
||||
},
|
||||
{
|
||||
"author": "yichengup",
|
||||
"title": "ComfyUI-YCNodes_Toolkit",
|
||||
"reference": "https://github.com/yichengup/ComfyUI-YCNodes_Toolkit",
|
||||
"files": [
|
||||
"https://github.com/yichengup/ComfyUI-YCNodes_Toolkit"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI toolkit with custom nodes for BBox canvas visualization, image brush mask drawing, and coordinate annotation for debugging and external data bridging. (Description by CC)"
|
||||
},
|
||||
{
|
||||
"author": "hua1995116",
|
||||
"title": "comfyui_goenhance_ffmpeg_wm",
|
||||
"reference": "https://github.com/hua1995116/comfyui_goenhance_ffmpeg_wm",
|
||||
"files": [
|
||||
"https://github.com/hua1995116/comfyui_goenhance_ffmpeg_wm"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI custom node for adding watermarks to videos using FFmpeg, with configurable position, opacity, scale, and hardware acceleration support."
|
||||
},
|
||||
{
|
||||
"author": "EricRollei",
|
||||
"title": "Comfy_HunyuanImage3",
|
||||
"reference": "https://github.com/EricRollei/Comfy_HunyuanImage3",
|
||||
"files": [
|
||||
"https://github.com/EricRollei/Comfy_HunyuanImage3"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Professional ComfyUI custom nodes for Tencent's HunyuanImage-3.0 80B multimodal model, with multiple loading modes, smart memory management, large image generation with CPU offload, and optional prompt enhancement via LLM APIs."
|
||||
},
|
||||
{
|
||||
"author": "Devin Garner",
|
||||
"title": "ComfyUI_Make-It-Animatable",
|
||||
"reference": "https://github.com/speige/ComfyUI_Make-It-Animatable",
|
||||
"files": [
|
||||
"https://github.com/speige/ComfyUI_Make-It-Animatable"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Auto-Rigging humanoid 3D meshes for Mixamo animations"
|
||||
},
|
||||
{
|
||||
"author": "alexjx",
|
||||
"title": "ComfyUI-XJNodes",
|
||||
"reference": "https://github.com/alexjx/ComfyUI-XJNodes",
|
||||
"files": [
|
||||
"https://github.com/alexjx/ComfyUI-XJNodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A modular collection of custom nodes for ComfyUI, organized by data type for easy navigation and maintenance."
|
||||
},
|
||||
|
||||
{
|
||||
"author": "princepainter",
|
||||
"title": "Comfyui-PainterSampler",
|
||||
@ -486,214 +697,6 @@
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI nodes for working with Photoshop mockup files - automatically project images onto PSD smart objects while preserving perspective, rotation, and scale transforms for seamless mockup rendering."
|
||||
},
|
||||
{
|
||||
"author": "NudeJS-dev",
|
||||
"title": "ComfyUI-NudeJS-Image2Prompt",
|
||||
"reference": "https://github.com/NudeJS-dev/ComfyUI-NudeJS-Image2Prompt",
|
||||
"files": [
|
||||
"https://github.com/NudeJS-dev/ComfyUI-NudeJS-Image2Prompt"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI custom node converting images to text prompts via external API, with automatic image preprocessing, base64 encoding, intelligent retry logic, and dual output modes. (Description by CC)"
|
||||
},
|
||||
{
|
||||
"author": "eddyhhlure1Eddy",
|
||||
"title": "ComfyUI-PreviewImageNode",
|
||||
"reference": "https://github.com/eddyhhlure1Eddy/ComfyUI-PreviewImageNode",
|
||||
"files": [
|
||||
"https://github.com/eddyhhlure1Eddy/ComfyUI-PreviewImageNode"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Standalone version of ComfyUI's PreviewImage and SaveImage nodes, extracted as an independent custom node for easy reuse and customization."
|
||||
},
|
||||
{
|
||||
"author": "eddyhhlure1Eddy",
|
||||
"title": "ComfyUI-QwenFrameSelector",
|
||||
"reference": "https://github.com/eddyhhlure1Eddy/ComfyUI-QwenFrameSelector",
|
||||
"files": [
|
||||
"https://github.com/eddyhhlure1Eddy/ComfyUI-QwenFrameSelector"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Intelligent video frame selection node powered by Qwen3-VL-235B vision model. Automatically analyzes and selects the best quality frames from videos for further creative work."
|
||||
},
|
||||
{
|
||||
"author": "princepainter",
|
||||
"title": "ComfyUI-PainterLongVideo",
|
||||
"reference": "https://github.com/princepainter/ComfyUI-PainterLongVideo",
|
||||
"files": [
|
||||
"https://github.com/princepainter/ComfyUI-PainterLongVideo"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Powerful node for generating long-form videos with consistent motion, global scene coherence, and slow-motion correction in Wan 2.2-based workflows."
|
||||
},
|
||||
{
|
||||
"author": "psdwizzard",
|
||||
"title": "Comfyui-XYZ-stitch",
|
||||
"reference": "https://github.com/psdwizzard/Comfyui-XYZ-stitch",
|
||||
"files": [
|
||||
"https://github.com/psdwizzard/Comfyui-XYZ-stitch"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Create A1111-style XYZ plot grids in ComfyUI to test multiple parameters and compare results in organized, labeled comparison grids."
|
||||
},
|
||||
{
|
||||
"author": "anhrefnyoiyoi",
|
||||
"title": "Placeholder-Replacer-By-ID",
|
||||
"reference": "https://github.com/anhrefnyoiyoi/Placeholder-Replacer-By-ID",
|
||||
"files": [
|
||||
"https://github.com/anhrefnyoiyoi/Placeholder-Replacer-By-ID"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Utility node that automates prompt assembly by replacing placeholder tokens with mapped artist or style names based on ID sequences, supporting multiple prompts and flexible ID handling strategies."
|
||||
},
|
||||
{
|
||||
"author": "judian17",
|
||||
"title": "ComfyUI-SRT-subtitles-VoxCPM",
|
||||
"reference": "https://github.com/judian17/ComfyUI-SRT-subtitles-VoxCPM",
|
||||
"files": [
|
||||
"https://github.com/judian17/ComfyUI-SRT-subtitles-VoxCPM"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI nodes for generating and editing speech from SRT subtitle files using VoxCPM text-to-speech model, supporting multi-speaker dialogue and audio replacement workflows."
|
||||
},
|
||||
{
|
||||
"author": "ttulttul",
|
||||
"title": "ComfyUI-FlowMatching-Upscaler",
|
||||
"reference": "https://github.com/ttulttul/ComfyUI-FlowMatching-Upscaler",
|
||||
"files": [
|
||||
"https://github.com/ttulttul/ComfyUI-FlowMatching-Upscaler"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Progressive upscaling node for flow-matching models that incrementally doubles resolution with flow-consistent re-noising, denoising, and skip residual blending to preserve composition."
|
||||
},
|
||||
{
|
||||
"author": "elyetis",
|
||||
"title": "Comfyui-ColorMatchNodes",
|
||||
"reference": "https://github.com/elyetis/Comfyui-ColorMatchNodes",
|
||||
"files": [
|
||||
"https://github.com/elyetis/Comfyui-ColorMatchNodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Color match nodes for ComfyUI that color-match target images against reference images with manual or auto-ramped blending, ideal for smooth color transitions between video clips."
|
||||
},
|
||||
{
|
||||
"author": "rafacost",
|
||||
"title": "rafacostComfy",
|
||||
"id": "rafacost-comfy",
|
||||
"reference": "https://github.com/rafacost/rafacost-comfy",
|
||||
"files": [
|
||||
"https://github.com/rafacost/rafacost-comfy"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A ComfyUI custom node for DreamOmni2 GGUF multimodal models — powered directly by llama-cpp-python."
|
||||
},
|
||||
{
|
||||
"author": "Boba-svg",
|
||||
"title": "ComfyUI_AutoBatchRunner",
|
||||
"reference": "https://github.com/Boba-svg/ComfyUI_AutoBatchRunner",
|
||||
"files": [
|
||||
"https://github.com/Boba-svg/ComfyUI_AutoBatchRunner"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI UI extension that automates batch prompt execution with configurable run counts and intervals, featuring keyboard shortcuts and a fixed control panel for streamlined workflow automation."
|
||||
},
|
||||
{
|
||||
"author": "Wladimir Palant",
|
||||
"title": "image-resize-comfyui",
|
||||
"reference": "https://github.com/ussoewwin/image_resize_comfyui",
|
||||
"files": [
|
||||
"https://github.com/ussoewwin/image_resize_comfyui"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Advanced image resizing node for ComfyUI with aspect ratio preservation and mask support"
|
||||
},
|
||||
{
|
||||
"author": "PozzettiAndrea",
|
||||
"title": "ComfyUI-HunyuanX",
|
||||
"reference": "https://github.com/PozzettiAndrea/ComfyUI-HunyuanX",
|
||||
"files": [
|
||||
"https://github.com/PozzettiAndrea/ComfyUI-HunyuanX"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Hunyuan 3D 2.1 image-to-3D generation nodes for ComfyUI with PBR texturing and model caching. Granular control for research."
|
||||
},
|
||||
{
|
||||
"author": "arthur",
|
||||
"title": "Video Output Bridge",
|
||||
"id": "videooutputbridge",
|
||||
"reference": "https://github.com/arthurtravers/ComfyUI-VideoOutputBridge",
|
||||
"files": [
|
||||
"https://github.com/arthurtravers/ComfyUI-VideoOutputBridge"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Bridge VHS_VideoCombine video outputs to standard image payloads for serverless runners (RunPod, Modal). Enables automatic S3 uploads of MP4/WebP files in worker-comfyui deployments."
|
||||
},
|
||||
{
|
||||
"author": "val",
|
||||
"title": "Groq Nodes",
|
||||
"id": "groqnodes",
|
||||
"reference": "https://github.com/brayevalerien/ComfyUI-GroqNodes",
|
||||
"files": [
|
||||
"https://github.com/brayevalerien/ComfyUI-GroqNodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI nodes for Groq API - chat, vision, audio, tool use, and batch processing"
|
||||
},
|
||||
{
|
||||
"author": "x0x0b",
|
||||
"title": "Prompt History Gallery",
|
||||
"id": "prompthistorygallery",
|
||||
"reference": "https://github.com/x0x0b/ComfyUI-PromptHistoryGallery",
|
||||
"files": [
|
||||
"https://github.com/x0x0b/ComfyUI-PromptHistoryGallery"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Prompt history input node and sidebar gallery for ComfyUI."
|
||||
},
|
||||
{
|
||||
"author": "EnragedAntelope",
|
||||
"title": "comfy-modelopt",
|
||||
"id": "modelopt",
|
||||
"reference": "https://github.com/EnragedAntelope/comfy-modelopt",
|
||||
"files": [
|
||||
"https://github.com/EnragedAntelope/comfy-modelopt"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "NVIDIA ModelOpt integration for ComfyUI - Quantize and optimize diffusion models with INT8/FP8/INT4"
|
||||
},
|
||||
{
|
||||
"author": "Owl-V",
|
||||
"title": "ComfyUI-Owlv_Nodes",
|
||||
"id": "comfyui-owlv_nodes",
|
||||
"reference": "https://github.com/OwlvChirotha/ComfyUI-Owlv_Nodes",
|
||||
"files": [
|
||||
"https://github.com/OwlvChirotha/ComfyUI-Owlv_Nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A collection of custom utility nodes for ComfyUI, providing a variety of practical mini-tools with multiple functions.",
|
||||
"tags": ["utility"]
|
||||
},
|
||||
{
|
||||
"author": "shiba2shiba",
|
||||
"title": "ComfyUI_FreeU_V2_advanced",
|
||||
"reference": "https://github.com/Shiba-2-shiba/ComfyUI_FreeU_V2_advanced",
|
||||
"files": [
|
||||
"https://github.com/Shiba-2-shiba/ComfyUI_FreeU_V2_advanced"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This is a custom node to add timestep for FreeU V2."
|
||||
},
|
||||
{
|
||||
"author": "Creditas",
|
||||
"title": "Adforge",
|
||||
"id": "adforge",
|
||||
"reference": "https://github.com/Creditas-labs/ComfyUI-Adforge",
|
||||
"files": [
|
||||
"https://github.com/Creditas-labs/ComfyUI-Adforge"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Creditas' Ad Creation Toolkit for ComfyUI"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -381,12 +381,14 @@
|
||||
"1hew_AnyEmptyInt",
|
||||
"1hew_AnySwitchBool",
|
||||
"1hew_AnySwitchInt",
|
||||
"1hew_AudioDuration",
|
||||
"1hew_DetectGuideLine",
|
||||
"1hew_DetectYolo",
|
||||
"1hew_ImageAddLabel",
|
||||
"1hew_ImageBBoxOverlayByMask",
|
||||
"1hew_ImageBatchExtract",
|
||||
"1hew_ImageBatchGroup",
|
||||
"1hew_ImageBatchRange",
|
||||
"1hew_ImageBatchSplit",
|
||||
"1hew_ImageBatchToList",
|
||||
"1hew_ImageBlendModeByAlpha",
|
||||
@ -395,29 +397,30 @@
|
||||
"1hew_ImageCropWithBBoxMask",
|
||||
"1hew_ImageEdgeCropPad",
|
||||
"1hew_ImageEditStitch",
|
||||
"1hew_ImageGetSize",
|
||||
"1hew_ImageGridSplit",
|
||||
"1hew_ImageHLFreqCombine",
|
||||
"1hew_ImageHLFreqSeparate",
|
||||
"1hew_ImageHLFreqTransform",
|
||||
"1hew_ImageListAppend",
|
||||
"1hew_ImageListToBatch",
|
||||
"1hew_ImageMainStitch",
|
||||
"1hew_ImageMaskBlend",
|
||||
"1hew_ImageMaskCrop",
|
||||
"1hew_ImagePasteByBBoxMask",
|
||||
"1hew_ImagePingPong",
|
||||
"1hew_ImagePlot",
|
||||
"1hew_ImageResizeFluxKontext",
|
||||
"1hew_ImageResizeQwenImage",
|
||||
"1hew_ImageResizeUniversal",
|
||||
"1hew_ImageRotateWithMask",
|
||||
"1hew_ImageSolid",
|
||||
"1hew_ImageSolidFluxKontext",
|
||||
"1hew_ImageSolidQwenImage",
|
||||
"1hew_ImageStrokeByMask",
|
||||
"1hew_ImageThreeStitch",
|
||||
"1hew_ImageTileMerge",
|
||||
"1hew_ImageTileSplit",
|
||||
"1hew_ImageTileSplitPreset",
|
||||
"1hew_IntImageSideLength",
|
||||
"1hew_IntImageSize",
|
||||
"1hew_IntMaskSideLength",
|
||||
"1hew_IntSplit",
|
||||
"1hew_IntWan",
|
||||
"1hew_ListCustomFloat",
|
||||
@ -425,6 +428,7 @@
|
||||
"1hew_ListCustomSeed",
|
||||
"1hew_ListCustomString",
|
||||
"1hew_MaskBatchMathOps",
|
||||
"1hew_MaskBatchRange",
|
||||
"1hew_MaskBatchSplit",
|
||||
"1hew_MaskBatchToList",
|
||||
"1hew_MaskCropByBBoxMask",
|
||||
@ -437,13 +441,15 @@
|
||||
"1hew_MultiMaskBatch",
|
||||
"1hew_MultiStringJoin",
|
||||
"1hew_RangeMapping",
|
||||
"1hew_SaveVideo",
|
||||
"1hew_SaveVideoRGBA",
|
||||
"1hew_StringCoordinateToBBoxMask",
|
||||
"1hew_StringCoordinateToBBoxes",
|
||||
"1hew_StringFilter",
|
||||
"1hew_StringJoinMulti",
|
||||
"1hew_TextCustomExtract",
|
||||
"1hew_TextEncodeQwenImageEditKeepSize",
|
||||
"1hew_TextFilter",
|
||||
"1hew_TextJoinByTextList",
|
||||
"1hew_TextJoinMulti",
|
||||
"1hew_TextListToString",
|
||||
"1hew_TextPrefixSuffix",
|
||||
"1hew_URLToVideo",
|
||||
"1hew_VideoCutGroup",
|
||||
@ -659,6 +665,16 @@
|
||||
"title_aux": "Comflowy's Custom Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/7BEII/comfyui-PD_comfy-api-node": [
|
||||
[
|
||||
"PDFluxKontextProOfficial",
|
||||
"PDGeminiImageGenComfyKey",
|
||||
"PDOpenAIGPTImageKey"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui-PD_comfy-api-node"
|
||||
}
|
||||
],
|
||||
"https://github.com/807502278/ComfyUI-3D-MeshTool": [
|
||||
[
|
||||
"Auto_Normal",
|
||||
@ -4553,6 +4569,54 @@
|
||||
"title_aux": "JH Misc. Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/ComfyUI-WanVideoWrapper/QQ.copied": [
|
||||
[
|
||||
"ImageBlend_GPU",
|
||||
"ImageRadialZoomBlur_GPU",
|
||||
"LoraExtractKJv2",
|
||||
"PowerLoraLoaderV2",
|
||||
"VideoMergeABC",
|
||||
"WanScaleAB",
|
||||
"WanVideoCacheSamples",
|
||||
"WanVideoCacheVideos",
|
||||
"WanVideoEmptyEmbeds_v2",
|
||||
"WanVideoFlowmapDistortion",
|
||||
"WanVideoImageToVideoEncode_v2",
|
||||
"WanVideoMotionToFlowmap",
|
||||
"WanVideoPowerLoraLoader"
|
||||
],
|
||||
{}
|
||||
],
|
||||
"https://github.com/ComfyUI/Eagleshadow": [
|
||||
[
|
||||
"Batch 12 Images",
|
||||
"Detect Transparency",
|
||||
"Fix Checkpoint Name",
|
||||
"ImageLinearGammaCompositeMasked",
|
||||
"KSampler Same Noise",
|
||||
"MaskGlow",
|
||||
"OffsetImage",
|
||||
"Round Float to String",
|
||||
"SaveImageToFolder",
|
||||
"Select ControlNet",
|
||||
"Select Model 20",
|
||||
"Simple Load Image Batch"
|
||||
],
|
||||
{}
|
||||
],
|
||||
"https://github.com/ComfyUI/SequentialGroupController": [
|
||||
[
|
||||
"SequentialGroupController",
|
||||
"SequentialGroupControllerV2"
|
||||
],
|
||||
{}
|
||||
],
|
||||
"https://github.com/ComfyUI/subjectselector": [
|
||||
[
|
||||
"ComfyUI_subjectselector"
|
||||
],
|
||||
{}
|
||||
],
|
||||
"https://github.com/ComplexRobot/ComfyUI-Simple-VFI": [
|
||||
[
|
||||
"Simple_Frame_Interpolation"
|
||||
@ -5672,8 +5736,10 @@
|
||||
"BoyoImageGrab",
|
||||
"BoyoIncontextSaver",
|
||||
"BoyoLoRAConfigInspector",
|
||||
"BoyoLoRAConfigProcessor",
|
||||
"BoyoLoRAJSONBuilder",
|
||||
"BoyoLoRAPairedLoader",
|
||||
"BoyoLoRAPathForwarder",
|
||||
"BoyoLoadImageList",
|
||||
"BoyoLoopCollector",
|
||||
"BoyoLoopImageSaver",
|
||||
@ -6085,6 +6151,79 @@
|
||||
"title_aux": "ComfyUI-EreNodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/EricRollei/Comfy_HunyuanImage3": [
|
||||
[
|
||||
"HunyuanImage3FullGPULoader",
|
||||
"HunyuanImage3FullLoader",
|
||||
"HunyuanImage3Generate",
|
||||
"HunyuanImage3GenerateLarge",
|
||||
"HunyuanImage3QuantizedLoader",
|
||||
"HunyuanImage3Unload"
|
||||
],
|
||||
{
|
||||
"title_aux": "Comfy_HunyuanImage3"
|
||||
}
|
||||
],
|
||||
"https://github.com/EricRollei/Eric_Image_Processing_Nodes": [
|
||||
[
|
||||
"AdaptiveFrequencyFilter",
|
||||
"AdaptiveImageEnhancement",
|
||||
"AdvancedFilmGrainNode",
|
||||
"AutoDenoiseComparisonNode",
|
||||
"AutoDenoiseNode",
|
||||
"BM3D Film Grain Denoising",
|
||||
"BM3DComparisonNode",
|
||||
"BM3DDeblurNode",
|
||||
"BM3DDenoiseNode",
|
||||
"BatchImageProcessing",
|
||||
"ComprehensiveComparison",
|
||||
"DeepImagePriorNode",
|
||||
"DiffBIRRestorationNode",
|
||||
"DnCNNDenoiseNode",
|
||||
"FGANNFilmGrainDenoiseNode",
|
||||
"FilmGrainAnalysis",
|
||||
"FilmGrainAnalysisNode",
|
||||
"FilmGrainProcessing",
|
||||
"FrequencyEnhancementPresets",
|
||||
"GPUWaveletDenoiseNode",
|
||||
"HomomorphicFilter",
|
||||
"ImageQualityAssessment",
|
||||
"LB-CLAHE",
|
||||
"LightweightCNNDenoiseNode",
|
||||
"MemoryOptimization",
|
||||
"Multi-Scale Retinex",
|
||||
"MultiscaleFFTEnhancement",
|
||||
"NAFNetDenoiseNode",
|
||||
"Noise2VoidNode",
|
||||
"NoiseDABatchNode",
|
||||
"NoiseDANode",
|
||||
"NonLocalMeans",
|
||||
"NonLocalMeansSimple",
|
||||
"PhasePreservingEnhancement",
|
||||
"ProfessionalRestorationPipeline",
|
||||
"RealBM3DDeblurNode",
|
||||
"RealBM3DNode",
|
||||
"RestormerRestorationNode",
|
||||
"RichardsonLucy",
|
||||
"RichardsonLucyGPU",
|
||||
"RichardsonLucySimple",
|
||||
"SCUNetBatchRestoration",
|
||||
"SCUNetRestoration",
|
||||
"Smart Sharpening",
|
||||
"SmartWorkflowNode",
|
||||
"StationaryWaveletDenoise",
|
||||
"SwinIRBatch",
|
||||
"SwinIRRestoration",
|
||||
"SwinIRSharpnessBoostNode",
|
||||
"WaveletDenoise",
|
||||
"WienerFilter",
|
||||
"WienerFilterCompare",
|
||||
"WienerFilterSNR"
|
||||
],
|
||||
{
|
||||
"title_aux": "Eric_Image_Processing_Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/EricRollei/Local_LLM_Prompt_Enhancer": [
|
||||
[
|
||||
"EricImageToImagePromptExpander",
|
||||
@ -7089,26 +7228,6 @@
|
||||
"title_aux": "ComfyUI-SD3-Powerlab"
|
||||
}
|
||||
],
|
||||
"https://github.com/GACLove/ComfyUI-Lightx2vWrapper": [
|
||||
[
|
||||
"LightX2VConfigCombiner",
|
||||
"LightX2VConfigCombinerV2",
|
||||
"LightX2VInferenceConfig",
|
||||
"LightX2VLoRALoader",
|
||||
"LightX2VMemoryOptimization",
|
||||
"LightX2VModularInference",
|
||||
"LightX2VModularInferenceV2",
|
||||
"LightX2VQuantization",
|
||||
"LightX2VTalkObjectInput",
|
||||
"LightX2VTalkObjectsCombiner",
|
||||
"LightX2VTalkObjectsFromFiles",
|
||||
"LightX2VTalkObjectsFromJSON",
|
||||
"LightX2VTeaCache"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Lightx2vWrapper"
|
||||
}
|
||||
],
|
||||
"https://github.com/GACLove/ComfyUI-VFI": [
|
||||
[
|
||||
"CalculateLoadedFPS",
|
||||
@ -7898,9 +8017,8 @@
|
||||
],
|
||||
"https://github.com/Haoming02/comfyui-diffusion-cg": [
|
||||
[
|
||||
"Normalization",
|
||||
"Recenter",
|
||||
"Recenter XL"
|
||||
"Diffusion CG",
|
||||
"Disable CG"
|
||||
],
|
||||
{
|
||||
"title_aux": "Diffusion CG"
|
||||
@ -7916,7 +8034,7 @@
|
||||
],
|
||||
"https://github.com/Haoming02/comfyui-resharpen": [
|
||||
[
|
||||
"Resharpen"
|
||||
"ReSharpen"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI ReSharpen"
|
||||
@ -8149,7 +8267,9 @@
|
||||
"https://github.com/IAMCCS/IAMCCS-nodes": [
|
||||
[
|
||||
"IAMCCS_ModelWithLoRA",
|
||||
"IAMCCS_WanLoRAStack"
|
||||
"IAMCCS_WanLoRAStack",
|
||||
"IAMCCS_WanLoRAStackModelIO",
|
||||
"IAMCCS_qwenloraloader"
|
||||
],
|
||||
{
|
||||
"title_aux": "IAMCCS-nodes"
|
||||
@ -8273,6 +8393,22 @@
|
||||
"title_aux": "ComfyUI-VideoDescription"
|
||||
}
|
||||
],
|
||||
"https://github.com/IamCreateAI/ComfyUI-Animon": [
|
||||
[
|
||||
"AnimonImageToVideoNode",
|
||||
"AnimonKeyNode",
|
||||
"AnimonStartEndToVideoNode",
|
||||
"AnimonUploadImageFromFileNode",
|
||||
"AnimonUploadImageFromTensorNode",
|
||||
"AnimonUploadVideoFromBytesNode",
|
||||
"AnimonUploadVideoFromFileNode",
|
||||
"AnimonUploadVideoFromTensorNode",
|
||||
"AnimonUpscaleVideoNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Animon"
|
||||
}
|
||||
],
|
||||
"https://github.com/IamCreateAI/Ruyi-Models": [
|
||||
[
|
||||
"Ruyi_EnhanceAVideo",
|
||||
@ -11264,6 +11400,12 @@
|
||||
"title_aux": "ComfyUI-OneForOne"
|
||||
}
|
||||
],
|
||||
"https://github.com/MergeBlockWeighted/fo_ComfyUI": [
|
||||
[
|
||||
"MergeBlockWeighted"
|
||||
],
|
||||
{}
|
||||
],
|
||||
"https://github.com/MetaGLM/ComfyUI-ZhipuAI-Platform": [
|
||||
[
|
||||
"VideoReportData",
|
||||
@ -11446,6 +11588,26 @@
|
||||
"title_aux": "ComfyUI-LightVAE"
|
||||
}
|
||||
],
|
||||
"https://github.com/ModelTC/ComfyUI-Lightx2vWrapper": [
|
||||
[
|
||||
"LightX2VConfigCombiner",
|
||||
"LightX2VConfigCombinerV2",
|
||||
"LightX2VInferenceConfig",
|
||||
"LightX2VLoRALoader",
|
||||
"LightX2VMemoryOptimization",
|
||||
"LightX2VModularInference",
|
||||
"LightX2VModularInferenceV2",
|
||||
"LightX2VQuantization",
|
||||
"LightX2VTalkObjectInput",
|
||||
"LightX2VTalkObjectsCombiner",
|
||||
"LightX2VTalkObjectsFromFiles",
|
||||
"LightX2VTalkObjectsFromJSON",
|
||||
"LightX2VTeaCache"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Lightx2vWrapper"
|
||||
}
|
||||
],
|
||||
"https://github.com/MohammadAboulEla/ComfyUI-iTools": [
|
||||
[
|
||||
"iToolsAddOverlay",
|
||||
@ -12812,6 +12974,18 @@
|
||||
"title_aux": "ComfyUI-AdvancedLivePortrait"
|
||||
}
|
||||
],
|
||||
"https://github.com/PozzettiAndrea/ComfyUI-AnyTop": [
|
||||
[
|
||||
"AnyTopConditionLoader",
|
||||
"AnyTopExportBVH",
|
||||
"AnyTopGenerateMotion",
|
||||
"AnyTopMotionPreview",
|
||||
"DownLoadAnyTopModel"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-AnyTop"
|
||||
}
|
||||
],
|
||||
"https://github.com/PozzettiAndrea/ComfyUI-DepthAnythingV3": [
|
||||
[
|
||||
"DA3_CreateCameraParams",
|
||||
@ -12822,11 +12996,11 @@
|
||||
"DA3_Save3DGaussians",
|
||||
"DA3_SavePointCloud",
|
||||
"DA3_To3DGaussians",
|
||||
"DA3_ToMesh",
|
||||
"DA3_ToPointCloud",
|
||||
"DepthAnythingV3_3D",
|
||||
"DepthAnythingV3_Advanced",
|
||||
"DepthAnythingV3_MultiView",
|
||||
"DepthAnythingV3_MultiView_3D",
|
||||
"DepthAnything_V3",
|
||||
"DownloadAndLoadDepthAnythingV3Model"
|
||||
],
|
||||
@ -12836,22 +13010,21 @@
|
||||
],
|
||||
"https://github.com/PozzettiAndrea/ComfyUI-GeometryPack": [
|
||||
[
|
||||
"GeomPackBlenderRemeshWithTexture",
|
||||
"GeomPackAppendMesh",
|
||||
"GeomPackBlenderUV",
|
||||
"GeomPackBooleanOp",
|
||||
"GeomPackCheckNormals",
|
||||
"GeomPackCombineMeshes",
|
||||
"GeomPackCombineMeshesWeighted",
|
||||
"GeomPackComputeNormals",
|
||||
"GeomPackComputeSDF",
|
||||
"GeomPackCreatePrimitive",
|
||||
"GeomPackDetectSelfIntersections",
|
||||
"GeomPackExampleNode",
|
||||
"GeomPackExtractSkeleton",
|
||||
"GeomPackFillHoles",
|
||||
"GeomPackFilterComponents",
|
||||
"GeomPackFixIntersectionsByPerturbation",
|
||||
"GeomPackFixIntersectionsByRemoval",
|
||||
"GeomPackFixNormals",
|
||||
"GeomPackFixSelfIntersectionsByPerturbation",
|
||||
"GeomPackFixSelfIntersectionsByRemoval",
|
||||
"GeomPackLibiglARAP",
|
||||
"GeomPackLibiglHarmonic",
|
||||
"GeomPackLibiglLSCM",
|
||||
@ -12859,30 +13032,32 @@
|
||||
"GeomPackLoadMeshBatch",
|
||||
"GeomPackLoadMeshBlend",
|
||||
"GeomPackLoadMeshFBX",
|
||||
"GeomPackMarkBoundaryEdges",
|
||||
"GeomPackMeshDistance",
|
||||
"GeomPackMeshFromSkeleton",
|
||||
"GeomPackMeshInfo",
|
||||
"GeomPackMeshQuality",
|
||||
"GeomPackMeshToMeshDistance",
|
||||
"GeomPackMeshToPointCloud",
|
||||
"GeomPackPreviewBoundingBoxesVTK",
|
||||
"GeomPackPointCloudToMesh",
|
||||
"GeomPackPointToMeshDistance",
|
||||
"GeomPackPreviewMesh",
|
||||
"GeomPackPreviewMeshUV",
|
||||
"GeomPackPreviewMeshVTK",
|
||||
"GeomPackPreviewMeshVTKFields",
|
||||
"GeomPackPreviewMeshVTKFilters",
|
||||
"GeomPackPreviewMeshVTKHidableMenu",
|
||||
"GeomPackPreviewMeshVTKTextured",
|
||||
"GeomPackPreviewMeshVTKEdges",
|
||||
"GeomPackPreviewMeshVTKPointCloud",
|
||||
"GeomPackPreviewMeshVTKSplit",
|
||||
"GeomPackPreviewMeshVTKWithNormals",
|
||||
"GeomPackPreviewMeshVTKWithTexture",
|
||||
"GeomPackReconstructSurface",
|
||||
"GeomPackRefineMesh",
|
||||
"GeomPackRemesh",
|
||||
"GeomPackRemeshSelfIntersections",
|
||||
"GeomPackRemeshUV",
|
||||
"GeomPackSaveMesh",
|
||||
"GeomPackSkeletonToLines",
|
||||
"GeomPackSkeletonToMesh",
|
||||
"GeomPackSplitComponents",
|
||||
"GeomPackStripMeshAdjacency",
|
||||
"GeomPackTransform",
|
||||
"GeomPackVisualizeNormals",
|
||||
"GeomPackXAtlasRemeshWithTexture",
|
||||
"GeomPackTextureToGeometry",
|
||||
"GeomPackTransformMesh",
|
||||
"GeomPackUVUnwrap",
|
||||
"GeomPackVisualizeNormalField",
|
||||
"GeomPackVisualizeSkeleton",
|
||||
"GeomPackXAtlasUVUnwrap"
|
||||
],
|
||||
{
|
||||
@ -13626,6 +13801,7 @@
|
||||
],
|
||||
"https://github.com/S4MUEL-404/ComfyUI-PromptsO": [
|
||||
[
|
||||
"\ud83d\udc80S4AnyToString",
|
||||
"\ud83d\udc80S4ImageWithGemini",
|
||||
"\ud83d\udc80S4ImageWithGrok",
|
||||
"\ud83d\udc80S4PromptsCombine",
|
||||
@ -14370,7 +14546,8 @@
|
||||
[
|
||||
"Simple Readable Metadata Text Viewer-SG",
|
||||
"SimpleReadableMetadataMAXSG",
|
||||
"SimpleReadableMetadataSG"
|
||||
"SimpleReadableMetadataSG",
|
||||
"SimpleReadableMetadataSaveTextSG"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-Simple_Readable_Metadata-SG"
|
||||
@ -17292,6 +17469,21 @@
|
||||
"title_aux": "ControlFlowUtils"
|
||||
}
|
||||
],
|
||||
"https://github.com/WASasquatch/ComfyUI_LMStudio_EasyQuery": [
|
||||
[
|
||||
"WASLMStudioCaption",
|
||||
"WASLMStudioCaptionDataset",
|
||||
"WASLMStudioCaptionDatasetCustom",
|
||||
"WASLMStudioChat",
|
||||
"WASLMStudioModel",
|
||||
"WASLMStudioOptions",
|
||||
"WASLMStudioQuery",
|
||||
"WASLoadImageDirectory"
|
||||
],
|
||||
{
|
||||
"title_aux": "WAS LMStudio Easy-Query"
|
||||
}
|
||||
],
|
||||
"https://github.com/WASasquatch/ComfyUI_Preset_Merger": [
|
||||
[
|
||||
"Preset_Model_Merge"
|
||||
@ -18021,12 +18213,14 @@
|
||||
"ApplyStyleModelEnhanced",
|
||||
"ApplyStyleModelSimple",
|
||||
"BatchImagesNode",
|
||||
"FrameCalculator",
|
||||
"FrameCalculatorAudio",
|
||||
"FrameCalculatorVideo",
|
||||
"GetResolutionImage",
|
||||
"InpaintConditioningNode",
|
||||
"InpaintFluxKontextConditioning",
|
||||
"Prepimg2Vid",
|
||||
"RemoveBackgroundNode",
|
||||
"ShowAnyDataType",
|
||||
"StitchImages",
|
||||
"StitchImagesAndMask",
|
||||
"TextFieldNode",
|
||||
@ -19995,6 +20189,39 @@
|
||||
"title_aux": "ComfyUI-Sa2VA-XJ"
|
||||
}
|
||||
],
|
||||
"https://github.com/alexjx/ComfyUI-XJNodes": [
|
||||
[
|
||||
"XJFloatRangeList",
|
||||
"XJImageGrid",
|
||||
"XJImageListFilter",
|
||||
"XJImageRandomTransform",
|
||||
"XJImageScaleCalc",
|
||||
"XJImageScaleMegapixel",
|
||||
"XJImageTransform",
|
||||
"XJIntOffset",
|
||||
"XJIntegerDecrement",
|
||||
"XJIntegerIncrement",
|
||||
"XJJSONExtractor",
|
||||
"XJLoadImageByPath",
|
||||
"XJLoadImageWithMetadata",
|
||||
"XJLoadImagesFromDirBatch",
|
||||
"XJLoadImagesFromDirList",
|
||||
"XJOneImageFromBatch",
|
||||
"XJRandomImagesFromBatch",
|
||||
"XJRandomTextFromFile",
|
||||
"XJRandomTextFromList",
|
||||
"XJSamplerAdapter",
|
||||
"XJSaveImageWithMetadata",
|
||||
"XJSchedulerAdapter",
|
||||
"XJStringPass",
|
||||
"XJSupirParameters",
|
||||
"XJTextFileInfo",
|
||||
"XJTextListFromFile"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-XJNodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/alibof96/ComfyUI-DownscaleIRN": [
|
||||
[
|
||||
"IRNDownscale"
|
||||
@ -22883,6 +23110,28 @@
|
||||
"title_aux": "ComfyUI-DiT360"
|
||||
}
|
||||
],
|
||||
"https://github.com/cedarconnor/ComfyUI-DreamCube": [
|
||||
[
|
||||
"ApplyDepthToCubemapFace",
|
||||
"BatchCubemapDepth",
|
||||
"CreateEmptyCubemap",
|
||||
"CubemapInfo",
|
||||
"CubemapPreview",
|
||||
"CubemapSeamValidator",
|
||||
"CubemapToEquirect",
|
||||
"EnforceDepthConsistency",
|
||||
"EquirectToCubemap",
|
||||
"ExtractCubemapFace",
|
||||
"ExtractDepthChannel",
|
||||
"InsertCubemapFace",
|
||||
"MergeCubemapDepth",
|
||||
"NormalizeCubemapDepth",
|
||||
"SmoothCubemapDepth"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-DreamCube"
|
||||
}
|
||||
],
|
||||
"https://github.com/cedarconnor/ComfyUI-OmniX": [
|
||||
[
|
||||
"OmniX_PanoPerception_Depth",
|
||||
@ -25277,7 +25526,8 @@
|
||||
"WanVaceToVideo",
|
||||
"WebcamCapture",
|
||||
"unCLIPCheckpointLoader",
|
||||
"unCLIPConditioning"
|
||||
"unCLIPConditioning",
|
||||
"wanBlockSwap"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI"
|
||||
@ -26855,6 +27105,14 @@
|
||||
"title_aux": "ComfyUI Deadline Submission"
|
||||
}
|
||||
],
|
||||
"https://github.com/dowa-git/comfyui-dowa": [
|
||||
[
|
||||
"DowaNavigationNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui-dowa"
|
||||
}
|
||||
],
|
||||
"https://github.com/downlifted/ComfyUI_GROQ-PromptWizard": [
|
||||
[
|
||||
"GroqAudioProcessor",
|
||||
@ -28606,6 +28864,7 @@
|
||||
[
|
||||
"OnDemandCLIPLoader",
|
||||
"OnDemandCheckpointLoader",
|
||||
"OnDemandCivitaiLikedLoraLoader",
|
||||
"OnDemandControlNetLoader",
|
||||
"OnDemandGGUFLoader",
|
||||
"OnDemandLoraLoader",
|
||||
@ -28646,42 +28905,6 @@
|
||||
"title_aux": "ComfyUI_llm_easyanimiate"
|
||||
}
|
||||
],
|
||||
"https://github.com/fredconex/ComfyUI-SongBloom": [
|
||||
[
|
||||
"SongBloomGenerate",
|
||||
"SongBloomModelLoader"
|
||||
],
|
||||
{
|
||||
"title_aux": "SongBloom"
|
||||
}
|
||||
],
|
||||
"https://github.com/fredconex/ComfyUI-SoundFlow": [
|
||||
[
|
||||
"SoundFlow_Concatenator",
|
||||
"SoundFlow_DuckCompressor",
|
||||
"SoundFlow_Equalizer",
|
||||
"SoundFlow_Fade",
|
||||
"SoundFlow_GainPitchControl",
|
||||
"SoundFlow_GetLength",
|
||||
"SoundFlow_Mixer",
|
||||
"SoundFlow_PreviewAudio",
|
||||
"SoundFlow_SetLength",
|
||||
"SoundFlow_SilenceTrimmer",
|
||||
"SoundFlow_SimpleCompressor",
|
||||
"SoundFlow_TrimAudio"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-SoundFlow"
|
||||
}
|
||||
],
|
||||
"https://github.com/fredconex/ComfyUI-SyncEdit": [
|
||||
[
|
||||
"SyncTextEditor"
|
||||
],
|
||||
{
|
||||
"title_aux": "Sync Edit"
|
||||
}
|
||||
],
|
||||
"https://github.com/fredhopp/comfyui-flipflopnodes": [
|
||||
[
|
||||
"FF Group Positioner",
|
||||
@ -28769,6 +28992,16 @@
|
||||
"title_aux": "ComfyUI_pose_inter"
|
||||
}
|
||||
],
|
||||
"https://github.com/fuselayer/comfyui-lite-tracker": [
|
||||
[
|
||||
"LiteTracker_LoadModel",
|
||||
"LiteTracker_Track",
|
||||
"RectEditor"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui-lite-tracker"
|
||||
}
|
||||
],
|
||||
"https://github.com/fuselayer/comfyui-mosaic-blur": [
|
||||
[
|
||||
"ImageMosaic"
|
||||
@ -28914,6 +29147,7 @@
|
||||
"PerturbedAttentionDelta",
|
||||
"PromptShuffler",
|
||||
"QuantileMatchScaling",
|
||||
"ReflectionPadding",
|
||||
"SADAInfo",
|
||||
"SADAModelPatch",
|
||||
"SDXL_LoRA_BlockSlider_Loader",
|
||||
@ -29287,6 +29521,9 @@
|
||||
"HunyuanVideoLoraTrainer_fal",
|
||||
"Ideogramv3_fal",
|
||||
"Imagen4Preview_fal",
|
||||
"InfinityStarTextToVideo_fal",
|
||||
"Kling21Pro_fal",
|
||||
"Kling25TurboPro_fal",
|
||||
"KlingMaster_fal",
|
||||
"KlingPro10_fal",
|
||||
"KlingPro16_fal",
|
||||
@ -29301,6 +29538,7 @@
|
||||
"MiniMax_fal",
|
||||
"NanoBananaEdit_fal",
|
||||
"NanoBananaTextToImage_fal",
|
||||
"PixverseSwapNode_fal",
|
||||
"QwenImageEdit_fal",
|
||||
"Recraft_fal",
|
||||
"ReveTextToImage_fal",
|
||||
@ -29312,12 +29550,15 @@
|
||||
"SeedreamV4Edit_fal",
|
||||
"Seedvr_Upscale_Video_fal",
|
||||
"Seedvr_Upscaler_fal",
|
||||
"Sora2Pro_fal",
|
||||
"Topaz_Upscale_Video_fal",
|
||||
"UploadFile_fal",
|
||||
"UploadVideo_fal",
|
||||
"Upscaler_fal",
|
||||
"VLM_fal",
|
||||
"Veo2ImageToVideo_fal",
|
||||
"Veo31Fast_fal",
|
||||
"Veo31_fal",
|
||||
"Veo3_fal",
|
||||
"VideoUpscaler_fal",
|
||||
"Wan2214b_animate_move_character_fal",
|
||||
@ -30358,6 +30599,7 @@
|
||||
"WWAA_PromptWriter",
|
||||
"WWAA_SearchReplaceMulti",
|
||||
"WWAA_SearchReplaceText",
|
||||
"WWAA_SlicedArt",
|
||||
"WWAA_Switch_Int",
|
||||
"WWAA_VideoResolution"
|
||||
],
|
||||
@ -30462,6 +30704,14 @@
|
||||
"title_aux": "ComfyUI-MusePose-Remaster"
|
||||
}
|
||||
],
|
||||
"https://github.com/hua1995116/comfyui_goenhance_ffmpeg_wm": [
|
||||
[
|
||||
"GOENHANCE_FFmpegWatermark"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui_goenhance_ffmpeg_wm"
|
||||
}
|
||||
],
|
||||
"https://github.com/huagetai/ComfyUI-Gaffer": [
|
||||
[
|
||||
"ApplyICLight",
|
||||
@ -30673,6 +30923,15 @@
|
||||
"title_aux": "ComfyUI Text Remove Node"
|
||||
}
|
||||
],
|
||||
"https://github.com/huyl3-cpu/comfyui-sortlist": [
|
||||
[
|
||||
"sort_list_string",
|
||||
"video_dir_combiner"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfyui-huyl2-nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/hvppycoding/comfyui-json-prompt-renderer": [
|
||||
[
|
||||
"ExtractJSON",
|
||||
@ -30702,6 +30961,7 @@
|
||||
],
|
||||
"https://github.com/hw5511/comfyui_hf_upscaler_loader": [
|
||||
[
|
||||
"GGUFModelLoaderFromHF",
|
||||
"UpscaleModelLoaderFromHF"
|
||||
],
|
||||
{
|
||||
@ -31185,6 +31445,7 @@
|
||||
"IG1AspectRatioProperties",
|
||||
"IG1FluxReport",
|
||||
"IG1ImageSelector",
|
||||
"IG1LoadImage",
|
||||
"IG1QwenImageNativesResolutions",
|
||||
"IG1Resolution",
|
||||
"IG1ResolutionAdvisor",
|
||||
@ -37607,7 +37868,8 @@
|
||||
],
|
||||
"https://github.com/mercu-lore/-Multiple-Angle-Camera-Control": [
|
||||
[
|
||||
"CameraControlPromptNode"
|
||||
"CameraControlPromptNode",
|
||||
"RelightingPromptNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "Multiple-Angle-Camera-Control"
|
||||
@ -38548,6 +38810,14 @@
|
||||
"title_aux": "comfyui-usetaesd"
|
||||
}
|
||||
],
|
||||
"https://github.com/neonr-0/ComfyUI-PixelConstrainedScaler": [
|
||||
[
|
||||
"PixelConstrainedScaler"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-PixelConstrainedScaler"
|
||||
}
|
||||
],
|
||||
"https://github.com/neph1/comfyui-smooth-step-lora-loader": [
|
||||
[
|
||||
"Smooth_Step_Lora_Loader"
|
||||
@ -43421,6 +43691,14 @@
|
||||
"title_aux": "Skycoder Tools"
|
||||
}
|
||||
],
|
||||
"https://github.com/slahiri/ComfyUI-AI-Photography-Toolkit": [
|
||||
[
|
||||
"SID_AIPromptGenerator"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-AI-Photography-Toolkit"
|
||||
}
|
||||
],
|
||||
"https://github.com/slvslvslv/ComfyUI-SmartHelperNodes": [
|
||||
[
|
||||
"SmartFormatString",
|
||||
@ -44324,6 +44602,15 @@
|
||||
"title_aux": "comfyui-lsnet"
|
||||
}
|
||||
],
|
||||
"https://github.com/speige/ComfyUI_Make-It-Animatable": [
|
||||
[
|
||||
"MakeItAnimatableRig",
|
||||
"MakeItAnimatableRigGS"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_Make-It-Animatable"
|
||||
}
|
||||
],
|
||||
"https://github.com/spinagon/ComfyUI-seam-carving": [
|
||||
[
|
||||
"SeamCarving"
|
||||
@ -44768,6 +45055,15 @@
|
||||
"title_aux": "ComfyUI-RetroDiffusion-API-Node"
|
||||
}
|
||||
],
|
||||
"https://github.com/swan7-py/ComfyUI-ImageAlphaCrop": [
|
||||
[
|
||||
"ImageAlphaCrop",
|
||||
"ImageAlphaCropAdvanced"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-ImageAlphaCrop"
|
||||
}
|
||||
],
|
||||
"https://github.com/sweetndata/ComfyUI-Image-Harmonizer": [
|
||||
[
|
||||
"harmonizer"
|
||||
@ -46220,10 +46516,12 @@
|
||||
"https://github.com/vanche1212/ComfyUI-ZMG-Nodes": [
|
||||
[
|
||||
"API Request Node",
|
||||
"CombineImageAudioToVideoNode",
|
||||
"Empty Image Node",
|
||||
"JSON Builder Node",
|
||||
"JSON Parser Node",
|
||||
"JsonBuilderNode",
|
||||
"LoadAudioFromUrlNode",
|
||||
"LoadImageFromUrlNode",
|
||||
"MultilinePromptNode",
|
||||
"OSSUploadNode",
|
||||
@ -46671,6 +46969,7 @@
|
||||
"https://github.com/walke2019/ComfyUI-GGUF-VLM": [
|
||||
[
|
||||
"LocalTextModelLoader",
|
||||
"MemoryManagerNode",
|
||||
"MultiImageAnalysis",
|
||||
"NexaServiceStatus",
|
||||
"RemoteAPIConfig",
|
||||
@ -46687,6 +46986,15 @@
|
||||
"title_aux": "Qwen2.5-VL GGUF Nodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/wallen0322/ComfyUI-AE-Animation": [
|
||||
[
|
||||
"AEAnimationCore",
|
||||
"AERender"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-AE-Animation"
|
||||
}
|
||||
],
|
||||
"https://github.com/wallen0322/ComfyUI-QI-QwenEditSafe": [
|
||||
[
|
||||
"QI_DyPE",
|
||||
@ -46707,6 +47015,16 @@
|
||||
"title_aux": "ComfyUI-SageAttention3"
|
||||
}
|
||||
],
|
||||
"https://github.com/wallen0322/ComfyUI-TTM-WAN22": [
|
||||
[
|
||||
"WanTTMConditioning",
|
||||
"WanTTMSampler",
|
||||
"WanTTMSamplerComplete"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-TTM-WAN22"
|
||||
}
|
||||
],
|
||||
"https://github.com/wallen0322/ComfyUI-Wan22FMLF": [
|
||||
[
|
||||
"WanAdvancedExtractLastFrames",
|
||||
@ -47502,6 +47820,21 @@
|
||||
"title_aux": "Steganos Node for ComfyUI"
|
||||
}
|
||||
],
|
||||
"https://github.com/wzyfromhust/ComfyUI_SAM2UltraV2": [
|
||||
[
|
||||
"SAM2UltraV2: Crop",
|
||||
"SAM2UltraV2: LoadModel",
|
||||
"SAM2UltraV2: MaskKeepLargestN",
|
||||
"SAM2UltraV2: UpperBody"
|
||||
],
|
||||
{
|
||||
"author": "chflame",
|
||||
"description": "A set of nodes for ComfyUI that can composite layer and mask to achieve Photoshop like functionality.",
|
||||
"nickname": "LayerStyle",
|
||||
"title": "LayerStyle",
|
||||
"title_aux": "ComfyUI_SAM2UltraV2"
|
||||
}
|
||||
],
|
||||
"https://github.com/x0x0b/ComfyUI-PromptHistoryGallery": [
|
||||
[
|
||||
"PromptHistoryInput"
|
||||
@ -48111,6 +48444,16 @@
|
||||
"title_aux": "ComfyUI-YCNodes"
|
||||
}
|
||||
],
|
||||
"https://github.com/yichengup/ComfyUI-YCNodes_Toolkit": [
|
||||
[
|
||||
"ycBBoxBridge",
|
||||
"ycCanvasBBox",
|
||||
"ycimagebrushmask"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-YCNodes_Toolkit"
|
||||
}
|
||||
],
|
||||
"https://github.com/yichengup/ComfyUI_SwiftCut": [
|
||||
[
|
||||
"SelectImages",
|
||||
@ -49057,6 +49400,7 @@
|
||||
"TextPreview",
|
||||
"TorchCompileModelAdvanced",
|
||||
"UpscaleImageWithModelIfNeed",
|
||||
"VolcanoArkImageEditNode",
|
||||
"VolcanoImageEditNode",
|
||||
"VolcanoOutpaintingNode"
|
||||
],
|
||||
@ -49433,9 +49777,6 @@
|
||||
"SDXLAspectRatio"
|
||||
],
|
||||
{
|
||||
"preemptions": [
|
||||
"SAMLoader"
|
||||
],
|
||||
"title_aux": "SDXLCustomAspectRatio"
|
||||
}
|
||||
],
|
||||
|
||||
290
scanner.py
290
scanner.py
@ -8,6 +8,7 @@ import datetime
|
||||
import concurrent.futures
|
||||
import requests
|
||||
import warnings
|
||||
import argparse
|
||||
|
||||
builtin_nodes = set()
|
||||
|
||||
@ -40,27 +41,51 @@ def download_url(url, dest_folder, filename=None):
|
||||
raise Exception(f"Failed to download file from {url}")
|
||||
|
||||
|
||||
# prepare temp dir
|
||||
if len(sys.argv) > 1:
|
||||
temp_dir = sys.argv[1]
|
||||
else:
|
||||
temp_dir = os.path.join(os.getcwd(), ".tmp")
|
||||
def parse_arguments():
|
||||
"""Parse command-line arguments"""
|
||||
parser = argparse.ArgumentParser(
|
||||
description='ComfyUI Manager Node Scanner',
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
epilog='''
|
||||
Examples:
|
||||
# Standard mode
|
||||
python3 scanner.py
|
||||
python3 scanner.py --skip-update
|
||||
|
||||
if not os.path.exists(temp_dir):
|
||||
os.makedirs(temp_dir)
|
||||
# Scan-only mode
|
||||
python3 scanner.py --scan-only temp-urls-clean.list
|
||||
python3 scanner.py --scan-only urls.list --temp-dir /custom/temp
|
||||
python3 scanner.py --scan-only urls.list --skip-update
|
||||
'''
|
||||
)
|
||||
|
||||
parser.add_argument('--scan-only', type=str, metavar='URL_LIST_FILE',
|
||||
help='Scan-only mode: provide URL list file (one URL per line)')
|
||||
parser.add_argument('--temp-dir', type=str, metavar='DIR',
|
||||
help='Temporary directory for cloned repositories')
|
||||
parser.add_argument('--skip-update', action='store_true',
|
||||
help='Skip git clone/pull operations')
|
||||
parser.add_argument('--skip-stat-update', action='store_true',
|
||||
help='Skip GitHub stats collection')
|
||||
parser.add_argument('--skip-all', action='store_true',
|
||||
help='Skip all update operations')
|
||||
|
||||
# Backward compatibility: positional argument for temp_dir
|
||||
parser.add_argument('temp_dir_positional', nargs='?', metavar='TEMP_DIR',
|
||||
help='(Legacy) Temporary directory path')
|
||||
|
||||
args = parser.parse_args()
|
||||
return args
|
||||
|
||||
|
||||
skip_update = '--skip-update' in sys.argv or '--skip-all' in sys.argv
|
||||
skip_stat_update = '--skip-stat-update' in sys.argv or '--skip-all' in sys.argv
|
||||
|
||||
if not skip_stat_update:
|
||||
auth = Auth.Token(os.environ.get('GITHUB_TOKEN'))
|
||||
g = Github(auth=auth)
|
||||
else:
|
||||
g = None
|
||||
|
||||
|
||||
print(f"TEMP DIR: {temp_dir}")
|
||||
# Module-level variables (will be set in main if running as script)
|
||||
args = None
|
||||
scan_only_mode = False
|
||||
url_list_file = None
|
||||
temp_dir = None
|
||||
skip_update = False
|
||||
skip_stat_update = True
|
||||
g = None
|
||||
|
||||
|
||||
parse_cnt = 0
|
||||
@ -310,6 +335,53 @@ def get_nodes(target_dir):
|
||||
return py_files, directories
|
||||
|
||||
|
||||
def get_urls_from_list_file(list_file):
|
||||
"""
|
||||
Read URLs from list file for scan-only mode
|
||||
|
||||
Args:
|
||||
list_file (str): Path to URL list file (one URL per line)
|
||||
|
||||
Returns:
|
||||
list of tuples: [(url, "", None, None), ...]
|
||||
Format: (url, title, preemptions, nodename_pattern)
|
||||
- title: Empty string
|
||||
- preemptions: None
|
||||
- nodename_pattern: None
|
||||
|
||||
File format:
|
||||
https://github.com/owner/repo1
|
||||
https://github.com/owner/repo2
|
||||
# Comments starting with # are ignored
|
||||
|
||||
Raises:
|
||||
FileNotFoundError: If list_file does not exist
|
||||
"""
|
||||
if not os.path.exists(list_file):
|
||||
raise FileNotFoundError(f"URL list file not found: {list_file}")
|
||||
|
||||
urls = []
|
||||
with open(list_file, 'r', encoding='utf-8') as f:
|
||||
for line_num, line in enumerate(f, 1):
|
||||
line = line.strip()
|
||||
|
||||
# Skip empty lines and comments
|
||||
if not line or line.startswith('#'):
|
||||
continue
|
||||
|
||||
# Validate URL format (basic check)
|
||||
if not (line.startswith('http://') or line.startswith('https://')):
|
||||
print(f"WARNING: Line {line_num} is not a valid URL: {line}")
|
||||
continue
|
||||
|
||||
# Add URL with empty metadata
|
||||
# (url, title, preemptions, nodename_pattern)
|
||||
urls.append((line, "", None, None))
|
||||
|
||||
print(f"Loaded {len(urls)} URLs from {list_file}")
|
||||
return urls
|
||||
|
||||
|
||||
def get_git_urls_from_json(json_file):
|
||||
with open(json_file, encoding='utf-8') as file:
|
||||
data = json.load(file)
|
||||
@ -366,13 +438,43 @@ def clone_or_pull_git_repository(git_url):
|
||||
print(f"Failed to clone '{repo_name}': {e}")
|
||||
|
||||
|
||||
def update_custom_nodes():
|
||||
def update_custom_nodes(scan_only_mode=False, url_list_file=None):
|
||||
"""
|
||||
Update custom nodes by cloning/pulling repositories
|
||||
|
||||
Args:
|
||||
scan_only_mode (bool): If True, use URL list file instead of custom-node-list.json
|
||||
url_list_file (str): Path to URL list file (required if scan_only_mode=True)
|
||||
|
||||
Returns:
|
||||
dict: node_info mapping {repo_name: (url, title, preemptions, node_pattern)}
|
||||
"""
|
||||
if not os.path.exists(temp_dir):
|
||||
os.makedirs(temp_dir)
|
||||
|
||||
node_info = {}
|
||||
|
||||
git_url_titles_preemptions = get_git_urls_from_json('custom-node-list.json')
|
||||
# Select URL source based on mode
|
||||
if scan_only_mode:
|
||||
if not url_list_file:
|
||||
raise ValueError("url_list_file is required in scan-only mode")
|
||||
|
||||
git_url_titles_preemptions = get_urls_from_list_file(url_list_file)
|
||||
print("\n[Scan-Only Mode]")
|
||||
print(f" - URL source: {url_list_file}")
|
||||
print(" - GitHub stats: DISABLED")
|
||||
print(f" - Git clone/pull: {'ENABLED' if not skip_update else 'DISABLED'}")
|
||||
print(" - Metadata: EMPTY")
|
||||
else:
|
||||
if not os.path.exists('custom-node-list.json'):
|
||||
raise FileNotFoundError("custom-node-list.json not found")
|
||||
|
||||
git_url_titles_preemptions = get_git_urls_from_json('custom-node-list.json')
|
||||
print("\n[Standard Mode]")
|
||||
print(" - URL source: custom-node-list.json")
|
||||
print(f" - GitHub stats: {'ENABLED' if not skip_stat_update else 'DISABLED'}")
|
||||
print(f" - Git clone/pull: {'ENABLED' if not skip_update else 'DISABLED'}")
|
||||
print(" - Metadata: FULL")
|
||||
|
||||
def process_git_url_title(url, title, preemptions, node_pattern):
|
||||
name = os.path.basename(url)
|
||||
@ -484,36 +586,48 @@ def update_custom_nodes():
|
||||
if not skip_stat_update:
|
||||
process_git_stats(git_url_titles_preemptions)
|
||||
|
||||
# Git clone/pull for all repositories
|
||||
with concurrent.futures.ThreadPoolExecutor(11) as executor:
|
||||
for url, title, preemptions, node_pattern in git_url_titles_preemptions:
|
||||
executor.submit(process_git_url_title, url, title, preemptions, node_pattern)
|
||||
|
||||
py_url_titles_and_pattern = get_py_urls_from_json('custom-node-list.json')
|
||||
# .py file download (skip in scan-only mode - only process git repos)
|
||||
if not scan_only_mode:
|
||||
py_url_titles_and_pattern = get_py_urls_from_json('custom-node-list.json')
|
||||
|
||||
def download_and_store_info(url_title_preemptions_and_pattern):
|
||||
url, title, preemptions, node_pattern = url_title_preemptions_and_pattern
|
||||
name = os.path.basename(url)
|
||||
if name.endswith(".py"):
|
||||
node_info[name] = (url, title, preemptions, node_pattern)
|
||||
def download_and_store_info(url_title_preemptions_and_pattern):
|
||||
url, title, preemptions, node_pattern = url_title_preemptions_and_pattern
|
||||
name = os.path.basename(url)
|
||||
if name.endswith(".py"):
|
||||
node_info[name] = (url, title, preemptions, node_pattern)
|
||||
|
||||
try:
|
||||
download_url(url, temp_dir)
|
||||
except:
|
||||
print(f"[ERROR] Cannot download '{url}'")
|
||||
try:
|
||||
download_url(url, temp_dir)
|
||||
except:
|
||||
print(f"[ERROR] Cannot download '{url}'")
|
||||
|
||||
with concurrent.futures.ThreadPoolExecutor(10) as executor:
|
||||
executor.map(download_and_store_info, py_url_titles_and_pattern)
|
||||
with concurrent.futures.ThreadPoolExecutor(10) as executor:
|
||||
executor.map(download_and_store_info, py_url_titles_and_pattern)
|
||||
|
||||
return node_info
|
||||
|
||||
|
||||
def gen_json(node_info):
|
||||
def gen_json(node_info, scan_only_mode=False):
|
||||
"""
|
||||
Generate extension-node-map.json from scanned node information
|
||||
|
||||
Args:
|
||||
node_info (dict): Repository metadata mapping
|
||||
scan_only_mode (bool): If True, exclude metadata from output
|
||||
"""
|
||||
# scan from .py file
|
||||
node_files, node_dirs = get_nodes(temp_dir)
|
||||
|
||||
comfyui_path = os.path.abspath(os.path.join(temp_dir, "ComfyUI"))
|
||||
node_dirs.remove(comfyui_path)
|
||||
node_dirs = [comfyui_path] + node_dirs
|
||||
# Only reorder if ComfyUI exists in the list
|
||||
if comfyui_path in node_dirs:
|
||||
node_dirs.remove(comfyui_path)
|
||||
node_dirs = [comfyui_path] + node_dirs
|
||||
|
||||
data = {}
|
||||
for dirname in node_dirs:
|
||||
@ -524,6 +638,7 @@ def gen_json(node_info):
|
||||
for py in py_files:
|
||||
nodes_in_file, metadata_in_file = scan_in_file(py, dirname == "ComfyUI")
|
||||
nodes.update(nodes_in_file)
|
||||
# Include metadata from .py files in both modes
|
||||
metadata.update(metadata_in_file)
|
||||
|
||||
dirname = os.path.basename(dirname)
|
||||
@ -538,17 +653,28 @@ def gen_json(node_info):
|
||||
if dirname in node_info:
|
||||
git_url, title, preemptions, node_pattern = node_info[dirname]
|
||||
|
||||
metadata['title_aux'] = title
|
||||
# Conditionally add metadata based on mode
|
||||
if not scan_only_mode:
|
||||
# Standard mode: include all metadata
|
||||
metadata['title_aux'] = title
|
||||
|
||||
if preemptions is not None:
|
||||
metadata['preemptions'] = preemptions
|
||||
if preemptions is not None:
|
||||
metadata['preemptions'] = preemptions
|
||||
|
||||
if node_pattern is not None:
|
||||
metadata['nodename_pattern'] = node_pattern
|
||||
if node_pattern is not None:
|
||||
metadata['nodename_pattern'] = node_pattern
|
||||
# Scan-only mode: metadata remains empty
|
||||
|
||||
data[git_url] = (nodes, metadata)
|
||||
else:
|
||||
print(f"WARN: {dirname} is removed from custom-node-list.json")
|
||||
# Scan-only mode: Repository not in node_info (expected behavior)
|
||||
# Construct URL from dirname (author_repo format)
|
||||
if '_' in dirname:
|
||||
parts = dirname.split('_', 1)
|
||||
git_url = f"https://github.com/{parts[0]}/{parts[1]}"
|
||||
data[git_url] = (nodes, metadata)
|
||||
else:
|
||||
print(f"WARN: {dirname} is removed from custom-node-list.json")
|
||||
|
||||
for file in node_files:
|
||||
nodes, metadata = scan_in_file(file)
|
||||
@ -561,13 +687,16 @@ def gen_json(node_info):
|
||||
|
||||
if file in node_info:
|
||||
url, title, preemptions, node_pattern = node_info[file]
|
||||
metadata['title_aux'] = title
|
||||
|
||||
if preemptions is not None:
|
||||
metadata['preemptions'] = preemptions
|
||||
# Conditionally add metadata based on mode
|
||||
if not scan_only_mode:
|
||||
metadata['title_aux'] = title
|
||||
|
||||
if node_pattern is not None:
|
||||
metadata['nodename_pattern'] = node_pattern
|
||||
if preemptions is not None:
|
||||
metadata['preemptions'] = preemptions
|
||||
|
||||
if node_pattern is not None:
|
||||
metadata['nodename_pattern'] = node_pattern
|
||||
|
||||
data[url] = (nodes, metadata)
|
||||
else:
|
||||
@ -579,6 +708,10 @@ def gen_json(node_info):
|
||||
for extension in extensions:
|
||||
node_list_json_path = os.path.join(temp_dir, extension, 'node_list.json')
|
||||
if os.path.exists(node_list_json_path):
|
||||
# Skip if extension not in node_info (scan-only mode with limited URLs)
|
||||
if extension not in node_info:
|
||||
continue
|
||||
|
||||
git_url, title, preemptions, node_pattern = node_info[extension]
|
||||
|
||||
with open(node_list_json_path, 'r', encoding='utf-8') as f:
|
||||
@ -608,13 +741,15 @@ def gen_json(node_info):
|
||||
print("------------------------------------------------------")
|
||||
node_list_json = {}
|
||||
|
||||
metadata_in_url['title_aux'] = title
|
||||
# Conditionally add metadata based on mode
|
||||
if not scan_only_mode:
|
||||
metadata_in_url['title_aux'] = title
|
||||
|
||||
if preemptions is not None:
|
||||
metadata['preemptions'] = preemptions
|
||||
if preemptions is not None:
|
||||
metadata_in_url['preemptions'] = preemptions
|
||||
|
||||
if node_pattern is not None:
|
||||
metadata_in_url['nodename_pattern'] = node_pattern
|
||||
if node_pattern is not None:
|
||||
metadata_in_url['nodename_pattern'] = node_pattern
|
||||
|
||||
nodes = list(nodes)
|
||||
nodes.sort()
|
||||
@ -625,12 +760,53 @@ def gen_json(node_info):
|
||||
json.dump(data, file, indent=4, sort_keys=True)
|
||||
|
||||
|
||||
print("### ComfyUI Manager Node Scanner ###")
|
||||
if __name__ == "__main__":
|
||||
# Parse arguments
|
||||
args = parse_arguments()
|
||||
|
||||
print("\n# Updating extensions\n")
|
||||
updated_node_info = update_custom_nodes()
|
||||
# Determine mode
|
||||
scan_only_mode = args.scan_only is not None
|
||||
url_list_file = args.scan_only if scan_only_mode else None
|
||||
|
||||
print("\n# 'extension-node-map.json' file is generated.\n")
|
||||
gen_json(updated_node_info)
|
||||
# Determine temp_dir
|
||||
if args.temp_dir:
|
||||
temp_dir = args.temp_dir
|
||||
elif args.temp_dir_positional:
|
||||
temp_dir = args.temp_dir_positional
|
||||
else:
|
||||
temp_dir = os.path.join(os.getcwd(), ".tmp")
|
||||
|
||||
print("\nDONE.\n")
|
||||
if not os.path.exists(temp_dir):
|
||||
os.makedirs(temp_dir)
|
||||
|
||||
# Determine skip flags
|
||||
skip_update = args.skip_update or args.skip_all
|
||||
skip_stat_update = args.skip_stat_update or args.skip_all or scan_only_mode
|
||||
|
||||
if not skip_stat_update:
|
||||
auth = Auth.Token(os.environ.get('GITHUB_TOKEN'))
|
||||
g = Github(auth=auth)
|
||||
else:
|
||||
g = None
|
||||
|
||||
print("### ComfyUI Manager Node Scanner ###")
|
||||
|
||||
if scan_only_mode:
|
||||
print(f"\n# [Scan-Only Mode] Processing URL list: {url_list_file}\n")
|
||||
else:
|
||||
print("\n# [Standard Mode] Updating extensions\n")
|
||||
|
||||
# Update/clone repositories and collect node info
|
||||
updated_node_info = update_custom_nodes(scan_only_mode, url_list_file)
|
||||
|
||||
print("\n# Generating 'extension-node-map.json'...\n")
|
||||
|
||||
# Generate extension-node-map.json
|
||||
gen_json(updated_node_info, scan_only_mode)
|
||||
|
||||
print("\n✅ DONE.\n")
|
||||
|
||||
if scan_only_mode:
|
||||
print("Output: extension-node-map.json (node mappings only)")
|
||||
else:
|
||||
print("Output: extension-node-map.json (full metadata)")
|
||||
Loading…
Reference in New Issue
Block a user