Nodes Browser

AddLabel
AppendInstanceDiffusionTracking
AppendStringsToList
AudioConcatenate
BOOLConstant
BatchCLIPSeg
BatchCropFromMask
BatchCropFromMaskAdvanced
BatchUncrop
BatchUncropAdvanced
BboxToInt
BboxVisualize
CameraPoseVisualizer
CheckpointLoaderKJ
CheckpointPerturbWeights
ColorMatch
ColorToMask
CondPassThrough
ConditioningMultiCombine
ConditioningSetMaskAndCombine
ConditioningSetMaskAndCombine3
ConditioningSetMaskAndCombine4
ConditioningSetMaskAndCombine5
CreateAudioMask
CreateFadeMask
CreateFadeMaskAdvanced
CreateFluidMask
CreateGradientFromCoords
CreateGradientMask
CreateInstanceDiffusionTracking
CreateMagicMask
CreateShapeImageOnPath
CreateShapeMask
CreateShapeMaskOnPath
CreateTextMask
CreateTextOnPath
CreateVoronoiMask
CrossFadeImages
CrossFadeImagesMulti
CustomControlNetWeightsFluxFromList
CustomSigmas
DifferentialDiffusionAdvanced
DiffusionModelLoaderKJ
DownloadAndLoadCLIPSeg
DrawInstanceDiffusionTracking
DummyOut
EmptyLatentImageCustomPresets
EmptyLatentImagePresets
FastPreview
FilterZeroMasksAndCorrespondingImages
FlipSigmasAdjusted
FloatConstant
FloatToMask
FloatToSigmas
FluxBlockLoraLoader
FluxBlockLoraSelect
GLIGENTextBoxApplyBatchCoords
GenerateNoise
GetImageRangeFromBatch
GetImageSizeAndCount
GetImagesFromBatchIndexed
GetLatentsFromBatchIndexed
GetMaskSizeAndCount
GradientToFloat
GrowMaskWithBlur
INTConstant
ImageAddMulti
ImageAndMaskPreview
ImageBatchMulti
ImageBatchRepeatInterleaving
ImageBatchTestPattern
ImageConcanate
ImageConcatFromBatch
ImageConcatMulti
ImageCropByMaskAndResize
ImageGrabPIL
ImageGridComposite2x2
ImageGridComposite3x3
ImageGridtoBatch
ImageNormalize_Neg1_To_1
ImagePadForOutpaintMasked
ImagePadForOutpaintTargetSize
ImagePass
ImageResizeKJ
ImageTransformByNormalizedAmplitude
ImageUncropByMask
ImageUpscaleWithModelBatched
InjectNoiseToLatent
InsertImageBatchByIndexes
InsertImagesToBatchIndexed
InterpolateCoords
Intrinsic_lora_sampling
JoinStringMulti
JoinStrings
LoadAndResizeImage
LoadImagesFromFolderKJ
LoadResAdapterNormalization
MaskBatchMulti
MaskOrImageToWeight
MergeImageChannels
ModelPassThrough
ModelSaveKJ
NormalizedAmplitudeToFloatList
NormalizedAmplitudeToMask
OffsetMask
OffsetMaskByNormalizedAmplitude
PatchModelPatcherOrder
PlotCoordinates
PointsEditor
PreviewAnimation
RemapImageRange
RemapMaskRange
ReplaceImagesInBatch
ResizeMask
ReverseImageBatch
RoundMask
SV3D_BatchSchedule
SaveImageKJ
SaveImageWithAlpha
ScaleBatchPromptSchedule
Screencap_mss
SetShakkerLabsUnionControlNetType
ShuffleImageBatch
SigmasToFloat
Sleep
SomethingToString
SoundReactive
SplineEditor
SplitBboxes
SplitImageChannels
StabilityAPI_SD3
StableZero123_BatchSchedule
StringConstant
StringConstantMultiline
StyleModelApplyAdvanced
Superprompt
TorchCompileControlNet
TorchCompileLTXModel
TorchCompileModelFluxAdvanced
TorchCompileVAE
TransitionImagesInBatch
TransitionImagesMulti
VRAM_Debug
WebcamCaptureCV2
WeightScheduleConvert
WeightScheduleExtend
WidgetToString

Spline Editor

SplineEditor

Node Information

Category:
KJNodes/weights
Python Module:
custom_nodes.ComfyUI-KJNodes
Output Node:
No
Spline Editor
PREVIEW
mask
coord_str
float
count
normalized_str
â—€
points_store
STRING
â–¶
â—€
coordinates
STRING
â–¶
â—€
mask_width
INT
â–¶
â—€
mask_height
INT
â–¶
â—€
points_to_sample
INT
â–¶
â—€
sampling_method
time
â–¶
â—€
interpolation
cardinal
â–¶
â—€
tension
0.5
â–¶
â—€
repeat_output
INT
â–¶
â—€
float_output_type
list
â–¶
â—€
min_value
0
â–¶
â—€
max_value
1
â–¶
# WORK IN PROGRESS Do not count on this as part of your workflow yet, probably contains lots of bugs and stability is not guaranteed!! ## Graphical editor to create values for various ## schedules and/or mask batches. **Shift + click** to add control point at end. **Ctrl + click** to add control point (subdivide) between two points. **Right click on a point** to delete it. Note that you can't delete from start/end. Right click on canvas for context menu: These are purely visual options, doesn't affect the output: - Toggle handles visibility - Display sample points: display the points to be returned. **points_to_sample** value sets the number of samples returned from the **drawn spline itself**, this is independent from the actual control points, so the interpolation type matters. sampling_method: - time: samples along the time axis, used for schedules - path: samples along the path itself, useful for coordinates output types: - mask batch example compatible nodes: anything that takes masks - list of floats example compatible nodes: IPAdapter weights - pandas series example compatible nodes: anything that takes Fizz' nodes Batch Value Schedule - torch tensor example compatible nodes: unknown