from .nodes.nodes import * from .nodes.curve_nodes import * from .nodes.batchcrop_nodes import * from .nodes.audioscheduler_nodes import * NODE_CLASS_MAPPINGS = { #constants "INTConstant": INTConstant, "FloatConstant": FloatConstant, "StringConstant": StringConstant, "StringConstantMultiline": StringConstantMultiline, #conditioning "ConditioningMultiCombine": ConditioningMultiCombine, "ConditioningSetMaskAndCombine": ConditioningSetMaskAndCombine, "ConditioningSetMaskAndCombine3": ConditioningSetMaskAndCombine3, "ConditioningSetMaskAndCombine4": ConditioningSetMaskAndCombine4, "ConditioningSetMaskAndCombine5": ConditioningSetMaskAndCombine5, "CondPassThrough": CondPassThrough, #masking "BatchCLIPSeg": BatchCLIPSeg, "RoundMask": RoundMask, "ResizeMask": ResizeMask, "OffsetMask": OffsetMask, "MaskBatchMulti": MaskBatchMulti, "GrowMaskWithBlur": GrowMaskWithBlur, "ColorToMask": ColorToMask, "CreateGradientMask": CreateGradientMask, "CreateTextMask": CreateTextMask, "CreateAudioMask": CreateAudioMask, "CreateFadeMask": CreateFadeMask, "CreateFadeMaskAdvanced": CreateFadeMaskAdvanced, "CreateFluidMask" :CreateFluidMask, "CreateShapeMask": CreateShapeMask, "CreateVoronoiMask": CreateVoronoiMask, "CreateMagicMask": CreateMagicMask, "RemapMaskRange": RemapMaskRange, #images "ImageBatchMulti": ImageBatchMulti, "ColorMatch": ColorMatch, "CrossFadeImages": CrossFadeImages, "GetImageRangeFromBatch": GetImageRangeFromBatch, "SaveImageWithAlpha": SaveImageWithAlpha, "ReverseImageBatch": ReverseImageBatch, "ImageGridComposite2x2": ImageGridComposite2x2, "ImageGridComposite3x3": ImageGridComposite3x3, "ImageConcanate": ImageConcanate, "ImageBatchTestPattern": ImageBatchTestPattern, "ReplaceImagesInBatch": ReplaceImagesInBatch, "ImageGrabPIL": ImageGrabPIL, "AddLabel": AddLabel, "ImageUpscaleWithModelBatched": ImageUpscaleWithModelBatched, "GetImagesFromBatchIndexed": GetImagesFromBatchIndexed, "InsertImagesToBatchIndexed": InsertImagesToBatchIndexed, "ImageBatchRepeatInterleaving": ImageBatchRepeatInterleaving, "ImageNormalize_Neg1_To_1": ImageNormalize_Neg1_To_1, "RemapImageRange": RemapImageRange, "ImagePass": ImagePass, "ImagePadForOutpaintMasked": ImagePadForOutpaintMasked, "ImageAndMaskPreview": ImageAndMaskPreview, #batch cropping "BatchCropFromMask": BatchCropFromMask, "BatchCropFromMaskAdvanced": BatchCropFromMaskAdvanced, "FilterZeroMasksAndCorrespondingImages": FilterZeroMasksAndCorrespondingImages, "InsertImageBatchByIndexes": InsertImageBatchByIndexes, "BatchUncrop": BatchUncrop, "BatchUncropAdvanced": BatchUncropAdvanced, "SplitBboxes": SplitBboxes, "BboxToInt": BboxToInt, "BboxVisualize": BboxVisualize, #noise "GenerateNoise": GenerateNoise, "FlipSigmasAdjusted": FlipSigmasAdjusted, "InjectNoiseToLatent": InjectNoiseToLatent, "CustomSigmas": CustomSigmas, #utility "WidgetToString": WidgetToString, "DummyLatentOut": DummyLatentOut, "GetLatentsFromBatchIndexed": GetLatentsFromBatchIndexed, "ScaleBatchPromptSchedule": ScaleBatchPromptSchedule, "CameraPoseVisualizer": CameraPoseVisualizer, "JoinStrings": JoinStrings, "Sleep": Sleep, "VRAM_Debug" : VRAM_Debug, "SomethingToString" : SomethingToString, "EmptyLatentImagePresets": EmptyLatentImagePresets, #audioscheduler stuff "NormalizedAmplitudeToMask": NormalizedAmplitudeToMask, "OffsetMaskByNormalizedAmplitude": OffsetMaskByNormalizedAmplitude, "ImageTransformByNormalizedAmplitude": ImageTransformByNormalizedAmplitude, #curve nodes "SplineEditor": SplineEditor, "CreateShapeMaskOnPath": CreateShapeMaskOnPath, "WeightScheduleExtend": WeightScheduleExtend, "MaskOrImageToWeight": MaskOrImageToWeight, "WeightScheduleConvert": WeightScheduleConvert, "FloatToMask": FloatToMask, #experimental "StabilityAPI_SD3": StabilityAPI_SD3, "SoundReactive": SoundReactive, "StableZero123_BatchSchedule": StableZero123_BatchSchedule, "SV3D_BatchSchedule": SV3D_BatchSchedule, "LoadResAdapterNormalization": LoadResAdapterNormalization, "Superprompt": Superprompt, "GLIGENTextBoxApplyBatch": GLIGENTextBoxApplyBatch, "Intrinsic_lora_sampling": Intrinsic_lora_sampling, } NODE_DISPLAY_NAME_MAPPINGS = { "INTConstant": "INT Constant", "FloatConstant": "Float Constant", "ImageBatchMulti": "Image Batch Multi", "MaskBatchMulti": "Mask Batch Multi", "ConditioningMultiCombine": "Conditioning Multi Combine", "ConditioningSetMaskAndCombine": "ConditioningSetMaskAndCombine", "ConditioningSetMaskAndCombine3": "ConditioningSetMaskAndCombine3", "ConditioningSetMaskAndCombine4": "ConditioningSetMaskAndCombine4", "ConditioningSetMaskAndCombine5": "ConditioningSetMaskAndCombine5", "GrowMaskWithBlur": "GrowMaskWithBlur", "ColorToMask": "ColorToMask", "CreateGradientMask": "CreateGradientMask", "CreateTextMask" : "CreateTextMask", "CreateFadeMask" : "CreateFadeMask (Deprecated)", "CreateFadeMaskAdvanced" : "CreateFadeMaskAdvanced", "CreateFluidMask" : "CreateFluidMask", "CreateAudioMask" : "CreateAudioMask (Deprecated)", "VRAM_Debug" : "VRAM Debug", "CrossFadeImages": "CrossFadeImages", "SomethingToString": "SomethingToString", "EmptyLatentImagePresets": "EmptyLatentImagePresets", "ColorMatch": "ColorMatch", "GetImageRangeFromBatch": "GetImageRangeFromBatch", "InsertImagesToBatchIndexed": "InsertImagesToBatchIndexed", "SaveImageWithAlpha": "SaveImageWithAlpha", "ReverseImageBatch": "ReverseImageBatch", "ImageGridComposite2x2": "ImageGridComposite2x2", "ImageGridComposite3x3": "ImageGridComposite3x3", "ImageConcanate": "ImageConcatenate", "ImageBatchTestPattern": "ImageBatchTestPattern", "ReplaceImagesInBatch": "ReplaceImagesInBatch", "BatchCropFromMask": "BatchCropFromMask", "BatchCropFromMaskAdvanced": "BatchCropFromMaskAdvanced", "FilterZeroMasksAndCorrespondingImages": "FilterZeroMasksAndCorrespondingImages", "InsertImageBatchByIndexes": "InsertImageBatchByIndexes", "BatchUncrop": "BatchUncrop", "BatchUncropAdvanced": "BatchUncropAdvanced", "BatchCLIPSeg": "BatchCLIPSeg", "RoundMask": "RoundMask", "ResizeMask": "ResizeMask", "OffsetMask": "OffsetMask", "WidgetToString": "WidgetToString", "CreateShapeMask": "CreateShapeMask", "CreateVoronoiMask": "CreateVoronoiMask", "CreateMagicMask": "CreateMagicMask", "BboxToInt": "BboxToInt", "SplitBboxes": "SplitBboxes", "ImageGrabPIL": "ImageGrabPIL", "DummyLatentOut": "DummyLatentOut", "FlipSigmasAdjusted": "FlipSigmasAdjusted", "InjectNoiseToLatent": "InjectNoiseToLatent", "AddLabel": "AddLabel", "SoundReactive": "SoundReactive", "GenerateNoise": "GenerateNoise", "StableZero123_BatchSchedule": "StableZero123_BatchSchedule", "SV3D_BatchSchedule": "SV3D_BatchSchedule", "GetImagesFromBatchIndexed": "GetImagesFromBatchIndexed", "ImageBatchRepeatInterleaving": "ImageBatchRepeatInterleaving", "NormalizedAmplitudeToMask": "NormalizedAmplitudeToMask", "OffsetMaskByNormalizedAmplitude": "OffsetMaskByNormalizedAmplitude", "ImageTransformByNormalizedAmplitude": "ImageTransformByNormalizedAmplitude", "GetLatentsFromBatchIndexed": "GetLatentsFromBatchIndexed", "StringConstant": "StringConstant", "GLIGENTextBoxApplyBatch": "GLIGENTextBoxApplyBatch", "CondPassThrough": "CondPassThrough", "ImageUpscaleWithModelBatched": "ImageUpscaleWithModelBatched", "ScaleBatchPromptSchedule": "ScaleBatchPromptSchedule", "ImageNormalize_Neg1_To_1": "ImageNormalize_Neg1_To_1", "Intrinsic_lora_sampling": "Intrinsic_lora_sampling", "RemapMaskRange": "RemapMaskRange", "LoadResAdapterNormalization": "LoadResAdapterNormalization", "Superprompt": "Superprompt", "RemapImageRange": "RemapImageRange", "CameraPoseVisualizer": "CameraPoseVisualizer", "BboxVisualize": "BboxVisualize", "StringConstantMultiline": "StringConstantMultiline", "JoinStrings": "JoinStrings", "Sleep": "🛌 Sleep 🛌", "ImagePadForOutpaintMasked": "Pad Image For Outpaint Masked", "ImageAndMaskPreview": "Image & Mask Preview", "StabilityAPI_SD3": "Stability API SD3", "MaskOrImageToWeight": "Mask Or Image To Weight", "WeightScheduleConvert": "Weight Schedule Convert", "FloatToMask": "Float To Mask", "CustomSigmas": "Custom Sigmas", "ImagePass": "ImagePass", #curve nodes "SplineEditor": "Spline Editor", "CreateShapeMaskOnPath": "Create Shape Mask On Path", "WeightScheduleExtend": "Weight Schedule Extend" } __all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"] WEB_DIRECTORY = "./web" from aiohttp import web from server import PromptServer from pathlib import Path if hasattr(PromptServer, "instance"): # NOTE: we add an extra static path to avoid comfy mechanism # that loads every script in web. PromptServer.instance.app.add_routes( [web.static("/kjweb_async", (Path(__file__).parent.absolute() / "kjweb_async").as_posix())] )