Files

624 lines
28 KiB
JSON

{
"version": "1.6.0",
"nodes": [
{
"key": "MD_ACE_SigmaDenoisePatcher",
"type": "MD_ACE_SigmaDenoisePatcher",
"title": "MD: ACE Sigma Denoise Patcher \u2702\ufe0f",
"description": "Takes any existing SIGMAS schedule and slices it to create an \nAudio-to-Audio (Img2Img) denoise effect for advanced custom samplers.",
"category": "MD_Nodes/ACE_Engine/Schedulers",
"file_path": "ACE_Engine/MD_ACE_SigmaDenoisePatcher.py"
},
{
"key": "MD_ACE_XLLatentProcessor",
"type": "MD_ACE_XLLatentProcessor",
"title": "MD: ACE-Step XL Latent Processor \ud83c\udf9b\ufe0f",
"description": "MD: ACE-Step XL Latent Processor v1.0.0\n\nPost-sampling latent correction. Place between KSampler and VAE Decode.\n\nOperations (in order):\n 1. mean_normalize \u2014 subtract per-channel mean (stronger DC correction)\n 2. latent_shift \u2014 additive DC offset. Re-centers ACE-Step's\n non-zero silence_latent distribution.\n 3. scale \u2014 multiplicative output level control\n\nPer-variant defaults:\n xl-turbo : -0.12\n xl-sft : -0.17\n xl-base : -0.15",
"category": "MD_Nodes/Loaders",
"file_path": "loaders/MD_ACE_XLLoader.py"
},
{
"key": "MD_ACE_XLLoader",
"type": "MD_ACE_XLLoader",
"title": "MD: ACE-Step XL Loader \ud83c\udfb5",
"description": "MD: ACE-Step 1.5 XL Loader v1.3.0\n\nLoads XL model variants (hidden_size=2560) with tunable AuraFlow shift.\nNo external ModelSamplingAuraFlow node required \u2014 shift is baked in.\n\nOutputs:\n MODEL \u2014 wire into TPG \u2192 NAG \u2192 Guider chain as normal\n sigma_plot \u2014 \u03c3(t) curve IMAGE, wire into Preview Image node\n analytics \u2014 load report STRING, wire into text display node",
"category": "MD_Nodes/Loaders",
"file_path": "loaders/MD_ACE_XLLoader.py"
},
{
"key": "MD_AMED_Sampler",
"type": "MD_AMED_Sampler",
"title": "MD: AMED Solver (Corrected Euler)",
"description": "",
"category": "MD_Nodes/Samplers",
"file_path": "samplers/MD_AMED_Sampler.py"
},
{
"key": "APGGuiderForked",
"type": "APGGuiderNode",
"title": "MD: APG Guider",
"description": "ComfyUI wrapper node for APG (Adaptive Projected Gradient) guidance.",
"category": "MD_Nodes/Guidance",
"file_path": "guiders/MD_APGGuiderForked.py"
},
{
"key": "MD_ACE_LatentInpaintMask",
"type": "MD_ACE_LatentInpaintMask",
"title": "MD: AceStep Audio Generative Fill \ud83d\udd8c\ufe0f",
"description": "Applies a time-based Generative Fill mask to ACE-Step Audio Latents.\nACE1.5 encodes 48kHz audio at a 1920 hop size = exactly 25 latent frames per second.",
"category": "MD_Nodes/AceStep",
"file_path": "ACE_Engine/MD_AceStepInpaint.py"
},
{
"key": "AdvancedAudioPreviewAndSave",
"type": "AdvancedAudioPreviewAndSave",
"title": "MD: Advanced Audio Preview & Save",
"description": "Comprehensive audio processing and export with enterprise logging.",
"category": "MD_Nodes/Save",
"file_path": "audio/MD_AdvancedAudioPreviewAndSave.py"
},
{
"key": "AdvancedMediaSave",
"type": "AdvancedMediaSave",
"title": "MD: Advanced Media Save",
"description": "Saves images or animations in various formats with metadata control.\nUses timestamped filenames inspired by AAPS to prevent overwrites.",
"category": "MD_Nodes/Save",
"file_path": "save/MD_AdvancedMediaSave.py"
},
{
"key": "MD_AdvancedSeedGenerator",
"type": "MD_AdvancedSeedGenerator",
"title": "MD: Advanced Seed Generator",
"description": "Advanced Seed Generator with Offset, Increment, and System Time modes.\nEnsures all outputs are within JavaScript's safe integer range.",
"category": "MD_Nodes/Utility",
"file_path": "utility/MD_AdvancedSeedGenerator.py"
},
{
"key": "AdvancedTextNode",
"type": "AdvancedTextNode",
"title": "MD: Advanced Text Input",
"description": "A versatile text input node with seed-controlled wildcard processing,\ntext transformations, and multiple output options including text length.",
"category": "MD_Nodes/Text",
"file_path": "text/MD_TextInput.py"
},
{
"key": "MD_AnySwitch",
"type": "MD_AnySwitch",
"title": "MD: Any Switch (Boolean)",
"description": "A universal 2-way switch. Routes data based on a True/False signal.",
"category": "MD_Nodes/Logic",
"file_path": "logic/MD_Logic_Switch.py"
},
{
"key": "MD_ApplyTPG",
"type": "MD_ApplyTPG",
"title": "MD: Apply TPG (Token Perturbation)",
"description": "ComfyUI wrapper node for Token Perturbation Guidance (TPG).",
"category": "MD_Nodes/Optimization",
"file_path": "optimization/MD_ApplyTPG.py"
},
{
"key": "MD_Audio_Spectrum_Analyzer_Enhanced",
"type": "AudioSpectrumAnalyzer_Enhanced",
"title": "MD: Audio Analyzer (Report + LUFS)",
"description": "",
"category": "MD_Nodes/Audio Processing",
"file_path": "audio/MD_BroadcastTools.py"
},
{
"key": "MD_AudioAutoEQ_Adaptive",
"type": "MD_AudioAutoEQ_Adaptive",
"title": "MD: Audio Auto EQ (Adaptive)",
"description": "Intelligent spectral balancing with adaptive content analysis.",
"category": "Uncategorized",
"file_path": "audio/MD_AudioAutoEQ.py"
},
{
"key": "MD_AutoMasterNode",
"type": "MD_AutoMasterNode",
"title": "MD: Audio Auto Master Pro",
"description": "MD Audio Auto Master Pro v6.32.0 (Enterprise)\nWrapper with Unified Parameter Resolution and AI Co-Pilot.",
"category": "MD_Nodes/Audio Processing",
"file_path": "audio/MD_AutoMasterNode.py"
},
{
"key": "MD_Audio_Guardian",
"type": "MD_Audio_Guardian",
"title": "MD: Audio Guardian",
"description": "",
"category": "MD_Nodes/Debugging",
"file_path": "utility/MD_GuardianSuite.py"
},
{
"key": "MD_AudioSimpleEditor",
"type": "MD_AudioSimpleEditor",
"title": "MD: Audio Simple Editor \u2702\ufe0f",
"description": "",
"category": "MD_Nodes/Audio",
"file_path": "audio/MD_AudioSimpleEditor.py"
},
{
"key": "MD_Audio_Spectrum_Visualizer",
"type": "AudioSpectrumVisualizer",
"title": "MD: Audio Spectrum Visualizer (Plot)",
"description": "",
"category": "MD_Nodes/Debugging & Visualization",
"file_path": "audio/MD_BroadcastTools.py"
},
{
"key": "MD_CustomNoiseGenerator",
"type": "MD_CustomNoiseGenerator",
"title": "MD: Custom Noise Generator",
"description": "Creates a standalone NOISE object and renders a preview.",
"category": "MD_Nodes/Noise",
"file_path": "noise/MD_CustomNoiseGenerator.py"
},
{
"key": "MD_DynamicLoRAStacker",
"type": "MD_DynamicLoRAStacker",
"title": "MD: Dynamic LoRA Stacker (Style Butler)",
"description": "Automates LoRA loading and prompt enhancement based on YAML presets.",
"category": "MD_Nodes/LoRa",
"file_path": "lora/MD_DynamicLoRAStacker.py"
},
{
"key": "MD_EmptyLatentRatioSelector",
"type": "MD_EmptyLatentRatioSelector",
"title": "MD: Empty Latent Ratio Select",
"description": "Generates empty latents based on Aspect Ratio and Target Megapixels.\nCalculates precise W/H dimensions to match total pixel count area.",
"category": "MD_Nodes/Utility",
"file_path": "utility/MD_EmptyLatentRatioSelector.py"
},
{
"key": "EnhancedSeedSaver",
"type": "EnhancedSeedSaverNode",
"title": "MD: Enhanced Seed Saver",
"description": "MD Enhanced Seed Saver\nAdvanced local seed management node. Operates entirely in ComfyUI environment.",
"category": "MD_Nodes/Save",
"file_path": "save/MD_SeedSaver.py"
},
{
"key": "FSampler",
"type": "FSampler",
"title": "MD: FSampler (Speed Patcher)",
"description": "The ComfyUI Node definition for FSampler.\nAttaches the core extrapolation hook to the diffusion model.",
"category": "MD_Nodes/Optimization",
"file_path": "optimization/MD_FSampler.py"
},
{
"key": "FilenameCounterNode",
"type": "FilenameCounterNode",
"title": "MD: Filename Counter",
"description": "Provides a persistent, auto-incrementing counter stored in a JSON file.",
"category": "MD_Nodes/Utility",
"file_path": "utility/MD_SmartFilenameBuilder.py"
},
{
"key": "FilenameTokenReplacer",
"type": "FilenameTokenReplacer",
"title": "MD: Filename Token Replacer",
"description": "Replaces predefined tokens in a template string.",
"category": "MD_Nodes/Utility",
"file_path": "utility/MD_SmartFilenameBuilder.py"
},
{
"key": "MD_GITS_Scheduler",
"type": "MD_GITS_Scheduler",
"title": "MD: GITS Scheduler (Boomerang)",
"description": "GITS Scheduler Node for ComfyUI.\nUses geometric curvature to optimize step distribution.",
"category": "MD_Nodes/Schedulers",
"file_path": "schedulers/MD_GITS_Scheduler.py"
},
{
"key": "GPUTemperatureProtectionEnhanced",
"type": "GPUTemperatureProtectionEnhanced",
"title": "MD: GPU Temp Protect",
"description": "MD: GPU Temperature Protection (Enhanced)\nMonitors GPU temperature, VRAM, and utilization via nvidia-smi.\nPauses the ComfyUI queue if temperature exceeds a set threshold.",
"category": "MD_Nodes/Utility",
"file_path": "utility/MD_GPUTemperatureProtection.py"
},
{
"key": "MD_GlobalUpdateManager",
"type": "MD_GlobalUpdateManager",
"title": "MD: Global Update Architect",
"description": "The Architect. Targeted updates, batch processing, and full repair suite.",
"category": "MD_Nodes/Utility",
"file_path": "utility/MD_GlobalUpdateManager.py"
},
{
"key": "HybridAdaptiveSigmas",
"type": "HybridAdaptiveSigmas_Advanced",
"title": "MD: Hybrid Scheduler (Advanced)",
"description": "",
"category": "MD_Nodes/Schedulers",
"file_path": "schedulers/MD_HybridSigmaScheduler.py"
},
{
"key": "HybridAdaptiveSigmas_Basic",
"type": "HybridAdaptiveSigmas_Basic",
"title": "MD: Hybrid Scheduler (Basic)",
"description": "",
"category": "MD_Nodes/Schedulers",
"file_path": "schedulers/MD_HybridSigmaScheduler.py"
},
{
"key": "HybridAdaptiveSigmas_Lite",
"type": "HybridAdaptiveSigmas_Lite",
"title": "MD: Hybrid Scheduler (Lite)",
"description": "",
"category": "MD_Nodes/Schedulers",
"file_path": "schedulers/MD_HybridSigmaScheduler.py"
},
{
"key": "MD_Image_Guardian",
"type": "MD_Image_Guardian",
"title": "MD: Image Guardian",
"description": "",
"category": "MD_Nodes/Debugging",
"file_path": "utility/MD_GuardianSuite.py"
},
{
"key": "MD_LFO_Generator",
"type": "MD_LFO_Generator",
"title": "MD: LFO Generator (Automator)",
"description": "",
"category": "MD_Nodes/Modulation",
"file_path": "modulation/MD_LFO_Generator.py"
},
{
"key": "LLMVRAMManager",
"type": "LLMVRAMManager",
"title": "MD: LLM VRAM Manager",
"description": "MD: LLM VRAM Manager\nUtility node to manage VRAM conflicts with local LLM servers.",
"category": "MD_Nodes/Utility",
"file_path": "utility/MD_LLM_VRAMManager.py"
},
{
"key": "MD_LUFS_Normalizer",
"type": "MD_LUFS_Normalizer",
"title": "MD: LUFS Normalizer",
"description": "",
"category": "MD_Nodes/Audio Processing",
"file_path": "audio/MD_BroadcastTools.py"
},
{
"key": "MD_Latent_Time_Mask",
"type": "MD_Latent_Time_Mask",
"title": "MD: Latent Time Mask (Timeline Director)",
"description": "",
"category": "MD_Nodes/Masking",
"file_path": "masking/MD_Latent_Time_Mask.py"
},
{
"key": "ACE_LatentVisualizer",
"type": "ACELatentVisualizer",
"title": "MD: Latent Visualizer",
"description": "MD: ACE Latent Visualizer\nProvides multiple visualization modes for inspecting latent tensors.\nUtilizes Core algorithms for data extraction and Matplotlib for UI rendering.",
"category": "MD_Nodes/Debugging & Visualization",
"file_path": "latent/MD_LatentVisualizer.py"
},
{
"key": "MD_LoadConditioning",
"type": "MD_LoadConditioning",
"title": "MD: Load Conditioning \ud83d\udcc2",
"description": "Loads conditioning data from the models/conditionings directory.",
"category": "MD_Nodes/Utility",
"file_path": "utility/MD_ConditioningCacheNodes.py"
},
{
"key": "MD_LookBack_Smoother",
"type": "MD_LookBack_Smoother",
"title": "MD: Look-Back Smoother \ud83c\udf0a",
"description": "MD: Look-Back Smoother \ud83c\udf0a\n\nSNR-adaptive latent smoother. Suppresses harmonic hum from ODE manifold\nshearing in ACE-Step XL Turbo early denoising steps.\n\nWire between sampler LATENT output and VAE Decode.\nWorks with any sampler (PingPong, Euler, DPM++, STORM, etc.)\n\nBased on arXiv:2602.09449 Look-Ahead/Look-Back flows.\nValidated: lambda_base=0.55, snr_power=1.3, ddim_uniform 25-step.",
"category": "MD_Nodes/Samplers",
"file_path": "samplers/MD_LookBack_Smoother.py"
},
{
"key": "MasteringChainNode",
"type": "MasteringChainNode",
"title": "MD: Mastering Chain (Full)",
"description": "",
"category": "MD_Nodes/Audio Processing",
"file_path": "audio/MD_MasteringChain.py"
},
{
"key": "MD_Mastering_Compressor",
"type": "MasteringCompressorNode",
"title": "MD: Mastering Compressor",
"description": "",
"category": "MD_Nodes/Audio Processing",
"file_path": "audio/MD_MasteringChain.py"
},
{
"key": "MD_Mastering_EQ",
"type": "MasteringEQNode",
"title": "MD: Mastering EQ",
"description": "",
"category": "MD_Nodes/Audio Processing",
"file_path": "audio/MD_MasteringChain.py"
},
{
"key": "MD_Mastering_Gain",
"type": "MasteringGainNode",
"title": "MD: Mastering Gain",
"description": "",
"category": "MD_Nodes/Audio Processing",
"file_path": "audio/MD_MasteringChain.py"
},
{
"key": "MD_Mastering_Limiter",
"type": "MasteringLimiterNode",
"title": "MD: Mastering Limiter",
"description": "",
"category": "MD_Nodes/Audio Processing",
"file_path": "audio/MD_MasteringChain.py"
},
{
"key": "MD_Math_Add",
"type": "MD_Math_Add",
"title": "MD: Math Add (Int/Float)",
"description": "Performs basic addition (A + B).\nReturns both INT and FLOAT for workflow flexibility.",
"category": "MD_Nodes/Math",
"file_path": "math/MD_BasicMath.py"
},
{
"key": "MD_Math_Divide",
"type": "MD_Math_Divide",
"title": "MD: Math Divide (Int/Float)",
"description": "Performs basic division (A / B).\nIncludes safety check for division by zero.",
"category": "MD_Nodes/Math",
"file_path": "math/MD_BasicMath.py"
},
{
"key": "MD_Math_Multiply",
"type": "MD_Math_Multiply",
"title": "MD: Math Multiply (Int/Float)",
"description": "Performs basic multiplication (A * B).\nReturns both INT and FLOAT for workflow flexibility.",
"category": "MD_Nodes/Math",
"file_path": "math/MD_BasicMath.py"
},
{
"key": "MD_Math_Subtract",
"type": "MD_Math_Subtract",
"title": "MD: Math Subtract (Int/Float)",
"description": "Performs basic subtraction (A - B).\nReturns both INT and FLOAT for workflow flexibility.",
"category": "MD_Nodes/Math",
"file_path": "math/MD_BasicMath.py"
},
{
"key": "MD_ModelStateReset",
"type": "MD_ModelStateReset",
"title": "MD: Model State Reset (Anti-Static)",
"description": "MD: Model State Reset (Anti-Static)\n\nA maintenance node to fix accumulation errors, NaN explosions, and Eval mode drift.\nIt clones the model patcher to sever corrupt state links and \nscrubs VRAM to remove ghost tensors.",
"category": "MD_Nodes/Maintenance",
"file_path": "maintenance/MD_ModelStateReset.py"
},
{
"key": "MD_MultiSwitch",
"type": "MD_MultiSwitch",
"title": "MD: Multi-Way Switch (5-Path)",
"description": "A universal 5-way switch. Routes data based on an Integer Index (1-5).",
"category": "MD_Nodes/Logic",
"file_path": "logic/MD_Logic_Switch.py"
},
{
"key": "MD_NaN_Guardian",
"type": "MD_NaN_Guardian",
"title": "MD: NaN Guardian",
"description": "",
"category": "MD_Nodes/Debugging",
"file_path": "utility/MD_GuardianSuite.py"
},
{
"key": "MD_MultiNoiseBlender",
"type": "MD_MultiNoiseBlender",
"title": "MD: Noise Blender (5-Layer)",
"description": "Combines up to 5 Noise sources sequentially into a single NOISE object.",
"category": "MD_Nodes/Noise",
"file_path": "noise/MD_CustomNoiseGenerator.py"
},
{
"key": "NoiseDecayScheduler_Custom",
"type": "NoiseDecayScheduler_Custom",
"title": "MD: Noise Decay Scheduler (Advanced)",
"description": "MD: Noise Decay Scheduler (Advanced)\nGenerates a customizable noise decay curve object and visualizes it.",
"category": "MD_Nodes/Schedulers",
"file_path": "schedulers/MD_NoiseDecayScheduler.py"
},
{
"key": "PingPongSamplerNodeBasic",
"type": "PingPongSamplerNodeBasic",
"title": "MD: PingPong Basic (Presets)",
"description": "",
"category": "MD_Nodes/Samplers",
"file_path": "samplers/MD_PingPongSamplerFBG_Legacy.py"
},
{
"key": "PingPongSamplerNodeFBG",
"type": "PingPongSamplerNodeFBG",
"title": "MD: PingPong FBG (Full Control)",
"description": "",
"category": "MD_Nodes/Samplers",
"file_path": "samplers/MD_PingPongSamplerFBG_Legacy.py"
},
{
"key": "PingPongSamplerNodeLite",
"type": "PingPongSamplerNodeLite",
"title": "MD: PingPong Lite (Classic)",
"description": "",
"category": "MD_Nodes/Samplers",
"file_path": "samplers/MD_PingPongSamplerFBG_Legacy.py"
},
{
"key": "MD_RepoMaintenance",
"type": "MD_RepoMaintenance",
"title": "MD: Repo Fortress",
"description": "Manages updates for MD_Nodes. Includes Fortress safeguards.",
"category": "MD_Nodes/Utility",
"file_path": "utility/MD_RepoMaintenance.py"
},
{
"key": "MD_STORM_Sampler",
"type": "MD_STORM_Sampler",
"title": "MD: STORM Hybrid Solver \u26a1",
"description": "MD: STORM Hybrid Solver v2.0 \u26a1\n\nHPC-grade adaptive ODE sampler for flow-matching audio diffusion.\n\nSTORK (Stabilized Taylor RK) handles stiff early steps.\nDPM++3M handles smooth late steps.\nAuto-switches per step based on velocity field curvature.\n\nFeatures:\n\u2022 RK2/3/4/5 adaptive multi-order (single NFE, cached derivatives)\n\u2022 Adaptive sub-stepping \u2014 splits step on U-turn detection\n\u2022 Look-Back SNR smoother \u2014 suppresses harmonic hum\n\u2022 SDE restarts \u2014 isotropic or velocity-aligned Langevin noise\n\u2022 Full telemetry plot saved to ComfyUI output/ folder\n\u2022 YAML input/template/params outputs\n\nValidated configs:\n 35-step simple: look_back_lambda=0.35, snr_power=1.5\n 25-step ddim_uniform: look_back_lambda=0.55, snr_power=1.3",
"category": "MDMAchine/samplers",
"file_path": "samplers/MD_STORM_Sampler.py"
},
{
"key": "MD_SaveConditioning",
"type": "MD_SaveConditioning",
"title": "MD: Save Conditioning \ud83d\udcbe",
"description": "Saves conditioning data directly to the models/conditionings directory.",
"category": "MD_Nodes/Utility",
"file_path": "utility/MD_ConditioningCacheNodes.py"
},
{
"key": "SceneGeniusAutocreator",
"type": "SceneGeniusAutocreator",
"title": "MD: Scene Genius Autocreator",
"description": "Intelligent workflow orchestrator with adaptive execution modes.",
"category": "MD_Nodes/Prompt Generation",
"file_path": "utility/MD_SceneGeniusAutocreator.py"
},
{
"key": "SigmaConcatenate",
"type": "SigmaConcatenate",
"title": "MD: Sigma Concatenate",
"description": "",
"category": "MD_Nodes/Schedulers/Utilities",
"file_path": "schedulers/MD_HybridSigmaScheduler.py"
},
{
"key": "SigmaSmooth",
"type": "SigmaSmooth",
"title": "MD: Sigma Smooth",
"description": "",
"category": "MD_Nodes/Schedulers/Utilities",
"file_path": "schedulers/MD_HybridSigmaScheduler.py"
},
{
"key": "SmartFilenameBuilder",
"type": "SmartFilenameBuilder",
"title": "MD: Smart Filename Builder",
"description": "Generates complex and clean filenames using presets or custom configurations.",
"category": "MD_Nodes/Utility",
"file_path": "utility/MD_SmartFilenameBuilder.py"
},
{
"key": "MD_Stereo_Width_Controller",
"type": "MD_Stereo_Width_Controller",
"title": "MD: Stereo Width Controller",
"description": "",
"category": "MD_Nodes/Audio Processing",
"file_path": "audio/MD_BroadcastTools.py"
},
{
"key": "MD_String_Logic",
"type": "MD_String_Logic",
"title": "MD: String Logic (Router)",
"description": "",
"category": "MD_Nodes/Logic",
"file_path": "logic/MD_String_Logic.py"
},
{
"key": "TextFileLoader",
"type": "TextFileLoader",
"title": "MD: Text File Loader",
"description": "Companion node to load text content from external files.",
"category": "MD_Nodes/Text",
"file_path": "text/MD_TextInput.py"
},
{
"key": "MD_WorkflowContextBus",
"type": "MD_WorkflowContextBus",
"title": "MD: Universal Context Bus",
"description": "Consolidates SceneGenius outputs for one-wire workflows.",
"category": "MD_Nodes/Utility",
"file_path": "utility/MD_SceneGeniusAutocreator.py"
},
{
"key": "MD_LatentSanitizer",
"type": "MD_LatentSanitizer",
"title": "MD: Universal Latent Sanitizer (Audio/Video/Image)",
"description": "MD: Universal Latent Sanitizer (Audio/Video/Image)\n\nA comprehensive maintenance node that clamps latent outliers, fixes NaNs,\nand patches VAE settings to prevent decoding artifacts like static and crackle.",
"category": "MD_Nodes/Maintenance",
"file_path": "maintenance/MD_LatentSanitizer.py"
},
{
"key": "UniversalWildcardOrchestrator",
"type": "UniversalWildcardOrchestrator",
"title": "MD: Universal Wildcard Orchestrator",
"description": "The central text rendering engine for MD_Nodes workflows.",
"category": "MD_Nodes/Prompt Generation",
"file_path": "utility/MD_UniversalWildcardOrchestrator.py"
},
{
"key": "MD_VRAMCanary",
"type": "MD_VRAMCanary",
"title": "MD: VRAM Canary (Memory Guardian)",
"description": "VRAM Canary - Memory Guardian\n\nMonitors GPU memory and prevents OOM crashes through proactive cleanup.\nAccepts any input type and passes it through unchanged.",
"category": "MD_Nodes/Utility",
"file_path": "utility/MD_VRAMCanary.py"
},
{
"key": "WildcardPromptBuilder",
"type": "WildcardPromptBuilder",
"title": "MD: Wildcard Prompt Builder",
"description": "Multi-modal prompt engine: ACE-Step audio, SD/Flux image, Wan/Mochi video.",
"category": "MD_Nodes/Prompt Generation",
"file_path": "utility/MD_WildcardPromptBuilder.py"
},
{
"key": "MD_YAML_Generator",
"type": "MD_YAML_Generator",
"title": "MD: YAML Configuration Tool",
"description": "A power-user tool to load base YAML configurations, apply manual overrides,\nvalidate the syntax, and optionally save the result as a new preset.",
"category": "MD_Nodes/Utility",
"file_path": "utility/MD_YAML_Node.py"
},
{
"key": "MD_YAML_Utils",
"type": "MD_YAML_Utils",
"title": "MD: YAML Utils (Architect)",
"description": "The Machine Interface for YAML manipulation.\nAllows runtime modification of configuration data.",
"category": "MD_Nodes/Utility",
"file_path": "utility/MD_YAML_Utils.py"
}
],
"dependencies": [
"# flashinfer - Optional: Install specific wheel for your CUDA version. Example: pip install flashinfer -i https://flashinfer.ai/whl/cu121/torch2.4/",
"bitsandbytes",
"google-api-python-client",
"google-auth",
"h5py",
"hdf5plugin",
"huggingface_hub",
"imageio",
"librosa",
"lion_pytorch",
"lmstudio",
"loguru",
"lpips",
"matplotlib",
"mpl_toolkits",
"natsort",
"ollama",
"pedalboard",
"piexif",
"prodigyopt",
"pykakasi",
"pyloudnorm",
"pynvml",
"pytorch_lightning",
"rich",
"soundfile",
"stdlib_list",
"tomli",
"tomli_w",
"torchcodec"
],
"name": "ComfyUI_MD_Nodes",
"author": "MDMAchine",
"description": "Custom nodes for ComfyUI"
}