Merge pull request #111 from Runware/feature-addResizeGoogleParamters

Added support for new Google provider settings
This commit is contained in:
Sirshendu Ganguly
2026-03-24 17:01:30 -04:00
committed by GitHub
3 changed files with 26 additions and 7 deletions
+11 -6
View File
@@ -4246,12 +4246,14 @@ export {
function googleProviderSettingsToggleHandler(googleNode) {
// Find all "use" parameter widgets for Google Provider Settings
const useGenerateAudioWidget = googleNode.widgets.find(w => w.name === "useGenerateAudio");
const generateAudioWidget = googleNode.widgets.find(w => w.name === "generateAudio");
const useEnhancePromptWidget = googleNode.widgets.find(w => w.name === "useEnhancePrompt");
const enhancePromptWidget = googleNode.widgets.find(w => w.name === "enhancePrompt");
const useSearchWidget = googleNode.widgets.find(w => w.name === "useSearch");
const searchWidget = googleNode.widgets.find(w => w.name === "search");
const useGenerateAudioWidget = googleNode.widgets.find(w => w && w.name === "useGenerateAudio");
const generateAudioWidget = googleNode.widgets.find(w => w && w.name === "generateAudio");
const useEnhancePromptWidget = googleNode.widgets.find(w => w && w.name === "useEnhancePrompt");
const enhancePromptWidget = googleNode.widgets.find(w => w && w.name === "enhancePrompt");
const useSearchWidget = googleNode.widgets.find(w => w && w.name === "useSearch");
const searchWidget = googleNode.widgets.find(w => w && w.name === "search");
const useResizeModeWidget = googleNode.widgets.find(w => w && w.name === "useResizeMode");
const resizeModeWidget = googleNode.widgets.find(w => w && w.name === "resizeMode");
// Helper function to toggle widget enabled state
function toggleWidgetState(useWidget, paramWidget, paramName) {
@@ -4305,6 +4307,9 @@ function googleProviderSettingsToggleHandler(googleNode) {
if (useSearchWidget && searchWidget) {
toggleWidgetState(useSearchWidget, searchWidget, "search");
}
if (useResizeModeWidget && resizeModeWidget) {
toggleWidgetState(useResizeModeWidget, resizeModeWidget, "resizeMode");
}
}
function settingsToggleHandler(settingsNode) {
@@ -44,6 +44,14 @@ class RunwareGoogleProviderSettings:
"label_on": "Enabled",
"label_off": "Disabled",
}),
"useResizeMode": ("BOOLEAN", {
"tooltip": "Enable to include resizeMode in providerSettings.google (image resize behavior).",
"default": False,
}),
"resizeMode": (["crop", "pad"], {
"tooltip": "Value for providerSettings.google.resizeMode. Must be 'crop' or 'pad'. Only used when 'Use Resize Mode' is enabled.",
"default": "crop",
}),
}
}
@@ -51,7 +59,7 @@ class RunwareGoogleProviderSettings:
RETURN_NAMES = ("Provider Settings",)
FUNCTION = "createProviderSettings"
CATEGORY = "Runware/Provider Settings"
DESCRIPTION = "Configure Google-specific provider settings for image/video generation including audio generation, prompt enhancement, and search."
DESCRIPTION = "Configure Google-specific provider settings for image/video generation including audio generation, prompt enhancement, search, and resizeMode (crop/pad)."
def createProviderSettings(self, **kwargs) -> tuple[Dict[str, Any]]:
"""Create Google provider settings"""
@@ -60,11 +68,13 @@ class RunwareGoogleProviderSettings:
useGenerateAudio = kwargs.get("useGenerateAudio", False)
useEnhancePrompt = kwargs.get("useEnhancePrompt", False)
useSearch = kwargs.get("useSearch", False)
useResizeMode = kwargs.get("useResizeMode", False)
# Get value parameters
generateAudio = kwargs.get("generateAudio", False)
enhancePrompt = kwargs.get("enhancePrompt", False)
search = kwargs.get("search", False)
resizeMode = kwargs.get("resizeMode", "crop")
# Build settings dictionary - only include what is enabled
googleSettings: Dict[str, Any] = {}
@@ -76,6 +86,9 @@ class RunwareGoogleProviderSettings:
googleSettings["enhancePrompt"] = enhancePrompt
if useSearch:
googleSettings["search"] = search
if useResizeMode:
mode = str(resizeMode).strip().lower() if resizeMode is not None else "crop"
googleSettings["resizeMode"] = mode if mode in ("crop", "pad") else "crop"
# Clean up None values
googleSettings = {k: v for k, v in googleSettings.items() if v is not None}
File diff suppressed because one or more lines are too long