From 0cf9d8b2e8be69b0b30728004ea14fc4392e7aff Mon Sep 17 00:00:00 2001 From: Sirshendu Ganguly Date: Wed, 3 Dec 2025 21:31:00 -0500 Subject: [PATCH] Add KlingAI O1 model, keepOriginalSound provider setting, Reference Videos input, and useCustomDimensions dropdown --- clientlibs/utils.js | 24 +++++++++++++++- .../providerSettings/klingProviderSettings.py | 16 +++++++++++ modules/videoInferenceInputs.py | 7 +++++ modules/videoModelSearch.py | 28 +++++++++++++------ ...unware_Image_Inference_ seedream_v4_5.json | 1 + ...Runware_Image_to_Video_Kling_VIDEO_O1.json | 1 + 6 files changed, 67 insertions(+), 10 deletions(-) create mode 100644 workflows/Runware_Image_Inference_ seedream_v4_5.json create mode 100644 workflows/Runware_Image_to_Video_Kling_VIDEO_O1.json diff --git a/clientlibs/utils.js b/clientlibs/utils.js index 36865a4..9f65a42 100644 --- a/clientlibs/utils.js +++ b/clientlibs/utils.js @@ -1674,6 +1674,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) { "klingai:5@2 (KlingAI V2.1 Pro (I2V))", "klingai:5@3 (KlingAI V2.0 Master)", "klingai:6@1 (KlingAI 2.5 Turbo Pro)", "klingai:7@1 (KlingAI Lip-Sync)", + "klingai:kling@o1 (Kling VIDEO O1)", ], "Veo": [ "google:2@0 (Veo 2.0)", "google:3@0 (Veo 3.0)", "google:3@1 (Veo 3.0 Fast)", @@ -1734,6 +1735,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) { "klingai:5@3": {"width": 1920, "height": 1080}, "klingai:6@1": {"width": 1920, "height": 1080}, "klingai:7@1": {"width": 0, "height": 0}, + "klingai:kling@o1": {"width": 1440, "height": 1440}, "google:2@0": {"width": 1280, "height": 720}, "google:3@0": {"width": 1280, "height": 720}, "google:3@1": {"width": 1280, "height": 720}, @@ -1795,7 +1797,10 @@ function videoModelSearchFilterHandler(videoModelSearchNode) { const selectedModel = videoListWidget.value; if (!selectedModel) return; - if (useCustomDimensionsWidget && !useCustomDimensionsWidget.value) { + const useCustomDimensionsValue = useCustomDimensionsWidget ? useCustomDimensionsWidget.value : "Model Default"; + + // Handle "Disabled" option - disable widgets and set to 0 (but Python will use None in dict) + if (useCustomDimensionsValue === "Disabled") { setWidthHeightEnabled(false); if (widthWidget.callback) widthWidget.callback(0, "customSetOperation"); widthWidget.value = 0; @@ -1805,11 +1810,19 @@ function videoModelSearchFilterHandler(videoModelSearchNode) { return; } + // Handle "Model Default" option - disable widgets and use model defaults + if (useCustomDimensionsValue === "Model Default") { + setWidthHeightEnabled(false); + } else if (useCustomDimensionsValue === "Custom") { + // Handle "Custom" option - enable widgets setWidthHeightEnabled(true); + } const modelCode = selectedModel.split(" (")[0]; const dims = MODEL_DIMENSIONS[modelCode] || DEFAULT_DIMENSIONS; + // Only update dimensions if "Model Default" is selected (widgets are disabled but we show the values) + if (useCustomDimensionsValue === "Model Default") { if (dims.width === 0 && dims.height === 0) { // Set to None when dimensions are 0,0 if (widthWidget.callback) widthWidget.callback(null, "customSetOperation"); @@ -1820,6 +1833,9 @@ function videoModelSearchFilterHandler(videoModelSearchNode) { if (heightWidget.callback) heightWidget.callback(dims.height, "customSetOperation"); videoModelSearchNode.setDirtyCanvas(true); } + } + // For "Custom" mode, don't update - let user set their own values + // For "Disabled" mode, already handled above (set to None and disabled) } function filterModelList() { @@ -1915,6 +1931,8 @@ function klingProviderSettingsToggleHandler(klingNode) { const bgmPromptWidget = klingNode.widgets.find(w => w.name === "bgmPrompt"); const useAsmrModeWidget = klingNode.widgets.find(w => w.name === "useAsmrMode"); 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"); // Helper function to toggle widget enabled state (EXACT same pattern as imageInferenceToggleHandler) function toggleWidgetState(useWidget, paramWidget, paramName) { @@ -1986,6 +2004,10 @@ function klingProviderSettingsToggleHandler(klingNode) { if (useAsmrModeWidget && asmrModeWidget) { toggleWidgetState(useAsmrModeWidget, asmrModeWidget, "asmrMode"); } + + if (useKeepOriginalSoundWidget && keepOriginalSoundWidget) { + toggleWidgetState(useKeepOriginalSoundWidget, keepOriginalSoundWidget, "keepOriginalSound"); + } } function lumaProviderSettingsToggleHandler(lumaNode) { diff --git a/modules/providerSettings/klingProviderSettings.py b/modules/providerSettings/klingProviderSettings.py index 6fa85fb..98df5cd 100644 --- a/modules/providerSettings/klingProviderSettings.py +++ b/modules/providerSettings/klingProviderSettings.py @@ -70,6 +70,16 @@ class RunwareKlingProviderSettings: "tooltip": "Enable ASMR mode for audio generation", "default": False, }), + "useKeepOriginalSound": ("BOOLEAN", { + "tooltip": "Enable to include keepOriginalSound parameter in provider settings", + "default": False, + }), + "keepOriginalSound": ("BOOLEAN", { + "tooltip": "Keep the original sound from the source video. Only used when 'Use Keep Original Sound' is enabled.", + "default": True, + "label_on": "Enabled", + "label_off": "Disabled", + }), } } @@ -89,6 +99,7 @@ class RunwareKlingProviderSettings: useSoundEffectPrompt = kwargs.get("useSoundEffectPrompt", False) useBgmPrompt = kwargs.get("useBgmPrompt", False) useAsmrMode = kwargs.get("useAsmrMode", False) + useKeepOriginalSound = kwargs.get("useKeepOriginalSound", False) # Get value parameters cameraControl = kwargs.get("cameraControl", "none") @@ -97,6 +108,7 @@ class RunwareKlingProviderSettings: soundEffectPrompt = kwargs.get("soundEffectPrompt", "") bgmPrompt = kwargs.get("bgmPrompt", "") asmrMode = kwargs.get("asmrMode", False) + keepOriginalSound = kwargs.get("keepOriginalSound", True) # Build settings dictionary - only include what is enabled klingSettings: Dict[str, Any] = {} @@ -125,6 +137,10 @@ class RunwareKlingProviderSettings: if useAsmrMode: klingSettings["asmrMode"] = asmrMode + # Add keepOriginalSound only if useKeepOriginalSound is enabled + if useKeepOriginalSound: + klingSettings["keepOriginalSound"] = keepOriginalSound + # Clean up None values klingSettings = {k: v for k, v in klingSettings.items() if v is not None} diff --git a/modules/videoInferenceInputs.py b/modules/videoInferenceInputs.py index 966231c..cdee2c8 100644 --- a/modules/videoInferenceInputs.py +++ b/modules/videoInferenceInputs.py @@ -31,6 +31,9 @@ class videoInferenceInputs: "References": ("RUNWAREVIDEOINPUTSREFERENCEIMAGES", { "tooltip": "Connect the Video Inputs References node to provide reference images." }), + "Reference Videos": ("RUNWAREREFERENCEVIDEOS", { + "tooltip": "Connect the Reference Videos node to provide reference video mediaUUIDs." + }), } } @@ -49,6 +52,7 @@ class videoInferenceInputs: frame = kwargs.get("Frame", None) frameImages = kwargs.get("Frame Images", None) references = kwargs.get("References", None) + referenceVideos = kwargs.get("Reference Videos", None) inputs = {} @@ -73,4 +77,7 @@ class videoInferenceInputs: if references is not None and len(references) > 0: inputs["referenceImages"] = references + if referenceVideos is not None and len(referenceVideos) > 0: + inputs["referenceVideos"] = referenceVideos + return (inputs,) diff --git a/modules/videoModelSearch.py b/modules/videoModelSearch.py index 36a5f33..384c316 100644 --- a/modules/videoModelSearch.py +++ b/modules/videoModelSearch.py @@ -16,6 +16,7 @@ class videoModelSearch: "klingai:5@3 (KlingAI V2.0 Master)", "klingai:6@1 (KlingAI 2.5 Turbo Pro)", "klingai:7@1 (KlingAI Lip-Sync)", + "klingai:kling@o1 (Kling VIDEO O1)", ], "Veo": [ "google:2@0 (Veo 2.0)", @@ -94,6 +95,7 @@ class videoModelSearch: "klingai:5@3": {"width": 1920, "height": 1080}, "klingai:6@1": {"width": 1920, "height": 1080}, "klingai:7@1": {"width": 0, "height": 0}, + "klingai:kling@o1": {"width": 1440, "height": 1440}, # Veo Models "google:2@0": {"width": 1280, "height": 720}, @@ -200,11 +202,9 @@ class videoModelSearch: "label_on": "Enabled", "label_off": "Disabled", }), - "useCustomDimensions": ("BOOLEAN", { - "tooltip": "Enable to use custom Width/Height values set below. Disable to automatically use the model's recommended resolution.", - "default": False, - "label_on": "Custom", - "label_off": "Model Default", + "useCustomDimensions": (["Model Default", "Custom", "Disabled"], { + "tooltip": "Model Default: Use model's recommended resolution. Custom: Use custom Width/Height values. Disabled: Don't pass width/height to API.", + "default": "Model Default", }), "Width": ("INT", { "default": defaultDims["width"], @@ -247,7 +247,7 @@ class videoModelSearch: searchInput = kwargs.get("Model Search") customWidth = kwargs.get("Width", 0) customHeight = kwargs.get("Height", 0) - useCustomDimensions = kwargs.get("useCustomDimensions", True) + useCustomDimensions = kwargs.get("useCustomDimensions", "Model Default") if enableSearchValue: modelAirCode = searchInput @@ -257,18 +257,28 @@ class videoModelSearch: dimensions = self.MODEL_DIMENSIONS.get(modelAirCode, self.DEFAULT_DIMENSIONS) - if useCustomDimensions: + if useCustomDimensions == "Custom": # Use custom dimensions from Width/Height widgets width = customWidth height = customHeight - else: + returnWidth = width + returnHeight = height + elif useCustomDimensions == "Disabled": + # Don't pass width/height (use None in dict, but return 0 for INT output) + width = None + height = None + returnWidth = 0 + returnHeight = 0 + else: # "Model Default" # Use model default dimensions width = dimensions["width"] height = dimensions["height"] + returnWidth = width + returnHeight = height return ({ "model": modelAirCode, "useCustomDimensions": useCustomDimensions, "width": width, "height": height, - }, width, height) + }, returnWidth, returnHeight) diff --git a/workflows/Runware_Image_Inference_ seedream_v4_5.json b/workflows/Runware_Image_Inference_ seedream_v4_5.json new file mode 100644 index 0000000..8928880 --- /dev/null +++ b/workflows/Runware_Image_Inference_ seedream_v4_5.json @@ -0,0 +1 @@ +{"id":"5cf854c6-824e-4e51-995c-a2c146c44890","revision":0,"last_node_id":35,"last_link_id":48,"nodes":[{"id":32,"type":"Runware Image Inference Inputs","pos":[-44.37672424316406,620.5724487304688],"size":[303.0162048339844,210],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"image","name":"image","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 1","name":"Reference Image 1","shape":7,"type":"IMAGE","link":46},{"localized_name":"Reference Image 2","name":"Reference Image 2","shape":7,"type":"IMAGE","link":47},{"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":[45]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"373666653872832acd060db812160b6b2441ce69","Node name for S&R":"Runware Image Inference Inputs"},"widgets_values":["","","",""],"bgcolor":"#5345bf"},{"id":33,"type":"LoadImage","pos":[-356.2243347167969,631.23876953125],"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":[46]},{"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":["seedream4_imagesToimage_1.png","image"]},{"id":35,"type":"SaveImage","pos":[749.05908203125,445.36175537109375],"size":[270,270],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":48},{"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":31,"type":"Runware Model Search","pos":[-42.15196990966797,378.870361328125],"size":[270,154],"flags":{},"order":1,"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":[44]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"373666653872832acd060db812160b6b2441ce69","Node name for S&R":"Runware Model Search"},"widgets_values":["bytedance:seedream@4.5","All","Base Model","bytedance:seedream@4.5 (Seedream 4.5 4.5)",true],"bgcolor":"#5345bf"},{"id":30,"type":"Runware Image Inference","pos":[290.6390686035156,352.0875549316406],"size":[400,998],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"Model","name":"Model","type":"RUNWAREMODEL","link":44},{"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":45},{"localized_name":"providerSettings","name":"providerSettings","shape":7,"type":"RUNWAREPROVIDERSETTINGS","link":null},{"localized_name":"safetyInputs","name":"safetyInputs","shape":7,"type":"RUNWARESAFETYINPUTS","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":[48]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"373666653872832acd060db812160b6b2441ce69","Node name for S&R":"Runware Image Inference"},"widgets_values":["Replace the clothing in image 1 with the outfit from image 2.","",false,"Disabled","Custom",1760,2368,false,"1k",false,4,false,"Default",false,6.5,false,1361475989,"randomize",false,0,0.8,false,32,"WEBP",1,"none"],"bgcolor":"#5345bf"},{"id":34,"type":"LoadImage","pos":[-43.05619812011719,902.490966796875],"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":[47]},{"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":["seedream4_5_imagesToimage_2.png","image"]}],"links":[[44,31,0,30,0,"RUNWAREMODEL"],[45,32,0,30,12,"RUNWAREIMAGEINFERENCEINPUTS"],[46,33,0,32,1,"IMAGE"],[47,34,0,32,2,"IMAGE"],[48,30,0,35,0,"IMAGE"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.6209213230591549,"offset":[723.3702441707076,-298.8647335580716]}},"version":0.4} \ No newline at end of file diff --git a/workflows/Runware_Image_to_Video_Kling_VIDEO_O1.json b/workflows/Runware_Image_to_Video_Kling_VIDEO_O1.json new file mode 100644 index 0000000..af99568 --- /dev/null +++ b/workflows/Runware_Image_to_Video_Kling_VIDEO_O1.json @@ -0,0 +1 @@ +{"id":"5cf854c6-824e-4e51-995c-a2c146c44890","revision":0,"last_node_id":40,"last_link_id":52,"nodes":[{"id":1,"type":"SaveVideo","pos":[899.7476806640625,376.3740539550781],"size":[270,368],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"video","name":"video","type":"VIDEO","link":41},{"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","mp4","auto"]},{"id":32,"type":"Runware Reference Videos","pos":[98.46459197998047,917.5674438476562],"size":[270.8531188964844,130],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"Video1","name":"Video1","shape":7,"type":"STRING","widget":{"name":"Video1"},"link":45},{"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":[46]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"4bac5c49c5bc312cbd33978e06f06a92d60e1ff9","Node name for S&R":"Runware Reference Videos"},"widgets_values":["","","",""],"bgcolor":"#5345bf"},{"id":34,"type":"Runware Media Upload","pos":[140.03121948242188,1095.8790283203125],"size":[270,58],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"media","name":"media","shape":7,"type":"VIDEO,AUDIO","link":44},{"localized_name":"mediaUUID","name":"mediaUUID","shape":7,"type":"STRING","widget":{"name":"mediaUUID"},"link":null}],"outputs":[{"localized_name":"mediaUUID","name":"mediaUUID","type":"STRING","links":[45]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"4bac5c49c5bc312cbd33978e06f06a92d60e1ff9","Node name for S&R":"Runware Media Upload"},"widgets_values":["3f8a6e5b-ebe1-4d6d-aa03-97955aff6611"],"bgcolor":"#5345bf"},{"id":37,"type":"LoadImage","pos":[-196.01991271972656,357.0917053222656],"size":[274.080078125,314.0000305175781],"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":[48]},{"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":["bird_1024_1024.png","image"]},{"id":26,"type":"Runware Video Inference","pos":[477.35601806640625,318.12310791015625],"size":[400,736],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"Model","name":"Model","type":"RUNWAREVIDEOMODEL","link":52},{"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":49},{"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":50},{"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":"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":[41]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"bdc86e015971881247addb07bb8f22f7d85c0062","Node name for S&R":"Runware Video Inference"},"widgets_values":[false,"Disabled",true,5,false,24,"mp4",false,1767093020,"randomize",false,20,1,"none","A flying bird","","",""],"bgcolor":"#5345bf"},{"id":33,"type":"LoadVideo","pos":[-198.59970092773438,953.6478881835938],"size":[274.080078125,279.56005859375],"flags":{},"order":1,"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":[44]}],"properties":{"cnr_id":"comfy-core","ver":"0.3.46","Node name for S&R":"LoadVideo"},"widgets_values":["30_second_video.mp4","image"]},{"id":36,"type":"Runware Video Inputs References","pos":[-217.8125457763672,720.440185546875],"size":[312.908203125,190],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"Image1","name":"Image1","shape":7,"type":"IMAGE","link":48},{"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":[47]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"4bac5c49c5bc312cbd33978e06f06a92d60e1ff9","Node name for S&R":"Runware Video Inputs References"},"widgets_values":["","","",""],"bgcolor":"#5345bf"},{"id":38,"type":"Runware KlingAI Provider Settings","pos":[902.841552734375,758.56591796875],"size":[400,430],"flags":{},"order":2,"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}],"outputs":[{"localized_name":"Provider Settings","name":"Provider Settings","type":"RUNWAREPROVIDERSETTINGS","links":[49]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"4bac5c49c5bc312cbd33978e06f06a92d60e1ff9","Node name for S&R":"Runware KlingAI Provider Settings"},"widgets_values":[false,"none",false,1,false,1,false,"",false,"",false,false,true,true],"bgcolor":"#5345bf"},{"id":31,"type":"Runware Video Inference Inputs","pos":[127.3403549194336,669.8623046875],"size":[320.0390625,182],"flags":{},"order":7,"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":"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":47},{"localized_name":"Reference Videos","name":"Reference Videos","shape":7,"type":"RUNWAREREFERENCEVIDEOS","link":46},{"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":[50]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"4bac5c49c5bc312cbd33978e06f06a92d60e1ff9","Node name for S&R":"Runware Video Inference Inputs"},"widgets_values":["",""],"bgcolor":"#5345bf"},{"id":40,"type":"Runware Video Model Search","pos":[130.3472442626953,323.0886535644531],"size":[287.380859375,242],"flags":{},"order":3,"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}],"outputs":[{"localized_name":"Runware Video Model","name":"Runware Video Model","type":"RUNWAREVIDEOMODEL","links":[52]},{"localized_name":"Width","name":"Width","type":"INT","links":null},{"localized_name":"Height","name":"Height","type":"INT","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"4bac5c49c5bc312cbd33978e06f06a92d60e1ff9","Node name for S&R":"Runware Video Model Search"},"widgets_values":["","KlingAI","klingai:kling@o1 (Kling VIDEO O1)",false,"Custom",1440,1440],"bgcolor":"#5345bf"}],"links":[[41,26,0,1,0,"VIDEO"],[44,33,0,34,0,"VIDEO,AUDIO"],[45,34,0,32,0,"STRING"],[46,32,0,31,5,"RUNWAREREFERENCEVIDEOS"],[47,36,0,31,4,"RUNWAREVIDEOINPUTSREFERENCEIMAGES"],[48,37,0,36,0,"IMAGE"],[49,38,0,26,3,"RUNWAREPROVIDERSETTINGS"],[50,31,0,26,6,"RUNWAREVIDEOINFERENCEINPUTS"],[52,40,0,26,0,"RUNWAREVIDEOMODEL"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.8701198968645534,"offset":[189.88072437871375,-232.61537455395788]}},"version":0.4} \ No newline at end of file