120 lines
5.4 KiB
Python
120 lines
5.4 KiB
Python
from ..utils import runwareUtils as rwUtils
|
|
|
|
class RunwareViduProviderSettings:
|
|
@classmethod
|
|
def INPUT_TYPES(cls):
|
|
return {
|
|
"required": {},
|
|
"optional": {
|
|
# Audio parameter
|
|
"useAudio": ("BOOLEAN", {
|
|
"tooltip": "Enable to include audio parameter in API request",
|
|
"default": False,
|
|
}),
|
|
"audio": ("BOOLEAN", {
|
|
"tooltip": "Enable audio for video generation. Only used when 'Use Audio' is enabled.",
|
|
"default": True,
|
|
}),
|
|
# BGM parameter
|
|
"useBgm": ("BOOLEAN", {
|
|
"tooltip": "Enable to include bgm parameter in API request",
|
|
"default": False,
|
|
}),
|
|
"bgm": ("BOOLEAN", {
|
|
"tooltip": "Enable background music for video generation. Only used when 'Use BGM' is enabled.",
|
|
"default": False,
|
|
}),
|
|
# Style parameter
|
|
"useStyle": ("BOOLEAN", {
|
|
"tooltip": "Enable to include style parameter in API request",
|
|
"default": False,
|
|
}),
|
|
"style": ("STRING", {
|
|
"tooltip": "Video style configuration for Vidu models. Only used when 'Use Style' is enabled.",
|
|
"default": "",
|
|
}),
|
|
# Movement amplitude parameter
|
|
"useMovementAmplitude": ("BOOLEAN", {
|
|
"tooltip": "Enable to include movementAmplitude parameter in API request",
|
|
"default": False,
|
|
}),
|
|
"movementAmplitude": ("STRING", {
|
|
"tooltip": "Controls the amplitude/intensity of movement in the generated video. Only used when 'Use Movement Amplitude' is enabled.",
|
|
"default": "",
|
|
}),
|
|
# Template parameters
|
|
"useTemplateName": ("BOOLEAN", {
|
|
"tooltip": "Enable to include template name in API request",
|
|
"default": False,
|
|
}),
|
|
"templateName": ("STRING", {
|
|
"tooltip": "Template name for video generation. Only used when 'Use Template Name' is enabled.",
|
|
"default": "",
|
|
}),
|
|
"useTemplateArea": ("BOOLEAN", {
|
|
"tooltip": "Enable to include template area in API request",
|
|
"default": False,
|
|
}),
|
|
"templateArea": ("STRING", {
|
|
"tooltip": "Template area configuration. Only used when 'Use Template Area' is enabled.",
|
|
"default": "",
|
|
}),
|
|
"useTemplateBeast": ("BOOLEAN", {
|
|
"tooltip": "Enable to include template beast in API request",
|
|
"default": False,
|
|
}),
|
|
"templateBeast": ("STRING", {
|
|
"tooltip": "Template beast configuration. Only used when 'Use Template Beast' is enabled.",
|
|
"default": "",
|
|
}),
|
|
},
|
|
}
|
|
|
|
DESCRIPTION = "Configure Vidu-specific provider settings for video generation. Includes background music, style, movement amplitude, and template configurations."
|
|
FUNCTION = "viduProviderSettings"
|
|
RETURN_TYPES = ("RUNWAREPROVIDERSETTINGS",)
|
|
RETURN_NAMES = ("Vidu Provider Settings",)
|
|
CATEGORY = "Runware"
|
|
|
|
def viduProviderSettings(self, **kwargs):
|
|
# Get all optional parameters
|
|
useAudio = kwargs.get("useAudio", False)
|
|
audio = kwargs.get("audio", True)
|
|
useBgm = kwargs.get("useBgm", False)
|
|
bgm = kwargs.get("bgm", False)
|
|
useStyle = kwargs.get("useStyle", False)
|
|
style = kwargs.get("style", "")
|
|
useMovementAmplitude = kwargs.get("useMovementAmplitude", False)
|
|
movementAmplitude = kwargs.get("movementAmplitude", "")
|
|
useTemplateName = kwargs.get("useTemplateName", False)
|
|
templateName = kwargs.get("templateName", "")
|
|
useTemplateArea = kwargs.get("useTemplateArea", False)
|
|
templateArea = kwargs.get("templateArea", "")
|
|
useTemplateBeast = kwargs.get("useTemplateBeast", False)
|
|
templateBeast = kwargs.get("templateBeast", "")
|
|
|
|
# Build provider settings dictionary
|
|
providerSettings = {}
|
|
|
|
if useAudio:
|
|
providerSettings["audio"] = audio
|
|
if useBgm:
|
|
providerSettings["bgm"] = bgm
|
|
if useStyle and style and style.strip():
|
|
providerSettings["style"] = style.strip()
|
|
if useMovementAmplitude and movementAmplitude and movementAmplitude.strip():
|
|
providerSettings["movementAmplitude"] = movementAmplitude.strip()
|
|
|
|
# Build template object if any template parameters are enabled and provided
|
|
template = {}
|
|
if useTemplateName and templateName and templateName.strip():
|
|
template["name"] = templateName.strip()
|
|
if useTemplateArea and templateArea and templateArea.strip():
|
|
template["area"] = templateArea.strip()
|
|
if useTemplateBeast and templateBeast and templateBeast.strip():
|
|
template["beast"] = templateBeast.strip()
|
|
if template:
|
|
providerSettings["template"] = template
|
|
|
|
return (providerSettings,)
|