From 80730564347564d3843165504708ff7bcd0f8902 Mon Sep 17 00:00:00 2001 From: Sirshendu Ganguly Date: Fri, 15 May 2026 17:16:26 +0530 Subject: [PATCH] Added new model AIR for ACE --- clientlibs/utils.js | 7 +++++++ modules/audioModelSearch.py | 1 + modules/audioSettings.py | 33 ++------------------------------- 3 files changed, 10 insertions(+), 31 deletions(-) diff --git a/clientlibs/utils.js b/clientlibs/utils.js index 2ec090f..32fc1e5 100644 --- a/clientlibs/utils.js +++ b/clientlibs/utils.js @@ -1293,6 +1293,10 @@ function audioSettingsToggleHandler(settingsNode) { const maxNewTokensWidget = settingsNode.widgets.find(w => w && w.name === "maxNewTokens"); const useTranscriptWidget = settingsNode.widgets.find(w => w && w.name === "useTranscript"); const transcriptWidget = settingsNode.widgets.find(w => w && w.name === "transcript"); + const useCfgIntervalStartWidget = settingsNode.widgets.find(w => w && w.name === "useCfgIntervalStart"); + const cfgIntervalStartWidget = settingsNode.widgets.find(w => w && w.name === "cfgIntervalStart"); + const useCfgIntervalEndWidget = settingsNode.widgets.find(w => w && w.name === "useCfgIntervalEnd"); + const cfgIntervalEndWidget = settingsNode.widgets.find(w => w && w.name === "cfgIntervalEnd"); function toggleWidgetState(useWidget, paramWidget, paramName) { if (!useWidget || !paramWidget) return; @@ -1331,6 +1335,8 @@ function audioSettingsToggleHandler(settingsNode) { if (useXVectorOnlyWidget && xVectorOnlyWidget) toggleWidgetState(useXVectorOnlyWidget, xVectorOnlyWidget, "xVectorOnly"); if (useMaxNewTokensWidget && maxNewTokensWidget) toggleWidgetState(useMaxNewTokensWidget, maxNewTokensWidget, "maxNewTokens"); if (useTranscriptWidget && transcriptWidget) toggleWidgetState(useTranscriptWidget, transcriptWidget, "transcript"); + if (useCfgIntervalStartWidget && cfgIntervalStartWidget) toggleWidgetState(useCfgIntervalStartWidget, cfgIntervalStartWidget, "cfgIntervalStart"); + if (useCfgIntervalEndWidget && cfgIntervalEndWidget) toggleWidgetState(useCfgIntervalEndWidget, cfgIntervalEndWidget, "cfgIntervalEnd"); } function textInferenceSettingsToggleHandler(settingsNode) { @@ -3333,6 +3339,7 @@ function audioModelSearchFilterHandler(audioModelSearchNode) { "runware:ace-step@v1.5-turbo (ACE-Step v1.5 Turbo)", "runware:ace-step@v1.5-xl-base (ACE-Step v1.5 XL Base)", "runware:ace-step@v1.5-xl-turbo (ACE-Step v1.5 XL Turbo)", + "runware:ace-step@v1.5-xl-sft (ACE-Step v1.5 XL SFT)", ], "Alibaba": [ "alibaba:qwen@3-tts-1.7b-voicedesign (Qwen3 TTS 1.7B Voice Design)", diff --git a/modules/audioModelSearch.py b/modules/audioModelSearch.py index ffcd8f1..0207b14 100644 --- a/modules/audioModelSearch.py +++ b/modules/audioModelSearch.py @@ -20,6 +20,7 @@ class RunwareAudioModelSearch: "runware:ace-step@v1.5-turbo (ACE-Step v1.5 Turbo)", "runware:ace-step@v1.5-xl-base (ACE-Step v1.5 XL Base)", "runware:ace-step@v1.5-xl-turbo (ACE-Step v1.5 XL Turbo)", + "runware:ace-step@v1.5-xl-sft (ACE-Step v1.5 XL SFT)", ], "Alibaba": [ "alibaba:qwen@3-tts-1.7b-voicedesign (Qwen3 TTS 1.7B Voice Design)", diff --git a/modules/audioSettings.py b/modules/audioSettings.py index 98a2c74..a022d47 100644 --- a/modules/audioSettings.py +++ b/modules/audioSettings.py @@ -2,7 +2,7 @@ Runware Audio Inference Settings Node Provides lyrics, lyricsOptimizer, instrumental, guidanceType, languageBoost, turbo, temperature, textNormalization, bpm, keyScale, timeSignature, vocalLanguage, coverConditioningScale, repaintingStart, repaintingEnd, -cfgIntervalStart, cfgIntervalEnd, repaintMode, repaintStrength, xVectorOnly, maxNewTokens, transcript, +cfgIntervalStart, cfgIntervalEnd, xVectorOnly, maxNewTokens, transcript, and more for Runware Audio Inference. """ @@ -256,25 +256,6 @@ class RunwareAudioSettings: "max": 1.0, "step": 0.01, }), - "useRepaintMode": ("BOOLEAN", { - "tooltip": "Enable to include repaintMode (repaint blend strategy). Requires input audio and an active repaint region (repaintingStart / repaintingEnd).", - "default": False, - }), - "repaintMode": (["conservative", "balanced", "aggressive"], { - "tooltip": "Repaint blend strategy. Only used when 'Use Repaint Mode' is enabled.", - "default": "balanced", - }), - "useRepaintStrength": ("BOOLEAN", { - "tooltip": "Enable to include repaintStrength (balanced mode only). Requires input audio and an active repaint region.", - "default": False, - }), - "repaintStrength": ("FLOAT", { - "tooltip": "Repaint aggressiveness (0 = preserve source, 1 = full regen). Balanced mode only. Only used when 'Use Repaint Strength' is enabled.", - "default": 0.5, - "min": 0.0, - "max": 1.0, - "step": 0.01, - }), } } @@ -285,7 +266,7 @@ class RunwareAudioSettings: DESCRIPTION = ( "Configure audio generation settings (lyrics, lyricsOptimizer, instrumental, guidanceType, languageBoost, turbo, temperature, textNormalization, " "bpm, keyScale, timeSignature, vocalLanguage, coverConditioningScale, repaintingStart, repaintingEnd, " - "cfgIntervalStart, cfgIntervalEnd, repaintMode, repaintStrength, xVectorOnly, maxNewTokens, transcript, etc.) " + "cfgIntervalStart, cfgIntervalEnd, xVectorOnly, maxNewTokens, transcript, etc.) " "for Runware Audio Inference. Connect to Runware Audio Inference node." ) @@ -337,10 +318,6 @@ class RunwareAudioSettings: cfg_interval_start = kwargs.get("cfgIntervalStart", 0.0) use_cfg_interval_end = kwargs.get("useCfgIntervalEnd", False) cfg_interval_end = kwargs.get("cfgIntervalEnd", 1.0) - use_repaint_mode = kwargs.get("useRepaintMode", False) - repaint_mode = kwargs.get("repaintMode", "balanced") - use_repaint_strength = kwargs.get("useRepaintStrength", False) - repaint_strength = kwargs.get("repaintStrength", 0.5) settings: Dict[str, Any] = {} @@ -408,12 +385,6 @@ class RunwareAudioSettings: if use_cfg_interval_end: settings["cfgIntervalEnd"] = float(cfg_interval_end) - if use_repaint_mode: - settings["repaintMode"] = repaint_mode - - if use_repaint_strength: - settings["repaintStrength"] = float(repaint_strength) - return (settings,)