Files
Runware-ComfyUI-Runware/modules/providerSettings/alibabaProviderSettings.py
T

68 lines
2.2 KiB
Python

"""
Runware Alibaba Provider Settings Node
Provides Alibaba-specific settings for image/video generation
"""
from typing import Optional, Dict, Any
class RunwareAlibabaProviderSettings:
"""Runware Alibaba Provider Settings Node"""
@classmethod
def INPUT_TYPES(cls):
return {
"required": {},
"optional": {
"usePromptEnhancer": ("BOOLEAN", {
"tooltip": "Enable to include promptEnhancer parameter in provider settings",
"default": False,
}),
"promptEnhancer": ("BOOLEAN", {
"tooltip": "Enable prompt enhancement for Alibaba generation. Only used when 'Use Prompt Enhancer' is enabled.",
"default": False,
"label_on": "Enabled",
"label_off": "Disabled",
}),
}
}
RETURN_TYPES = ("RUNWAREPROVIDERSETTINGS",)
RETURN_NAMES = ("Provider Settings",)
FUNCTION = "createProviderSettings"
CATEGORY = "Runware/Provider Settings"
DESCRIPTION = "Configure Alibaba-specific provider settings for image/video generation including prompt enhancement."
def createProviderSettings(self, **kwargs) -> tuple[Dict[str, Any]]:
"""Create Alibaba provider settings"""
# Get control parameters
usePromptEnhancer = kwargs.get("usePromptEnhancer", False)
# Get value parameters
promptEnhancer = kwargs.get("promptEnhancer", False)
# Build settings dictionary - only include what is enabled
alibabaSettings: Dict[str, Any] = {}
# Add promptEnhancer only if usePromptEnhancer is enabled
if usePromptEnhancer:
alibabaSettings["promptEnhancer"] = promptEnhancer
# Clean up None values
alibabaSettings = {k: v for k, v in alibabaSettings.items() if v is not None}
# Return flat dictionary - will be wrapped by inference node with provider name
return (alibabaSettings,)
# Node class mappings
NODE_CLASS_MAPPINGS = {
"RunwareAlibabaProviderSettings": RunwareAlibabaProviderSettings,
}
NODE_DISPLAY_NAME_MAPPINGS = {
"RunwareAlibabaProviderSettings": "Runware Alibaba Provider Settings",
}