Skip to content
Node packVerifiedExternal
Open source

ComfyUI-KJNodes

Various custom nodes for ComfyUI

Maintainer@kijaiCgrade

Package profile

Status
Verified
Publisher
@kijai
Source
GitHub
Stars
2.9K
Linked pipes
1

README

KJNodes for ComfyUI

At this point pretty random collection of utility, model optimization and QoL nodes, while keeping dependencies at minimum.

Documentation is mostly in the node descriptions and tooltips.

Installation

  1. Clone this repo into custom_nodes folder.
  2. Install dependencies: pip install -r requirements.txt or if you use the portable install, run this in ComfyUI_windows_portable -folder:

python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-KJNodes\requirements.txt

JS extensions:

Node insert (default hotkey D, configurable) and shake to disconnect (default disabled, found in settings to enable):

https://github.com/user-attachments/assets/e81f02e6-9cb0-4cb3-bcdd-67e7bd5bf6fb

Node swap (default hotkey S, configurable):

https://github.com/user-attachments/assets/735d973e-1b8b-4936-a1fb-29736b9c063a

Set/Get

UPDATE March 19th 2026

Complete (backwards compatible as far as I'm aware currently) rewrite of Set/Get nodes.

Changelog March 19th 2026

New Features

  • Nodes 2.0 support - Works with nodes 2.0 as well as legacy.

  • Subgraph support — Set/Get now works across subgraph boundaries. A Set in a parent graph is visible to all child subgraphs, and Get nodes search upward through ancestors. Cross-graph connections are resolved during prompt execution.

  • Convert link to Set/Get — Right-click any link midpoint to convert it into a Set/Get pair.

  • Convert to links — Right-click a Set or Get node to convert the pair back to direct links.

  • Convert outputs to Set/Get — Batch operation to convert all outputs of selected nodes into Set/Get pairs at once.

  • Canvas right-click menu — "Convert outputs on all selected nodes to Set/Get" and "Convert selected Set/Get to links".

  • Keyboard shortcuts — Ctrl+Shift+S (add Set to selected / at cursor), Ctrl+Shift+G (add Get at cursor), Ctrl+Shift+L (force-show all connections toggle).

  • "Convert ALL Set/Get to links" setting — One-click button in settings to replace every Set/Get pair with direct links, including across subgraph boundaries.

  • Show links setting — Combo setting (never / selected / always) to control when virtual links between Set/Get pairs are drawn. "Selected" mode shows links only for currently selected Set/Get nodes. Ctrl+Shift+L temporarily forces all links visible.

  • Add Set/Get from connection menu — When dragging from a slot, "Add SetNode" and "Add GetNode" entries appear next to "Add Reroute" in the connection menu.

  • Shift+middle-click creates Set/Get — Shift+middle-click on an output slot creates a connected SetNode; on an input slot creates a connected GetNode. Optional setting to override normal middle-click to also create Set/Get instead of Reroute.

  • Add paired GetNode — Right-click a SetNode to add a paired GetNode pre-configured with the same name.

  • Double-click Get to jump to Set — Double-click a GetNode to center and select its paired SetNode.

  • Default widget value setting — Controls the initial Constant value when a Set node is first connected: empty (default), slot name, slot name (lowercase), or slot name (UPPERCASE).

  • Type inference from output — If a SetNode's input is unconnected but its output is connected to a typed input, the Set adopts that type and recolors accordingly.

  • Getters submenu navigates into subgraphs — SetNode's getter list now includes cross-subgraph GetNodes and can navigate into subgraphs to focus them.

Fixes

  • Paste rename coordination — When pasting Set+Get pairs, GetNodes now correctly follow their SetNode's rename (e.g., MODEL -> MODEL_0).

  • Type/color reset on disconnect — Disconnecting input or output now correctly resets type and color, but only when neither side is still connected.

  • Suffix stripping only on paste — validateName no longer strips intentional _N suffixes from user-typed names. Only strips during paste to avoid FOO_0_1_2 accumulation.

Nodes in this pack

100 nodes
  • AddLabel
  • AddNoiseToTrackPath
  • AppendInstanceDiffusionTracking
  • AppendStringsToList
  • ApplyRifleXRoPE_HunuyanVideo
  • ApplyRifleXRoPE_WanVideo
  • AudioConcatenate
  • BatchCLIPSeg
  • BatchCropFromMask
  • BatchCropFromMaskAdvanced
  • BatchUncrop
  • BatchUncropAdvanced
  • BBOXToBoundingBoxKJ
  • BboxToInt
  • BboxVisualize
  • BlockifyMask
  • BOOLConstant
  • CameraPoseVisualizer
  • CFGZeroStarAndInit
  • CheckpointLoaderKJ
  • CheckpointPerturbWeights
  • ColorMatch
  • ColorMatchV2
  • ColorToMask
  • ConditioningMultiCombine
  • ConditioningSetMaskAndCombine
  • ConditioningSetMaskAndCombine3
  • ConditioningSetMaskAndCombine4
  • ConditioningSetMaskAndCombine5
  • CondPassThrough
  • ConsolidateMasksKJ
  • ContextWindowsVisualizerKJ
  • CreateAudioMask
  • CreateFadeMask
  • CreateFadeMaskAdvanced
  • CreateFluidMask
  • CreateGradientFromCoords
  • CreateGradientMask
  • CreateInstanceDiffusionTracking
  • CreateMagicMask
  • CreateShapeImageOnPath
  • CreateShapeMask
  • CreateShapeMaskOnPath
  • CreateTextMask
  • CreateTextOnPath
  • CreateVoronoiMask
  • CrossFadeImages
  • CrossFadeImagesMulti
  • CustomControlNetWeightsFluxFromList
  • CustomSigmas
  • CutAndDragOnPath
  • DecodeAndSaveVideo
  • DifferentialDiffusionAdvanced
  • DiffusionModelLoaderKJ
  • DiffusionModelSelector
  • DiTBlockLoraLoader
  • DownloadAndLoadCLIPSeg
  • DrawInstanceDiffusionTracking
  • DrawMaskOnImage
  • DummyOut
  • EmptyLatentImageCustomPresets
  • EmptyLatentImagePresets
  • EncodeVideoComponents
  • EndRecordCUDAMemoryHistory
  • FastPreview
  • FastPreviewBatch
  • FilterZeroMasksAndCorrespondingImages
  • FlipSigmasAdjusted
  • FloatConstant
  • FloatToMask
  • FloatToSigmas
  • FluxBlockLoraSelect
  • GenerateNoise
  • GetImageRangeFromBatch
  • GetImagesFromBatchIndexed
  • GetImageSizeAndCount
  • GetLatentRangeFromBatch
  • GetLatentsFromBatchIndexed
  • GetLatentSizeAndCount
  • GetMaskSizeAndCount
  • GetPreviewOverrideFramesKJ
  • GetTrackRange
  • GGUFLoaderKJ
  • GLIGENTextBoxApplyBatchCoords
  • GradientToFloat
  • GrowMaskWithBlur
  • HDRPreviewKJ
  • HunyuanVideoBlockLoraSelect
  • HunyuanVideoEncodeKeyframesToCond
  • Ideogram4OptimizationsKJ
  • Ideogram4PromptBuilderKJ
  • ImageAddMulti
  • ImageAndMaskPreview
  • ImageBatchExtendWithOverlap
  • ImageBatchFilter
  • ImageBatchJoinWithTransition
  • ImageBatchMulti
  • ImageBatchRepeatInterleaving
  • ImageBatchTestPattern
  • ImageConcanate

Related resources

40 connections
Used byRebels Qwen-Image-Layered GGUFUsed byLTX 2.3 Workflows + LTX Director (RuneXX workflows, remade by Stefan Falkok) + NSFW (Base I2V, First-Last frame, Controlnet, Edit, Add Audio + Lipsync, Foley, Extended Video) — v1.0Used byWan 2.2 VACE Video Inpaint: MatAnyone Painted Masking (INT8 ConvRot)Used byFriendly Ideogram 4 — v1.0.2Used byWan2.1 Vace One-Click Generate 3+ Minute Videos!!MV? Movie? — For loop Vace v2.0Used byWan2.2 Dyno Video Acceleration Edition V2 (KJ Edition) — v1.0Used byLTX 0.9.6_Distil i2v, With Conditioning — v1.0Used byFLF2V - Wan 2.2 video generation first frame to last frame with frame interpolation — v1.2 low memory friendlyUsed by(CLK+V2.1 Grayscale Decoding) N-Version Motion-Enhanced Image-to-Video V1 (Official Stream, KJ Not Supported) — v1.0Used by(KJ Edition) Wan+Flash VSR Video Blur to HD V1 — v1.0Used byCamera Control - Wan2.1-Fun-V1.1-Control-Camera — v1.0Used byLTX2.3 Upscaler (with added detail) — v1.0Used byFlux Workflow - Character image from referece style — v1.0Used byInfiniteTalk - with Single speaker - Simple workflow (subgraphs) — v4.0Used byDitto_ Anime Video to Human Workflow — v1.0Used bySteadyDancer Motion Transfer V1 (Cartoon Edition) — v1.0Used byUni3C+ op-mirror control Toussaint Video V1 (4x acceleration) — v1.0Used byZ-Image Split-Sigma Workflow: ZiB to ZiT — v4.0Used byHunyuan VS Tongyi Wanxiang Image-to-Video Comparison Test — v1.0Used byWan2.1_14B-FusionX_Workflows — VACE_gguf_FusionX_WFUsed by【HiDream】IMG to IMG — v1.0Used byWan Vace 2.1 Flow Archive — simpleUsed by【F2P Three-Panel Grid】Next+Scene+V3 Model: A Trio of Melancholic Literature (Facial Enhancement Edition) — v1.0Used byAutoBatch ZeroDistort 8K Upscaler-批量自适应8K零变形放大流 — 2workflow for autoUpscaleUsed byFun+control+camera stable optimization accelerated version mirror movement and main body displacement video guidance V1 — v1.0Used byOne-To-All+TI2V Action Migration Workflow V1 — v1.0Used byNunchaku-qwen image text-to-image + CN — v1.0Used byLTX2.3 | Z-Image + Ollama T2I to I2V | 12GB Friendly — v1.0Used byLTX-2.3 I2V AudioSync Simple Workflow V4b (RTX-VSR) — v2.1Used bySVI 2 PRO with First/Last Frame (Keyframes) // Video Continuation // 3-Stage Loop AutomationUsed byWan Video ComfyUI (T2V & I2V) — v3.1Used by(Ultimate) Wan2.2 Smooth V2 Model Semi-Automatic Prompt Image-to-Video Generator Express Edition — v1.0Used byWAN 🌼 All In One | 12gb Vram* — WAN🌼 All In One 1.1Used byANIMA Pro Grade SFW/NSFW W/ Controlnet, Regional Prompt, & Realism enhancer — V4.0 Enhancer versionUsed byQwen Image 4 Step GGUF Text/Image to Image Low VRAM — v1.0Used byFriendly Flux 2 Klein UniEdit — v1.0Used byDaruniawaesf 4K–16K Upscale Context-Tile Generator — V-1.0 Relase Krea2Used byWhite 5 Ultra Depth Control Text Generation Image — v1.0Used byWAN2.1-VACE-14B 1.3B GGUF 6 steps AIO (t2v-i2v-v2v-FLF-controlnet-masking-long duration) simple ComfyUI workflow — VACE-Ultimate.v1.250724Used by(KJ version) Wan2.2+Fun+Control Deep Control Accelerated Edition — v1.0

Sources

3 sources

Source excerpts

1 excerpt

Source context: Repo kijai/ComfyUI-KJNodes