From c1eee774310d1ae7e3bfd0c96ca5c3e9945a6882 Mon Sep 17 00:00:00 2001 From: Sirshendu Ganguly Date: Tue, 30 Dec 2025 20:24:26 -0500 Subject: [PATCH] Add Wan Animate advanced feature settings, reference voices, Kling character orientation, and video advanced feature inputs with use toggles --- __init__.py | 4 + clientlibs/main.js | 6 +- clientlibs/types.js | 10 + clientlibs/utils.js | 214 ++++++++++++++++++ modules/advancedFeatureSettings/__init__.py | 2 + .../wanAnimateAdvancedFeatureSettings.py | 99 ++++++++ .../providerSettings/klingProviderSettings.py | 14 ++ modules/referenceVoices.py | 43 ++++ modules/videoAdvancedFeatureInputs.py | 61 ++++- modules/videoInferenceInputs.py | 7 + modules/videoModelSearch.py | 3 + ...mage_Inference_Bria_ReplaceBackground.json | 2 +- ...nware_Video_Inference_Kling_2_6_voice.json | 1 + .../Runware_Video_Inference_Wan_Animate.json | 1 + 14 files changed, 453 insertions(+), 14 deletions(-) create mode 100644 modules/advancedFeatureSettings/__init__.py create mode 100644 modules/advancedFeatureSettings/wanAnimateAdvancedFeatureSettings.py create mode 100644 modules/referenceVoices.py create mode 100644 workflows/Runware_Video_Inference_Kling_2_6_voice.json create mode 100644 workflows/Runware_Video_Inference_Wan_Animate.json diff --git a/__init__.py b/__init__.py index 4b2474b..1895171 100644 --- a/__init__.py +++ b/__init__.py @@ -48,6 +48,7 @@ from .modules.audioInputCombine import RunwareAudioInputCombine from .modules.speechInput import RunwareSpeechInput from .modules.speechInputCombine import RunwareSpeechInputCombine from .modules.referenceVideos import referenceVideos +from .modules.referenceVoices import referenceVoices from .modules.videoInferenceInputs import videoInferenceInputs from .modules.providerSettings.lightricksProviderSettings import RunwareLightricksProviderSettings from .modules.providerSettings.minimaxProviderSettings import RunwareMiniMaxProviderSettings @@ -68,6 +69,7 @@ from .modules.videoInputsFrame import RunwareVideoInputsFrameImages from .modules.safetyInputs import safetyInputs from .modules.settings import RunwareSettings from .modules.videoAdvancedFeatureInputs import videoAdvancedFeatureInputs +from .modules.advancedFeatureSettings.wanAnimateAdvancedFeatureSettings import RunwareWanAnimateAdvancedFeatureSettings RUNWARE_COMFYUI_VERSION = "1.4.0 Beta" @@ -130,6 +132,7 @@ NODE_CLASS_MAPPINGS = { "Runware Video Speech Input": RunwareSpeechInput, "Runware Speech Inputs Combine": RunwareSpeechInputCombine, "Runware Reference Videos": referenceVideos, + "Runware Reference Voices": referenceVoices, "Runware Video Inference Inputs": videoInferenceInputs, "Runware Lightricks Provider Settings": RunwareLightricksProviderSettings, "Runware MiniMax Provider Settings": RunwareMiniMaxProviderSettings, @@ -150,6 +153,7 @@ NODE_CLASS_MAPPINGS = { "Runware Safety Inputs": safetyInputs, "Runware Settings": RunwareSettings, "Runware Video Advanced Feature Inputs": videoAdvancedFeatureInputs, + "Runware Wan Animate Advanced Feature Settings": RunwareWanAnimateAdvancedFeatureSettings, } NODE_DISPLAY_NAME_MAPPINGS = { diff --git a/clientlibs/main.js b/clientlibs/main.js index 03b81ad..0b98d82 100644 --- a/clientlibs/main.js +++ b/clientlibs/main.js @@ -1,6 +1,6 @@ import { app } from "../../scripts/app.js"; import { api } from "../../scripts/api.js"; -import { promptEnhanceHandler, syncDimensionsNodeHandler, searchNodeHandler, APIKeyHandler, captionNodeHandler, mediaUUIDHandler, videoTranscriptionHandler, handleCustomErrors, videoInferenceDimensionsHandler, videoModelSearchFilterHandler, audioModelSearchFilterHandler, useParameterToggleHandler, imageInferenceToggleHandler, upscalerToggleHandler, videoUpscalerToggleHandler, audioInferenceToggleHandler, acceleratorOptionsToggleHandler, bytedanceProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler, audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler } from "./utils.js"; +import { promptEnhanceHandler, syncDimensionsNodeHandler, searchNodeHandler, APIKeyHandler, captionNodeHandler, mediaUUIDHandler, videoTranscriptionHandler, handleCustomErrors, videoInferenceDimensionsHandler, videoModelSearchFilterHandler, audioModelSearchFilterHandler, useParameterToggleHandler, imageInferenceToggleHandler, upscalerToggleHandler, videoUpscalerToggleHandler, audioInferenceToggleHandler, acceleratorOptionsToggleHandler, bytedanceProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler, audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler, wanAnimateAdvancedFeatureSettingsToggleHandler, videoAdvancedFeatureInputsToggleHandler } from "./utils.js"; import { RUNWARE_NODE_TYPES, RUNWARE_NODE_PROPS, SEARCH_TERMS } from "./types.js"; const nodeInitList = []; @@ -87,6 +87,10 @@ app.registerExtension({ speechInputToggleHandler(node); } else if(nodeClass === RUNWARE_NODE_TYPES.BRIAPROVIDERMASK) { briaProviderMaskToggleHandler(node); + } else if(nodeClass === RUNWARE_NODE_TYPES.WANANIMATEADVANCEDFEATURESETTINGS) { + wanAnimateAdvancedFeatureSettingsToggleHandler(node); + } else if(nodeClass === RUNWARE_NODE_TYPES.VIDEOADVANCEDFEATUREINPUTS) { + videoAdvancedFeatureInputsToggleHandler(node); } if(crNodeProps.colorModeOnly === true) return; diff --git a/clientlibs/types.js b/clientlibs/types.js index b83c4c2..ebd9204 100644 --- a/clientlibs/types.js +++ b/clientlibs/types.js @@ -96,6 +96,7 @@ const RUNWARE_NODE_TYPES = { AUDIOINPUT: "Runware Video Audio Input", SPEECHINPUT: "Runware Video Speech Input", REFERENCEVIDEOS: "Runware Reference Videos", + REFERENCEVOICES: "Runware Reference Voices", VIDEOINFERENCEINPUTS: "Runware Video Inference Inputs", LIGHTRICKSPROVIDERSETTINGS: "Runware Lightricks Provider Settings", KLINGPROVIDERSETTINGS: "Runware KlingAI Provider Settings", @@ -118,6 +119,7 @@ const RUNWARE_NODE_TYPES = { SAFETYINPUTS: "Runware Safety Inputs", SETTINGS: "Runware Settings", VIDEOADVANCEDFEATUREINPUTS: "Runware Video Advanced Feature Inputs", + WANANIMATEADVANCEDFEATURESETTINGS: "Runware Wan Animate Advanced Feature Settings", }; const RUNWARE_NODE_PROPS = { @@ -316,6 +318,10 @@ const RUNWARE_NODE_PROPS = { bgColor: DEFAULT_BGCOLOR, colorModeOnly: true, }, + [RUNWARE_NODE_TYPES.REFERENCEVOICES]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, [RUNWARE_NODE_TYPES.VIDEOINFERENCEINPUTS]: { bgColor: DEFAULT_BGCOLOR, colorModeOnly: true, @@ -405,6 +411,10 @@ const RUNWARE_NODE_PROPS = { bgColor: DEFAULT_BGCOLOR, colorModeOnly: true, }, + [RUNWARE_NODE_TYPES.WANANIMATEADVANCEDFEATURESETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, }; export { diff --git a/clientlibs/utils.js b/clientlibs/utils.js index c9f8191..c505709 100644 --- a/clientlibs/utils.js +++ b/clientlibs/utils.js @@ -1718,6 +1718,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) { "Wan": [ "runware:200@1 (Wan 2.1 1.3B)", "runware:200@2 (Wan 2.1 14B)", "runware:200@6 (Wan 2.2)", + "runware:200@8 (Wan 2.2 A14B Animate)", "alibaba:wan@2.6 (Wan 2.6)", ], "OpenAI": [ @@ -1794,6 +1795,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) { "runware:200@1": {"width": 853, "height": 480}, "runware:200@2": {"width": 853, "height": 480}, "runware:200@6": {"width": 1280, "height": 720}, + "runware:200@8": {"width": 1104, "height": 832}, "alibaba:wan@2.6": {"width": 1280, "height": 720}, "openai:3@1": {"width": 1280, "height": 720}, "openai:3@0": {"width": 1280, "height": 720}, @@ -1857,6 +1859,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) { "runware:200@1": "480p", "runware:200@2": "480p", "runware:200@6": "720p", + "runware:200@8": "720p", "alibaba:wan@2.6": "720p", "openai:3@1": "720p", "openai:3@0": "720p", @@ -2127,6 +2130,10 @@ function klingProviderSettingsToggleHandler(klingNode) { const asmrModeWidget = klingNode.widgets.find(w => w.name === "asmrMode"); const useKeepOriginalSoundWidget = klingNode.widgets.find(w => w.name === "useKeepOriginalSound"); const keepOriginalSoundWidget = klingNode.widgets.find(w => w.name === "keepOriginalSound"); + const useSoundWidget = klingNode.widgets.find(w => w.name === "useSound"); + const soundWidget = klingNode.widgets.find(w => w.name === "sound"); + const useCharacterOrientationWidget = klingNode.widgets.find(w => w.name === "useCharacterOrientation"); + const characterOrientationWidget = klingNode.widgets.find(w => w.name === "characterOrientation"); // Helper function to toggle widget enabled state (EXACT same pattern as imageInferenceToggleHandler) function toggleWidgetState(useWidget, paramWidget, paramName) { @@ -2202,6 +2209,14 @@ function klingProviderSettingsToggleHandler(klingNode) { if (useKeepOriginalSoundWidget && keepOriginalSoundWidget) { toggleWidgetState(useKeepOriginalSoundWidget, keepOriginalSoundWidget, "keepOriginalSound"); } + + if (useSoundWidget && soundWidget) { + toggleWidgetState(useSoundWidget, soundWidget, "sound"); + } + + if (useCharacterOrientationWidget && characterOrientationWidget) { + toggleWidgetState(useCharacterOrientationWidget, characterOrientationWidget, "characterOrientation"); + } } function alibabaProviderSettingsToggleHandler(alibabaNode) { @@ -2752,6 +2767,203 @@ function briaProviderMaskToggleHandler(maskNode) { } } +function wanAnimateAdvancedFeatureSettingsToggleHandler(wanAnimateNode) { + // Find widgets + const useModeWidget = wanAnimateNode.widgets.find(w => w.name === "useMode"); + const modeWidget = wanAnimateNode.widgets.find(w => w.name === "mode"); + const useRetargetPoseWidget = wanAnimateNode.widgets.find(w => w.name === "useRetargetPose"); + const retargetPoseWidget = wanAnimateNode.widgets.find(w => w.name === "retargetPose"); + const usePrevSegCondFramesWidget = wanAnimateNode.widgets.find(w => w.name === "usePrevSegCondFrames"); + const prevSegCondFramesWidget = wanAnimateNode.widgets.find(w => w.name === "prevSegCondFrames"); + + // Helper function to toggle widget enabled state + function toggleWidgetState(useWidget, paramWidget, paramName) { + if (!useWidget || !paramWidget) return; + + function toggleEnabled() { + const enabled = useWidget.value === true; + + if (paramWidget.inputEl) { + paramWidget.inputEl.disabled = !enabled; + paramWidget.inputEl.style.opacity = enabled ? "1" : "0.5"; + paramWidget.inputEl.style.cursor = enabled ? "text" : "not-allowed"; + paramWidget.inputEl.readOnly = !enabled; + } + + // Handle dropdown widgets (for mode field) + if (paramWidget.options && paramWidget.options.element) { + paramWidget.options.element.disabled = !enabled; + paramWidget.options.element.style.opacity = enabled ? "1" : "0.5"; + paramWidget.options.element.style.pointerEvents = enabled ? "auto" : "none"; + } + + paramWidget.disabled = !enabled; + + // Fallback: try to find inputs via DOM if inputEl is not available + if (!paramWidget.inputEl && paramName) { + const nodeElement = wanAnimateNode.htmlElements?.widgetsContainer || wanAnimateNode.htmlElements; + if (nodeElement) { + const input = nodeElement.querySelector(`input[name="${paramName}"], textarea[name="${paramName}"], select[name="${paramName}"]`); + if (input) { + input.disabled = !enabled; + input.style.opacity = enabled ? "1" : "0.5"; + input.style.cursor = enabled ? "text" : "not-allowed"; + input.readOnly = !enabled; + if (input.tagName === "SELECT") { + input.style.pointerEvents = enabled ? "auto" : "none"; + } + } + } + } + + wanAnimateNode.setDirtyCanvas(true); + } + + // Set up callback + appendWidgetCB(useWidget, () => { + setTimeout(toggleEnabled, 50); + }); + + // Initial call to set initial state + setTimeout(toggleEnabled, 100); + } + + // Set up toggle handler for mode + if (useModeWidget && modeWidget) { + toggleWidgetState(useModeWidget, modeWidget, "mode"); + } + + // Set up toggle handler for retargetPose (with mode dependency) + if (useRetargetPoseWidget && retargetPoseWidget) { + function toggleRetargetPoseEnabled() { + const useRetargetPoseEnabled = useRetargetPoseWidget.value === true; + const modeValue = modeWidget ? modeWidget.value : "animate"; + // retargetPose is only supported for animate mode + const enabled = useRetargetPoseEnabled && modeValue === "animate"; + + if (retargetPoseWidget.inputEl) { + retargetPoseWidget.inputEl.disabled = !enabled; + retargetPoseWidget.inputEl.style.opacity = enabled ? "1" : "0.5"; + retargetPoseWidget.inputEl.style.cursor = enabled ? "text" : "not-allowed"; + retargetPoseWidget.inputEl.readOnly = !enabled; + } + + retargetPoseWidget.disabled = !enabled; + + // Fallback: try to find inputs via DOM + if (!retargetPoseWidget.inputEl) { + const nodeElement = wanAnimateNode.htmlElements?.widgetsContainer || wanAnimateNode.htmlElements; + if (nodeElement) { + const input = nodeElement.querySelector(`input[name="retargetPose"], textarea[name="retargetPose"], select[name="retargetPose"]`); + if (input) { + input.disabled = !enabled; + input.style.opacity = enabled ? "1" : "0.5"; + input.style.cursor = enabled ? "text" : "not-allowed"; + input.readOnly = !enabled; + } + } + } + + wanAnimateNode.setDirtyCanvas(true); + } + + // Set up callback for useRetargetPose toggle + appendWidgetCB(useRetargetPoseWidget, () => { + setTimeout(toggleRetargetPoseEnabled, 50); + }); + + // Set up callback for mode change (to disable retargetPose when mode is "replace") + if (modeWidget) { + appendWidgetCB(modeWidget, () => { + setTimeout(toggleRetargetPoseEnabled, 50); + }); + } + + // Initial call to set initial state + setTimeout(toggleRetargetPoseEnabled, 100); + } + + // Set up toggle handler for prevSegCondFrames + if (usePrevSegCondFramesWidget && prevSegCondFramesWidget) { + toggleWidgetState(usePrevSegCondFramesWidget, prevSegCondFramesWidget, "prevSegCondFrames"); + } +} + +function videoAdvancedFeatureInputsToggleHandler(advancedFeatureNode) { + // Helper function to toggle widget enabled state + function toggleWidgetState(useWidget, paramWidget, paramName) { + if (!useWidget || !paramWidget) return; + + function toggleEnabled() { + const enabled = useWidget.value === true; + + if (paramWidget.inputEl) { + paramWidget.inputEl.disabled = !enabled; + paramWidget.inputEl.style.opacity = enabled ? "1" : "0.5"; + paramWidget.inputEl.style.cursor = enabled ? "text" : "not-allowed"; + paramWidget.inputEl.readOnly = !enabled; + } + + paramWidget.disabled = !enabled; + + // Fallback: try to find inputs via DOM if inputEl is not available + if (!paramWidget.inputEl && paramName) { + const nodeElement = advancedFeatureNode.htmlElements?.widgetsContainer || advancedFeatureNode.htmlElements; + if (nodeElement) { + const input = nodeElement.querySelector(`input[name="${paramName}"], textarea[name="${paramName}"], select[name="${paramName}"]`); + if (input) { + input.disabled = !enabled; + input.style.opacity = enabled ? "1" : "0.5"; + input.style.cursor = enabled ? "text" : "not-allowed"; + input.readOnly = !enabled; + } + } + } + + advancedFeatureNode.setDirtyCanvas(true); + } + + // Set up callback + appendWidgetCB(useWidget, () => { + setTimeout(toggleEnabled, 50); + }); + + // Initial call to set initial state + setTimeout(toggleEnabled, 100); + } + + // Set up toggle handlers for each parameter + const useVideoCFGScaleWidget = advancedFeatureNode.widgets.find(w => w.name === "useVideoCFGScale"); + const videoCFGScaleWidget = advancedFeatureNode.widgets.find(w => w.name === "videoCFGScale"); + if (useVideoCFGScaleWidget && videoCFGScaleWidget) { + toggleWidgetState(useVideoCFGScaleWidget, videoCFGScaleWidget, "videoCFGScale"); + } + + const useAudioCFGScaleWidget = advancedFeatureNode.widgets.find(w => w.name === "useAudioCFGScale"); + const audioCFGScaleWidget = advancedFeatureNode.widgets.find(w => w.name === "audioCFGScale"); + if (useAudioCFGScaleWidget && audioCFGScaleWidget) { + toggleWidgetState(useAudioCFGScaleWidget, audioCFGScaleWidget, "audioCFGScale"); + } + + const useVideoNegativePromptWidget = advancedFeatureNode.widgets.find(w => w.name === "useVideoNegativePrompt"); + const videoNegativePromptWidget = advancedFeatureNode.widgets.find(w => w.name === "videoNegativePrompt"); + if (useVideoNegativePromptWidget && videoNegativePromptWidget) { + toggleWidgetState(useVideoNegativePromptWidget, videoNegativePromptWidget, "videoNegativePrompt"); + } + + const useAudioNegativePromptWidget = advancedFeatureNode.widgets.find(w => w.name === "useAudioNegativePrompt"); + const audioNegativePromptWidget = advancedFeatureNode.widgets.find(w => w.name === "audioNegativePrompt"); + if (useAudioNegativePromptWidget && audioNegativePromptWidget) { + toggleWidgetState(useAudioNegativePromptWidget, audioNegativePromptWidget, "audioNegativePrompt"); + } + + const useSlgLayerWidget = advancedFeatureNode.widgets.find(w => w.name === "useSlgLayer"); + const slgLayerWidget = advancedFeatureNode.widgets.find(w => w.name === "slgLayer"); + if (useSlgLayerWidget && slgLayerWidget) { + toggleWidgetState(useSlgLayerWidget, slgLayerWidget, "slgLayer"); + } +} + export { notifyUser, promptEnhanceHandler, @@ -2786,6 +2998,8 @@ export { audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler, + wanAnimateAdvancedFeatureSettingsToggleHandler, + videoAdvancedFeatureInputsToggleHandler, }; function googleProviderSettingsToggleHandler(googleNode) { diff --git a/modules/advancedFeatureSettings/__init__.py b/modules/advancedFeatureSettings/__init__.py new file mode 100644 index 0000000..7eac2f0 --- /dev/null +++ b/modules/advancedFeatureSettings/__init__.py @@ -0,0 +1,2 @@ +# Advanced Feature Settings module + diff --git a/modules/advancedFeatureSettings/wanAnimateAdvancedFeatureSettings.py b/modules/advancedFeatureSettings/wanAnimateAdvancedFeatureSettings.py new file mode 100644 index 0000000..0638317 --- /dev/null +++ b/modules/advancedFeatureSettings/wanAnimateAdvancedFeatureSettings.py @@ -0,0 +1,99 @@ +""" +Runware Wan Animate Advanced Feature Settings Node +Provides Wan Animate-specific settings for video generation +""" + +from typing import Optional, Dict, Any + +class RunwareWanAnimateAdvancedFeatureSettings: + """Runware Wan Animate Advanced Feature Settings Node""" + + @classmethod + def INPUT_TYPES(cls): + return { + "required": {}, + "optional": { + "useMode": ("BOOLEAN", { + "tooltip": "Enable to include mode parameter in API request.", + "default": True, + }), + "mode": (["animate", "replace"], { + "tooltip": "Animation mode: 'animate' uses pose detector and skeleton retargeting to animate a character from a reference image. 'replace' uses pose detector and segmentation model to replace a character in existing footage. Only used when 'Use Mode' is enabled.", + "default": "animate", + }), + "useRetargetPose": ("BOOLEAN", { + "tooltip": "Enable to include retargetPose parameter in API request. Only available for animate mode.", + "default": False, + }), + "retargetPose": ("BOOLEAN", { + "tooltip": "Retarget the pose of video image to match the reference image initial pose. That is achieved moving the hands' bones according to video. Means if the character from video moves his hands it will take the initial reference image pose and change the position of bones according to video movements. Supported only for animate mode. Only used when 'Use Retarget Pose' is enabled.", + "default": False, + "label_on": "Enabled", + "label_off": "Disabled", + }), + "usePrevSegCondFrames": ("BOOLEAN", { + "tooltip": "Enable to include prevSegCondFrames parameter in API request.", + "default": False, + }), + "prevSegCondFrames": ("INT", { + "tooltip": "How many frames to take from previous segment to keep temporal consistency. Less -> less consistent between the segments. More -> more time for inference. Only used when 'Use Prev Seg Cond Frames' is enabled.", + "default": 1, + "min": 1, + "max": 5, + }), + } + } + + RETURN_TYPES = ("RUNWAREWANANIMATEADVANCEDFEATURESETTINGS",) + RETURN_NAMES = ("Wan Animate Advanced Feature Settings",) + FUNCTION = "create_wan_animate_settings" + CATEGORY = "Runware/Advanced Feature Settings" + DESCRIPTION = "Configure Wan Animate advanced feature settings including mode (animate/replace), pose retargeting, and previous segment conditioning frames for character animation and replacement." + + def create_wan_animate_settings(self, **kwargs) -> tuple[Dict[str, Any]]: + """Create Wan Animate advanced feature settings""" + + # Get use parameters + useMode = kwargs.get("useMode", True) + useRetargetPose = kwargs.get("useRetargetPose", False) + usePrevSegCondFrames = kwargs.get("usePrevSegCondFrames", False) + + # Get actual parameters + mode = kwargs.get("mode", "animate") + retargetPose = kwargs.get("retargetPose", False) + prevSegCondFrames = kwargs.get("prevSegCondFrames", 1) + + # Build settings dictionary + wanAnimateSettings = {} + + # Add mode only if useMode is enabled + if useMode and mode is not None: + wanAnimateSettings["mode"] = mode + + # Add retargetPose only if useRetargetPose is enabled + # Note: retargetPose is only supported for animate mode, but we'll let the API handle validation + if useRetargetPose: + wanAnimateSettings["retargetPose"] = retargetPose + + # Add prevSegCondFrames only if usePrevSegCondFrames is enabled + if usePrevSegCondFrames: + wanAnimateSettings["prevSegCondFrames"] = prevSegCondFrames + + # Clean up None values + wanAnimateSettings = {k: v for k, v in wanAnimateSettings.items() if v is not None} + + # Return the full structure with the feature name as key (similar to providerSettings pattern) + if wanAnimateSettings: + return ({"wanAnimate": wanAnimateSettings},) + else: + return ({},) + +# Node class mappings +NODE_CLASS_MAPPINGS = { + "RunwareWanAnimateAdvancedFeatureSettings": RunwareWanAnimateAdvancedFeatureSettings, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "RunwareWanAnimateAdvancedFeatureSettings": "Runware Wan Animate Advanced Feature Settings", +} + diff --git a/modules/providerSettings/klingProviderSettings.py b/modules/providerSettings/klingProviderSettings.py index f8d95d8..c4e32d7 100644 --- a/modules/providerSettings/klingProviderSettings.py +++ b/modules/providerSettings/klingProviderSettings.py @@ -90,6 +90,14 @@ class RunwareKlingProviderSettings: "label_on": "Enabled", "label_off": "Disabled", }), + "useCharacterOrientation": ("BOOLEAN", { + "tooltip": "Enable to include characterOrientation parameter in provider settings", + "default": False, + }), + "characterOrientation": (["image", "video"], { + "tooltip": "Character orientation mode. 'image': has the same orientation as the person in the picture (reference video duration should not exceed 10 seconds). 'video': consistent with the orientation of the characters in the video (reference video duration should not exceed 30 seconds). Only used when 'Use Character Orientation' is enabled.", + "default": "image", + }), } } @@ -111,6 +119,7 @@ class RunwareKlingProviderSettings: useAsmrMode = kwargs.get("useAsmrMode", False) useKeepOriginalSound = kwargs.get("useKeepOriginalSound", False) useSound = kwargs.get("useSound", False) + useCharacterOrientation = kwargs.get("useCharacterOrientation", False) # Get value parameters cameraControl = kwargs.get("cameraControl", "none") @@ -121,6 +130,7 @@ class RunwareKlingProviderSettings: asmrMode = kwargs.get("asmrMode", False) keepOriginalSound = kwargs.get("keepOriginalSound", True) sound = kwargs.get("sound", False) + characterOrientation = kwargs.get("characterOrientation", "image") # Build settings dictionary - only include what is enabled klingSettings: Dict[str, Any] = {} @@ -157,6 +167,10 @@ class RunwareKlingProviderSettings: if useSound: klingSettings["sound"] = sound + # Add characterOrientation only if useCharacterOrientation is enabled + if useCharacterOrientation and characterOrientation: + klingSettings["characterOrientation"] = characterOrientation + # Clean up None values klingSettings = {k: v for k, v in klingSettings.items() if v is not None} diff --git a/modules/referenceVoices.py b/modules/referenceVoices.py new file mode 100644 index 0000000..8baa2e6 --- /dev/null +++ b/modules/referenceVoices.py @@ -0,0 +1,43 @@ +from typing import List +from .utils import runwareUtils as rwUtils + + +class referenceVoices: + """Reference Voices node for configuring reference voice inputs""" + + MAX_VOICES = 4 + + @classmethod + def INPUT_TYPES(cls): + optionalInputs = {} + + for i in range(1, cls.MAX_VOICES + 1): + ordinal = rwUtils.getOrdinal(i) + optionalInputs[f"Voice{i}"] = ("STRING", { + "tooltip": f"URL or mediaUUID for the {ordinal} reference voice from Runware Media Upload node or external URL.", + }) + + return { + "required": {}, + "optional": optionalInputs + } + + DESCRIPTION = "Configure multiple reference voice inputs (URLs or mediaUUIDs) for video generation." + FUNCTION = "createReferenceVoices" + RETURN_TYPES = ("RUNWAREREFERENCEVOICES",) + RETURN_NAMES = ("Reference Voices",) + CATEGORY = "Runware" + + def createReferenceVoices(self, **kwargs) -> tuple[List[str]]: + """Create list of reference voice URLs/UUIDs""" + voiceList = [] + + for i in range(1, self.MAX_VOICES + 1): + voiceKey = f"Voice{i}" + voiceUrl = kwargs.get(voiceKey) + + if voiceUrl and voiceUrl.strip() != "": + voiceList.append(voiceUrl.strip()) + + return (voiceList,) + diff --git a/modules/videoAdvancedFeatureInputs.py b/modules/videoAdvancedFeatureInputs.py index f5b00d3..c23be82 100644 --- a/modules/videoAdvancedFeatureInputs.py +++ b/modules/videoAdvancedFeatureInputs.py @@ -8,36 +8,59 @@ class videoAdvancedFeatureInputs: return { "required": {}, "optional": { + "useVideoCFGScale": ("BOOLEAN", { + "tooltip": "Enable to include videoCFGScale parameter in API request.", + "default": False, + }), "videoCFGScale": ("FLOAT", { - "tooltip": "CFG scale for video generation.", + "tooltip": "CFG scale for video generation. Only used when 'Use Video CFG Scale' is enabled.", "default": None, "min": 0.0, "max": 30.0, "step": 0.1, }), + "useAudioCFGScale": ("BOOLEAN", { + "tooltip": "Enable to include audioCFGScale parameter in API request.", + "default": False, + }), "audioCFGScale": ("FLOAT", { - "tooltip": "CFG scale for audio generation.", + "tooltip": "CFG scale for audio generation. Only used when 'Use Audio CFG Scale' is enabled.", "default": None, "min": 0.0, "max": 30.0, "step": 0.1, }), + "useVideoNegativePrompt": ("BOOLEAN", { + "tooltip": "Enable to include videoNegativePrompt parameter in API request.", + "default": False, + }), "videoNegativePrompt": ("STRING", { - "tooltip": "Negative prompt for video generation.", + "tooltip": "Negative prompt for video generation. Only used when 'Use Video Negative Prompt' is enabled.", "multiline": True, "default": "", }), + "useAudioNegativePrompt": ("BOOLEAN", { + "tooltip": "Enable to include audioNegativePrompt parameter in API request.", + "default": False, + }), "audioNegativePrompt": ("STRING", { - "tooltip": "Negative prompt for audio generation.", + "tooltip": "Negative prompt for audio generation. Only used when 'Use Audio Negative Prompt' is enabled.", "multiline": True, "default": "", }), + "useSlgLayer": ("BOOLEAN", { + "tooltip": "Enable to include slgLayer parameter in API request.", + "default": False, + }), "slgLayer": ("INT", { - "tooltip": "SLG layer setting.", + "tooltip": "SLG layer setting. Only used when 'Use SLG Layer' is enabled.", "default": None, "min": 0, "max": 100, }), + "Advanced Feature Settings": ("RUNWAREWANANIMATEADVANCEDFEATURESETTINGS", { + "tooltip": "Connect Runware Wan Animate Advanced Feature Settings node to provide Wan Animate configuration for character animation and replacement.", + }), } } @@ -50,27 +73,41 @@ class videoAdvancedFeatureInputs: def create_advanced_feature_inputs(self, **kwargs) -> tuple[Dict[str, Any]]: """Create video advanced feature inputs dictionary""" - # Get parameters + # Get use parameters + useVideoCFGScale = kwargs.get("useVideoCFGScale", False) + useAudioCFGScale = kwargs.get("useAudioCFGScale", False) + useVideoNegativePrompt = kwargs.get("useVideoNegativePrompt", False) + useAudioNegativePrompt = kwargs.get("useAudioNegativePrompt", False) + useSlgLayer = kwargs.get("useSlgLayer", False) + + # Get actual parameters videoCFGScale = kwargs.get("videoCFGScale", None) audioCFGScale = kwargs.get("audioCFGScale", None) videoNegativePrompt = kwargs.get("videoNegativePrompt", None) audioNegativePrompt = kwargs.get("audioNegativePrompt", None) slgLayer = kwargs.get("slgLayer", None) + wanAnimateSettings = kwargs.get("Advanced Feature Settings", None) - # Build advanced feature inputs dictionary - only include non-None values + # Build advanced feature inputs dictionary - only include when use* is enabled advanced_inputs = {} - if videoCFGScale is not None: + if useVideoCFGScale and videoCFGScale is not None: advanced_inputs["videoCFGScale"] = videoCFGScale - if audioCFGScale is not None: + if useAudioCFGScale and audioCFGScale is not None: advanced_inputs["audioCFGScale"] = audioCFGScale - if videoNegativePrompt is not None and videoNegativePrompt.strip() != "": + if useVideoNegativePrompt and videoNegativePrompt is not None and videoNegativePrompt.strip() != "": advanced_inputs["videoNegativePrompt"] = videoNegativePrompt.strip() - if audioNegativePrompt is not None and audioNegativePrompt.strip() != "": + if useAudioNegativePrompt and audioNegativePrompt is not None and audioNegativePrompt.strip() != "": advanced_inputs["audioNegativePrompt"] = audioNegativePrompt.strip() - if slgLayer is not None: + if useSlgLayer and slgLayer is not None: advanced_inputs["slgLayer"] = slgLayer + # Merge advanced feature settings if provided (similar to how providerSettings are merged) + if wanAnimateSettings is not None and isinstance(wanAnimateSettings, dict) and len(wanAnimateSettings) > 0: + # Merge the settings dictionary directly into advanced_inputs + # The settings dict should already contain the correct structure (e.g., {"wanAnimate": {...}}) + advanced_inputs.update(wanAnimateSettings) + return (advanced_inputs,) # Node class mappings diff --git a/modules/videoInferenceInputs.py b/modules/videoInferenceInputs.py index 48343de..cc12b1a 100644 --- a/modules/videoInferenceInputs.py +++ b/modules/videoInferenceInputs.py @@ -40,6 +40,9 @@ class videoInferenceInputs: "Reference Videos": ("RUNWAREREFERENCEVIDEOS", { "tooltip": "Connect the Reference Videos node to provide reference video mediaUUIDs." }), + "Reference Voices": ("RUNWAREREFERENCEVOICES", { + "tooltip": "Connect the Reference Voices node to provide reference voice URLs or mediaUUIDs." + }), } } @@ -61,6 +64,7 @@ class videoInferenceInputs: frameImages = kwargs.get("Frame Images", None) references = kwargs.get("References", None) referenceVideos = kwargs.get("Reference Videos", None) + referenceVoices = kwargs.get("Reference Voices", None) inputs = {} @@ -105,4 +109,7 @@ class videoInferenceInputs: if referenceVideos is not None and len(referenceVideos) > 0: inputs["referenceVideos"] = referenceVideos + if referenceVoices is not None and len(referenceVoices) > 0: + inputs["referenceVoices"] = referenceVoices + return (inputs,) diff --git a/modules/videoModelSearch.py b/modules/videoModelSearch.py index 84c5927..9dd7f48 100644 --- a/modules/videoModelSearch.py +++ b/modules/videoModelSearch.py @@ -58,6 +58,7 @@ class videoModelSearch: "runware:200@1 (Wan 2.1 1.3B)", "runware:200@2 (Wan 2.1 14B)", "runware:200@6 (Wan 2.2)", + "runware:200@8 (Wan 2.2 A14B Animate)", "alibaba:wan@2.6 (Wan 2.6)", ], "OpenAI": [ @@ -148,6 +149,7 @@ class videoModelSearch: "runware:200@1": {"width": 853, "height": 480}, "runware:200@2": {"width": 853, "height": 480}, "runware:200@6": {"width": 1280, "height": 720}, + "runware:200@8": {"width": 1104, "height": 832}, "alibaba:wan@2.6": {"width": 1280, "height": 720}, # OpenAI Models @@ -237,6 +239,7 @@ class videoModelSearch: "runware:200@1": "480p", "runware:200@2": "480p", "runware:200@6": "720p", + "runware:200@8": "720p", "alibaba:wan@2.6": "720p", # OpenAI Models diff --git a/workflows/Runware_Image_Inference_Bria_ReplaceBackground.json b/workflows/Runware_Image_Inference_Bria_ReplaceBackground.json index 638ef07..15c0ed0 100644 --- a/workflows/Runware_Image_Inference_Bria_ReplaceBackground.json +++ b/workflows/Runware_Image_Inference_Bria_ReplaceBackground.json @@ -1 +1 @@ -{"id":"5337d9ce-299f-4cf0-9e98-e48fd6333885","revision":0,"last_node_id":13,"last_link_id":19,"nodes":[{"id":5,"type":"SaveImage","pos":[741.2313232421875,549.2413330078125],"size":[270,270],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":18},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.3.46"},"widgets_values":["ComfyUI"]},{"id":11,"type":"LoadImage","pos":[-351.9560241699219,550.2599487304688],"size":[274.080078125,314],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[12]},{"localized_name":"MASK","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.46","Node name for S&R":"LoadImage"},"widgets_values":["notre-materiel54e6fcc2e3d55.jpg","image"]},{"id":10,"type":"Runware Safety Inputs","pos":[-361.2201843261719,1222.037841796875],"size":[270,130],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"mode","name":"mode","shape":7,"type":"COMBO","widget":{"name":"mode"},"link":null},{"localized_name":"tolerance","name":"tolerance","shape":7,"type":"BOOLEAN","widget":{"name":"tolerance"},"link":null},{"localized_name":"checkInputs","name":"checkInputs","shape":7,"type":"BOOLEAN","widget":{"name":"checkInputs"},"link":null},{"localized_name":"checkContent","name":"checkContent","shape":7,"type":"BOOLEAN","widget":{"name":"checkContent"},"link":null}],"outputs":[{"localized_name":"Safety Inputs","name":"Safety Inputs","type":"RUNWARESAFETYINPUTS","links":[]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"8c4cbd5ee6fc998680ff84e72f34d5f2ee1d13bf","Node name for S&R":"Runware Safety Inputs"},"widgets_values":["none",false,false,false],"bgcolor":"#5345bf"},{"id":12,"type":"LoadImage","pos":[-370.1324768066406,923.6456909179688],"size":[274.080078125,314.00006103515625],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[13]},{"localized_name":"MASK","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.46","Node name for S&R":"LoadImage"},"widgets_values":["bigstock-Beach-Chairs-With-Umbrella-And-129286676_1024x1024.jpg","image"]},{"id":2,"type":"Runware Image Inference Inputs","pos":[15.798669815063477,656.8652954101562],"size":[243.01620483398438,210],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"image","name":"image","shape":7,"type":"IMAGE","link":12},{"localized_name":"Reference Image 1","name":"Reference Image 1","shape":7,"type":"IMAGE","link":13},{"localized_name":"Reference Image 2","name":"Reference Image 2","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 3","name":"Reference Image 3","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 4","name":"Reference Image 4","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Tag 1","name":"Reference Tag 1","shape":7,"type":"STRING","widget":{"name":"Reference Tag 1"},"link":null},{"localized_name":"Reference Tag 2","name":"Reference Tag 2","shape":7,"type":"STRING","widget":{"name":"Reference Tag 2"},"link":null},{"localized_name":"Reference Tag 3","name":"Reference Tag 3","shape":7,"type":"STRING","widget":{"name":"Reference Tag 3"},"link":null},{"localized_name":"Reference Tag 4","name":"Reference Tag 4","shape":7,"type":"STRING","widget":{"name":"Reference Tag 4"},"link":null}],"outputs":[{"localized_name":"Inference Inputs","name":"Inference Inputs","type":"RUNWAREIMAGEINFERENCEINPUTS","links":[16]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"47696ff476df65cc05e1adeb5a5d1d7b994650ae","Node name for S&R":"Runware Image Inference Inputs"},"widgets_values":["","","",""],"bgcolor":"#5345bf"},{"id":9,"type":"Runware Bria Provider Settings","pos":[-48.77149963378906,920.7619018554688],"size":[328.759765625,706],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"Bria Provider Setting Mask","name":"Bria Provider Setting Mask","shape":7,"type":"RUNWAREBRIAPROVIDERMASK","link":null},{"localized_name":"useMedium","name":"useMedium","shape":7,"type":"BOOLEAN","widget":{"name":"useMedium"},"link":null},{"localized_name":"medium","name":"medium","shape":7,"type":"COMBO","widget":{"name":"medium"},"link":null},{"localized_name":"usePromptEnhancement","name":"usePromptEnhancement","shape":7,"type":"BOOLEAN","widget":{"name":"usePromptEnhancement"},"link":null},{"localized_name":"promptEnhancement","name":"promptEnhancement","shape":7,"type":"BOOLEAN","widget":{"name":"promptEnhancement"},"link":null},{"localized_name":"useEnhanceImage","name":"useEnhanceImage","shape":7,"type":"BOOLEAN","widget":{"name":"useEnhanceImage"},"link":null},{"localized_name":"enhanceImage","name":"enhanceImage","shape":7,"type":"BOOLEAN","widget":{"name":"enhanceImage"},"link":null},{"localized_name":"usePromptContentModeration","name":"usePromptContentModeration","shape":7,"type":"BOOLEAN","widget":{"name":"usePromptContentModeration"},"link":null},{"localized_name":"promptContentModeration","name":"promptContentModeration","shape":7,"type":"BOOLEAN","widget":{"name":"promptContentModeration"},"link":null},{"localized_name":"useContentModeration","name":"useContentModeration","shape":7,"type":"BOOLEAN","widget":{"name":"useContentModeration"},"link":null},{"localized_name":"contentModeration","name":"contentModeration","shape":7,"type":"BOOLEAN","widget":{"name":"contentModeration"},"link":null},{"localized_name":"useIpSignal","name":"useIpSignal","shape":7,"type":"BOOLEAN","widget":{"name":"useIpSignal"},"link":null},{"localized_name":"ipSignal","name":"ipSignal","shape":7,"type":"BOOLEAN","widget":{"name":"ipSignal"},"link":null},{"localized_name":"usePreserveAlpha","name":"usePreserveAlpha","shape":7,"type":"BOOLEAN","widget":{"name":"usePreserveAlpha"},"link":null},{"localized_name":"preserveAlpha","name":"preserveAlpha","shape":7,"type":"BOOLEAN","widget":{"name":"preserveAlpha"},"link":null},{"localized_name":"useMode","name":"useMode","shape":7,"type":"BOOLEAN","widget":{"name":"useMode"},"link":null},{"localized_name":"mode","name":"mode","shape":7,"type":"COMBO","widget":{"name":"mode"},"link":null},{"localized_name":"useEnhanceReferenceImages","name":"useEnhanceReferenceImages","shape":7,"type":"BOOLEAN","widget":{"name":"useEnhanceReferenceImages"},"link":null},{"localized_name":"enhanceReferenceImages","name":"enhanceReferenceImages","shape":7,"type":"BOOLEAN","widget":{"name":"enhanceReferenceImages"},"link":null},{"localized_name":"useRefinePrompt","name":"useRefinePrompt","shape":7,"type":"BOOLEAN","widget":{"name":"useRefinePrompt"},"link":null},{"localized_name":"refinePrompt","name":"refinePrompt","shape":7,"type":"BOOLEAN","widget":{"name":"refinePrompt"},"link":null},{"localized_name":"useOriginalQuality","name":"useOriginalQuality","shape":7,"type":"BOOLEAN","widget":{"name":"useOriginalQuality"},"link":null},{"localized_name":"originalQuality","name":"originalQuality","shape":7,"type":"BOOLEAN","widget":{"name":"originalQuality"},"link":null},{"localized_name":"useForceBackgroundDetection","name":"useForceBackgroundDetection","shape":7,"type":"BOOLEAN","widget":{"name":"useForceBackgroundDetection"},"link":null},{"localized_name":"forceBackgroundDetection","name":"forceBackgroundDetection","shape":7,"type":"BOOLEAN","widget":{"name":"forceBackgroundDetection"},"link":null},{"localized_name":"usePreserveAudio","name":"usePreserveAudio","shape":7,"type":"BOOLEAN","widget":{"name":"usePreserveAudio"},"link":null},{"localized_name":"preserveAudio","name":"preserveAudio","shape":7,"type":"BOOLEAN","widget":{"name":"preserveAudio"},"link":null},{"localized_name":"useAutoTrim","name":"useAutoTrim","shape":7,"type":"BOOLEAN","widget":{"name":"useAutoTrim"},"link":null},{"localized_name":"autoTrim","name":"autoTrim","shape":7,"type":"BOOLEAN","widget":{"name":"autoTrim"},"link":null}],"outputs":[{"localized_name":"providerSettings","name":"providerSettings","type":"RUNWAREPROVIDERSETTINGS","links":[17]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"8c4cbd5ee6fc998680ff84e72f34d5f2ee1d13bf","Node name for S&R":"Runware Bria Provider Settings"},"widgets_values":[false,"photography",false,false,false,false,false,true,false,true,false,false,false,false,true,"base",true,false,true,false,true,false,true,true,false,true,false,false],"bgcolor":"#5345bf"},{"id":4,"type":"Runware Model Search","pos":[-65.2453384399414,456.5984191894531],"size":[270,154],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"Model Search","name":"Model Search","type":"STRING","widget":{"name":"Model Search"},"link":null},{"localized_name":"Model Architecture","name":"Model Architecture","type":"COMBO","widget":{"name":"Model Architecture"},"link":null},{"localized_name":"ModelType","name":"ModelType","type":"COMBO","widget":{"name":"ModelType"},"link":null},{"localized_name":"ModelList","name":"ModelList","type":"COMBO","widget":{"name":"ModelList"},"link":null},{"localized_name":"Use Search Value","name":"Use Search Value","type":"BOOLEAN","widget":{"name":"Use Search Value"},"link":null}],"outputs":[{"localized_name":"Runware Model","name":"Runware Model","type":"RUNWAREMODEL","links":[19]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"47696ff476df65cc05e1adeb5a5d1d7b994650ae","Node name for S&R":"Runware Model Search"},"widgets_values":["bria:11@1","All","Base Model","runware:100@1 (Flux Schnell)",true],"bgcolor":"#5345bf"},{"id":13,"type":"Runware Image Inference","pos":[302.5533752441406,477.2700500488281],"size":[400,1018],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"Model","name":"Model","type":"RUNWAREMODEL","link":19},{"localized_name":"Accelerator","name":"Accelerator","shape":7,"type":"RUNWAREACCELERATOR","link":null},{"localized_name":"Lora","name":"Lora","shape":7,"type":"RUNWARELORA","link":null},{"localized_name":"Outpainting","name":"Outpainting","shape":7,"type":"RUNWAREOUTPAINT","link":null},{"localized_name":"IPAdapters","name":"IPAdapters","shape":7,"type":"RUNWAREIPAdapter","link":null},{"localized_name":"ControlNet","name":"ControlNet","shape":7,"type":"RUNWARECONTROLNET","link":null},{"localized_name":"Refiner","name":"Refiner","shape":7,"type":"RUNWAREREFINER","link":null},{"localized_name":"seedImage","name":"seedImage","shape":7,"type":"IMAGE","link":null},{"localized_name":"maskImage","name":"maskImage","shape":7,"type":"MASK","link":null},{"localized_name":"Embeddings","name":"Embeddings","shape":7,"type":"RUNWAREEMBEDDING","link":null},{"localized_name":"VAE","name":"VAE","shape":7,"type":"RUNWAREVAE","link":null},{"localized_name":"referenceImages","name":"referenceImages","shape":7,"type":"RUNWAREREFERENCEIMAGES","link":null},{"localized_name":"inputs","name":"inputs","shape":7,"type":"RUNWAREIMAGEINFERENCEINPUTS","link":16},{"localized_name":"providerSettings","name":"providerSettings","shape":7,"type":"RUNWAREPROVIDERSETTINGS","link":17},{"localized_name":"safetyInputs","name":"safetyInputs","shape":7,"type":"RUNWARESAFETYINPUTS","link":null},{"localized_name":"settings","name":"settings","shape":7,"type":"RUNWARESETTINGS","link":null},{"localized_name":"positivePrompt","name":"positivePrompt","type":"STRING","widget":{"name":"positivePrompt"},"link":null},{"localized_name":"negativePrompt","name":"negativePrompt","type":"STRING","widget":{"name":"negativePrompt"},"link":null},{"localized_name":"Multi Inference Mode","name":"Multi Inference Mode","type":"BOOLEAN","widget":{"name":"Multi Inference Mode"},"link":null},{"localized_name":"Prompt Weighting","name":"Prompt Weighting","type":"COMBO","widget":{"name":"Prompt Weighting"},"link":null},{"localized_name":"dimensions","name":"dimensions","type":"COMBO","widget":{"name":"dimensions"},"link":null},{"localized_name":"width","name":"width","type":"INT","widget":{"name":"width"},"link":null},{"localized_name":"height","name":"height","type":"INT","widget":{"name":"height"},"link":null},{"localized_name":"useResolution","name":"useResolution","type":"BOOLEAN","widget":{"name":"useResolution"},"link":null},{"localized_name":"resolution","name":"resolution","type":"COMBO","widget":{"name":"resolution"},"link":null},{"localized_name":"useSteps","name":"useSteps","type":"BOOLEAN","widget":{"name":"useSteps"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"useScheduler","name":"useScheduler","type":"BOOLEAN","widget":{"name":"useScheduler"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"useCFGScale","name":"useCFGScale","type":"BOOLEAN","widget":{"name":"useCFGScale"},"link":null},{"localized_name":"cfgScale","name":"cfgScale","type":"FLOAT","widget":{"name":"cfgScale"},"link":null},{"localized_name":"useSeed","name":"useSeed","type":"BOOLEAN","widget":{"name":"useSeed"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"useClipSkip","name":"useClipSkip","type":"BOOLEAN","widget":{"name":"useClipSkip"},"link":null},{"localized_name":"clipSkip","name":"clipSkip","type":"INT","widget":{"name":"clipSkip"},"link":null},{"localized_name":"strength","name":"strength","type":"FLOAT","widget":{"name":"strength"},"link":null},{"localized_name":"Mask Margin","name":"Mask Margin","type":"BOOLEAN","widget":{"name":"Mask Margin"},"link":null},{"localized_name":"maskMargin","name":"maskMargin","type":"INT","widget":{"name":"maskMargin"},"link":null},{"localized_name":"outputFormat","name":"outputFormat","type":"COMBO","widget":{"name":"outputFormat"},"link":null},{"localized_name":"batchSize","name":"batchSize","type":"INT","widget":{"name":"batchSize"},"link":null},{"localized_name":"acceleration","name":"acceleration","type":"COMBO","widget":{"name":"acceleration"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[18]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"bdc86e015971881247addb07bb8f22f7d85c0062","Node name for S&R":"Runware Image Inference"},"widgets_values":["Beach","",false,"Disabled","Square HD (1024x1024)",1024,1024,false,"1k",true,4,true,"Default",true,6.5,true,508074954,"randomize",true,0,0.8,false,32,"WEBP",1,"none"],"bgcolor":"#5345bf"}],"links":[[12,11,0,2,0,"IMAGE"],[13,12,0,2,1,"IMAGE"],[16,2,0,13,12,"RUNWAREIMAGEINFERENCEINPUTS"],[17,9,0,13,13,"RUNWAREPROVIDERSETTINGS"],[18,13,0,5,0,"IMAGE"],[19,4,0,13,0,"RUNWAREMODEL"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.8264462809917354,"offset":[460.446666338801,-427.59502688334123]}},"version":0.4} \ No newline at end of file +{"id":"5337d9ce-299f-4cf0-9e98-e48fd6333885","revision":0,"last_node_id":13,"last_link_id":19,"nodes":[{"id":5,"type":"SaveImage","pos":[741.2313232421875,549.2413330078125],"size":[270,270],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":18},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.3.46"},"widgets_values":["ComfyUI"]},{"id":11,"type":"LoadImage","pos":[-351.9560241699219,550.2599487304688],"size":[274.080078125,314],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[12]},{"localized_name":"MASK","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.46","Node name for S&R":"LoadImage"},"widgets_values":["notre-materiel54e6fcc2e3d55.jpg","image"]},{"id":10,"type":"Runware Safety Inputs","pos":[-361.2201843261719,1222.037841796875],"size":[270,130],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"mode","name":"mode","shape":7,"type":"COMBO","widget":{"name":"mode"},"link":null},{"localized_name":"tolerance","name":"tolerance","shape":7,"type":"BOOLEAN","widget":{"name":"tolerance"},"link":null},{"localized_name":"checkInputs","name":"checkInputs","shape":7,"type":"BOOLEAN","widget":{"name":"checkInputs"},"link":null},{"localized_name":"checkContent","name":"checkContent","shape":7,"type":"BOOLEAN","widget":{"name":"checkContent"},"link":null}],"outputs":[{"localized_name":"Safety Inputs","name":"Safety Inputs","type":"RUNWARESAFETYINPUTS","links":[]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"8c4cbd5ee6fc998680ff84e72f34d5f2ee1d13bf","Node name for S&R":"Runware Safety Inputs"},"widgets_values":["none",false,false,false],"bgcolor":"#5345bf"},{"id":12,"type":"LoadImage","pos":[-370.1324768066406,923.6456909179688],"size":[274.080078125,314.00006103515625],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[13]},{"localized_name":"MASK","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.46","Node name for S&R":"LoadImage"},"widgets_values":["bigstock-Beach-Chairs-With-Umbrella-And-129286676_1024x1024.jpg","image"]},{"id":2,"type":"Runware Image Inference Inputs","pos":[15.798669815063477,656.8652954101562],"size":[243.01620483398438,210],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"image","name":"image","shape":7,"type":"IMAGE","link":12},{"localized_name":"Reference Image 1","name":"Reference Image 1","shape":7,"type":"IMAGE","link":13},{"localized_name":"Reference Image 2","name":"Reference Image 2","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 3","name":"Reference Image 3","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 4","name":"Reference Image 4","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Tag 1","name":"Reference Tag 1","shape":7,"type":"STRING","widget":{"name":"Reference Tag 1"},"link":null},{"localized_name":"Reference Tag 2","name":"Reference Tag 2","shape":7,"type":"STRING","widget":{"name":"Reference Tag 2"},"link":null},{"localized_name":"Reference Tag 3","name":"Reference Tag 3","shape":7,"type":"STRING","widget":{"name":"Reference Tag 3"},"link":null},{"localized_name":"Reference Tag 4","name":"Reference Tag 4","shape":7,"type":"STRING","widget":{"name":"Reference Tag 4"},"link":null}],"outputs":[{"localized_name":"Inference Inputs","name":"Inference Inputs","type":"RUNWAREIMAGEINFERENCEINPUTS","links":[16]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"47696ff476df65cc05e1adeb5a5d1d7b994650ae","Node name for S&R":"Runware Image Inference Inputs"},"widgets_values":["","","",""],"bgcolor":"#5345bf"},{"id":9,"type":"Runware Bria Provider Settings","pos":[-48.77149963378906,920.7619018554688],"size":[328.759765625,706],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"Bria Provider Setting Mask","name":"Bria Provider Setting Mask","shape":7,"type":"RUNWAREBRIAPROVIDERMASK","link":null},{"localized_name":"useMedium","name":"useMedium","shape":7,"type":"BOOLEAN","widget":{"name":"useMedium"},"link":null},{"localized_name":"medium","name":"medium","shape":7,"type":"COMBO","widget":{"name":"medium"},"link":null},{"localized_name":"usePromptEnhancement","name":"usePromptEnhancement","shape":7,"type":"BOOLEAN","widget":{"name":"usePromptEnhancement"},"link":null},{"localized_name":"promptEnhancement","name":"promptEnhancement","shape":7,"type":"BOOLEAN","widget":{"name":"promptEnhancement"},"link":null},{"localized_name":"useEnhanceImage","name":"useEnhanceImage","shape":7,"type":"BOOLEAN","widget":{"name":"useEnhanceImage"},"link":null},{"localized_name":"enhanceImage","name":"enhanceImage","shape":7,"type":"BOOLEAN","widget":{"name":"enhanceImage"},"link":null},{"localized_name":"usePromptContentModeration","name":"usePromptContentModeration","shape":7,"type":"BOOLEAN","widget":{"name":"usePromptContentModeration"},"link":null},{"localized_name":"promptContentModeration","name":"promptContentModeration","shape":7,"type":"BOOLEAN","widget":{"name":"promptContentModeration"},"link":null},{"localized_name":"useContentModeration","name":"useContentModeration","shape":7,"type":"BOOLEAN","widget":{"name":"useContentModeration"},"link":null},{"localized_name":"contentModeration","name":"contentModeration","shape":7,"type":"BOOLEAN","widget":{"name":"contentModeration"},"link":null},{"localized_name":"useIpSignal","name":"useIpSignal","shape":7,"type":"BOOLEAN","widget":{"name":"useIpSignal"},"link":null},{"localized_name":"ipSignal","name":"ipSignal","shape":7,"type":"BOOLEAN","widget":{"name":"ipSignal"},"link":null},{"localized_name":"usePreserveAlpha","name":"usePreserveAlpha","shape":7,"type":"BOOLEAN","widget":{"name":"usePreserveAlpha"},"link":null},{"localized_name":"preserveAlpha","name":"preserveAlpha","shape":7,"type":"BOOLEAN","widget":{"name":"preserveAlpha"},"link":null},{"localized_name":"useMode","name":"useMode","shape":7,"type":"BOOLEAN","widget":{"name":"useMode"},"link":null},{"localized_name":"mode","name":"mode","shape":7,"type":"COMBO","widget":{"name":"mode"},"link":null},{"localized_name":"useEnhanceReferenceImages","name":"useEnhanceReferenceImages","shape":7,"type":"BOOLEAN","widget":{"name":"useEnhanceReferenceImages"},"link":null},{"localized_name":"enhanceReferenceImages","name":"enhanceReferenceImages","shape":7,"type":"BOOLEAN","widget":{"name":"enhanceReferenceImages"},"link":null},{"localized_name":"useRefinePrompt","name":"useRefinePrompt","shape":7,"type":"BOOLEAN","widget":{"name":"useRefinePrompt"},"link":null},{"localized_name":"refinePrompt","name":"refinePrompt","shape":7,"type":"BOOLEAN","widget":{"name":"refinePrompt"},"link":null},{"localized_name":"useOriginalQuality","name":"useOriginalQuality","shape":7,"type":"BOOLEAN","widget":{"name":"useOriginalQuality"},"link":null},{"localized_name":"originalQuality","name":"originalQuality","shape":7,"type":"BOOLEAN","widget":{"name":"originalQuality"},"link":null},{"localized_name":"useForceBackgroundDetection","name":"useForceBackgroundDetection","shape":7,"type":"BOOLEAN","widget":{"name":"useForceBackgroundDetection"},"link":null},{"localized_name":"forceBackgroundDetection","name":"forceBackgroundDetection","shape":7,"type":"BOOLEAN","widget":{"name":"forceBackgroundDetection"},"link":null},{"localized_name":"usePreserveAudio","name":"usePreserveAudio","shape":7,"type":"BOOLEAN","widget":{"name":"usePreserveAudio"},"link":null},{"localized_name":"preserveAudio","name":"preserveAudio","shape":7,"type":"BOOLEAN","widget":{"name":"preserveAudio"},"link":null},{"localized_name":"useAutoTrim","name":"useAutoTrim","shape":7,"type":"BOOLEAN","widget":{"name":"useAutoTrim"},"link":null},{"localized_name":"autoTrim","name":"autoTrim","shape":7,"type":"BOOLEAN","widget":{"name":"autoTrim"},"link":null}],"outputs":[{"localized_name":"providerSettings","name":"providerSettings","type":"RUNWAREPROVIDERSETTINGS","links":[17]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"8c4cbd5ee6fc998680ff84e72f34d5f2ee1d13bf","Node name for S&R":"Runware Bria Provider Settings"},"widgets_values":[false,"photography",false,false,false,false,false,true,false,true,false,false,false,false,true,"base",true,false,true,false,true,false,true,true,false,true,false,false],"bgcolor":"#5345bf"},{"id":4,"type":"Runware Model Search","pos":[-65.2453384399414,456.5984191894531],"size":[270,154],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"Model Search","name":"Model Search","type":"STRING","widget":{"name":"Model Search"},"link":null},{"localized_name":"Model Architecture","name":"Model Architecture","type":"COMBO","widget":{"name":"Model Architecture"},"link":null},{"localized_name":"ModelType","name":"ModelType","type":"COMBO","widget":{"name":"ModelType"},"link":null},{"localized_name":"ModelList","name":"ModelList","type":"COMBO","widget":{"name":"ModelList"},"link":null},{"localized_name":"Use Search Value","name":"Use Search Value","type":"BOOLEAN","widget":{"name":"Use Search Value"},"link":null}],"outputs":[{"localized_name":"Runware Model","name":"Runware Model","type":"RUNWAREMODEL","links":[19]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"47696ff476df65cc05e1adeb5a5d1d7b994650ae","Node name for S&R":"Runware Model Search"},"widgets_values":["bria:11@1","All","Base Model","runware:100@1 (Flux Schnell)",true],"bgcolor":"#5345bf"},{"id":13,"type":"Runware Image Inference","pos":[302.5533752441406,477.2700500488281],"size":[400,1018],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"Model","name":"Model","type":"RUNWAREMODEL","link":19},{"localized_name":"Accelerator","name":"Accelerator","shape":7,"type":"RUNWAREACCELERATOR","link":null},{"localized_name":"Lora","name":"Lora","shape":7,"type":"RUNWARELORA","link":null},{"localized_name":"Outpainting","name":"Outpainting","shape":7,"type":"RUNWAREOUTPAINT","link":null},{"localized_name":"IPAdapters","name":"IPAdapters","shape":7,"type":"RUNWAREIPAdapter","link":null},{"localized_name":"ControlNet","name":"ControlNet","shape":7,"type":"RUNWARECONTROLNET","link":null},{"localized_name":"Refiner","name":"Refiner","shape":7,"type":"RUNWAREREFINER","link":null},{"localized_name":"seedImage","name":"seedImage","shape":7,"type":"IMAGE","link":null},{"localized_name":"maskImage","name":"maskImage","shape":7,"type":"MASK","link":null},{"localized_name":"Embeddings","name":"Embeddings","shape":7,"type":"RUNWAREEMBEDDING","link":null},{"localized_name":"VAE","name":"VAE","shape":7,"type":"RUNWAREVAE","link":null},{"localized_name":"referenceImages","name":"referenceImages","shape":7,"type":"RUNWAREREFERENCEIMAGES","link":null},{"localized_name":"inputs","name":"inputs","shape":7,"type":"RUNWAREIMAGEINFERENCEINPUTS","link":16},{"localized_name":"providerSettings","name":"providerSettings","shape":7,"type":"RUNWAREPROVIDERSETTINGS","link":17},{"localized_name":"safetyInputs","name":"safetyInputs","shape":7,"type":"RUNWARESAFETYINPUTS","link":null},{"localized_name":"settings","name":"settings","shape":7,"type":"RUNWARESETTINGS","link":null},{"localized_name":"positivePrompt","name":"positivePrompt","type":"STRING","widget":{"name":"positivePrompt"},"link":null},{"localized_name":"negativePrompt","name":"negativePrompt","type":"STRING","widget":{"name":"negativePrompt"},"link":null},{"localized_name":"Multi Inference Mode","name":"Multi Inference Mode","type":"BOOLEAN","widget":{"name":"Multi Inference Mode"},"link":null},{"localized_name":"Prompt Weighting","name":"Prompt Weighting","type":"COMBO","widget":{"name":"Prompt Weighting"},"link":null},{"localized_name":"dimensions","name":"dimensions","type":"COMBO","widget":{"name":"dimensions"},"link":null},{"localized_name":"width","name":"width","type":"INT","widget":{"name":"width"},"link":null},{"localized_name":"height","name":"height","type":"INT","widget":{"name":"height"},"link":null},{"localized_name":"useResolution","name":"useResolution","type":"BOOLEAN","widget":{"name":"useResolution"},"link":null},{"localized_name":"resolution","name":"resolution","type":"COMBO","widget":{"name":"resolution"},"link":null},{"localized_name":"useSteps","name":"useSteps","type":"BOOLEAN","widget":{"name":"useSteps"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"useScheduler","name":"useScheduler","type":"BOOLEAN","widget":{"name":"useScheduler"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"useCFGScale","name":"useCFGScale","type":"BOOLEAN","widget":{"name":"useCFGScale"},"link":null},{"localized_name":"cfgScale","name":"cfgScale","type":"FLOAT","widget":{"name":"cfgScale"},"link":null},{"localized_name":"useSeed","name":"useSeed","type":"BOOLEAN","widget":{"name":"useSeed"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"useClipSkip","name":"useClipSkip","type":"BOOLEAN","widget":{"name":"useClipSkip"},"link":null},{"localized_name":"clipSkip","name":"clipSkip","type":"INT","widget":{"name":"clipSkip"},"link":null},{"localized_name":"strength","name":"strength","type":"FLOAT","widget":{"name":"strength"},"link":null},{"localized_name":"Mask Margin","name":"Mask Margin","type":"BOOLEAN","widget":{"name":"Mask Margin"},"link":null},{"localized_name":"maskMargin","name":"maskMargin","type":"INT","widget":{"name":"maskMargin"},"link":null},{"localized_name":"outputFormat","name":"outputFormat","type":"COMBO","widget":{"name":"outputFormat"},"link":null},{"localized_name":"batchSize","name":"batchSize","type":"INT","widget":{"name":"batchSize"},"link":null},{"localized_name":"acceleration","name":"acceleration","type":"COMBO","widget":{"name":"acceleration"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[18]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"bdc86e015971881247addb07bb8f22f7d85c0062","Node name for S&R":"Runware Image Inference"},"widgets_values":["","",false,"Disabled","Square HD (1024x1024)",1024,1024,false,"1k",true,4,true,"Default",true,6.5,true,2103816710,"randomize",true,0,0.8,false,32,"WEBP",1,"none"],"bgcolor":"#5345bf"}],"links":[[12,11,0,2,0,"IMAGE"],[13,12,0,2,1,"IMAGE"],[16,2,0,13,12,"RUNWAREIMAGEINFERENCEINPUTS"],[17,9,0,13,13,"RUNWAREPROVIDERSETTINGS"],[18,13,0,5,0,"IMAGE"],[19,4,0,13,0,"RUNWAREMODEL"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.8264462809917354,"offset":[460.446666338801,-427.59502688334123]}},"version":0.4} \ No newline at end of file diff --git a/workflows/Runware_Video_Inference_Kling_2_6_voice.json b/workflows/Runware_Video_Inference_Kling_2_6_voice.json new file mode 100644 index 0000000..ca088bf --- /dev/null +++ b/workflows/Runware_Video_Inference_Kling_2_6_voice.json @@ -0,0 +1 @@ +{"id":"59931728-e657-48fe-a24a-58bfa716feb1","revision":0,"last_node_id":18,"last_link_id":20,"nodes":[{"id":3,"type":"SaveVideo","pos":[612.5910034179688,652.8480224609375],"size":[270,368],"flags":{},"order":11,"mode":0,"inputs":[{"localized_name":"video","name":"video","type":"VIDEO","link":17},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null},{"localized_name":"format","name":"format","type":"COMBO","widget":{"name":"format"},"link":null},{"localized_name":"codec","name":"codec","type":"COMBO","widget":{"name":"codec"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.3.46","Node name for S&R":"SaveVideo"},"widgets_values":["video/ComfyUI","auto","auto"]},{"id":5,"type":"Runware Video Inputs Frame Images","pos":[-512.9567260742188,685.1734619140625],"size":[331.5357360839844,190],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"image1","name":"image1","shape":7,"type":"IMAGE","link":5},{"localized_name":"image2","name":"image2","shape":7,"type":"IMAGE","link":null},{"localized_name":"image3","name":"image3","shape":7,"type":"IMAGE","link":null},{"localized_name":"image4","name":"image4","shape":7,"type":"IMAGE","link":null},{"localized_name":"frame1 position","name":"frame1 position","shape":7,"type":"STRING","widget":{"name":"frame1 position"},"link":null},{"localized_name":"frame2 position","name":"frame2 position","shape":7,"type":"STRING","widget":{"name":"frame2 position"},"link":null},{"localized_name":"frame3 position","name":"frame3 position","shape":7,"type":"STRING","widget":{"name":"frame3 position"},"link":null},{"localized_name":"frame4 position","name":"frame4 position","shape":7,"type":"STRING","widget":{"name":"frame4 position"},"link":null}],"outputs":[{"localized_name":"Video Inputs Frame Images","name":"Video Inputs Frame Images","type":"RUNWAREVIDEOINPUTSFRAMEIMAGES","links":[3]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"1dd4019495187097db2243c14b8201ccbee3ad15","Node name for S&R":"Runware Video Inputs Frame Images"},"widgets_values":["","","",""],"bgcolor":"#5345bf"},{"id":6,"type":"LoadImage","pos":[-819.3446044921875,674.0228881835938],"size":[274.080078125,314.00006103515625],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[5]},{"localized_name":"MASK","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.46","Node name for S&R":"LoadImage"},"widgets_values":["0c5b1d6a-84ab-4276-80cc-65ccfb2b54a9.png","image"]},{"id":9,"type":"Runware Media Upload","pos":[-767.72900390625,1073.646484375],"size":[270,58],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"media","name":"media","shape":7,"type":"VIDEO,AUDIO","link":7},{"localized_name":"mediaUUID","name":"mediaUUID","shape":7,"type":"STRING","widget":{"name":"mediaUUID"},"link":null}],"outputs":[{"localized_name":"mediaUUID","name":"mediaUUID","type":"STRING","links":[12]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"edcdd9891624033fdf95feae729fda0cf1f5821c","Node name for S&R":"Runware Media Upload"},"widgets_values":["a98580db-4f87-4b24-af0f-0c4af10124c3"],"bgcolor":"#5345bf"},{"id":12,"type":"LoadAudio","pos":[-483.479248046875,1186.7376708984375],"size":[274.080078125,136],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"audio","name":"audio","type":"COMBO","widget":{"name":"audio"},"link":null},{"localized_name":"audioUI","name":"audioUI","type":"AUDIO_UI","widget":{"name":"audioUI"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"AUDIOUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"AUDIO","name":"AUDIO","type":"AUDIO","links":[7]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.46","Node name for S&R":"LoadAudio"},"widgets_values":["6s_720p_video.mp4",null,null]},{"id":8,"type":"Runware Reference Voices","pos":[-480.52996826171875,960.1085205078125],"size":[270,130],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"Voice1","name":"Voice1","shape":7,"type":"STRING","widget":{"name":"Voice1"},"link":12},{"localized_name":"Voice2","name":"Voice2","shape":7,"type":"STRING","widget":{"name":"Voice2"},"link":14},{"localized_name":"Voice3","name":"Voice3","shape":7,"type":"STRING","widget":{"name":"Voice3"},"link":null},{"localized_name":"Voice4","name":"Voice4","shape":7,"type":"STRING","widget":{"name":"Voice4"},"link":null}],"outputs":[{"localized_name":"Reference Voices","name":"Reference Voices","type":"RUNWAREREFERENCEVOICES","links":[11]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"edcdd9891624033fdf95feae729fda0cf1f5821c","Node name for S&R":"Runware Reference Voices"},"widgets_values":["","","",""],"bgcolor":"#5345bf"},{"id":2,"type":"Runware Video Model Search","pos":[-171.45639038085938,640.8884887695312],"size":[287.380859375,290],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"Model Search","name":"Model Search","type":"STRING","widget":{"name":"Model Search"},"link":null},{"localized_name":"Model Architecture","name":"Model Architecture","type":"COMBO","widget":{"name":"Model Architecture"},"link":null},{"localized_name":"VideoList","name":"VideoList","type":"COMBO","widget":{"name":"VideoList"},"link":null},{"localized_name":"Use Search Value","name":"Use Search Value","type":"BOOLEAN","widget":{"name":"Use Search Value"},"link":null},{"localized_name":"useCustomDimensions","name":"useCustomDimensions","type":"COMBO","widget":{"name":"useCustomDimensions"},"link":null},{"localized_name":"Width","name":"Width","type":"INT","widget":{"name":"Width"},"link":null},{"localized_name":"Height","name":"Height","type":"INT","widget":{"name":"Height"},"link":null},{"localized_name":"useResolution","name":"useResolution","type":"BOOLEAN","widget":{"name":"useResolution"},"link":null},{"localized_name":"resolution","name":"resolution","type":"COMBO","widget":{"name":"resolution"},"link":null}],"outputs":[{"localized_name":"Runware Video Model","name":"Runware Video Model","type":"RUNWAREVIDEOMODEL","links":[15]},{"localized_name":"Width","name":"Width","type":"INT","links":null},{"localized_name":"Height","name":"Height","type":"INT","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"1dd4019495187097db2243c14b8201ccbee3ad15","Node name for S&R":"Runware Video Model Search"},"widgets_values":["","KlingAI","klingai:kling-video@2.6-pro (Kling VIDEO 2.6 Pro)",false,"Disabled",0,0,false,"1080p"],"bgcolor":"#5345bf"},{"id":4,"type":"Runware Video Inference Inputs","pos":[-189.5894317626953,919.8734741210938],"size":[320.0390625,242],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"Image","name":"Image","shape":7,"type":"IMAGE","link":null},{"localized_name":"Frame Images","name":"Frame Images","shape":7,"type":"RUNWAREVIDEOINPUTSFRAMEIMAGES","link":3},{"localized_name":"Audio Inputs","name":"Audio Inputs","shape":7,"type":"RUNWAREAUDIOINPUT","link":null},{"localized_name":"Speech Inputs","name":"Speech Inputs","shape":7,"type":"RUNWARESPEECHINPUT","link":null},{"localized_name":"Mask","name":"Mask","shape":7,"type":"IMAGE","link":null},{"localized_name":"Frame","name":"Frame","shape":7,"type":"IMAGE","link":null},{"localized_name":"References","name":"References","shape":7,"type":"RUNWAREVIDEOINPUTSREFERENCEIMAGES","link":null},{"localized_name":"Reference Videos","name":"Reference Videos","shape":7,"type":"RUNWAREREFERENCEVIDEOS","link":null},{"localized_name":"Reference Voices","name":"Reference Voices","shape":7,"type":"RUNWAREREFERENCEVOICES","link":11},{"localized_name":"Audio","name":"Audio","shape":7,"type":"STRING","widget":{"name":"Audio"},"link":null},{"localized_name":"Video","name":"Video","shape":7,"type":"STRING","widget":{"name":"Video"},"link":null}],"outputs":[{"localized_name":"Video Inference Inputs","name":"Video Inference Inputs","type":"RUNWAREVIDEOINFERENCEINPUTS","links":[16]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"1dd4019495187097db2243c14b8201ccbee3ad15","Node name for S&R":"Runware Video Inference Inputs"},"widgets_values":["",""],"bgcolor":"#5345bf"},{"id":13,"type":"Runware Media Upload","pos":[-136.08729553222656,1234.91259765625],"size":[270,58],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"media","name":"media","shape":7,"type":"VIDEO,AUDIO","link":19},{"localized_name":"mediaUUID","name":"mediaUUID","shape":7,"type":"STRING","widget":{"name":"mediaUUID"},"link":null}],"outputs":[{"localized_name":"mediaUUID","name":"mediaUUID","type":"STRING","links":[14]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"edcdd9891624033fdf95feae729fda0cf1f5821c","Node name for S&R":"Runware Media Upload"},"widgets_values":["4732c152-67ca-4037-a3df-0410e8bded2b"],"bgcolor":"#5345bf"},{"id":16,"type":"Runware Video Inference","pos":[171.39801025390625,677.8903198242188],"size":[400,760],"flags":{},"order":10,"mode":0,"inputs":[{"localized_name":"Model","name":"Model","type":"RUNWAREVIDEOMODEL","link":15},{"localized_name":"frameImages","name":"frameImages","shape":7,"type":"RUNWAREFRAMEIMAGES","link":null},{"localized_name":"referenceImages","name":"referenceImages","shape":7,"type":"RUNWAREREFERENCEIMAGES","link":null},{"localized_name":"providerSettings","name":"providerSettings","shape":7,"type":"RUNWAREPROVIDERSETTINGS","link":20},{"localized_name":"inputAudios","name":"inputAudios","shape":7,"type":"RUNWAREINPUTAUDIOS","link":null},{"localized_name":"referenceVideos","name":"referenceVideos","shape":7,"type":"RUNWAREREFERENCEVIDEOS","link":null},{"localized_name":"inputs","name":"inputs","shape":7,"type":"RUNWAREVIDEOINFERENCEINPUTS","link":16},{"localized_name":"safetyInputs","name":"safetyInputs","shape":7,"type":"RUNWARESAFETYINPUTS","link":null},{"localized_name":"videoAdvancedFeatureInputs","name":"videoAdvancedFeatureInputs","shape":7,"type":"RUNWAREVIDEOADVANCEDFEATUREINPUTS","link":null},{"localized_name":"Accelerator","name":"Accelerator","shape":7,"type":"RUNWAREACCELERATOR","link":null},{"localized_name":"Multi Inference Mode","name":"Multi Inference Mode","type":"BOOLEAN","widget":{"name":"Multi Inference Mode"},"link":null},{"localized_name":"Prompt Weighting","name":"Prompt Weighting","type":"COMBO","widget":{"name":"Prompt Weighting"},"link":null},{"localized_name":"useDuration","name":"useDuration","type":"BOOLEAN","widget":{"name":"useDuration"},"link":null},{"localized_name":"duration","name":"duration","type":"INT","widget":{"name":"duration"},"link":null},{"localized_name":"useFps","name":"useFps","type":"BOOLEAN","widget":{"name":"useFps"},"link":null},{"localized_name":"fps","name":"fps","type":"INT","widget":{"name":"fps"},"link":null},{"localized_name":"outputFormat","name":"outputFormat","type":"COMBO","widget":{"name":"outputFormat"},"link":null},{"localized_name":"useSeed","name":"useSeed","type":"BOOLEAN","widget":{"name":"useSeed"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"useSteps","name":"useSteps","type":"BOOLEAN","widget":{"name":"useSteps"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"useBatchSize","name":"useBatchSize","type":"BOOLEAN","widget":{"name":"useBatchSize"},"link":null},{"localized_name":"batchSize","name":"batchSize","type":"INT","widget":{"name":"batchSize"},"link":null},{"localized_name":"acceleration","name":"acceleration","type":"COMBO","widget":{"name":"acceleration"},"link":null},{"localized_name":"positivePrompt","name":"positivePrompt","shape":7,"type":"STRING","widget":{"name":"positivePrompt"},"link":null},{"localized_name":"negativePrompt","name":"negativePrompt","shape":7,"type":"STRING","widget":{"name":"negativePrompt"},"link":null},{"localized_name":"speechVoice","name":"speechVoice","shape":7,"type":"STRING","widget":{"name":"speechVoice"},"link":null},{"localized_name":"speechText","name":"speechText","shape":7,"type":"STRING","widget":{"name":"speechText"},"link":null}],"outputs":[{"localized_name":"VIDEO","name":"VIDEO","type":"VIDEO","links":[17]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"edcdd9891624033fdf95feae729fda0cf1f5821c","Node name for S&R":"Runware Video Inference"},"widgets_values":[false,"Disabled",true,5,true,24,"mp4",false,798040432,"randomize",false,20,false,1,"none","A girl in a red coat says, \"Hello everyone!!!\" in <<>>, then switches to mimicking <<>> to say, \"Happy Christmas.\"","","",""],"bgcolor":"#5345bf"},{"id":17,"type":"LoadAudio","pos":[-819.753173828125,1306.5697021484375],"size":[274.080078125,136],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"audio","name":"audio","type":"COMBO","widget":{"name":"audio"},"link":null},{"localized_name":"audioUI","name":"audioUI","type":"AUDIO_UI","widget":{"name":"audioUI"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"AUDIOUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"AUDIO","name":"AUDIO","type":"AUDIO","links":[19]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.46","Node name for S&R":"LoadAudio"},"widgets_values":["video_singer.mp4",null,""]},{"id":18,"type":"Runware KlingAI Provider Settings","pos":[592.7858276367188,1120.450927734375],"size":[400,526],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"useCameraControl","name":"useCameraControl","shape":7,"type":"BOOLEAN","widget":{"name":"useCameraControl"},"link":null},{"localized_name":"cameraControl","name":"cameraControl","shape":7,"type":"COMBO","widget":{"name":"cameraControl"},"link":null},{"localized_name":"useSoundVolume","name":"useSoundVolume","shape":7,"type":"BOOLEAN","widget":{"name":"useSoundVolume"},"link":null},{"localized_name":"soundVolume","name":"soundVolume","shape":7,"type":"FLOAT","widget":{"name":"soundVolume"},"link":null},{"localized_name":"useOriginalAudioVolume","name":"useOriginalAudioVolume","shape":7,"type":"BOOLEAN","widget":{"name":"useOriginalAudioVolume"},"link":null},{"localized_name":"originalAudioVolume","name":"originalAudioVolume","shape":7,"type":"FLOAT","widget":{"name":"originalAudioVolume"},"link":null},{"localized_name":"useSoundEffectPrompt","name":"useSoundEffectPrompt","shape":7,"type":"BOOLEAN","widget":{"name":"useSoundEffectPrompt"},"link":null},{"localized_name":"soundEffectPrompt","name":"soundEffectPrompt","shape":7,"type":"STRING","widget":{"name":"soundEffectPrompt"},"link":null},{"localized_name":"useBgmPrompt","name":"useBgmPrompt","shape":7,"type":"BOOLEAN","widget":{"name":"useBgmPrompt"},"link":null},{"localized_name":"bgmPrompt","name":"bgmPrompt","shape":7,"type":"STRING","widget":{"name":"bgmPrompt"},"link":null},{"localized_name":"useAsmrMode","name":"useAsmrMode","shape":7,"type":"BOOLEAN","widget":{"name":"useAsmrMode"},"link":null},{"localized_name":"asmrMode","name":"asmrMode","shape":7,"type":"BOOLEAN","widget":{"name":"asmrMode"},"link":null},{"localized_name":"useKeepOriginalSound","name":"useKeepOriginalSound","shape":7,"type":"BOOLEAN","widget":{"name":"useKeepOriginalSound"},"link":null},{"localized_name":"keepOriginalSound","name":"keepOriginalSound","shape":7,"type":"BOOLEAN","widget":{"name":"keepOriginalSound"},"link":null},{"localized_name":"useSound","name":"useSound","shape":7,"type":"BOOLEAN","widget":{"name":"useSound"},"link":null},{"localized_name":"sound","name":"sound","shape":7,"type":"BOOLEAN","widget":{"name":"sound"},"link":null},{"localized_name":"useCharacterOrientation","name":"useCharacterOrientation","shape":7,"type":"BOOLEAN","widget":{"name":"useCharacterOrientation"},"link":null},{"localized_name":"characterOrientation","name":"characterOrientation","shape":7,"type":"COMBO","widget":{"name":"characterOrientation"},"link":null}],"outputs":[{"localized_name":"Provider Settings","name":"Provider Settings","type":"RUNWAREPROVIDERSETTINGS","links":[20]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"edcdd9891624033fdf95feae729fda0cf1f5821c","Node name for S&R":"Runware KlingAI Provider Settings"},"widgets_values":[false,"none",false,1,false,1,false,"",false,"",false,false,false,true,true,true,false,"image"],"bgcolor":"#5345bf"}],"links":[[3,5,0,4,1,"RUNWAREVIDEOINPUTSFRAMEIMAGES"],[5,6,0,5,0,"IMAGE"],[7,12,0,9,0,"VIDEO,AUDIO"],[11,8,0,4,8,"RUNWAREREFERENCEVOICES"],[12,9,0,8,0,"STRING"],[14,13,0,8,1,"STRING"],[15,2,0,16,0,"RUNWAREVIDEOMODEL"],[16,4,0,16,6,"RUNWAREVIDEOINFERENCEINPUTS"],[17,16,0,3,0,"VIDEO"],[19,17,0,13,0,"VIDEO,AUDIO"],[20,18,0,16,3,"RUNWAREPROVIDERSETTINGS"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.6211803454346194,"offset":[782.3369352929676,-624.0739354048768]}},"version":0.4} \ No newline at end of file diff --git a/workflows/Runware_Video_Inference_Wan_Animate.json b/workflows/Runware_Video_Inference_Wan_Animate.json new file mode 100644 index 0000000..91aac98 --- /dev/null +++ b/workflows/Runware_Video_Inference_Wan_Animate.json @@ -0,0 +1 @@ +{"id":"ae1dc083-257e-42b9-b0e5-a74cd62d3cca","revision":0,"last_node_id":13,"last_link_id":12,"nodes":[{"id":2,"type":"Runware Video Model Search","pos":[-179.6524200439453,686.7863159179688],"size":[287.380859375,290],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"Model Search","name":"Model Search","type":"STRING","widget":{"name":"Model Search"},"link":null},{"localized_name":"Model Architecture","name":"Model Architecture","type":"COMBO","widget":{"name":"Model Architecture"},"link":null},{"localized_name":"VideoList","name":"VideoList","type":"COMBO","widget":{"name":"VideoList"},"link":null},{"localized_name":"Use Search Value","name":"Use Search Value","type":"BOOLEAN","widget":{"name":"Use Search Value"},"link":null},{"localized_name":"useCustomDimensions","name":"useCustomDimensions","type":"COMBO","widget":{"name":"useCustomDimensions"},"link":null},{"localized_name":"Width","name":"Width","type":"INT","widget":{"name":"Width"},"link":null},{"localized_name":"Height","name":"Height","type":"INT","widget":{"name":"Height"},"link":null},{"localized_name":"useResolution","name":"useResolution","type":"BOOLEAN","widget":{"name":"useResolution"},"link":null},{"localized_name":"resolution","name":"resolution","type":"COMBO","widget":{"name":"resolution"},"link":null}],"outputs":[{"localized_name":"Runware Video Model","name":"Runware Video Model","type":"RUNWAREVIDEOMODEL","links":[1]},{"localized_name":"Width","name":"Width","type":"INT","links":null},{"localized_name":"Height","name":"Height","type":"INT","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"edcdd9891624033fdf95feae729fda0cf1f5821c","Node name for S&R":"Runware Video Model Search"},"widgets_values":["","Wan","runware:200@8 (Wan 2.2 A14B Animate)",false,"Model Default",1104,832,false,"1080p"],"bgcolor":"#5345bf"},{"id":3,"type":"SaveVideo","pos":[671.269775390625,697.6800537109375],"size":[270,301.478271484375],"flags":{},"order":10,"mode":0,"inputs":[{"localized_name":"video","name":"video","type":"VIDEO","link":2},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null},{"localized_name":"format","name":"format","type":"COMBO","widget":{"name":"format"},"link":null},{"localized_name":"codec","name":"codec","type":"COMBO","widget":{"name":"codec"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.3.46","Node name for S&R":"SaveVideo"},"widgets_values":["video/ComfyUI","auto","auto"]},{"id":9,"type":"Runware Video Inputs References","pos":[-544.9140625,689.253173828125],"size":[312.908203125,190],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"Image1","name":"Image1","shape":7,"type":"IMAGE","link":6},{"localized_name":"Image2","name":"Image2","shape":7,"type":"IMAGE","link":null},{"localized_name":"Image3","name":"Image3","shape":7,"type":"IMAGE","link":null},{"localized_name":"Image4","name":"Image4","shape":7,"type":"IMAGE","link":null},{"localized_name":"Type1","name":"Type1","shape":7,"type":"STRING","widget":{"name":"Type1"},"link":null},{"localized_name":"Type2","name":"Type2","shape":7,"type":"STRING","widget":{"name":"Type2"},"link":null},{"localized_name":"Type3","name":"Type3","shape":7,"type":"STRING","widget":{"name":"Type3"},"link":null},{"localized_name":"Type4","name":"Type4","shape":7,"type":"STRING","widget":{"name":"Type4"},"link":null}],"outputs":[{"localized_name":"Video Inputs Reference Images","name":"Video Inputs Reference Images","type":"RUNWAREVIDEOINPUTSREFERENCEIMAGES","links":[7]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"edcdd9891624033fdf95feae729fda0cf1f5821c","Node name for S&R":"Runware Video Inputs References"},"widgets_values":["","","",""],"bgcolor":"#5345bf"},{"id":8,"type":"Runware Media Upload","pos":[-512.6779174804688,948.774169921875],"size":[270,58],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"media","name":"media","shape":7,"type":"VIDEO,AUDIO","link":3},{"localized_name":"mediaUUID","name":"mediaUUID","shape":7,"type":"STRING","widget":{"name":"mediaUUID"},"link":null}],"outputs":[{"localized_name":"mediaUUID","name":"mediaUUID","type":"STRING","links":[4]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"edcdd9891624033fdf95feae729fda0cf1f5821c","Node name for S&R":"Runware Media Upload"},"widgets_values":["1a07364d-093d-4e91-af3e-dae3a7759eca"],"bgcolor":"#5345bf"},{"id":1,"type":"Runware Video Inference","pos":[166.53184509277344,699.8875732421875],"size":[400,760],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"Model","name":"Model","type":"RUNWAREVIDEOMODEL","link":1},{"localized_name":"frameImages","name":"frameImages","shape":7,"type":"RUNWAREFRAMEIMAGES","link":null},{"localized_name":"referenceImages","name":"referenceImages","shape":7,"type":"RUNWAREREFERENCEIMAGES","link":null},{"localized_name":"providerSettings","name":"providerSettings","shape":7,"type":"RUNWAREPROVIDERSETTINGS","link":null},{"localized_name":"inputAudios","name":"inputAudios","shape":7,"type":"RUNWAREINPUTAUDIOS","link":null},{"localized_name":"referenceVideos","name":"referenceVideos","shape":7,"type":"RUNWAREREFERENCEVIDEOS","link":null},{"localized_name":"inputs","name":"inputs","shape":7,"type":"RUNWAREVIDEOINFERENCEINPUTS","link":8},{"localized_name":"safetyInputs","name":"safetyInputs","shape":7,"type":"RUNWARESAFETYINPUTS","link":null},{"localized_name":"videoAdvancedFeatureInputs","name":"videoAdvancedFeatureInputs","shape":7,"type":"RUNWAREVIDEOADVANCEDFEATUREINPUTS","link":12},{"localized_name":"Accelerator","name":"Accelerator","shape":7,"type":"RUNWAREACCELERATOR","link":null},{"localized_name":"Multi Inference Mode","name":"Multi Inference Mode","type":"BOOLEAN","widget":{"name":"Multi Inference Mode"},"link":null},{"localized_name":"Prompt Weighting","name":"Prompt Weighting","type":"COMBO","widget":{"name":"Prompt Weighting"},"link":null},{"localized_name":"useDuration","name":"useDuration","type":"BOOLEAN","widget":{"name":"useDuration"},"link":null},{"localized_name":"duration","name":"duration","type":"INT","widget":{"name":"duration"},"link":null},{"localized_name":"useFps","name":"useFps","type":"BOOLEAN","widget":{"name":"useFps"},"link":null},{"localized_name":"fps","name":"fps","type":"INT","widget":{"name":"fps"},"link":null},{"localized_name":"outputFormat","name":"outputFormat","type":"COMBO","widget":{"name":"outputFormat"},"link":null},{"localized_name":"useSeed","name":"useSeed","type":"BOOLEAN","widget":{"name":"useSeed"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"useSteps","name":"useSteps","type":"BOOLEAN","widget":{"name":"useSteps"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"useBatchSize","name":"useBatchSize","type":"BOOLEAN","widget":{"name":"useBatchSize"},"link":null},{"localized_name":"batchSize","name":"batchSize","type":"INT","widget":{"name":"batchSize"},"link":null},{"localized_name":"acceleration","name":"acceleration","type":"COMBO","widget":{"name":"acceleration"},"link":null},{"localized_name":"positivePrompt","name":"positivePrompt","shape":7,"type":"STRING","widget":{"name":"positivePrompt"},"link":null},{"localized_name":"negativePrompt","name":"negativePrompt","shape":7,"type":"STRING","widget":{"name":"negativePrompt"},"link":null},{"localized_name":"speechVoice","name":"speechVoice","shape":7,"type":"STRING","widget":{"name":"speechVoice"},"link":null},{"localized_name":"speechText","name":"speechText","shape":7,"type":"STRING","widget":{"name":"speechText"},"link":null}],"outputs":[{"localized_name":"VIDEO","name":"VIDEO","type":"VIDEO","links":[2]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"edcdd9891624033fdf95feae729fda0cf1f5821c","Node name for S&R":"Runware Video Inference"},"widgets_values":[false,"Disabled",false,5,false,24,"mp4",true,1573787683,"randomize",false,20,false,1,"none","Smoother head motion, cinematic lighting.","","",""],"bgcolor":"#5345bf"},{"id":13,"type":"Runware Video Advanced Feature Inputs","pos":[632.3375854492188,1057.408203125],"size":[417.650390625,334],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"Advanced Feature Settings","name":"Advanced Feature Settings","shape":7,"type":"RUNWAREWANANIMATEADVANCEDFEATURESETTINGS","link":11},{"localized_name":"useVideoCFGScale","name":"useVideoCFGScale","shape":7,"type":"BOOLEAN","widget":{"name":"useVideoCFGScale"},"link":null},{"localized_name":"videoCFGScale","name":"videoCFGScale","shape":7,"type":"FLOAT","widget":{"name":"videoCFGScale"},"link":null},{"localized_name":"useAudioCFGScale","name":"useAudioCFGScale","shape":7,"type":"BOOLEAN","widget":{"name":"useAudioCFGScale"},"link":null},{"localized_name":"audioCFGScale","name":"audioCFGScale","shape":7,"type":"FLOAT","widget":{"name":"audioCFGScale"},"link":null},{"localized_name":"useVideoNegativePrompt","name":"useVideoNegativePrompt","shape":7,"type":"BOOLEAN","widget":{"name":"useVideoNegativePrompt"},"link":null},{"localized_name":"videoNegativePrompt","name":"videoNegativePrompt","shape":7,"type":"STRING","widget":{"name":"videoNegativePrompt"},"link":null},{"localized_name":"useAudioNegativePrompt","name":"useAudioNegativePrompt","shape":7,"type":"BOOLEAN","widget":{"name":"useAudioNegativePrompt"},"link":null},{"localized_name":"audioNegativePrompt","name":"audioNegativePrompt","shape":7,"type":"STRING","widget":{"name":"audioNegativePrompt"},"link":null},{"localized_name":"useSlgLayer","name":"useSlgLayer","shape":7,"type":"BOOLEAN","widget":{"name":"useSlgLayer"},"link":null},{"localized_name":"slgLayer","name":"slgLayer","shape":7,"type":"INT","widget":{"name":"slgLayer"},"link":null}],"outputs":[{"localized_name":"Video Advanced Feature Inputs","name":"Video Advanced Feature Inputs","type":"RUNWAREVIDEOADVANCEDFEATUREINPUTS","links":[12]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"edcdd9891624033fdf95feae729fda0cf1f5821c","Node name for S&R":"Runware Video Advanced Feature Inputs"},"widgets_values":[false,0,false,0,false,"",false,"",false,0],"bgcolor":"#5345bf"},{"id":10,"type":"LoadImage","pos":[-601.8471069335938,1116.7445068359375],"size":[274.080078125,314.00006103515625],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"image","name":"image","type":"COMBO","widget":{"name":"image"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[6]},{"localized_name":"MASK","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.46","Node name for S&R":"LoadImage"},"widgets_values":["i_animate_character.jpg","image"]},{"id":4,"type":"Runware Video Inference Inputs","pos":[-177.76858520507812,1029.5281982421875],"size":[320.0390625,242],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"Image","name":"Image","shape":7,"type":"IMAGE","link":null},{"localized_name":"Frame Images","name":"Frame Images","shape":7,"type":"RUNWAREVIDEOINPUTSFRAMEIMAGES","link":null},{"localized_name":"Audio Inputs","name":"Audio Inputs","shape":7,"type":"RUNWAREAUDIOINPUT","link":null},{"localized_name":"Speech Inputs","name":"Speech Inputs","shape":7,"type":"RUNWARESPEECHINPUT","link":null},{"localized_name":"Mask","name":"Mask","shape":7,"type":"IMAGE","link":null},{"localized_name":"Frame","name":"Frame","shape":7,"type":"IMAGE","link":null},{"localized_name":"References","name":"References","shape":7,"type":"RUNWAREVIDEOINPUTSREFERENCEIMAGES","link":7},{"localized_name":"Reference Videos","name":"Reference Videos","shape":7,"type":"RUNWAREREFERENCEVIDEOS","link":5},{"localized_name":"Reference Voices","name":"Reference Voices","shape":7,"type":"RUNWAREREFERENCEVOICES","link":null},{"localized_name":"Audio","name":"Audio","shape":7,"type":"STRING","widget":{"name":"Audio"},"link":null},{"localized_name":"Video","name":"Video","shape":7,"type":"STRING","widget":{"name":"Video"},"link":null}],"outputs":[{"localized_name":"Video Inference Inputs","name":"Video Inference Inputs","type":"RUNWAREVIDEOINFERENCEINPUTS","links":[8]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"edcdd9891624033fdf95feae729fda0cf1f5821c","Node name for S&R":"Runware Video Inference Inputs"},"widgets_values":["",""],"bgcolor":"#5345bf"},{"id":12,"type":"Runware Wan Animate Advanced Feature Settings","pos":[976.1466674804688,759.4190063476562],"size":[416.1031188964844,178],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"useMode","name":"useMode","shape":7,"type":"BOOLEAN","widget":{"name":"useMode"},"link":null},{"localized_name":"mode","name":"mode","shape":7,"type":"COMBO","widget":{"name":"mode"},"link":null},{"localized_name":"useRetargetPose","name":"useRetargetPose","shape":7,"type":"BOOLEAN","widget":{"name":"useRetargetPose"},"link":null},{"localized_name":"retargetPose","name":"retargetPose","shape":7,"type":"BOOLEAN","widget":{"name":"retargetPose"},"link":null},{"localized_name":"usePrevSegCondFrames","name":"usePrevSegCondFrames","shape":7,"type":"BOOLEAN","widget":{"name":"usePrevSegCondFrames"},"link":null},{"localized_name":"prevSegCondFrames","name":"prevSegCondFrames","shape":7,"type":"INT","widget":{"name":"prevSegCondFrames"},"link":null}],"outputs":[{"localized_name":"Wan Animate Advanced Feature Settings","name":"Wan Animate Advanced Feature Settings","type":"RUNWAREWANANIMATEADVANCEDFEATURESETTINGS","links":[11]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"edcdd9891624033fdf95feae729fda0cf1f5821c","Node name for S&R":"Runware Wan Animate Advanced Feature Settings"},"widgets_values":[true,"animate",false,false,false,1],"bgcolor":"#5345bf"},{"id":7,"type":"Runware Reference Videos","pos":[-123.7001724243164,1341.5987548828125],"size":[270.8531188964844,130],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"Video1","name":"Video1","shape":7,"type":"STRING","widget":{"name":"Video1"},"link":4},{"localized_name":"Video2","name":"Video2","shape":7,"type":"STRING","widget":{"name":"Video2"},"link":null},{"localized_name":"Video3","name":"Video3","shape":7,"type":"STRING","widget":{"name":"Video3"},"link":null},{"localized_name":"Video4","name":"Video4","shape":7,"type":"STRING","widget":{"name":"Video4"},"link":null}],"outputs":[{"localized_name":"Reference Videos","name":"Reference Videos","type":"RUNWAREREFERENCEVIDEOS","links":[5]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"edcdd9891624033fdf95feae729fda0cf1f5821c","Node name for S&R":"Runware Reference Videos"},"widgets_values":["","","",""],"bgcolor":"#5345bf"},{"id":5,"type":"LoadVideo","pos":[-419.5846252441406,1105.024658203125],"size":[274.080078125,348.080078125],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"file","name":"file","type":"COMBO","widget":{"name":"file"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"VIDEO","name":"VIDEO","type":"VIDEO","links":[3]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.46","Node name for S&R":"LoadVideo"},"widgets_values":["video_singer.mp4","image"]}],"links":[[1,2,0,1,0,"RUNWAREVIDEOMODEL"],[2,1,0,3,0,"VIDEO"],[3,5,0,8,0,"VIDEO,AUDIO"],[4,8,0,7,0,"STRING"],[5,7,0,4,7,"RUNWAREREFERENCEVIDEOS"],[6,10,0,9,0,"IMAGE"],[7,9,0,4,6,"RUNWAREVIDEOINPUTSREFERENCEIMAGES"],[8,4,0,1,6,"RUNWAREVIDEOINFERENCEINPUTS"],[11,12,0,13,0,"RUNWAREWANANIMATEADVANCEDFEATURESETTINGS"],[12,13,0,1,8,"RUNWAREVIDEOADVANCEDFEATUREINPUTS"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.6559259259259259,"offset":[699.0635433100077,-581.8007975857798]}},"version":0.4} \ No newline at end of file