Files
Runware-ComfyUI-Runware/modules/providerSettings/klingProviderSettings.py
T
Sirshendu Ganguly 056ade0661 Refactor: Use librosa instead of torchaudio, Add dedicated handlers for all use parameters and fix widget ordering
- Use librosa instead of torchaudio for mediaStorage
- Created dedicated toggle handlers for Image Inference, Video Inference, Upscaler, Audio Inference, Accelerator Options, Bytedance Provider Settings, and OpenAI Provider Settings
- Fixed Audio Inference widget ordering (use parameters now appear before their corresponding parameters)
- All handlers use the same proven pattern from videoInferenceDimensionsHandler
- Improved widget disabling/enabling functionality across all nodes
2025-11-05 22:31:15 -05:00

69 lines
2.2 KiB
Python

"""
Runware KlingAI Provider Settings Node
Provides KlingAI-specific settings for video generation
"""
from typing import Dict, Any
class RunwareKlingProviderSettings:
"""Runware KlingAI Provider Settings Node"""
@classmethod
def INPUT_TYPES(cls):
return {
"required": {},
"optional": {
"soundVolume": ("FLOAT", {
"tooltip": "Background sound volume to mix with generated audio (provider key: soundVolume).",
"default": 1.0,
"min": 0.0,
"max": 2.0,
"step": 0.1,
}),
"originalAudioVolume": ("FLOAT", {
"tooltip": "Original video volume mix level (provider key: originalAudioVolume). No effect if source has no audio.",
"default": 1.0,
"min": 0.0,
"max": 2.0,
"step": 0.1,
}),
}
}
RETURN_TYPES = ("RUNWAREPROVIDERSETTINGS",)
RETURN_NAMES = ("Provider Settings",)
FUNCTION = "create_provider_settings"
CATEGORY = "Runware"
DESCRIPTION = "Configure KlingAI-specific provider settings for video generation including sound and original audio volume controls."
def create_provider_settings(self, **kwargs) -> tuple[Dict[str, Any]]:
"""Create KlingAI provider settings"""
sound_volume = kwargs.get("soundVolume", None)
original_audio_volume = kwargs.get("originalAudioVolume", None)
kling_settings: Dict[str, Any] = {}
if sound_volume is not None:
kling_settings["soundVolume"] = float(sound_volume)
if original_audio_volume is not None:
kling_settings["originalAudioVolume"] = float(original_audio_volume)
# Remove unset values
kling_settings = {k: v for k, v in kling_settings.items() if v is not None}
return (kling_settings,)
# Node class mappings
NODE_CLASS_MAPPINGS = {
"RunwareKlingProviderSettings": RunwareKlingProviderSettings,
}
NODE_DISPLAY_NAME_MAPPINGS = {
"RunwareKlingProviderSettings": "Runware KlingAI Provider Settings",
}