from .decoder_noise import DecoderNoise from .dynamic_conditioning import DynamicConditioning from .easy_samplers import ( LinearOverlapLatentTransition, LTXVBaseSampler, LTXVExtendSampler, LTXVInContextSampler, ) from .gemma_encoder import LTXVGemmaCLIPModelLoader, LTXVGemmaEnhancePrompt from .gemma_encoder_mgpu_loader import LTXVGemmaCLIPModelLoaderMGPU from .guide import LTXVAddGuideAdvanced from .guiders import GuiderParametersNode, MultimodalGuiderNode from .latent_norm import ( LTXVAdainLatent, LTXVPerStepAdainPatcher, LTXVPerStepStatNormPatcher, LTXVStatNormLatent, ) from .latents import ( LTXVAddLatentGuide, LTXVImgToVideoConditionOnly, LTXVSelectLatents, LTXVSetVideoLatentNoiseMasks, ) from .looping_sampler import LTXVLoopingSampler, MultiPromptProvider from .low_vram_loaders import ( LowVRAMAudioVAELoader, LowVRAMCheckpointLoader, LowVRAMLatentUpscaleModelLoader, ) from .masks import LTXVPreprocessMasks from .nodes_registry import NODE_CLASS_MAPPINGS as RUNTIME_NODE_CLASS_MAPPINGS from .nodes_registry import ( NODE_DISPLAY_NAME_MAPPINGS as RUNTIME_NODE_DISPLAY_NAME_MAPPINGS, ) from .nodes_registry import NODES_DISPLAY_NAME_PREFIX, camel_case_to_spaces from .prompt_enhancer_nodes import LTXVPromptEnhancer, LTXVPromptEnhancerLoader from .q8_nodes import LTXVQ8LoraModelLoader, LTXVQ8Patch from .stg import ( LTXVApplySTG, STGAdvancedPresetsNode, STGGuiderAdvancedNode, STGGuiderNode, ) from .tiled_sampler import LTXVTiledSampler from .tiled_vae_decode import LTXVTiledVAEDecode from .tricks import NODE_CLASS_MAPPINGS as TRICKS_NODE_CLASS_MAPPINGS from .tricks import NODE_DISPLAY_NAME_MAPPINGS as TRICKS_NODE_DISPLAY_NAME_MAPPINGS from .utiltily_nodes import ImageToCPU from .vae_patcher import LTXVPatcherVAE # Static node mappings, required for ComfyUI-Manager mapping to work NODE_CLASS_MAPPINGS = { "Set VAE Decoder Noise": DecoderNoise, "LTXVLinearOverlapLatentTransition": LinearOverlapLatentTransition, "LTXVAddGuideAdvanced": LTXVAddGuideAdvanced, "LTXVAddLatentGuide": LTXVAddLatentGuide, "LTXVAdainLatent": LTXVAdainLatent, "LTXVImgToVideoConditionOnly": LTXVImgToVideoConditionOnly, "LTXVPerStepAdainPatcher": LTXVPerStepAdainPatcher, "LTXVApplySTG": LTXVApplySTG, "LTXVBaseSampler": LTXVBaseSampler, "LTXVInContextSampler": LTXVInContextSampler, "LTXVExtendSampler": LTXVExtendSampler, "LTXVPreprocessMasks": LTXVPreprocessMasks, "LTXVPatcherVAE": LTXVPatcherVAE, "LTXVPromptEnhancer": LTXVPromptEnhancer, "LTXVPromptEnhancerLoader": LTXVPromptEnhancerLoader, "LTXQ8Patch": LTXVQ8Patch, "LTXVQ8LoraModelLoader": LTXVQ8LoraModelLoader, "LTXVSelectLatents": LTXVSelectLatents, "LTXVSetVideoLatentNoiseMasks": LTXVSetVideoLatentNoiseMasks, "LTXVTiledSampler": LTXVTiledSampler, "LTXVLoopingSampler": LTXVLoopingSampler, "LTXVTiledVAEDecode": LTXVTiledVAEDecode, "MultimodalGuider": MultimodalGuiderNode, "GuiderParameters": GuiderParametersNode, "STGAdvancedPresets": STGAdvancedPresetsNode, "STGGuiderAdvanced": STGGuiderAdvancedNode, "STGGuiderNode": STGGuiderNode, "LTXVMultiPromptProvider": MultiPromptProvider, "ImageToCPU": ImageToCPU, "LTXVStatNormLatent": LTXVStatNormLatent, "LTXVPerStepStatNormPatcher": LTXVPerStepStatNormPatcher, "LTXVGemmaCLIPModelLoader": LTXVGemmaCLIPModelLoader, "LTXVGemmaCLIPModelLoaderMGPU": LTXVGemmaCLIPModelLoaderMGPU, "LTXVGemmaEnhancePrompt": LTXVGemmaEnhancePrompt, "DynamicConditioning": DynamicConditioning, "LowVRAMCheckpointLoader": LowVRAMCheckpointLoader, "LowVRAMAudioVAELoader": LowVRAMAudioVAELoader, "LowVRAMLatentUpscaleModelLoader": LowVRAMLatentUpscaleModelLoader, } # Consistent display names between static and dynamic node mappings in nodes_registry.py, # to prevent ComfyUI initializing them with default display names. NODE_DISPLAY_NAME_MAPPINGS = { name: f"{NODES_DISPLAY_NAME_PREFIX} {camel_case_to_spaces(name)}" for name in NODE_CLASS_MAPPINGS.keys() } # Merge the node mappings from tricks into the main mappings NODE_CLASS_MAPPINGS.update(TRICKS_NODE_CLASS_MAPPINGS) NODE_DISPLAY_NAME_MAPPINGS.update(TRICKS_NODE_DISPLAY_NAME_MAPPINGS) # Update with runtime mappings (these will override static mappings if there are any differences) NODE_CLASS_MAPPINGS.update(RUNTIME_NODE_CLASS_MAPPINGS) NODE_DISPLAY_NAME_MAPPINGS.update(RUNTIME_NODE_DISPLAY_NAME_MAPPINGS) # Export so that ComfyUI can pick them up. __all__ = [ "NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", ]