floyo logo
Powered by
ThinkDiffusion
Pricing
Wan 2.7 is now live. Check it out 👉🏼
floyo logo
Powered by
ThinkDiffusion
Pricing
Wan 2.7 is now live. Check it out 👉🏼
Last updated
2026-04-03

KJNodes for ComfyUI is a collection of specialized nodes designed to enhance functionality and user experience within the ComfyUI environment. It focuses on model optimization and quality-of-life improvements while minimizing external dependencies.

  • Provides advanced Set/Get functionality that allows users to manage data flow across different graph structures seamlessly.
  • Offers a variety of keyboard shortcuts and context menu options for quick access to node operations, improving overall efficiency.
  • Features a robust settings panel for customizing node behavior and visualizations, enhancing user control over their workflows.

Context

KJNodes is a set of custom nodes tailored for ComfyUI, aimed at improving the utility and efficiency of node management within the user interface. Its primary purpose is to streamline workflows by introducing innovative features that enhance how users interact with nodes, particularly in terms of data handling and optimization.

Key Features & Benefits

The tool includes advanced features such as support for both legacy and new node formats, allowing seamless integration into existing projects. The ability to convert links to Set/Get nodes and vice versa enhances flexibility, enabling users to adjust their node configurations quickly based on their project needs. Additionally, the shortcut keys and context menu options provide rapid access to common functions, significantly speeding up the workflow.

Advanced Functionalities

KJNodes introduces specialized capabilities like cross-subgraph Set/Get operations, meaning that data can be shared and accessed across different parts of a project without cumbersome manual connections. Users can also batch convert outputs into Set/Get pairs, offering a streamlined approach to managing multiple nodes at once. The tool also allows for type inference from connected outputs, automatically adapting node types based on the context, which reduces manual adjustments.

Practical Benefits

This tool enhances workflow efficiency by providing intuitive node management features that minimize the time spent on setup and adjustments. The ability to visualize connections and navigate through subgraphs simplifies complex project structures, allowing users to maintain clarity and control over their node configurations. Overall, KJNodes significantly improves the quality and speed of project development within ComfyUI.

Credits/Acknowledgments

KJNodes is developed by the original authors and contributors who have worked on enhancing the ComfyUI experience. The repository is open-source, allowing users to contribute to its development and improvement under the specified license.

Inner Nodes

