From 3efe252718f9dc608c0fc3511c2faa7c01429afb Mon Sep 17 00:00:00 2001 From: Sirshendu Ganguly Date: Thu, 21 May 2026 16:50:00 +0530 Subject: [PATCH 1/5] Added support for Flux outpaint --- clientlibs/main.js | 4 +- clientlibs/utils.js | 43 +++++++++++++ modules/outpaintSettings.py | 61 ++++++++++++------- modules/settings.py | 17 +++++- ...Runware_Image_Inference_Flux_Outpaint.json | 1 + .../Runware_Video_Inference_Veo_3_R2V.json | 1 + 6 files changed, 103 insertions(+), 24 deletions(-) create mode 100644 workflows/Runware_Image_Inference_Flux_Outpaint.json create mode 100644 workflows/Runware_Video_Inference_Veo_3_R2V.json diff --git a/clientlibs/main.js b/clientlibs/main.js index 78a74bb..ed97d78 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, saveTextHandler, mediaUUIDHandler, save3DFilepathHandler, videoTranscriptionHandler, videoOutputsHandler, handleCustomErrors, videoInferenceDimensionsHandler, videoModelSearchFilterHandler, audioModelSearchFilterHandler, textModelSearchFilterHandler, vectorizeModelSearchFilterHandler, vectorizeToggleHandler, useParameterToggleHandler, imageInferenceToggleHandler, imageInferenceAdvancedFeaturesToggleHandler, watermarkAdvancedFeatureToggleHandler, videoInferenceSpeechInputToggleHandler, regionalPromptingRegionsToggleHandler, upscalerToggleHandler, imageUpscalerSettingsToggleHandler, videoUpscalerToggleHandler, audioInferenceToggleHandler, audioInferenceSpeechToggleHandler, audioSettingsToggleHandler, textInferenceSettingsToggleHandler, videoSettingsToggleHandler, videoInferenceSettingsTtsToggleHandler, videoInferenceSettingsActiveSpeakerDetectionToggleHandler, videoInferenceSettingsActiveSpeakerBoundingBoxesToggleHandler, videoInferenceSettingsSegmentsToggleHandler, acceleratorOptionsToggleHandler, bytedanceProviderSettingsToggleHandler, xaiProviderSettingsToggleHandler, viduProviderSettingsToggleHandler, sourcefulProviderSettingsToggleHandler, sourcefulProviderSettingsFontsToggleHandler, threeDInferenceToggleHandler, threeDInferenceSettingsToggleHandler, threeDInferenceSettingsLatToggleHandler, ultralyticsProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, mireloProviderSettingsToggleHandler, googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler, safetyInputsToggleHandler, imageInferenceSettingsColorPaletteToggleHandler, audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler, wanAnimateAdvancedFeatureSettingsToggleHandler, videoAdvancedFeatureInputsToggleHandler, audioInferenceInputsToggleHandler, audioInferenceSpeechVoicesToggleHandler, referenceVideosToggleHandler } from "./utils.js"; +import { promptEnhanceHandler, syncDimensionsNodeHandler, searchNodeHandler, APIKeyHandler, captionNodeHandler, saveTextHandler, mediaUUIDHandler, save3DFilepathHandler, videoTranscriptionHandler, videoOutputsHandler, handleCustomErrors, videoInferenceDimensionsHandler, videoModelSearchFilterHandler, audioModelSearchFilterHandler, textModelSearchFilterHandler, vectorizeModelSearchFilterHandler, vectorizeToggleHandler, useParameterToggleHandler, imageInferenceToggleHandler, imageInferenceAdvancedFeaturesToggleHandler, watermarkAdvancedFeatureToggleHandler, videoInferenceSpeechInputToggleHandler, regionalPromptingRegionsToggleHandler, upscalerToggleHandler, imageUpscalerSettingsToggleHandler, videoUpscalerToggleHandler, audioInferenceToggleHandler, audioInferenceSpeechToggleHandler, audioSettingsToggleHandler, textInferenceSettingsToggleHandler, videoSettingsToggleHandler, videoInferenceSettingsTtsToggleHandler, videoInferenceSettingsActiveSpeakerDetectionToggleHandler, videoInferenceSettingsActiveSpeakerBoundingBoxesToggleHandler, videoInferenceSettingsSegmentsToggleHandler, acceleratorOptionsToggleHandler, bytedanceProviderSettingsToggleHandler, xaiProviderSettingsToggleHandler, viduProviderSettingsToggleHandler, sourcefulProviderSettingsToggleHandler, sourcefulProviderSettingsFontsToggleHandler, threeDInferenceToggleHandler, threeDInferenceSettingsToggleHandler, threeDInferenceSettingsLatToggleHandler, ultralyticsProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, mireloProviderSettingsToggleHandler, googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler, outpaintSettingsToggleHandler, safetyInputsToggleHandler, imageInferenceSettingsColorPaletteToggleHandler, audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler, wanAnimateAdvancedFeatureSettingsToggleHandler, videoAdvancedFeatureInputsToggleHandler, audioInferenceInputsToggleHandler, audioInferenceSpeechVoicesToggleHandler, referenceVideosToggleHandler } from "./utils.js"; import { RUNWARE_NODE_TYPES, RUNWARE_NODE_PROPS, SEARCH_TERMS } from "./types.js"; const nodeInitList = []; @@ -145,6 +145,8 @@ app.registerExtension({ sourcefulProviderSettingsFontsToggleHandler(node); } else if(nodeClass === RUNWARE_NODE_TYPES.SETTINGS) { settingsToggleHandler(node); + } else if(nodeClass === RUNWARE_NODE_TYPES.OUTPAINT) { + outpaintSettingsToggleHandler(node); } else if(nodeClass === RUNWARE_NODE_TYPES.SAFETYINPUTS) { safetyInputsToggleHandler(node); } else if(nodeClass === RUNWARE_NODE_TYPES.IMAGEINFERENCESETTINGSCOLORPALETTE) { diff --git a/clientlibs/utils.js b/clientlibs/utils.js index 341535b..62a32cb 100644 --- a/clientlibs/utils.js +++ b/clientlibs/utils.js @@ -5042,6 +5042,7 @@ export { syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler, + outpaintSettingsToggleHandler, safetyInputsToggleHandler, imageInferenceSettingsColorPaletteToggleHandler, audioInputToggleHandler, @@ -5156,6 +5157,8 @@ function settingsToggleHandler(settingsNode) { const renderingSpeedWidget = settingsNode.widgets.find(w => w.name === "renderingSpeed"); const useMagicPromptWidget = settingsNode.widgets.find(w => w.name === "useMagicPrompt"); const magicPromptWidget = settingsNode.widgets.find(w => w.name === "magicPrompt"); + const useAutoCropWidget = settingsNode.widgets.find(w => w.name === "useAutoCrop"); + const autoCropWidget = settingsNode.widgets.find(w => w.name === "autoCrop"); // Helper function to toggle widget enabled state function toggleWidgetState(useWidget, paramWidget, paramName) { @@ -5248,6 +5251,46 @@ function settingsToggleHandler(settingsNode) { if (useMagicPromptWidget && magicPromptWidget) { toggleWidgetState(useMagicPromptWidget, magicPromptWidget, "magicPrompt"); } + if (useAutoCropWidget && autoCropWidget) { + toggleWidgetState(useAutoCropWidget, autoCropWidget, "autoCrop"); + } +} + +function outpaintSettingsToggleHandler(settingsNode) { + if (!settingsNode?.widgets) return; + + const useTopWidget = settingsNode.widgets.find(w => w && w.name === "useTop"); + const topWidget = settingsNode.widgets.find(w => w && w.name === "Top"); + const useRightWidget = settingsNode.widgets.find(w => w && w.name === "useRight"); + const rightWidget = settingsNode.widgets.find(w => w && w.name === "Right"); + const useBottomWidget = settingsNode.widgets.find(w => w && w.name === "useBottom"); + const bottomWidget = settingsNode.widgets.find(w => w && w.name === "Bottom"); + const useLeftWidget = settingsNode.widgets.find(w => w && w.name === "useLeft"); + const leftWidget = settingsNode.widgets.find(w => w && w.name === "Left"); + const useBlurWidget = settingsNode.widgets.find(w => w && w.name === "useBlur"); + const blurWidget = settingsNode.widgets.find(w => w && w.name === "Blur"); + + function toggleWidgetState(useWidget, paramWidget, paramName) { + if (!useWidget || !paramWidget) return; + function applyState() { + const enabled = useWidget.value === true; + toggleWidgetEnabled(paramWidget, enabled, settingsNode); + 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"; + } + settingsNode.setDirtyCanvas(true); + } + setTimeout(applyState, 100); + appendWidgetCB(useWidget, () => setTimeout(applyState, 50)); + } + + if (useTopWidget && topWidget) toggleWidgetState(useTopWidget, topWidget, "Top"); + if (useRightWidget && rightWidget) toggleWidgetState(useRightWidget, rightWidget, "Right"); + if (useBottomWidget && bottomWidget) toggleWidgetState(useBottomWidget, bottomWidget, "Bottom"); + if (useLeftWidget && leftWidget) toggleWidgetState(useLeftWidget, leftWidget, "Left"); + if (useBlurWidget && blurWidget) toggleWidgetState(useBlurWidget, blurWidget, "Blur"); } function safetyInputsToggleHandler(safetyNode) { diff --git a/modules/outpaintSettings.py b/modules/outpaintSettings.py index 610fecf..946a2f1 100644 --- a/modules/outpaintSettings.py +++ b/modules/outpaintSettings.py @@ -3,50 +3,70 @@ class outpaintSettings: def INPUT_TYPES(cls): return { "required": { + "useTop": ("BOOLEAN", { + "tooltip": "Enable to include top extension in outpaint settings.", + "default": False, + }), "Top": ( "INT", { - "tooltip": "Number of pixels to extend at the top of the image. Must be a multiple of 64.", + "tooltip": "Number of pixels to extend at the top of the image. Must be a multiple of 64. Only used when 'Use Top' is enabled.", "default": 64, "min": 0, "max": 2048, - "step": 64, + "step": 1, }, ), + "useRight": ("BOOLEAN", { + "tooltip": "Enable to include right extension in outpaint settings.", + "default": False, + }), "Right": ( "INT", { - "tooltip": "Number of pixels to extend at the right of the image. Must be a multiple of 64.", + "tooltip": "Number of pixels to extend at the right of the image. Must be a multiple of 64. Only used when 'Use Right' is enabled.", "default": 64, "min": 0, "max": 2048, - "step": 64, + "step": 1, }, ), + "useBottom": ("BOOLEAN", { + "tooltip": "Enable to include bottom extension in outpaint settings.", + "default": False, + }), "Bottom": ( "INT", { - "tooltip": "Number of pixels to extend at the bottom of the image. Must be a multiple of 64.", + "tooltip": "Number of pixels to extend at the bottom of the image. Must be a multiple of 64. Only used when 'Use Bottom' is enabled.", "default": 64, "min": 0, "max": 2048, - "step": 64, + "step": 1, }, ), + "useLeft": ("BOOLEAN", { + "tooltip": "Enable to include left extension in outpaint settings.", + "default": False, + }), "Left": ( "INT", { - "tooltip": "Number of pixels to extend at the left of the image. Must be a multiple of 64.", + "tooltip": "Number of pixels to extend at the left of the image. Must be a multiple of 64. Only used when 'Use Left' is enabled.", "default": 64, "min": 0, "max": 2048, - "step": 64, + "step": 1, }, ), + "useBlur": ("BOOLEAN", { + "tooltip": "Enable to include blur in outpaint settings.", + "default": False, + }), "Blur": ( "INT", { - "tooltip": "The amount of blur to apply at the boundaries between the original image and the extended areas, measured in pixels.", + "tooltip": "The amount of blur to apply at the boundaries between the original image and the extended areas, measured in pixels. Only used when 'Use Blur' is enabled.", "default": 0, "min": 0, "max": 32, @@ -63,18 +83,17 @@ def INPUT_TYPES(cls): CATEGORY = "Runware" def outpaintSettings(self, **kwargs): - top = kwargs.get("Top", 0) - right = kwargs.get("Right", 0) - bottom = kwargs.get("Bottom", 0) - left = kwargs.get("Left", 0) - blur = kwargs.get("Blur", 0) + outpaint = {} - outpaint = { - "top": top, - "right": right, - "bottom": bottom, - "left": left, - "blur": blur, - } + if kwargs.get("useTop", False): + outpaint["top"] = int(kwargs.get("Top", 0)) + if kwargs.get("useRight", False): + outpaint["right"] = int(kwargs.get("Right", 0)) + if kwargs.get("useBottom", False): + outpaint["bottom"] = int(kwargs.get("Bottom", 0)) + if kwargs.get("useLeft", False): + outpaint["left"] = int(kwargs.get("Left", 0)) + if kwargs.get("useBlur", False): + outpaint["blur"] = int(kwargs.get("Blur", 0)) return (outpaint,) diff --git a/modules/settings.py b/modules/settings.py index 7f2f31f..265d5e6 100644 --- a/modules/settings.py +++ b/modules/settings.py @@ -3,7 +3,7 @@ Provides settings for image generation including temperature, systemPrompt, topP, layers, quality, background, style, search, promptExtend, editRegions, thinking (boolean), thinkingLevel (high/medium/low), sequential, renderingSpeed (TURBO/DEFAULT/QUALITY), -magicPrompt (AUTO/ON/OFF), and colorPalette +magicPrompt (AUTO/ON/OFF), autoCrop, and colorPalette (from Runware Image Inference Settings Color Palette). """ @@ -172,6 +172,16 @@ def INPUT_TYPES(cls): "default": "AUTO", "tooltip": "Determine if MagicPrompt should be used. Only used when 'Use Magic Prompt' is enabled.", }), + "useAutoCrop": ("BOOLEAN", { + "tooltip": "Enable to include autoCrop in settings.", + "default": False, + }), + "autoCrop": ("BOOLEAN", { + "tooltip": "If true, crop the reference image to the canvas bounds when it extends beyond the edges. Defaults to false. Only used when 'Use Auto Crop' is enabled.", + "default": False, + "label_on": "true", + "label_off": "false", + }), } } @@ -182,7 +192,7 @@ def INPUT_TYPES(cls): DESCRIPTION = ( "Configure general settings for image generation: temperature, system prompt, top-p, layers, quality, background, style, search, " "promptExtend, editRegions (JSON), thinking (boolean), thinkingLevel (high/medium/low), sequential, " - "renderingSpeed (TURBO/DEFAULT/QUALITY), magicPrompt (AUTO/ON/OFF), and optional colorPalette from the Color Palette node." + "renderingSpeed (TURBO/DEFAULT/QUALITY), magicPrompt (AUTO/ON/OFF), autoCrop, and optional colorPalette from the Color Palette node." ) def createSettings(self, **kwargs) -> tuple[Dict[str, Any]]: @@ -206,6 +216,7 @@ def createSettings(self, **kwargs) -> tuple[Dict[str, Any]]: useSequential = kwargs.get("useSequential", False) useRenderingSpeed = kwargs.get("useRenderingSpeed", False) useMagicPrompt = kwargs.get("useMagicPrompt", False) + useAutoCrop = kwargs.get("useAutoCrop", False) # Get value parameters temperature = kwargs.get("temperature", 1.0) @@ -272,6 +283,8 @@ def createSettings(self, **kwargs) -> tuple[Dict[str, Any]]: settings["renderingSpeed"] = str(renderingSpeed) if useMagicPrompt: settings["magicPrompt"] = str(magicPrompt) + if useAutoCrop: + settings["autoCrop"] = bool(kwargs.get("autoCrop", False)) # Clean up None values settings = {k: v for k, v in settings.items() if v is not None} diff --git a/workflows/Runware_Image_Inference_Flux_Outpaint.json b/workflows/Runware_Image_Inference_Flux_Outpaint.json new file mode 100644 index 0000000..c09cf16 --- /dev/null +++ b/workflows/Runware_Image_Inference_Flux_Outpaint.json @@ -0,0 +1 @@ +{"id":"045b33af-e75f-405d-b51a-163786bf0968","revision":0,"last_node_id":8,"last_link_id":8,"nodes":[{"id":5,"type":"LoadImage","pos":[-1086.7071071602131,-140.6694971816314],"size":[282.798828125,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":[5]},{"localized_name":"MASK","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.19.3","Node name for S&R":"LoadImage"},"widgets_values":["bags.jpg","image"]},{"id":3,"type":"Runware Settings","pos":[133.05949440228687,-173.2866846816314],"size":[400,910],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"colorPalette","name":"colorPalette","shape":7,"type":"RUNWAREIMAGEINFERENCECOLORPALETTE","link":null},{"localized_name":"useTemperature","name":"useTemperature","shape":7,"type":"BOOLEAN","widget":{"name":"useTemperature"},"link":null},{"localized_name":"temperature","name":"temperature","shape":7,"type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"useSystemPrompt","name":"useSystemPrompt","shape":7,"type":"BOOLEAN","widget":{"name":"useSystemPrompt"},"link":null},{"localized_name":"systemPrompt","name":"systemPrompt","shape":7,"type":"STRING","widget":{"name":"systemPrompt"},"link":null},{"localized_name":"useTopP","name":"useTopP","shape":7,"type":"BOOLEAN","widget":{"name":"useTopP"},"link":null},{"localized_name":"topP","name":"topP","shape":7,"type":"FLOAT","widget":{"name":"topP"},"link":null},{"localized_name":"useLayers","name":"useLayers","shape":7,"type":"BOOLEAN","widget":{"name":"useLayers"},"link":null},{"localized_name":"layers","name":"layers","shape":7,"type":"INT","widget":{"name":"layers"},"link":null},{"localized_name":"useTrueCFGScale","name":"useTrueCFGScale","shape":7,"type":"BOOLEAN","widget":{"name":"useTrueCFGScale"},"link":null},{"localized_name":"trueCFGScale","name":"trueCFGScale","shape":7,"type":"FLOAT","widget":{"name":"trueCFGScale"},"link":null},{"localized_name":"useQuality","name":"useQuality","shape":7,"type":"BOOLEAN","widget":{"name":"useQuality"},"link":null},{"localized_name":"quality","name":"quality","shape":7,"type":"COMBO","widget":{"name":"quality"},"link":null},{"localized_name":"usePromptExtend","name":"usePromptExtend","shape":7,"type":"BOOLEAN","widget":{"name":"usePromptExtend"},"link":null},{"localized_name":"promptExtend","name":"promptExtend","shape":7,"type":"BOOLEAN","widget":{"name":"promptExtend"},"link":null},{"localized_name":"useEditRegions","name":"useEditRegions","shape":7,"type":"BOOLEAN","widget":{"name":"useEditRegions"},"link":null},{"localized_name":"editRegions","name":"editRegions","shape":7,"type":"STRING","widget":{"name":"editRegions"},"link":null},{"localized_name":"useThinking","name":"useThinking","shape":7,"type":"BOOLEAN","widget":{"name":"useThinking"},"link":null},{"localized_name":"thinking","name":"thinking","shape":7,"type":"BOOLEAN","widget":{"name":"thinking"},"link":null},{"localized_name":"useSequential","name":"useSequential","shape":7,"type":"BOOLEAN","widget":{"name":"useSequential"},"link":null},{"localized_name":"sequential","name":"sequential","shape":7,"type":"BOOLEAN","widget":{"name":"sequential"},"link":null},{"localized_name":"useThinkingLevel","name":"useThinkingLevel","shape":7,"type":"BOOLEAN","widget":{"name":"useThinkingLevel"},"link":null},{"localized_name":"thinkingLevel","name":"thinkingLevel","shape":7,"type":"COMBO","widget":{"name":"thinkingLevel"},"link":null},{"localized_name":"useBackground","name":"useBackground","shape":7,"type":"BOOLEAN","widget":{"name":"useBackground"},"link":null},{"localized_name":"background","name":"background","shape":7,"type":"COMBO","widget":{"name":"background"},"link":null},{"localized_name":"useStyle","name":"useStyle","shape":7,"type":"BOOLEAN","widget":{"name":"useStyle"},"link":null},{"localized_name":"style","name":"style","shape":7,"type":"STRING","widget":{"name":"style"},"link":null},{"localized_name":"useSearch","name":"useSearch","shape":7,"type":"BOOLEAN","widget":{"name":"useSearch"},"link":null},{"localized_name":"search","name":"search","shape":7,"type":"BOOLEAN","widget":{"name":"search"},"link":null},{"localized_name":"useRenderingSpeed","name":"useRenderingSpeed","shape":7,"type":"BOOLEAN","widget":{"name":"useRenderingSpeed"},"link":null},{"localized_name":"renderingSpeed","name":"renderingSpeed","shape":7,"type":"COMBO","widget":{"name":"renderingSpeed"},"link":null},{"localized_name":"useMagicPrompt","name":"useMagicPrompt","shape":7,"type":"BOOLEAN","widget":{"name":"useMagicPrompt"},"link":null},{"localized_name":"magicPrompt","name":"magicPrompt","shape":7,"type":"COMBO","widget":{"name":"magicPrompt"},"link":null},{"localized_name":"useAutoCrop","name":"useAutoCrop","shape":7,"type":"BOOLEAN","widget":{"name":"useAutoCrop"},"link":null},{"localized_name":"autoCrop","name":"autoCrop","shape":7,"type":"BOOLEAN","widget":{"name":"autoCrop"},"link":null}],"outputs":[{"localized_name":"Settings","name":"Settings","type":"RUNWARESETTINGS","links":[4]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"b8b9cfbb85e218d5cc13ec648a855e4088ccdfee","Node name for S&R":"Runware Settings"},"widgets_values":[false,1,false,"",false,1,false,4,false,1,false,"medium",false,false,false,"",false,false,false,false,false,"high",false,"auto",false,"auto",false,false,false,"DEFAULT",false,"AUTO",true,true],"bgcolor":"#5345bf"},{"id":4,"type":"Runware Save Image","pos":[601.8563694022869,-86.89605968163141],"size":[270,318],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"Images","name":"Images","type":"STRING","widget":{"name":"Images"},"link":3},{"localized_name":"filenamePrefix","name":"filenamePrefix","type":"STRING","widget":{"name":"filenamePrefix"},"link":null},{"localized_name":"saveImage","name":"saveImage","type":"BOOLEAN","widget":{"name":"saveImage"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"b8b9cfbb85e218d5cc13ec648a855e4088ccdfee","Node name for S&R":"Runware Save Image"},"widgets_values":["","ComfyUI",true],"bgcolor":"#5345bf"},{"id":1,"type":"Runware Image Inference","pos":[-295.5264430977131,-186.4663721816314],"size":[400,1082],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"Model","name":"Model","type":"RUNWAREMODEL","link":6},{"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":8},{"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":7},{"localized_name":"providerSettings","name":"providerSettings","shape":7,"type":"RUNWAREPROVIDERSETTINGS","link":null},{"localized_name":"safetyInputs","name":"safetyInputs","shape":7,"type":"RUNWARESAFETYINPUTS","link":null},{"localized_name":"settings","name":"settings","shape":7,"type":"RUNWARESETTINGS","link":4},{"localized_name":"ultralytics","name":"ultralytics","shape":7,"type":"RUNWAREULTRALYTICSINPUTS","link":null},{"localized_name":"advancedFeatures","name":"advancedFeatures","shape":7,"type":"RUNWAREIMAGEINFERENCEADVANCEDFEATURES","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},{"localized_name":"outputQuality","name":"outputQuality","type":"INT","widget":{"name":"outputQuality"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"STRING","links":[3]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"b8b9cfbb85e218d5cc13ec648a855e4088ccdfee","Node name for S&R":"Runware Image Inference"},"widgets_values":["","",false,"Disabled","None",512,512,false,"1k",false,4,false,"Default",false,6.5,false,979113533,"randomize",false,0,0.8,false,32,"WEBP",1,"none",95],"bgcolor":"#5345bf"},{"id":6,"type":"Runware Image Inference Inputs","pos":[-753.0918727852131,-198.0366846816314],"size":[403.740234375,1442],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"image","name":"image","shape":7,"type":"IMAGE","link":5},{"localized_name":"mask","name":"mask","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 1","name":"Reference Image 1","shape":7,"type":"IMAGE","link":null},{"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 Image 5","name":"Reference Image 5","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 6","name":"Reference Image 6","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 7","name":"Reference Image 7","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 8","name":"Reference Image 8","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 9","name":"Reference Image 9","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 10","name":"Reference Image 10","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 11","name":"Reference Image 11","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 12","name":"Reference Image 12","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 13","name":"Reference Image 13","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 14","name":"Reference Image 14","shape":7,"type":"IMAGE","link":null},{"localized_name":"Super Resolution Reference Image 1","name":"Super Resolution Reference Image 1","shape":7,"type":"IMAGE","link":null},{"localized_name":"Super Resolution Reference Image 2","name":"Super Resolution Reference Image 2","shape":7,"type":"IMAGE","link":null},{"localized_name":"Super Resolution Reference Image 3","name":"Super Resolution Reference Image 3","shape":7,"type":"IMAGE","link":null},{"localized_name":"Super Resolution Reference Image 4","name":"Super Resolution Reference Image 4","shape":7,"type":"IMAGE","link":null},{"localized_name":"Super Resolution Reference Image 5","name":"Super Resolution Reference Image 5","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 Type 1","name":"Reference Type 1","shape":7,"type":"STRING","widget":{"name":"Reference Type 1"},"link":null},{"localized_name":"Reference Strength 1","name":"Reference Strength 1","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 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 Type 2","name":"Reference Type 2","shape":7,"type":"STRING","widget":{"name":"Reference Type 2"},"link":null},{"localized_name":"Reference Strength 2","name":"Reference Strength 2","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 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 Type 3","name":"Reference Type 3","shape":7,"type":"STRING","widget":{"name":"Reference Type 3"},"link":null},{"localized_name":"Reference Strength 3","name":"Reference Strength 3","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 3"},"link":null},{"localized_name":"Reference Tag 4","name":"Reference Tag 4","shape":7,"type":"STRING","widget":{"name":"Reference Tag 4"},"link":null},{"localized_name":"Reference Type 4","name":"Reference Type 4","shape":7,"type":"STRING","widget":{"name":"Reference Type 4"},"link":null},{"localized_name":"Reference Strength 4","name":"Reference Strength 4","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 4"},"link":null},{"localized_name":"Reference Tag 5","name":"Reference Tag 5","shape":7,"type":"STRING","widget":{"name":"Reference Tag 5"},"link":null},{"localized_name":"Reference Type 5","name":"Reference Type 5","shape":7,"type":"STRING","widget":{"name":"Reference Type 5"},"link":null},{"localized_name":"Reference Strength 5","name":"Reference Strength 5","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 5"},"link":null},{"localized_name":"Reference Tag 6","name":"Reference Tag 6","shape":7,"type":"STRING","widget":{"name":"Reference Tag 6"},"link":null},{"localized_name":"Reference Type 6","name":"Reference Type 6","shape":7,"type":"STRING","widget":{"name":"Reference Type 6"},"link":null},{"localized_name":"Reference Strength 6","name":"Reference Strength 6","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 6"},"link":null},{"localized_name":"Reference Tag 7","name":"Reference Tag 7","shape":7,"type":"STRING","widget":{"name":"Reference Tag 7"},"link":null},{"localized_name":"Reference Type 7","name":"Reference Type 7","shape":7,"type":"STRING","widget":{"name":"Reference Type 7"},"link":null},{"localized_name":"Reference Strength 7","name":"Reference Strength 7","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 7"},"link":null},{"localized_name":"Reference Tag 8","name":"Reference Tag 8","shape":7,"type":"STRING","widget":{"name":"Reference Tag 8"},"link":null},{"localized_name":"Reference Type 8","name":"Reference Type 8","shape":7,"type":"STRING","widget":{"name":"Reference Type 8"},"link":null},{"localized_name":"Reference Strength 8","name":"Reference Strength 8","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 8"},"link":null},{"localized_name":"Reference Tag 9","name":"Reference Tag 9","shape":7,"type":"STRING","widget":{"name":"Reference Tag 9"},"link":null},{"localized_name":"Reference Type 9","name":"Reference Type 9","shape":7,"type":"STRING","widget":{"name":"Reference Type 9"},"link":null},{"localized_name":"Reference Strength 9","name":"Reference Strength 9","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 9"},"link":null},{"localized_name":"Reference Tag 10","name":"Reference Tag 10","shape":7,"type":"STRING","widget":{"name":"Reference Tag 10"},"link":null},{"localized_name":"Reference Type 10","name":"Reference Type 10","shape":7,"type":"STRING","widget":{"name":"Reference Type 10"},"link":null},{"localized_name":"Reference Strength 10","name":"Reference Strength 10","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 10"},"link":null},{"localized_name":"Reference Tag 11","name":"Reference Tag 11","shape":7,"type":"STRING","widget":{"name":"Reference Tag 11"},"link":null},{"localized_name":"Reference Type 11","name":"Reference Type 11","shape":7,"type":"STRING","widget":{"name":"Reference Type 11"},"link":null},{"localized_name":"Reference Strength 11","name":"Reference Strength 11","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 11"},"link":null},{"localized_name":"Reference Tag 12","name":"Reference Tag 12","shape":7,"type":"STRING","widget":{"name":"Reference Tag 12"},"link":null},{"localized_name":"Reference Type 12","name":"Reference Type 12","shape":7,"type":"STRING","widget":{"name":"Reference Type 12"},"link":null},{"localized_name":"Reference Strength 12","name":"Reference Strength 12","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 12"},"link":null},{"localized_name":"Reference Tag 13","name":"Reference Tag 13","shape":7,"type":"STRING","widget":{"name":"Reference Tag 13"},"link":null},{"localized_name":"Reference Type 13","name":"Reference Type 13","shape":7,"type":"STRING","widget":{"name":"Reference Type 13"},"link":null},{"localized_name":"Reference Strength 13","name":"Reference Strength 13","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 13"},"link":null},{"localized_name":"Reference Tag 14","name":"Reference Tag 14","shape":7,"type":"STRING","widget":{"name":"Reference Tag 14"},"link":null},{"localized_name":"Reference Type 14","name":"Reference Type 14","shape":7,"type":"STRING","widget":{"name":"Reference Type 14"},"link":null},{"localized_name":"Reference Strength 14","name":"Reference Strength 14","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 14"},"link":null}],"outputs":[{"localized_name":"Inference Inputs","name":"Inference Inputs","type":"RUNWAREIMAGEINFERENCEINPUTS","links":[7]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"b8b9cfbb85e218d5cc13ec648a855e4088ccdfee","Node name for S&R":"Runware Image Inference Inputs"},"widgets_values":["","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0],"bgcolor":"#5345bf"},{"id":7,"type":"Runware Model Search","pos":[-1096.333843271325,645.113488929479],"size":[272.111328125,154],"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":"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":[6]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"b8b9cfbb85e218d5cc13ec648a855e4088ccdfee","Node name for S&R":"Runware Model Search"},"widgets_values":["bfl:flux@outpainting","All","Base Model","bfl:flux@outpainting (FLUX Outpainting 1.0)",true],"bgcolor":"#5345bf"},{"id":8,"type":"Runware Outpaint","pos":[-1105.121929208825,268.8895305961458],"size":[270,274],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"useTop","name":"useTop","type":"BOOLEAN","widget":{"name":"useTop"},"link":null},{"localized_name":"Top","name":"Top","type":"INT","widget":{"name":"Top"},"link":null},{"localized_name":"useRight","name":"useRight","type":"BOOLEAN","widget":{"name":"useRight"},"link":null},{"localized_name":"Right","name":"Right","type":"INT","widget":{"name":"Right"},"link":null},{"localized_name":"useBottom","name":"useBottom","type":"BOOLEAN","widget":{"name":"useBottom"},"link":null},{"localized_name":"Bottom","name":"Bottom","type":"INT","widget":{"name":"Bottom"},"link":null},{"localized_name":"useLeft","name":"useLeft","type":"BOOLEAN","widget":{"name":"useLeft"},"link":null},{"localized_name":"Left","name":"Left","type":"INT","widget":{"name":"Left"},"link":null},{"localized_name":"useBlur","name":"useBlur","type":"BOOLEAN","widget":{"name":"useBlur"},"link":null},{"localized_name":"Blur","name":"Blur","type":"INT","widget":{"name":"Blur"},"link":null}],"outputs":[{"localized_name":"Outpaint Settings","name":"Outpaint Settings","type":"RUNWAREOUTPAINT","links":[8]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"b8b9cfbb85e218d5cc13ec648a855e4088ccdfee","Node name for S&R":"Runware Outpaint"},"widgets_values":[true,480,true,616,true,480,true,616,false,0],"bgcolor":"#5345bf"}],"links":[[3,1,0,4,0,"STRING"],[4,3,0,1,15,"RUNWARESETTINGS"],[5,5,0,6,0,"IMAGE"],[6,7,0,1,0,"RUNWAREMODEL"],[7,6,0,1,12,"RUNWAREIMAGEINFERENCEINPUTS"],[8,8,0,1,3,"RUNWAREOUTPAINT"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.45,"offset":[1717.4917208754894,367.42991384829855]}},"version":0.4} \ No newline at end of file diff --git a/workflows/Runware_Video_Inference_Veo_3_R2V.json b/workflows/Runware_Video_Inference_Veo_3_R2V.json new file mode 100644 index 0000000..f361570 --- /dev/null +++ b/workflows/Runware_Video_Inference_Veo_3_R2V.json @@ -0,0 +1 @@ +{"id":"864f668c-e325-4400-b063-62a425dc343f","revision":0,"last_node_id":8,"last_link_id":7,"nodes":[{"id":7,"type":"LoadImage","pos":[-825.6992946602131,430.9398778183686],"size":[282.798828125,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":[5]},{"localized_name":"MASK","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.19.3","Node name for S&R":"LoadImage"},"widgets_values":["antartica_landscape.webp","image"]},{"id":2,"type":"Runware Video Model Search","pos":[-464.1221462227131,-15.669497181631414],"size":[294.16015625,250],"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":"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":[2]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c23f37fe0544059e2fea583d83886a172f364b04","Node name for S&R":"Runware Video Model Search"},"widgets_values":["","Veo","google:3@3 (Veo 3.1 Fast)",false,"Model Default",1280,720,false,"1080p"],"bgcolor":"#5345bf"},{"id":6,"type":"LoadImage","pos":[-1138.4258571602131,176.7133153183686],"size":[282.798828125,314],"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":[4]},{"localized_name":"MASK","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.19.3","Node name for S&R":"LoadImage"},"widgets_values":["abraham_lincon.png","image"]},{"id":3,"type":"SaveVideo","pos":[497.1766819022869,-3.8023096816314137],"size":[374,364.3984375],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"video","name":"video","type":"VIDEO","link":1},{"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.19.3"},"widgets_values":["video/ComfyUI","auto","auto"]},{"id":5,"type":"LoadImage","pos":[-811.1289821602131,-48.106997181631414],"size":[282.798828125,314],"flags":{},"order":3,"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":[3]},{"localized_name":"MASK","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.19.3","Node name for S&R":"LoadImage"},"widgets_values":[".webp","image"]},{"id":8,"type":"Runware Video Inputs References","pos":[453.0635959647869,434.2211278183686],"size":[434.710546875,582],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"Image1","name":"Image1","shape":7,"type":"IMAGE","link":3},{"localized_name":"Images1","name":"Images1","shape":7,"type":"RUNWAREVIDEOINPUTSREFERENCEMULTIIMAGES","link":null},{"localized_name":"Image2","name":"Image2","shape":7,"type":"IMAGE","link":4},{"localized_name":"Images2","name":"Images2","shape":7,"type":"RUNWAREVIDEOINPUTSREFERENCEMULTIIMAGES","link":null},{"localized_name":"Image3","name":"Image3","shape":7,"type":"IMAGE","link":5},{"localized_name":"Images3","name":"Images3","shape":7,"type":"RUNWAREVIDEOINPUTSREFERENCEMULTIIMAGES","link":null},{"localized_name":"Image4","name":"Image4","shape":7,"type":"IMAGE","link":null},{"localized_name":"Images4","name":"Images4","shape":7,"type":"RUNWAREVIDEOINPUTSREFERENCEMULTIIMAGES","link":null},{"localized_name":"Image5","name":"Image5","shape":7,"type":"IMAGE","link":null},{"localized_name":"Image6","name":"Image6","shape":7,"type":"IMAGE","link":null},{"localized_name":"Image7","name":"Image7","shape":7,"type":"IMAGE","link":null},{"localized_name":"Image8","name":"Image8","shape":7,"type":"IMAGE","link":null},{"localized_name":"Image9","name":"Image9","shape":7,"type":"IMAGE","link":null},{"localized_name":"Image10","name":"Image10","shape":7,"type":"IMAGE","link":null},{"localized_name":"Tag1","name":"Tag1","shape":7,"type":"STRING","widget":{"name":"Tag1"},"link":null},{"localized_name":"Type1","name":"Type1","shape":7,"type":"STRING","widget":{"name":"Type1"},"link":null},{"localized_name":"Audio1","name":"Audio1","shape":7,"type":"STRING","widget":{"name":"Audio1"},"link":null},{"localized_name":"Tag2","name":"Tag2","shape":7,"type":"STRING","widget":{"name":"Tag2"},"link":null},{"localized_name":"Type2","name":"Type2","shape":7,"type":"STRING","widget":{"name":"Type2"},"link":null},{"localized_name":"Audio2","name":"Audio2","shape":7,"type":"STRING","widget":{"name":"Audio2"},"link":null},{"localized_name":"Tag3","name":"Tag3","shape":7,"type":"STRING","widget":{"name":"Tag3"},"link":null},{"localized_name":"Type3","name":"Type3","shape":7,"type":"STRING","widget":{"name":"Type3"},"link":null},{"localized_name":"Audio3","name":"Audio3","shape":7,"type":"STRING","widget":{"name":"Audio3"},"link":null},{"localized_name":"Tag4","name":"Tag4","shape":7,"type":"STRING","widget":{"name":"Tag4"},"link":null},{"localized_name":"Type4","name":"Type4","shape":7,"type":"STRING","widget":{"name":"Type4"},"link":null},{"localized_name":"Audio4","name":"Audio4","shape":7,"type":"STRING","widget":{"name":"Audio4"},"link":null}],"outputs":[{"localized_name":"Video Inputs Reference Images","name":"Video Inputs Reference Images","type":"RUNWAREVIDEOINPUTSREFERENCEIMAGES","links":[6]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c23f37fe0544059e2fea583d83886a172f364b04","Node name for S&R":"Runware Video Inputs References"},"widgets_values":["","","","","","","","","","","",""],"bgcolor":"#5345bf"},{"id":4,"type":"Runware Video Inference Inputs","pos":[-484.4649196602131,365.5336278183686],"size":[341.783203125,374],"flags":{},"order":5,"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":"Background","name":"Background","shape":7,"type":"IMAGE","link":null},{"localized_name":"References Images","name":"References Images","shape":7,"type":"RUNWAREVIDEOINPUTSREFERENCEIMAGES","link":6},{"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":null},{"localized_name":"Elements","name":"Elements","shape":7,"type":"RUNWAREVIDEOINFERENCEELEMENTS","link":null},{"localized_name":"Reference Audios","name":"Reference Audios","shape":7,"type":"RUNWAREINPUTAUDIOS","link":null},{"localized_name":"Avatar","name":"Avatar","shape":7,"type":"STRING","widget":{"name":"Avatar"},"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},{"localized_name":"draftId","name":"draftId","shape":7,"type":"STRING","widget":{"name":"draftId"},"link":null},{"localized_name":"videoId","name":"videoId","shape":7,"type":"STRING","widget":{"name":"videoId"},"link":null}],"outputs":[{"localized_name":"Video Inference Inputs","name":"Video Inference Inputs","type":"RUNWAREVIDEOINFERENCEINPUTS","links":[7]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c23f37fe0544059e2fea583d83886a172f364b04","Node name for S&R":"Runware Video Inference Inputs"},"widgets_values":["","","","",""],"bgcolor":"#5345bf"},{"id":1,"type":"Runware Video Inference","pos":[-83.40144309771313,-46.099184681631414],"size":[400,818],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"Model","name":"Model","type":"RUNWAREVIDEOMODEL","link":2},{"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":"speech","name":"speech","shape":7,"type":"RUNWAREVIDEOINFERENCESPEECHINPUT","link":null},{"localized_name":"inputs","name":"inputs","shape":7,"type":"RUNWAREVIDEOINFERENCEINPUTS","link":7},{"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":"settings","name":"settings","shape":7,"type":"RUNWAREVIDEOSETTINGS","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":"useSchedulers","name":"useSchedulers","type":"BOOLEAN","widget":{"name":"useSchedulers"},"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":"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}],"outputs":[{"localized_name":"VIDEO","name":"VIDEO","type":"VIDEO","links":[1]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null},{"localized_name":"OUTPUT","name":"OUTPUT","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c23f37fe0544059e2fea583d83886a172f364b04","Node name for S&R":"Runware Video Inference"},"widgets_values":[false,"Disabled",true,8,false,24,"mp4",true,1274855159,"randomize",false,20,false,1,false,"euler",false,5,"none","Cartoon character walking through a forest",""],"bgcolor":"#5345bf"}],"links":[[1,1,0,3,0,"VIDEO"],[2,2,0,1,0,"RUNWAREVIDEOMODEL"],[3,5,0,8,0,"IMAGE"],[4,6,0,8,2,"IMAGE"],[5,7,0,8,4,"IMAGE"],[6,8,0,4,7,"RUNWAREVIDEOINPUTSREFERENCEIMAGES"],[7,4,0,1,7,"RUNWAREVIDEOINFERENCEINPUTS"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.5,"offset":[1384.3467555977131,299.1538721816314]}},"version":0.4} \ No newline at end of file From efc0a7cd7545bbd785db3711f8d0e7e678528b77 Mon Sep 17 00:00:00 2001 From: Sirshendu Ganguly Date: Thu, 21 May 2026 17:01:53 +0530 Subject: [PATCH 2/5] Added workflow for Imagineart 2 --- workflows/Runware_Image_Inference_Imagineart_2.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 workflows/Runware_Image_Inference_Imagineart_2.json diff --git a/workflows/Runware_Image_Inference_Imagineart_2.json b/workflows/Runware_Image_Inference_Imagineart_2.json new file mode 100644 index 0000000..e651acd --- /dev/null +++ b/workflows/Runware_Image_Inference_Imagineart_2.json @@ -0,0 +1 @@ +{"id":"06c0f478-6c04-4b60-9240-9209bb01bf7c","revision":0,"last_node_id":6,"last_link_id":5,"nodes":[{"id":3,"type":"Runware Image Inference Inputs","pos":[-802.1482963963223,-34.21810829274291],"size":[403.740234375,1442],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"image","name":"image","shape":7,"type":"IMAGE","link":null},{"localized_name":"mask","name":"mask","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 1","name":"Reference Image 1","shape":7,"type":"IMAGE","link":3},{"localized_name":"Reference Image 2","name":"Reference Image 2","shape":7,"type":"IMAGE","link":2},{"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 Image 5","name":"Reference Image 5","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 6","name":"Reference Image 6","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 7","name":"Reference Image 7","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 8","name":"Reference Image 8","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 9","name":"Reference Image 9","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 10","name":"Reference Image 10","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 11","name":"Reference Image 11","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 12","name":"Reference Image 12","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 13","name":"Reference Image 13","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 14","name":"Reference Image 14","shape":7,"type":"IMAGE","link":null},{"localized_name":"Super Resolution Reference Image 1","name":"Super Resolution Reference Image 1","shape":7,"type":"IMAGE","link":null},{"localized_name":"Super Resolution Reference Image 2","name":"Super Resolution Reference Image 2","shape":7,"type":"IMAGE","link":null},{"localized_name":"Super Resolution Reference Image 3","name":"Super Resolution Reference Image 3","shape":7,"type":"IMAGE","link":null},{"localized_name":"Super Resolution Reference Image 4","name":"Super Resolution Reference Image 4","shape":7,"type":"IMAGE","link":null},{"localized_name":"Super Resolution Reference Image 5","name":"Super Resolution Reference Image 5","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 Type 1","name":"Reference Type 1","shape":7,"type":"STRING","widget":{"name":"Reference Type 1"},"link":null},{"localized_name":"Reference Strength 1","name":"Reference Strength 1","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 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 Type 2","name":"Reference Type 2","shape":7,"type":"STRING","widget":{"name":"Reference Type 2"},"link":null},{"localized_name":"Reference Strength 2","name":"Reference Strength 2","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 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 Type 3","name":"Reference Type 3","shape":7,"type":"STRING","widget":{"name":"Reference Type 3"},"link":null},{"localized_name":"Reference Strength 3","name":"Reference Strength 3","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 3"},"link":null},{"localized_name":"Reference Tag 4","name":"Reference Tag 4","shape":7,"type":"STRING","widget":{"name":"Reference Tag 4"},"link":null},{"localized_name":"Reference Type 4","name":"Reference Type 4","shape":7,"type":"STRING","widget":{"name":"Reference Type 4"},"link":null},{"localized_name":"Reference Strength 4","name":"Reference Strength 4","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 4"},"link":null},{"localized_name":"Reference Tag 5","name":"Reference Tag 5","shape":7,"type":"STRING","widget":{"name":"Reference Tag 5"},"link":null},{"localized_name":"Reference Type 5","name":"Reference Type 5","shape":7,"type":"STRING","widget":{"name":"Reference Type 5"},"link":null},{"localized_name":"Reference Strength 5","name":"Reference Strength 5","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 5"},"link":null},{"localized_name":"Reference Tag 6","name":"Reference Tag 6","shape":7,"type":"STRING","widget":{"name":"Reference Tag 6"},"link":null},{"localized_name":"Reference Type 6","name":"Reference Type 6","shape":7,"type":"STRING","widget":{"name":"Reference Type 6"},"link":null},{"localized_name":"Reference Strength 6","name":"Reference Strength 6","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 6"},"link":null},{"localized_name":"Reference Tag 7","name":"Reference Tag 7","shape":7,"type":"STRING","widget":{"name":"Reference Tag 7"},"link":null},{"localized_name":"Reference Type 7","name":"Reference Type 7","shape":7,"type":"STRING","widget":{"name":"Reference Type 7"},"link":null},{"localized_name":"Reference Strength 7","name":"Reference Strength 7","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 7"},"link":null},{"localized_name":"Reference Tag 8","name":"Reference Tag 8","shape":7,"type":"STRING","widget":{"name":"Reference Tag 8"},"link":null},{"localized_name":"Reference Type 8","name":"Reference Type 8","shape":7,"type":"STRING","widget":{"name":"Reference Type 8"},"link":null},{"localized_name":"Reference Strength 8","name":"Reference Strength 8","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 8"},"link":null},{"localized_name":"Reference Tag 9","name":"Reference Tag 9","shape":7,"type":"STRING","widget":{"name":"Reference Tag 9"},"link":null},{"localized_name":"Reference Type 9","name":"Reference Type 9","shape":7,"type":"STRING","widget":{"name":"Reference Type 9"},"link":null},{"localized_name":"Reference Strength 9","name":"Reference Strength 9","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 9"},"link":null},{"localized_name":"Reference Tag 10","name":"Reference Tag 10","shape":7,"type":"STRING","widget":{"name":"Reference Tag 10"},"link":null},{"localized_name":"Reference Type 10","name":"Reference Type 10","shape":7,"type":"STRING","widget":{"name":"Reference Type 10"},"link":null},{"localized_name":"Reference Strength 10","name":"Reference Strength 10","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 10"},"link":null},{"localized_name":"Reference Tag 11","name":"Reference Tag 11","shape":7,"type":"STRING","widget":{"name":"Reference Tag 11"},"link":null},{"localized_name":"Reference Type 11","name":"Reference Type 11","shape":7,"type":"STRING","widget":{"name":"Reference Type 11"},"link":null},{"localized_name":"Reference Strength 11","name":"Reference Strength 11","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 11"},"link":null},{"localized_name":"Reference Tag 12","name":"Reference Tag 12","shape":7,"type":"STRING","widget":{"name":"Reference Tag 12"},"link":null},{"localized_name":"Reference Type 12","name":"Reference Type 12","shape":7,"type":"STRING","widget":{"name":"Reference Type 12"},"link":null},{"localized_name":"Reference Strength 12","name":"Reference Strength 12","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 12"},"link":null},{"localized_name":"Reference Tag 13","name":"Reference Tag 13","shape":7,"type":"STRING","widget":{"name":"Reference Tag 13"},"link":null},{"localized_name":"Reference Type 13","name":"Reference Type 13","shape":7,"type":"STRING","widget":{"name":"Reference Type 13"},"link":null},{"localized_name":"Reference Strength 13","name":"Reference Strength 13","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 13"},"link":null},{"localized_name":"Reference Tag 14","name":"Reference Tag 14","shape":7,"type":"STRING","widget":{"name":"Reference Tag 14"},"link":null},{"localized_name":"Reference Type 14","name":"Reference Type 14","shape":7,"type":"STRING","widget":{"name":"Reference Type 14"},"link":null},{"localized_name":"Reference Strength 14","name":"Reference Strength 14","shape":7,"type":"FLOAT","widget":{"name":"Reference Strength 14"},"link":null}],"outputs":[{"localized_name":"Inference Inputs","name":"Inference Inputs","type":"RUNWAREIMAGEINFERENCEINPUTS","links":[1]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"3efe252718f9dc608c0fc3511c2faa7c01429afb","Node name for S&R":"Runware Image Inference Inputs"},"widgets_values":["","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0,"","",0],"bgcolor":"#5345bf"},{"id":2,"type":"Runware Save Image","pos":[111.95272356895501,14.610016707256875],"size":[270,318],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"Images","name":"Images","type":"STRING","widget":{"name":"Images"},"link":4},{"localized_name":"filenamePrefix","name":"filenamePrefix","type":"STRING","widget":{"name":"filenamePrefix"},"link":null},{"localized_name":"saveImage","name":"saveImage","type":"BOOLEAN","widget":{"name":"saveImage"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"3efe252718f9dc608c0fc3511c2faa7c01429afb","Node name for S&R":"Runware Save Image"},"widgets_values":["","ComfyUI",true],"bgcolor":"#5345bf"},{"id":6,"type":"Runware Model Search","pos":[-1174.1984266046557,-37.59484440385412],"size":[272.111328125,154],"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":"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":[5]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"3efe252718f9dc608c0fc3511c2faa7c01429afb","Node name for S&R":"Runware Model Search"},"widgets_values":["imagineart:2.0@0","All","Base Model","imagineart:2.0@0 (ImagineArt 2.0 2.0)",false],"bgcolor":"#5345bf"},{"id":4,"type":"LoadImage","pos":[-1183.1359266046563,205.40862781836807],"size":[282.798828125,314],"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":[3]},{"localized_name":"MASK","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.19.3","Node name for S&R":"LoadImage"},"widgets_values":["human1.jpg","image"]},{"id":5,"type":"LoadImage","pos":[-1181.4345377157665,626.7627944850346],"size":[282.798828125,314],"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":[2]},{"localized_name":"MASK","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.19.3","Node name for S&R":"LoadImage"},"widgets_values":["human7.jpg","image"]},{"id":1,"type":"Runware Image Inference","pos":[-352.61324865326736,-17.499358292742937],"size":[400,1082],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"Model","name":"Model","type":"RUNWAREMODEL","link":5},{"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":1},{"localized_name":"providerSettings","name":"providerSettings","shape":7,"type":"RUNWAREPROVIDERSETTINGS","link":null},{"localized_name":"safetyInputs","name":"safetyInputs","shape":7,"type":"RUNWARESAFETYINPUTS","link":null},{"localized_name":"settings","name":"settings","shape":7,"type":"RUNWARESETTINGS","link":null},{"localized_name":"ultralytics","name":"ultralytics","shape":7,"type":"RUNWAREULTRALYTICSINPUTS","link":null},{"localized_name":"advancedFeatures","name":"advancedFeatures","shape":7,"type":"RUNWAREIMAGEINFERENCEADVANCEDFEATURES","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},{"localized_name":"outputQuality","name":"outputQuality","type":"INT","widget":{"name":"outputQuality"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"STRING","links":[4]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"3efe252718f9dc608c0fc3511c2faa7c01429afb","Node name for S&R":"Runware Image Inference"},"widgets_values":["Combine the two people from the input images into a single studio photograph.","",false,"Disabled","Custom",1536,1536,false,"1k",false,4,false,"Default",false,6.5,false,1931851404,"randomize",false,0,0.8,false,32,"WEBP",1,"none",95],"bgcolor":"#5345bf"}],"links":[[1,3,0,1,12,"RUNWAREIMAGEINFERENCEINPUTS"],[2,5,0,3,3,"IMAGE"],[3,4,0,3,2,"IMAGE"],[4,1,0,2,0,"STRING"],[5,6,0,1,0,"RUNWAREMODEL"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.45,"offset":[1830.208734764378,322.77713607052084]}},"version":0.4} \ No newline at end of file From 5c70d766b7e852aa0a27a666abca15e273df9359 Mon Sep 17 00:00:00 2001 From: Sirshendu Ganguly Date: Thu, 21 May 2026 17:05:53 +0530 Subject: [PATCH 3/5] Fixed conditional blocks in imageInference --- modules/imageInference.py | 2 +- modules/outpaintSettings.py | 23 ++++++++++++++--------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/modules/imageInference.py b/modules/imageInference.py index f31e520..7678954 100644 --- a/modules/imageInference.py +++ b/modules/imageInference.py @@ -351,7 +351,7 @@ def generateImage(self, **kwargs): genConfig[0]["embeddings"] = runwareEmbedding elif (isinstance(runwareEmbedding, dict)): genConfig[0]["embeddings"] = [runwareEmbedding] - if (runwareOutpainting is not None): + if runwareOutpainting: genConfig[0]["outpaint"] = runwareOutpainting if (runwareVAE is not None): genConfig[0]["vae"] = runwareVAE diff --git a/modules/outpaintSettings.py b/modules/outpaintSettings.py index 946a2f1..bc4de40 100644 --- a/modules/outpaintSettings.py +++ b/modules/outpaintSettings.py @@ -1,3 +1,8 @@ +def _round_to_multiple_of_64(value: int) -> int: + """Round pixel extension to the nearest multiple of 64 (API constraint).""" + return max(0, min(2048, round(value / 64) * 64)) + + class outpaintSettings: @classmethod def INPUT_TYPES(cls): @@ -10,7 +15,7 @@ def INPUT_TYPES(cls): "Top": ( "INT", { - "tooltip": "Number of pixels to extend at the top of the image. Must be a multiple of 64. Only used when 'Use Top' is enabled.", + "tooltip": "Number of pixels to extend at the top of the image. Rounded to the nearest multiple of 64 when sent to the API. Only used when 'Use Top' is enabled.", "default": 64, "min": 0, "max": 2048, @@ -24,7 +29,7 @@ def INPUT_TYPES(cls): "Right": ( "INT", { - "tooltip": "Number of pixels to extend at the right of the image. Must be a multiple of 64. Only used when 'Use Right' is enabled.", + "tooltip": "Number of pixels to extend at the right of the image. Rounded to the nearest multiple of 64 when sent to the API. Only used when 'Use Right' is enabled.", "default": 64, "min": 0, "max": 2048, @@ -38,7 +43,7 @@ def INPUT_TYPES(cls): "Bottom": ( "INT", { - "tooltip": "Number of pixels to extend at the bottom of the image. Must be a multiple of 64. Only used when 'Use Bottom' is enabled.", + "tooltip": "Number of pixels to extend at the bottom of the image. Rounded to the nearest multiple of 64 when sent to the API. Only used when 'Use Bottom' is enabled.", "default": 64, "min": 0, "max": 2048, @@ -52,7 +57,7 @@ def INPUT_TYPES(cls): "Left": ( "INT", { - "tooltip": "Number of pixels to extend at the left of the image. Must be a multiple of 64. Only used when 'Use Left' is enabled.", + "tooltip": "Number of pixels to extend at the left of the image. Rounded to the nearest multiple of 64 when sent to the API. Only used when 'Use Left' is enabled.", "default": 64, "min": 0, "max": 2048, @@ -86,14 +91,14 @@ def outpaintSettings(self, **kwargs): outpaint = {} if kwargs.get("useTop", False): - outpaint["top"] = int(kwargs.get("Top", 0)) + outpaint["top"] = _round_to_multiple_of_64(int(kwargs.get("Top", 0))) if kwargs.get("useRight", False): - outpaint["right"] = int(kwargs.get("Right", 0)) + outpaint["right"] = _round_to_multiple_of_64(int(kwargs.get("Right", 0))) if kwargs.get("useBottom", False): - outpaint["bottom"] = int(kwargs.get("Bottom", 0)) + outpaint["bottom"] = _round_to_multiple_of_64(int(kwargs.get("Bottom", 0))) if kwargs.get("useLeft", False): - outpaint["left"] = int(kwargs.get("Left", 0)) + outpaint["left"] = _round_to_multiple_of_64(int(kwargs.get("Left", 0))) if kwargs.get("useBlur", False): outpaint["blur"] = int(kwargs.get("Blur", 0)) - return (outpaint,) + return (outpaint if outpaint else None,) From 3f5133f9b61aaa9bf9f7470f3b8931b5e70229f3 Mon Sep 17 00:00:00 2001 From: Sirshendu Ganguly Date: Thu, 21 May 2026 17:14:38 +0530 Subject: [PATCH 4/5] Fixed conditional blocks in imageInference --- modules/outpaintSettings.py | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/modules/outpaintSettings.py b/modules/outpaintSettings.py index bc4de40..206f02e 100644 --- a/modules/outpaintSettings.py +++ b/modules/outpaintSettings.py @@ -1,8 +1,3 @@ -def _round_to_multiple_of_64(value: int) -> int: - """Round pixel extension to the nearest multiple of 64 (API constraint).""" - return max(0, min(2048, round(value / 64) * 64)) - - class outpaintSettings: @classmethod def INPUT_TYPES(cls): @@ -15,7 +10,7 @@ def INPUT_TYPES(cls): "Top": ( "INT", { - "tooltip": "Number of pixels to extend at the top of the image. Rounded to the nearest multiple of 64 when sent to the API. Only used when 'Use Top' is enabled.", + "tooltip": "Number of pixels to extend at the top of the image. Only used when 'Use Top' is enabled.", "default": 64, "min": 0, "max": 2048, @@ -29,7 +24,7 @@ def INPUT_TYPES(cls): "Right": ( "INT", { - "tooltip": "Number of pixels to extend at the right of the image. Rounded to the nearest multiple of 64 when sent to the API. Only used when 'Use Right' is enabled.", + "tooltip": "Number of pixels to extend at the right of the image. Only used when 'Use Right' is enabled.", "default": 64, "min": 0, "max": 2048, @@ -43,7 +38,7 @@ def INPUT_TYPES(cls): "Bottom": ( "INT", { - "tooltip": "Number of pixels to extend at the bottom of the image. Rounded to the nearest multiple of 64 when sent to the API. Only used when 'Use Bottom' is enabled.", + "tooltip": "Number of pixels to extend at the bottom of the image. Only used when 'Use Bottom' is enabled.", "default": 64, "min": 0, "max": 2048, @@ -57,7 +52,7 @@ def INPUT_TYPES(cls): "Left": ( "INT", { - "tooltip": "Number of pixels to extend at the left of the image. Rounded to the nearest multiple of 64 when sent to the API. Only used when 'Use Left' is enabled.", + "tooltip": "Number of pixels to extend at the left of the image. Only used when 'Use Left' is enabled.", "default": 64, "min": 0, "max": 2048, @@ -91,13 +86,13 @@ def outpaintSettings(self, **kwargs): outpaint = {} if kwargs.get("useTop", False): - outpaint["top"] = _round_to_multiple_of_64(int(kwargs.get("Top", 0))) + outpaint["top"] = int(kwargs.get("Top", 0)) if kwargs.get("useRight", False): - outpaint["right"] = _round_to_multiple_of_64(int(kwargs.get("Right", 0))) + outpaint["right"] = int(kwargs.get("Right", 0)) if kwargs.get("useBottom", False): - outpaint["bottom"] = _round_to_multiple_of_64(int(kwargs.get("Bottom", 0))) + outpaint["bottom"] = int(kwargs.get("Bottom", 0)) if kwargs.get("useLeft", False): - outpaint["left"] = _round_to_multiple_of_64(int(kwargs.get("Left", 0))) + outpaint["left"] = int(kwargs.get("Left", 0)) if kwargs.get("useBlur", False): outpaint["blur"] = int(kwargs.get("Blur", 0)) From da356c6a64a25e1fb5b757edd3ac858146ec614e Mon Sep 17 00:00:00 2001 From: Sirshendu Ganguly Date: Thu, 21 May 2026 19:39:13 +0530 Subject: [PATCH 5/5] Fixed outpaintSettingsToggleHandler --- clientlibs/utils.js | 41 +++++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/clientlibs/utils.js b/clientlibs/utils.js index 62a32cb..32ca7a9 100644 --- a/clientlibs/utils.js +++ b/clientlibs/utils.js @@ -5272,18 +5272,43 @@ function outpaintSettingsToggleHandler(settingsNode) { function toggleWidgetState(useWidget, paramWidget, paramName) { if (!useWidget || !paramWidget) return; - function applyState() { + + function toggleEnabled() { const enabled = useWidget.value === true; - toggleWidgetEnabled(paramWidget, enabled, settingsNode); - 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"; + + 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; + + if (!paramWidget.inputEl) { + const nodeElement = settingsNode.htmlElements?.widgetsContainer || settingsNode.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"; + } + } + } + } + settingsNode.setDirtyCanvas(true); } - setTimeout(applyState, 100); - appendWidgetCB(useWidget, () => setTimeout(applyState, 50)); + + appendWidgetCB(useWidget, () => { + setTimeout(toggleEnabled, 50); + }); + + setTimeout(toggleEnabled, 100); } if (useTopWidget && topWidget) toggleWidgetState(useTopWidget, topWidget, "Top");