diff --git a/__init__.py b/__init__.py index 1ba5ffc..8657554 100644 --- a/__init__.py +++ b/__init__.py @@ -55,6 +55,7 @@ from .modules.providerSettings.runwayProviderSettings import RunwareRunwayProvid from .modules.providerSettings.lumaProviderSettings import RunwareLumaProviderSettings from .modules.providerSettings.midjourneyProviderSettings import RunwareMidjourneyProviderSettings from .modules.providerSettings.alibabaProviderSettings import RunwareAlibabaProviderSettings +from .modules.providerSettings.googleProviderSettings import RunwareGoogleProviderSettings from .modules.providerSettings.blackForestProviderSettings import RunwareBlackForestProviderSettings from .modules.providerSettings.syncSegment import RunwareSyncSegment from .modules.providerSettings.syncProviderSettings import RunwareSyncProviderSettings @@ -64,6 +65,7 @@ from .modules.videoUpscaler import videoUpscaler from .modules.videoInputsReferences import videoInputsReferences from .modules.videoInputsFrame import RunwareVideoInputsFrameImages from .modules.safetyInputs import safetyInputs +from .modules.settings import RunwareSettings from .modules.videoAdvancedFeatureInputs import videoAdvancedFeatureInputs RUNWARE_COMFYUI_VERSION = "1.4.0 Beta" @@ -134,6 +136,7 @@ NODE_CLASS_MAPPINGS = { "Runware Runway Provider Settings": RunwareRunwayProviderSettings, "Runware Midjourney Provider Settings": RunwareMidjourneyProviderSettings, "Runware Alibaba Provider Settings": RunwareAlibabaProviderSettings, + "Runware Google Provider Settings": RunwareGoogleProviderSettings, "Runware BlackForest Labs Provider Settings": RunwareBlackForestProviderSettings, "Runware Sync Segment": RunwareSyncSegment, "Runware Sync Provider Settings": RunwareSyncProviderSettings, @@ -143,6 +146,7 @@ NODE_CLASS_MAPPINGS = { "Runware Video Inputs References": videoInputsReferences, "Runware Video Inputs Frame Images": RunwareVideoInputsFrameImages, "Runware Safety Inputs": safetyInputs, + "Runware Settings": RunwareSettings, "Runware Video Advanced Feature Inputs": videoAdvancedFeatureInputs, } diff --git a/clientlibs/main.js b/clientlibs/main.js index 7b12784..e401a53 100644 --- a/clientlibs/main.js +++ b/clientlibs/main.js @@ -1,6 +1,6 @@ import { app } from "../../scripts/app.js"; import { api } from "../../scripts/api.js"; -import { promptEnhanceHandler, syncDimensionsNodeHandler, searchNodeHandler, APIKeyHandler, captionNodeHandler, mediaUUIDHandler, videoTranscriptionHandler, handleCustomErrors, videoInferenceDimensionsHandler, videoModelSearchFilterHandler, audioModelSearchFilterHandler, useParameterToggleHandler, imageInferenceToggleHandler, upscalerToggleHandler, videoUpscalerToggleHandler, audioInferenceToggleHandler, acceleratorOptionsToggleHandler, bytedanceProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler } from "./utils.js"; +import { promptEnhanceHandler, syncDimensionsNodeHandler, searchNodeHandler, APIKeyHandler, captionNodeHandler, mediaUUIDHandler, videoTranscriptionHandler, handleCustomErrors, videoInferenceDimensionsHandler, videoModelSearchFilterHandler, audioModelSearchFilterHandler, useParameterToggleHandler, imageInferenceToggleHandler, upscalerToggleHandler, videoUpscalerToggleHandler, audioInferenceToggleHandler, acceleratorOptionsToggleHandler, bytedanceProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler } from "./utils.js"; import { RUNWARE_NODE_TYPES, RUNWARE_NODE_PROPS, SEARCH_TERMS } from "./types.js"; const nodeInitList = []; @@ -73,10 +73,14 @@ app.registerExtension({ pixverseProviderSettingsToggleHandler(node); } else if(nodeClass === RUNWARE_NODE_TYPES.ALIBABAPROVIDERSETTINGS) { alibabaProviderSettingsToggleHandler(node); + } else if(nodeClass === RUNWARE_NODE_TYPES.GOOGLEPROVIDERSETTINGS) { + googleProviderSettingsToggleHandler(node); } else if(nodeClass === RUNWARE_NODE_TYPES.SYNCPROVIDERSETTINGS) { syncProviderSettingsToggleHandler(node); } else if(nodeClass === RUNWARE_NODE_TYPES.SYNCSEGMENT) { syncSegmentToggleHandler(node); + } else if(nodeClass === RUNWARE_NODE_TYPES.SETTINGS) { + settingsToggleHandler(node); } if(crNodeProps.colorModeOnly === true) return; diff --git a/clientlibs/types.js b/clientlibs/types.js index 14b24dd..0b562a2 100644 --- a/clientlibs/types.js +++ b/clientlibs/types.js @@ -102,6 +102,7 @@ const RUNWARE_NODE_TYPES = { LUMAPROVIDERSETTINGS: "Runware Luma Provider Settings", MIDJOURNEYPROVIDERSETTINGS: "Runware Midjourney Provider Settings", ALIBABAPROVIDERSETTINGS: "Runware Alibaba Provider Settings", + GOOGLEPROVIDERSETTINGS: "Runware Google Provider Settings", SYNCSEGMENT: "Runware Sync Segment", SYNCPROVIDERSETTINGS: "Runware Sync Provider Settings", VECTORIZE: "Runware Vectorize", @@ -113,6 +114,7 @@ const RUNWARE_NODE_TYPES = { VIDEOTRANSCRIPTION: "Runware Video Transcription", MINIMAXPROVIDERSETTINGS: "Runware MiniMax Provider Settings", SAFETYINPUTS: "Runware Safety Inputs", + SETTINGS: "Runware Settings", VIDEOADVANCEDFEATUREINPUTS: "Runware Video Advanced Feature Inputs", }; @@ -336,6 +338,10 @@ const RUNWARE_NODE_PROPS = { bgColor: DEFAULT_BGCOLOR, colorModeOnly: true, }, + [RUNWARE_NODE_TYPES.GOOGLEPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, [RUNWARE_NODE_TYPES.SYNCSEGMENT]: { bgColor: DEFAULT_BGCOLOR, colorModeOnly: true, @@ -381,6 +387,10 @@ const RUNWARE_NODE_PROPS = { bgColor: DEFAULT_BGCOLOR, colorModeOnly: true, }, + [RUNWARE_NODE_TYPES.SETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, [RUNWARE_NODE_TYPES.VIDEOADVANCEDFEATUREINPUTS]: { bgColor: DEFAULT_BGCOLOR, colorModeOnly: true, diff --git a/clientlibs/utils.js b/clientlibs/utils.js index b7bff75..1311805 100644 --- a/clientlibs/utils.js +++ b/clientlibs/utils.js @@ -2466,10 +2466,138 @@ export { briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, + googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, + settingsToggleHandler, }; +function googleProviderSettingsToggleHandler(googleNode) { + // Find all "use" parameter widgets for Google Provider Settings + const useGenerateAudioWidget = googleNode.widgets.find(w => w.name === "useGenerateAudio"); + const generateAudioWidget = googleNode.widgets.find(w => w.name === "generateAudio"); + const useEnhancePromptWidget = googleNode.widgets.find(w => w.name === "useEnhancePrompt"); + const enhancePromptWidget = googleNode.widgets.find(w => w.name === "enhancePrompt"); + const useSearchWidget = googleNode.widgets.find(w => w.name === "useSearch"); + const searchWidget = googleNode.widgets.find(w => w.name === "search"); + + // Helper function to toggle widget enabled state + function toggleWidgetState(useWidget, paramWidget, paramName) { + if (!useWidget || !paramWidget) return; + + function toggleEnabled() { + const enabled = useWidget.value === true; + + if (paramWidget.inputEl) { + paramWidget.inputEl.disabled = !enabled; + paramWidget.inputEl.style.opacity = enabled ? "1" : "0.5"; + paramWidget.inputEl.style.cursor = enabled ? "text" : "not-allowed"; + paramWidget.inputEl.readOnly = !enabled; + } + + paramWidget.disabled = !enabled; + + if (!paramWidget.inputEl) { + const nodeElement = googleNode.htmlElements?.widgetsContainer || googleNode.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"; + } + } + } + } + + googleNode.setDirtyCanvas(true); + } + + appendWidgetCB(useWidget, () => { + setTimeout(toggleEnabled, 50); + }); + + setTimeout(toggleEnabled, 100); + } + + // Set up toggle handlers + if (useGenerateAudioWidget && generateAudioWidget) { + toggleWidgetState(useGenerateAudioWidget, generateAudioWidget, "generateAudio"); + } + if (useEnhancePromptWidget && enhancePromptWidget) { + toggleWidgetState(useEnhancePromptWidget, enhancePromptWidget, "enhancePrompt"); + } + if (useSearchWidget && searchWidget) { + toggleWidgetState(useSearchWidget, searchWidget, "search"); + } +} + +function settingsToggleHandler(settingsNode) { + // Find all "use" parameter widgets for Settings + const useTemperatureWidget = settingsNode.widgets.find(w => w.name === "useTemperature"); + const temperatureWidget = settingsNode.widgets.find(w => w.name === "temperature"); + const useSystemPromptWidget = settingsNode.widgets.find(w => w.name === "useSystemPrompt"); + const systemPromptWidget = settingsNode.widgets.find(w => w.name === "systemPrompt"); + const useTopPWidget = settingsNode.widgets.find(w => w.name === "useTopP"); + const topPWidget = settingsNode.widgets.find(w => w.name === "topP"); + + // Helper function to toggle widget enabled state + function toggleWidgetState(useWidget, paramWidget, paramName) { + if (!useWidget || !paramWidget) return; + + function toggleEnabled() { + const enabled = useWidget.value === true; + + if (paramWidget.inputEl) { + paramWidget.inputEl.disabled = !enabled; + paramWidget.inputEl.style.opacity = enabled ? "1" : "0.5"; + paramWidget.inputEl.style.cursor = enabled ? "text" : "not-allowed"; + paramWidget.inputEl.readOnly = !enabled; + } + + paramWidget.disabled = !enabled; + + 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); + } + + appendWidgetCB(useWidget, () => { + setTimeout(toggleEnabled, 50); + }); + + setTimeout(toggleEnabled, 100); + } + + // Set up toggle handlers + if (useTemperatureWidget && temperatureWidget) { + toggleWidgetState(useTemperatureWidget, temperatureWidget, "temperature"); + } + if (useSystemPromptWidget && systemPromptWidget) { + toggleWidgetState(useSystemPromptWidget, systemPromptWidget, "systemPrompt"); + } + if (useTopPWidget && topPWidget) { + toggleWidgetState(useTopPWidget, topPWidget, "topP"); + } +} + function syncProviderSettingsToggleHandler(syncNode) { // Find all "use" parameter widgets for Sync Provider Settings const useEditRegionWidget = syncNode.widgets.find(w => w.name === "useEditRegion"); diff --git a/modules/imageInference.py b/modules/imageInference.py index c1b0f89..bc02c32 100644 --- a/modules/imageInference.py +++ b/modules/imageInference.py @@ -188,6 +188,9 @@ class txt2img: "safetyInputs": ("RUNWARESAFETYINPUTS", { "tooltip": "Connect Runware Safety Inputs node to configure safety and content moderation settings.", }), + "settings": ("RUNWARESETTINGS", { + "tooltip": "Connect Runware Settings node to configure temperature, systemPrompt, and topP parameters.", + }), } } @@ -229,6 +232,7 @@ class txt2img: inputs = kwargs.get("inputs", None) providerSettings = kwargs.get("providerSettings", None) safetyInputs = kwargs.get("safetyInputs", None) + settings = kwargs.get("settings", None) seedImage = kwargs.get("seedImage", None) seedImageStrength = kwargs.get("strength", 0.8) maskImage = kwargs.get("maskImage", None) @@ -386,6 +390,10 @@ class txt2img: if safetyInputs is not None and isinstance(safetyInputs, dict) and len(safetyInputs) > 0: genConfig[0]["safety"] = safetyInputs + # Add settings if provided + if settings is not None and isinstance(settings, dict) and len(settings) > 0: + genConfig[0]["settings"] = settings + if (multiInferenceMode): return (None, genConfig) else: diff --git a/modules/providerSettings/googleProviderSettings.py b/modules/providerSettings/googleProviderSettings.py new file mode 100644 index 0000000..6af71c5 --- /dev/null +++ b/modules/providerSettings/googleProviderSettings.py @@ -0,0 +1,95 @@ +""" +Runware Google Provider Settings Node +Provides Google-specific settings for image/video generation +""" + +from typing import Optional, Dict, Any + + +class RunwareGoogleProviderSettings: + """Runware Google Provider Settings Node""" + + @classmethod + def INPUT_TYPES(cls): + return { + "required": {}, + "optional": { + "useGenerateAudio": ("BOOLEAN", { + "tooltip": "Enable to include generateAudio parameter in provider settings", + "default": False, + }), + "generateAudio": ("BOOLEAN", { + "tooltip": "Enable audio generation. Only used when 'Use Generate Audio' is enabled.", + "default": False, + "label_on": "Enabled", + "label_off": "Disabled", + }), + "useEnhancePrompt": ("BOOLEAN", { + "tooltip": "Enable to include enhancePrompt parameter in provider settings", + "default": False, + }), + "enhancePrompt": ("BOOLEAN", { + "tooltip": "Enable prompt enhancement for Google generation. Only used when 'Use Enhance Prompt' is enabled.", + "default": False, + "label_on": "Enabled", + "label_off": "Disabled", + }), + "useSearch": ("BOOLEAN", { + "tooltip": "Enable to include search parameter in provider settings", + "default": False, + }), + "search": ("BOOLEAN", { + "tooltip": "Enable search functionality. Only used when 'Use Search' is enabled.", + "default": False, + "label_on": "Enabled", + "label_off": "Disabled", + }), + } + } + + RETURN_TYPES = ("RUNWAREPROVIDERSETTINGS",) + RETURN_NAMES = ("Provider Settings",) + FUNCTION = "createProviderSettings" + CATEGORY = "Runware/Provider Settings" + DESCRIPTION = "Configure Google-specific provider settings for image/video generation including audio generation, prompt enhancement, and search." + + def createProviderSettings(self, **kwargs) -> tuple[Dict[str, Any]]: + """Create Google provider settings""" + + # Get control parameters + useGenerateAudio = kwargs.get("useGenerateAudio", False) + useEnhancePrompt = kwargs.get("useEnhancePrompt", False) + useSearch = kwargs.get("useSearch", False) + + # Get value parameters + generateAudio = kwargs.get("generateAudio", False) + enhancePrompt = kwargs.get("enhancePrompt", False) + search = kwargs.get("search", False) + + # Build settings dictionary - only include what is enabled + googleSettings: Dict[str, Any] = {} + + # Add parameters only if their use toggles are enabled + if useGenerateAudio: + googleSettings["generateAudio"] = generateAudio + if useEnhancePrompt: + googleSettings["enhancePrompt"] = enhancePrompt + if useSearch: + googleSettings["search"] = search + + # Clean up None values + googleSettings = {k: v for k, v in googleSettings.items() if v is not None} + + # Return flat dictionary - will be wrapped by inference node with provider name + return (googleSettings,) + + +# Node class mappings +NODE_CLASS_MAPPINGS = { + "RunwareGoogleProviderSettings": RunwareGoogleProviderSettings, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "RunwareGoogleProviderSettings": "Runware Google Provider Settings", +} + diff --git a/modules/settings.py b/modules/settings.py new file mode 100644 index 0000000..64527e3 --- /dev/null +++ b/modules/settings.py @@ -0,0 +1,95 @@ +""" +Runware Settings Node +Provides general settings for image generation including temperature, systemPrompt, and topP +""" + +from typing import Optional, Dict, Any + + +class RunwareSettings: + """Runware Settings Node""" + + @classmethod + def INPUT_TYPES(cls): + return { + "required": {}, + "optional": { + "useTemperature": ("BOOLEAN", { + "tooltip": "Enable to include temperature parameter in API request", + "default": False, + }), + "temperature": ("FLOAT", { + "tooltip": "Temperature value for generation. Only used when 'Use Temperature' is enabled.", + "default": 1.0, + "min": 0.0, + "max": 2.0, + "step": 0.1, + }), + "useSystemPrompt": ("BOOLEAN", { + "tooltip": "Enable to include systemPrompt parameter in API request", + "default": False, + }), + "systemPrompt": ("STRING", { + "multiline": True, + "tooltip": "System prompt for generation. Only used when 'Use System Prompt' is enabled.", + "default": "", + }), + "useTopP": ("BOOLEAN", { + "tooltip": "Enable to include topP parameter in API request", + "default": False, + }), + "topP": ("FLOAT", { + "tooltip": "Top-p (nucleus) sampling parameter. Only used when 'Use Top P' is enabled.", + "default": 1.0, + "min": 0.0, + "max": 1.0, + "step": 0.01, + }), + } + } + + RETURN_TYPES = ("RUNWARESETTINGS",) + RETURN_NAMES = ("Settings",) + FUNCTION = "createSettings" + CATEGORY = "Runware" + DESCRIPTION = "Configure general settings for image generation including temperature, system prompt, and top-p sampling." + + def createSettings(self, **kwargs) -> tuple[Dict[str, Any]]: + """Create settings configuration""" + + # Get control parameters + useTemperature = kwargs.get("useTemperature", False) + useSystemPrompt = kwargs.get("useSystemPrompt", False) + useTopP = kwargs.get("useTopP", False) + + # Get value parameters + temperature = kwargs.get("temperature", 1.0) + systemPrompt = kwargs.get("systemPrompt", "") + topP = kwargs.get("topP", 1.0) + + # Build settings dictionary - only include what is enabled + settings: Dict[str, Any] = {} + + # Add optional parameters only if enabled + if useTemperature: + settings["temperature"] = float(temperature) + if useSystemPrompt and systemPrompt and systemPrompt.strip(): + settings["systemPrompt"] = systemPrompt.strip() + if useTopP: + settings["topP"] = float(topP) + + # Clean up None values + settings = {k: v for k, v in settings.items() if v is not None} + + return (settings,) + + +# Node class mappings +NODE_CLASS_MAPPINGS = { + "RunwareSettings": RunwareSettings, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "RunwareSettings": "Runware Settings", +} + diff --git a/workflows/Runware_Image_Inference_BFL_7_1.json b/workflows/Runware_Image_Inference_BFL_7_1.json new file mode 100644 index 0000000..92a1d53 --- /dev/null +++ b/workflows/Runware_Image_Inference_BFL_7_1.json @@ -0,0 +1 @@ +{"id":"5337d9ce-299f-4cf0-9e98-e48fd6333885","revision":0,"last_node_id":13,"last_link_id":20,"nodes":[{"id":4,"type":"Runware Model Search","pos":[-65.2453384399414,456.5984191894531],"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":[17]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"47696ff476df65cc05e1adeb5a5d1d7b994650ae","Node name for S&R":"Runware Model Search"},"widgets_values":["bfl:7@1","All","Base Model","bfl:7@1 (FLUX.2 [max] 1)",true],"bgcolor":"#5345bf"},{"id":13,"type":"Runware Image Inference","pos":[226.34129333496094,431.3597412109375],"size":[400,998],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"Model","name":"Model","type":"RUNWAREMODEL","link":17},{"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":18},{"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":[20]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"bdc86e015971881247addb07bb8f22f7d85c0062","Node name for S&R":"Runware Image Inference"},"widgets_values":["A winter landscape at sunset","",false,"Disabled","Square (512x512)",512,512,false,"1k",false,4,false,"Default",false,6.5,true,727091304,"randomize",false,0,0.8,false,32,"WEBP",1,"none"],"bgcolor":"#5345bf"},{"id":5,"type":"SaveImage","pos":[656.3712158203125,453.6424255371094],"size":[270,270.0000305175781],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":20},{"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":2,"type":"Runware Image Inference Inputs","pos":[-36.75678634643555,666.8241577148438],"size":[243.01620483398438,210],"flags":{},"order":2,"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":16},{"localized_name":"Reference Image 2","name":"Reference Image 2","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 3","name":"Reference Image 3","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 4","name":"Reference Image 4","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Tag 1","name":"Reference Tag 1","shape":7,"type":"STRING","widget":{"name":"Reference Tag 1"},"link":null},{"localized_name":"Reference Tag 2","name":"Reference Tag 2","shape":7,"type":"STRING","widget":{"name":"Reference Tag 2"},"link":null},{"localized_name":"Reference Tag 3","name":"Reference Tag 3","shape":7,"type":"STRING","widget":{"name":"Reference Tag 3"},"link":null},{"localized_name":"Reference Tag 4","name":"Reference Tag 4","shape":7,"type":"STRING","widget":{"name":"Reference Tag 4"},"link":null}],"outputs":[{"localized_name":"Inference Inputs","name":"Inference Inputs","type":"RUNWAREIMAGEINFERENCEINPUTS","links":[18]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"47696ff476df65cc05e1adeb5a5d1d7b994650ae","Node name for S&R":"Runware Image Inference Inputs"},"widgets_values":["","","",""],"bgcolor":"#5345bf"},{"id":11,"type":"LoadImage","pos":[-75.8919448852539,929.6608276367188],"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":[16]},{"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":["env1.jpg","image"]}],"links":[[16,11,0,2,1,"IMAGE"],[17,4,0,13,0,"RUNWAREMODEL"],[18,2,0,13,12,"RUNWAREIMAGEINFERENCEINPUTS"],[20,13,0,5,0,"IMAGE"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.6209213230591553,"offset":[595.1698957841223,-346.6444945568034]}},"version":0.4} \ No newline at end of file diff --git a/workflows/Runware_Image_Inference_nano_banana_flash_2.json b/workflows/Runware_Image_Inference_nano_banana_flash_2.json new file mode 100644 index 0000000..1c44d40 --- /dev/null +++ b/workflows/Runware_Image_Inference_nano_banana_flash_2.json @@ -0,0 +1 @@ +{"id":"5337d9ce-299f-4cf0-9e98-e48fd6333885","revision":0,"last_node_id":15,"last_link_id":21,"nodes":[{"id":5,"type":"SaveImage","pos":[656.3712158203125,453.6424255371094],"size":[270,270.0000305175781],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":20},{"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":2,"type":"Runware Image Inference Inputs","pos":[-36.75678634643555,666.8241577148438],"size":[243.01620483398438,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":16},{"localized_name":"Reference Image 2","name":"Reference Image 2","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 3","name":"Reference Image 3","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 4","name":"Reference Image 4","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Tag 1","name":"Reference Tag 1","shape":7,"type":"STRING","widget":{"name":"Reference Tag 1"},"link":null},{"localized_name":"Reference Tag 2","name":"Reference Tag 2","shape":7,"type":"STRING","widget":{"name":"Reference Tag 2"},"link":null},{"localized_name":"Reference Tag 3","name":"Reference Tag 3","shape":7,"type":"STRING","widget":{"name":"Reference Tag 3"},"link":null},{"localized_name":"Reference Tag 4","name":"Reference Tag 4","shape":7,"type":"STRING","widget":{"name":"Reference Tag 4"},"link":null}],"outputs":[{"localized_name":"Inference Inputs","name":"Inference Inputs","type":"RUNWAREIMAGEINFERENCEINPUTS","links":[18]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"47696ff476df65cc05e1adeb5a5d1d7b994650ae","Node name for S&R":"Runware Image Inference Inputs"},"widgets_values":["","","",""],"bgcolor":"#5345bf"},{"id":11,"type":"LoadImage","pos":[-75.8919448852539,929.6608276367188],"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":[16]},{"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":["env1.jpg","image"]},{"id":4,"type":"Runware Model Search","pos":[-65.2453384399414,456.5984191894531],"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":[17]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"47696ff476df65cc05e1adeb5a5d1d7b994650ae","Node name for S&R":"Runware Model Search"},"widgets_values":["google:4@3","All","Base Model","google:4@3 (Nano Banana 2 Flash 2.0)",true],"bgcolor":"#5345bf"},{"id":15,"type":"Runware Settings","pos":[673.8174438476562,809.9742431640625],"size":[400,208],"flags":{},"order":2,"mode":0,"inputs":[{"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}],"outputs":[{"localized_name":"Settings","name":"Settings","type":"RUNWARESETTINGS","links":[21]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"1b958b09c2e442be25a447965ce34282ed78e958","Node name for S&R":"Runware Settings"},"widgets_values":[true,0.5,true,"Hello",true,0.5],"bgcolor":"#5345bf"},{"id":13,"type":"Runware Image Inference","pos":[226.34129333496094,431.3597412109375],"size":[400,1018],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"Model","name":"Model","type":"RUNWAREMODEL","link":17},{"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":18},{"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":21},{"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":[20]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"bdc86e015971881247addb07bb8f22f7d85c0062","Node name for S&R":"Runware Image Inference"},"widgets_values":["A winter landscape at sunset","",false,"Disabled","Square HD (1024x1024)",1024,1024,false,"1k",false,4,false,"Default",false,6.5,true,6281255,"randomize",false,0,0.8,false,32,"WEBP",1,"none"],"bgcolor":"#5345bf"}],"links":[[16,11,0,2,1,"IMAGE"],[17,4,0,13,0,"RUNWAREMODEL"],[18,2,0,13,12,"RUNWAREIMAGEINFERENCEINPUTS"],[20,13,0,5,0,"IMAGE"],[21,15,0,13,15,"RUNWARESETTINGS"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.6209213230591553,"offset":[595.5662322294348,-410.5238638536784]}},"version":0.4} \ No newline at end of file diff --git a/workflows/Runware_Image_Inference_openai_hazel.py.json b/workflows/Runware_Image_Inference_openai_hazel.py.json new file mode 100644 index 0000000..03e9b33 --- /dev/null +++ b/workflows/Runware_Image_Inference_openai_hazel.py.json @@ -0,0 +1 @@ +{"id":"5337d9ce-299f-4cf0-9e98-e48fd6333885","revision":0,"last_node_id":16,"last_link_id":22,"nodes":[{"id":5,"type":"SaveImage","pos":[656.3712158203125,453.6424255371094],"size":[270,270.0000305175781],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":20},{"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":2,"type":"Runware Image Inference Inputs","pos":[-36.75678634643555,666.8241577148438],"size":[243.01620483398438,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":16},{"localized_name":"Reference Image 2","name":"Reference Image 2","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 3","name":"Reference Image 3","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Image 4","name":"Reference Image 4","shape":7,"type":"IMAGE","link":null},{"localized_name":"Reference Tag 1","name":"Reference Tag 1","shape":7,"type":"STRING","widget":{"name":"Reference Tag 1"},"link":null},{"localized_name":"Reference Tag 2","name":"Reference Tag 2","shape":7,"type":"STRING","widget":{"name":"Reference Tag 2"},"link":null},{"localized_name":"Reference Tag 3","name":"Reference Tag 3","shape":7,"type":"STRING","widget":{"name":"Reference Tag 3"},"link":null},{"localized_name":"Reference Tag 4","name":"Reference Tag 4","shape":7,"type":"STRING","widget":{"name":"Reference Tag 4"},"link":null}],"outputs":[{"localized_name":"Inference Inputs","name":"Inference Inputs","type":"RUNWAREIMAGEINFERENCEINPUTS","links":[18]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"47696ff476df65cc05e1adeb5a5d1d7b994650ae","Node name for S&R":"Runware Image Inference Inputs"},"widgets_values":["","","",""],"bgcolor":"#5345bf"},{"id":4,"type":"Runware Model Search","pos":[-65.2453384399414,456.5984191894531],"size":[270,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":[17]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"47696ff476df65cc05e1adeb5a5d1d7b994650ae","Node name for S&R":"Runware Model Search"},"widgets_values":["openai:4@1","All","Base Model","openai:4@1 (GPT Image 1.5 1.0.0)",true],"bgcolor":"#5345bf"},{"id":11,"type":"LoadImage","pos":[-75.8919448852539,929.6608276367188],"size":[274.080078125,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":[16]},{"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":["2c727a7d-c8e7-45cc-b9cc-19ca26f3b4fa.jpeg","image"]},{"id":16,"type":"Runware OpenAI Provider Settings","pos":[653.9262084960938,819.2459106445312],"size":[317.7886657714844,154],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"quality","name":"quality","type":"COMBO","widget":{"name":"quality"},"link":null},{"localized_name":"useBackground","name":"useBackground","type":"COMBO","widget":{"name":"useBackground"},"link":null},{"localized_name":"background","name":"background","type":"COMBO","widget":{"name":"background"},"link":null},{"localized_name":"useStyle","name":"useStyle","type":"COMBO","widget":{"name":"useStyle"},"link":null},{"localized_name":"style","name":"style","type":"COMBO","widget":{"name":"style"},"link":null}],"outputs":[{"localized_name":"Provider Settings","name":"Provider Settings","type":"RUNWAREPROVIDERSETTINGS","links":[22]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"1b958b09c2e442be25a447965ce34282ed78e958","Node name for S&R":"Runware OpenAI Provider Settings"},"widgets_values":["medium","enable","opaque","disabled","vivid"],"bgcolor":"#5345bf"},{"id":13,"type":"Runware Image Inference","pos":[226.34129333496094,431.3597412109375],"size":[400,1018],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"Model","name":"Model","type":"RUNWAREMODEL","link":17},{"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":18},{"localized_name":"providerSettings","name":"providerSettings","shape":7,"type":"RUNWAREPROVIDERSETTINGS","link":22},{"localized_name":"safetyInputs","name":"safetyInputs","shape":7,"type":"RUNWARESAFETYINPUTS","link":null},{"localized_name":"settings","name":"settings","shape":7,"type":"RUNWARESETTINGS","link":null},{"localized_name":"positivePrompt","name":"positivePrompt","type":"STRING","widget":{"name":"positivePrompt"},"link":null},{"localized_name":"negativePrompt","name":"negativePrompt","type":"STRING","widget":{"name":"negativePrompt"},"link":null},{"localized_name":"Multi Inference Mode","name":"Multi Inference Mode","type":"BOOLEAN","widget":{"name":"Multi Inference Mode"},"link":null},{"localized_name":"Prompt Weighting","name":"Prompt Weighting","type":"COMBO","widget":{"name":"Prompt Weighting"},"link":null},{"localized_name":"dimensions","name":"dimensions","type":"COMBO","widget":{"name":"dimensions"},"link":null},{"localized_name":"width","name":"width","type":"INT","widget":{"name":"width"},"link":null},{"localized_name":"height","name":"height","type":"INT","widget":{"name":"height"},"link":null},{"localized_name":"useResolution","name":"useResolution","type":"BOOLEAN","widget":{"name":"useResolution"},"link":null},{"localized_name":"resolution","name":"resolution","type":"COMBO","widget":{"name":"resolution"},"link":null},{"localized_name":"useSteps","name":"useSteps","type":"BOOLEAN","widget":{"name":"useSteps"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"useScheduler","name":"useScheduler","type":"BOOLEAN","widget":{"name":"useScheduler"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"useCFGScale","name":"useCFGScale","type":"BOOLEAN","widget":{"name":"useCFGScale"},"link":null},{"localized_name":"cfgScale","name":"cfgScale","type":"FLOAT","widget":{"name":"cfgScale"},"link":null},{"localized_name":"useSeed","name":"useSeed","type":"BOOLEAN","widget":{"name":"useSeed"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"useClipSkip","name":"useClipSkip","type":"BOOLEAN","widget":{"name":"useClipSkip"},"link":null},{"localized_name":"clipSkip","name":"clipSkip","type":"INT","widget":{"name":"clipSkip"},"link":null},{"localized_name":"strength","name":"strength","type":"FLOAT","widget":{"name":"strength"},"link":null},{"localized_name":"Mask Margin","name":"Mask Margin","type":"BOOLEAN","widget":{"name":"Mask Margin"},"link":null},{"localized_name":"maskMargin","name":"maskMargin","type":"INT","widget":{"name":"maskMargin"},"link":null},{"localized_name":"outputFormat","name":"outputFormat","type":"COMBO","widget":{"name":"outputFormat"},"link":null},{"localized_name":"batchSize","name":"batchSize","type":"INT","widget":{"name":"batchSize"},"link":null},{"localized_name":"acceleration","name":"acceleration","type":"COMBO","widget":{"name":"acceleration"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[20]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"bdc86e015971881247addb07bb8f22f7d85c0062","Node name for S&R":"Runware Image Inference"},"widgets_values":["Add sunglasses","",false,"Disabled","Square HD (1024x1024)",1024,1024,false,"1k",false,4,false,"Default",false,6.5,false,1362227193,"randomize",false,0,0.8,false,32,"WEBP",1,"none"],"bgcolor":"#5345bf"}],"links":[[16,11,0,2,1,"IMAGE"],[17,4,0,13,0,"RUNWAREMODEL"],[18,2,0,13,12,"RUNWAREIMAGEINFERENCEINPUTS"],[20,13,0,5,0,"IMAGE"],[22,16,0,13,13,"RUNWAREPROVIDERSETTINGS"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.9090909090909091,"offset":[372.7885732970357,-436.43684156376037]}},"version":0.4} \ No newline at end of file