AddLabel
AddNoiseToTrackPath
AppendInstanceDiffusionTracking
AppendStringsToList
ApplyRifleXRoPE_HunuyanVideo
ApplyRifleXRoPE_WanVideo
AudioConcatenate
BOOLConstant
BatchCLIPSeg
BatchCropFromMask
BatchCropFromMaskAdvanced
BatchUncrop
BatchUncropAdvanced
BboxToInt
BboxVisualize
BlockifyMask
CFGZeroStarAndInit
CameraPoseVisualizer
CheckpointLoaderKJ
CheckpointPerturbWeights
ColorMatch
ColorMatchV2
ColorToMask
CondPassThrough
ConditioningMultiCombine
ConditioningSetMaskAndCombine
ConditioningSetMaskAndCombine3
ConditioningSetMaskAndCombine4
ConditioningSetMaskAndCombine5
ConsolidateMasksKJ
CreateAudioMask
CreateFadeMask
CreateFadeMaskAdvanced
CreateFluidMask
CreateGradientFromCoords
CreateGradientMask
CreateInstanceDiffusionTracking
CreateMagicMask
CreateShapeImageOnPath
CreateShapeMask
CreateShapeMaskOnPath
CreateTextMask
CreateTextOnPath
CreateVoronoiMask
CrossFadeImages
CrossFadeImagesMulti
CustomControlNetWeightsFluxFromList
CustomSigmas
CutAndDragOnPath
DecodeAndSaveVideo
DiTBlockLoraLoader
DifferentialDiffusionAdvanced
DiffusionModelLoaderKJ
DiffusionModelSelector
DownloadAndLoadCLIPSeg
DrawInstanceDiffusionTracking
DrawMaskOnImage
DummyOut
EmptyLatentImageCustomPresets
EmptyLatentImagePresets
EncodeVideoComponents
EndRecordCUDAMemoryHistory
FastPreview
FilterZeroMasksAndCorrespondingImages
FlipSigmasAdjusted
FloatConstant
FloatToMask
FloatToSigmas
FluxBlockLoraSelect
GGUFLoaderKJ
GLIGENTextBoxApplyBatchCoords
GenerateNoise
GetImageRangeFromBatch
GetImageSizeAndCount
GetImagesFromBatchIndexed
GetLatentRangeFromBatch
GetLatentSizeAndCount
GetLatentsFromBatchIndexed
GetMaskSizeAndCount
GetTrackRange
GradientToFloat
GrowMaskWithBlur
HunyuanVideoBlockLoraSelect
HunyuanVideoEncodeKeyframesToCond
INTConstant
ImageAddMulti
ImageAndMaskPreview
ImageBatchExtendWithOverlap
ImageBatchFilter
ImageBatchJoinWithTransition
ImageBatchMulti
ImageBatchRepeatInterleaving
ImageBatchTestPattern
ImageConcanate
ImageConcatFromBatch
ImageConcatMulti
ImageCropByMask
ImageCropByMaskAndResize
ImageCropByMaskBatch
ImageGrabPIL
ImageGridComposite2x2
ImageGridComposite3x3
ImageGridtoBatch
ImageNoiseAugmentation
ImageNormalize_Neg1_To_1
ImagePadForOutpaintMasked
ImagePadForOutpaintTargetSize
ImagePadKJ
ImagePass
ImagePrepForICLora
ImageResizeKJ
ImageResizeKJv2
ImageSharpenKJ
ImageTensorList
ImageTransformByNormalizedAmplitude
ImageUncropByMask
ImageUpscaleWithModelBatched
InjectNoiseToLatent
InsertImageBatchByIndexes
InsertImagesToBatchIndexed
InsertLatentToIndexed
InterpolateCoords
Intrinsic_lora_sampling
JoinStringMulti
JoinStrings
LTX2AttentionTunerPatch
LTX2AudioLatentNormalizingSampling
LTX2BlockLoraSelect
LTX2LoraLoaderAdvanced
LTX2MemoryEfficientSageAttentionPatch
LTX2SamplingPreviewOverride
LTX2_NAG
LTXVAddGuideMulti
LTXVAddGuidesFromBatch
LTXVAudioVideoMask
LTXVChunkFeedForward
LTXVEnhanceAVideoKJ
LTXVImgToVideoInplaceKJ
LatentInpaintTTM
LazySwitchKJ
LeapfusionHunyuanI2VPatcher
LoadAndResizeImage
LoadImagesFromFolderKJ
LoadResAdapterNormalization
LoadVideosFromFolder
LoraExtractKJ
LoraReduceRankKJ
MaskBatchMulti
MaskOrImageToWeight
MergeImageChannels
ModelMemoryUsageFactorOverride
ModelMemoryUseReportPatch
ModelPassThrough
ModelPatchTorchSettings
ModelSaveKJ
NABLA_AttentionKJ
NormalizedAmplitudeToFloatList
NormalizedAmplitudeToMask
OffsetMask
OffsetMaskByNormalizedAmplitude
PadImageBatchInterleaved
PatchModelPatcherOrder
PathchSageAttentionKJ
PlaySoundKJ
PlotCoordinates
PointsEditor
PreviewAnimation
PreviewImageOrMask
PreviewLatentNoiseMask
RemapImageRange
RemapMaskRange
ReplaceImagesInBatch
ResizeMask
ReverseImageBatch
RoundMask
SV3D_BatchSchedule
SamplerSelfRefineVideo
SaveImageKJ
SaveImageWithAlpha
SaveStringKJ
ScaleBatchPromptSchedule
ScheduledCFGGuidance
ScreencapStream
Screencap_mss
SeparateMasks
SetShakkerLabsUnionControlNetType
ShuffleImageBatch
SigmasToFloat
SimpleCalculatorKJ
SkipLayerGuidanceWanVideo
Sleep
SomethingToString
SoundReactive
SplineEditor
SplitBboxes
SplitImageChannels
StableZero123_BatchSchedule
StartRecordCUDAMemoryHistory
StringConstant
StringConstantMultiline
StringToFloatList
StyleModelApplyAdvanced
Superprompt
TimerNodeKJ
TorchCompileControlNet
TorchCompileCosmosModel
TorchCompileLTXModel
TorchCompileModelAdvanced
TorchCompileModelFluxAdvanced
TorchCompileModelFluxAdvancedV2
TorchCompileModelHyVideo
TorchCompileModelQwenImage
TorchCompileModelWanVideo
TorchCompileModelWanVideoV2
TorchCompileVAE
TransitionImagesInBatch
TransitionImagesMulti
VAEDecodeLoopKJ
VAELoaderKJ
VRAM_Debug
VisualizeCUDAMemoryHistory
VisualizeSigmasKJ
Wan21BlockLoraSelect
WanChunkFeedForward
WanImageToVideoSVIPro
WanVideoEnhanceAVideoKJ
WanVideoNAG
WanVideoTeaCacheKJ
WebcamCaptureCV2
WeightScheduleConvert
WeightScheduleExtend
WidgetToString