Merge branch 'Comfy-Org:main' into main

This commit is contained in:
Eric Rollei 2025-11-19 08:31:56 -08:00 committed by GitHub
commit 4fee08aae4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 6973 additions and 5758 deletions

View File

@ -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)"
},

View File

@ -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"
}
],

File diff suppressed because it is too large Load Diff

View File

@ -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 builtin 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",

View File

@ -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

View File

@ -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]",

View File

@ -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"
}
]
}

View File

@ -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"
}
],

View File

@ -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)")