From 282daf4149fbca92246cf2a59c093fadf5265da9 Mon Sep 17 00:00:00 2001 From: Sirshendu Ganguly Date: Thu, 4 Jun 2026 23:44:20 +0530 Subject: [PATCH] Added support for promptEnhance --- __init__.py | 3 + clientlibs/main.js | 4 +- clientlibs/types.js | 5 ++ clientlibs/utils.js | 27 +++++++ modules/imageInference.py | 20 ++--- .../imageInferenceSettingsPromptEnhance.py | 80 +++++++++++++++++++ modules/settings.py | 16 +++- workflows/Runware_Image_Inference_Ernie.json | 1 + 8 files changed, 143 insertions(+), 13 deletions(-) create mode 100644 modules/imageInferenceSettingsPromptEnhance.py create mode 100644 workflows/Runware_Image_Inference_Ernie.json diff --git a/__init__.py b/__init__.py index 6f20548..ecfb1c1 100644 --- a/__init__.py +++ b/__init__.py @@ -111,6 +111,7 @@ from .modules.imageInferenceSettingsColorPalette import RunwareImageInferenceSettingsColorPalette from .modules.imageInferenceSettingsMoodboards import RunwareImageInferenceSettingsMoodboards from .modules.imageInferenceSettingsStructuredPrompt import RunwareImageInferenceSettingsStructuredPrompt +from .modules.imageInferenceSettingsPromptEnhance import RunwareImageInferenceSettingsPromptEnhance from .modules.videoAdvancedFeatureInputs import videoAdvancedFeatureInputs from .modules.advancedFeatureSettings.wanAnimateAdvancedFeatureSettings import RunwareWanAnimateAdvancedFeatureSettings from .modules.saveImage import RunwareSaveImage @@ -252,6 +253,7 @@ "Runware Image Inference Settings Color Palette": RunwareImageInferenceSettingsColorPalette, "Runware Image Inference Settings Moodboards": RunwareImageInferenceSettingsMoodboards, "Runware Image Inference Settings Structured Prompt": RunwareImageInferenceSettingsStructuredPrompt, + "Runware Image Inference Settings Prompt Enhance": RunwareImageInferenceSettingsPromptEnhance, "Runware Video Advanced Feature Inputs": videoAdvancedFeatureInputs, "Runware Wan Animate Advanced Feature Settings": RunwareWanAnimateAdvancedFeatureSettings, "Runware Save Image": RunwareSaveImage, @@ -280,6 +282,7 @@ "Runware Text Model Search": "Runware Text Model", "Runware Image Inference Settings Color Palette": "Runware Image Inference Color Palette", "Runware Image Inference Settings Structured Prompt": "Runware Image Inference Structured Prompt", + "Runware Image Inference Settings Prompt Enhance": "Runware Image Inference Settings Prompt Enhance", "Runware Video Transcription": "Runware Video Caption", "Runware Video Inputs References": "Runware Video Inference Inputs Reference Images", "Runware Video Inference Inputs Reference Images": "Runware Video Inference Inputs Reference Images", diff --git a/clientlibs/main.js b/clientlibs/main.js index cbd3065..e39a7ef 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, threeDInferenceSettingsMeshClusterToggleHandler, ultralyticsProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, mireloProviderSettingsToggleHandler, googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler, outpaintSettingsToggleHandler, safetyInputsToggleHandler, imageInferenceSettingsColorPaletteToggleHandler, imageInferenceSettingsMoodboardsToggleHandler, imageInferenceSettingsStructuredPromptToggleHandler, audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler, wanAnimateAdvancedFeatureSettingsToggleHandler, videoAdvancedFeatureInputsToggleHandler, audioInferenceInputsToggleHandler, audioInferenceReferenceVoiceToggleHandler, audioInferenceSpeechVoicesToggleHandler, videoInputsFrameToggleHandler, 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, threeDInferenceSettingsMeshClusterToggleHandler, ultralyticsProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, mireloProviderSettingsToggleHandler, googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler, outpaintSettingsToggleHandler, safetyInputsToggleHandler, imageInferenceSettingsColorPaletteToggleHandler, imageInferenceSettingsMoodboardsToggleHandler, imageInferenceSettingsStructuredPromptToggleHandler, imageInferenceSettingsPromptEnhanceToggleHandler, audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler, wanAnimateAdvancedFeatureSettingsToggleHandler, videoAdvancedFeatureInputsToggleHandler, audioInferenceInputsToggleHandler, audioInferenceReferenceVoiceToggleHandler, audioInferenceSpeechVoicesToggleHandler, videoInputsFrameToggleHandler, referenceVideosToggleHandler } from "./utils.js"; import { RUNWARE_NODE_TYPES, RUNWARE_NODE_PROPS, SEARCH_TERMS } from "./types.js"; const nodeInitList = []; @@ -155,6 +155,8 @@ app.registerExtension({ imageInferenceSettingsMoodboardsToggleHandler(node); } else if(nodeClass === RUNWARE_NODE_TYPES.IMAGEINFERENCESETTINGSSTRUCTUREDPROMPT) { imageInferenceSettingsStructuredPromptToggleHandler(node); + } else if(nodeClass === RUNWARE_NODE_TYPES.IMAGEINFERENCESETTINGSPROMPTENHANCE) { + imageInferenceSettingsPromptEnhanceToggleHandler(node); } else if(nodeClass === RUNWARE_NODE_TYPES.AUDIOINPUT) { audioInputToggleHandler(node); } else if(nodeClass === RUNWARE_NODE_TYPES.SPEECHINPUT) { diff --git a/clientlibs/types.js b/clientlibs/types.js index fdf69b6..127ba49 100644 --- a/clientlibs/types.js +++ b/clientlibs/types.js @@ -160,6 +160,7 @@ const RUNWARE_NODE_TYPES = { IMAGEINFERENCESETTINGSCOLORPALETTE: "Runware Image Inference Settings Color Palette", IMAGEINFERENCESETTINGSMOODBOARDS: "Runware Image Inference Settings Moodboards", IMAGEINFERENCESETTINGSSTRUCTUREDPROMPT: "Runware Image Inference Settings Structured Prompt", + IMAGEINFERENCESETTINGSPROMPTENHANCE: "Runware Image Inference Settings Prompt Enhance", VIDEOADVANCEDFEATUREINPUTS: "Runware Video Advanced Feature Inputs", WANANIMATEADVANCEDFEATURESETTINGS: "Runware Wan Animate Advanced Feature Settings", SAVEIMAGE: "Runware Save Image", @@ -637,6 +638,10 @@ const RUNWARE_NODE_PROPS = { bgColor: DEFAULT_BGCOLOR, colorModeOnly: true, }, + [RUNWARE_NODE_TYPES.IMAGEINFERENCESETTINGSPROMPTENHANCE]: { + 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 396814a..d4e05b0 100644 --- a/clientlibs/utils.js +++ b/clientlibs/utils.js @@ -5259,6 +5259,7 @@ export { imageInferenceSettingsColorPaletteToggleHandler, imageInferenceSettingsMoodboardsToggleHandler, imageInferenceSettingsStructuredPromptToggleHandler, + imageInferenceSettingsPromptEnhanceToggleHandler, audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler, @@ -5659,6 +5660,32 @@ function imageInferenceSettingsColorPaletteToggleHandler(paletteNode) { } } +function imageInferenceSettingsPromptEnhanceToggleHandler(node) { + if (!node?.widgets) return; + + const useTemperatureWidget = node.widgets.find((w) => w && w.name === "useTemperature"); + const temperatureWidget = node.widgets.find((w) => w && w.name === "temperature"); + const useTopPWidget = node.widgets.find((w) => w && w.name === "useTopP"); + const topPWidget = node.widgets.find((w) => w && w.name === "topP"); + + function toggleWidgetState(useWidget, paramWidget) { + if (!useWidget || !paramWidget) return; + function toggleEnabled() { + toggleWidgetEnabled(paramWidget, useWidget.value === true, node); + node.setDirtyCanvas(true); + } + appendWidgetCB(useWidget, () => setTimeout(toggleEnabled, 50)); + setTimeout(toggleEnabled, 100); + } + + if (useTemperatureWidget && temperatureWidget) { + toggleWidgetState(useTemperatureWidget, temperatureWidget); + } + if (useTopPWidget && topPWidget) { + toggleWidgetState(useTopPWidget, topPWidget); + } +} + function imageInferenceSettingsMoodboardsToggleHandler(moodboardsNode) { if (!moodboardsNode?.widgets) return; diff --git a/modules/imageInference.py b/modules/imageInference.py index 9aca713..8b1b89b 100644 --- a/modules/imageInference.py +++ b/modules/imageInference.py @@ -63,7 +63,7 @@ def INPUT_TYPES(cls): }), "useSteps": ("BOOLEAN", { "tooltip": "Enable to include steps parameter in API request. Disable if your model doesn't support steps (like nano banana).", - "default": True, + "default": False, }), "steps": ("INT", { "tooltip": "The number of steps is the number of iterations the model will perform to generate the image. Only used when 'Use Steps' is enabled.", @@ -73,7 +73,7 @@ def INPUT_TYPES(cls): }), "useScheduler": ("BOOLEAN", { "tooltip": "Enable to include scheduler parameter in API request. Disable if your model doesn't support scheduler.", - "default": True, + "default": False, }), "scheduler": (['Default', 'DDIM', 'DDIMScheduler', 'DDPMScheduler', 'DEISMultistepScheduler', 'DPMSolverSinglestepScheduler', 'DPMSolverMultistepScheduler', 'DPMSolverMultistepInverse', 'DPM++', 'DPM++ Karras', 'DPM++ 2M', 'DPM++ 2M Karras', 'DPM++ 2M SDE Karras', 'DPM++ 2M SDE', 'DPM++ 3M', 'DPM++ 3M Karras', 'DPM++ SDE Karras', 'DPM++ SDE', 'EDMEulerScheduler', 'EDMDPMSolverMultistepScheduler', 'Euler', 'EulerDiscreteScheduler', 'Euler Karras', 'Euler a', 'EulerAncestralDiscreteScheduler', 'FlowMatchEulerDiscreteScheduler', 'Heun', 'HeunDiscreteScheduler', 'Heun Karras', 'IPNDMScheduler', 'KDPM2DiscreteScheduler', 'KDPM2AncestralDiscreteScheduler', 'LCM', 'LCMScheduler', 'LMS', 'LMSDiscreteScheduler', 'LMS Karras', 'PNDMScheduler', 'TCDScheduler', 'UniPC', 'UniPCMultistepScheduler', 'UniPC Karras', 'UniPC 2M', 'UniPC 2M Karras', 'UniPC 3M', 'UniPC 3M Karras'], { "tooltip": "An scheduler is a component that manages the inference process. Different schedulers can be used to achieve different results like more detailed images, faster inference, or more accurate results.", @@ -81,7 +81,7 @@ def INPUT_TYPES(cls): }), "useCFGScale": ("BOOLEAN", { "tooltip": "Enable to include CFG scale parameter in API request. Disable if your model doesn't support CFG scale (like nano banana).", - "default": True, + "default": False, }), "cfgScale": ("FLOAT", { "tooltip": "Guidance scale represents how closely the images will resemble the prompt or how much freedom the AI model has. Only used when 'Use CFG Scale' is enabled.", @@ -92,7 +92,7 @@ def INPUT_TYPES(cls): }), "useSeed": ("BOOLEAN", { "tooltip": "Enable to include seed parameter in API request. Disable if your model doesn't support seed.", - "default": True, + "default": False, }), "seed": ("INT", { "tooltip": "A value used to randomize the image generation. If you want to make images reproducible (generate the same image multiple times), you can use the same seed value.", @@ -102,7 +102,7 @@ def INPUT_TYPES(cls): }), "useClipSkip": ("BOOLEAN", { "tooltip": "Enable to include clipSkip parameter in API request. Disable if your model doesn't support clipSkip.", - "default": True, + "default": False, }), "clipSkip": ("INT", { "tooltip": "Enables skipping layers of the CLIP embedding process, leading to quicker and more varied image generation. Only used when 'Use Clip Skip' is enabled.", @@ -281,14 +281,14 @@ def generateImage(self, **kwargs): height = kwargs.get("height", 512) width = kwargs.get("width", 512) steps = kwargs.get("steps", 4) - useSteps = kwargs.get("useSteps", True) + useSteps = kwargs.get("useSteps", False) scheduler = kwargs.get("scheduler", "Default") - useScheduler = kwargs.get("useScheduler", True) + useScheduler = kwargs.get("useScheduler", False) cfgScale = kwargs.get("cfgScale", 6.5) - useCFGScale = kwargs.get("useCFGScale", True) + useCFGScale = kwargs.get("useCFGScale", False) seed = kwargs.get("seed") - useSeed = kwargs.get("useSeed", True) - useClipSkip = kwargs.get("useClipSkip", True) + useSeed = kwargs.get("useSeed", False) + useClipSkip = kwargs.get("useClipSkip", False) dimensions = kwargs.get("dimensions", "Square (512x512)") outputFormat = kwargs.get("outputFormat", rwUtils.getOutputFormat()) batchSize = kwargs.get("batchSize", 1) diff --git a/modules/imageInferenceSettingsPromptEnhance.py b/modules/imageInferenceSettingsPromptEnhance.py new file mode 100644 index 0000000..4c15bc0 --- /dev/null +++ b/modules/imageInferenceSettingsPromptEnhance.py @@ -0,0 +1,80 @@ +""" +Runware Image Inference Settings Prompt Enhance +Builds settings.promptEnhance for image inference (e.g. Ernie). +Connect the output to Runware Image Inference Settings → promptEnhance. +""" + +from typing import Any, Dict, Tuple + + +class RunwareImageInferenceSettingsPromptEnhance: + """Build settings.promptEnhance object (temperature, topP).""" + + @classmethod + def INPUT_TYPES(cls): + return { + "required": {}, + "optional": { + "useTemperature": ("BOOLEAN", { + "default": False, + "label_on": "Enabled", + "label_off": "Disabled", + "tooltip": "Include temperature in settings.promptEnhance.", + }), + "temperature": ("FLOAT", { + "default": 1.2, + "min": 0.1, + "max": 5.0, + "step": 0.1, + "tooltip": ( + "settings.promptEnhance.temperature (0.1–5). " + "Ernie-specific API default when omitted: 0.6." + ), + }), + "useTopP": ("BOOLEAN", { + "default": False, + "label_on": "Enabled", + "label_off": "Disabled", + "tooltip": "Include topP in settings.promptEnhance.", + }), + "topP": ("FLOAT", { + "default": 0.95, + "min": 0.1, + "max": 1.0, + "step": 0.01, + "tooltip": ( + "settings.promptEnhance.topP (0.1–1). " + "Ernie-specific API default when omitted: 0.95." + ), + }), + }, + } + + RETURN_TYPES = ("RUNWAREIMAGEINFERENCEPROMPTENHANCE",) + RETURN_NAMES = ("promptEnhance",) + FUNCTION = "build_prompt_enhance" + CATEGORY = "Runware" + DESCRIPTION = ( + "Build settings.promptEnhance (temperature, topP) for image inference. " + "Connect to Runware Image Inference Settings." + ) + + def build_prompt_enhance(self, **kwargs) -> Tuple[Dict[str, Any]]: + prompt_enhance: Dict[str, Any] = {} + + if kwargs.get("useTemperature", False): + prompt_enhance["temperature"] = float(kwargs.get("temperature", 1.2)) + + if kwargs.get("useTopP", False): + prompt_enhance["topP"] = float(kwargs.get("topP", 0.95)) + + return (prompt_enhance,) + + +NODE_CLASS_MAPPINGS = { + "RunwareImageInferenceSettingsPromptEnhance": RunwareImageInferenceSettingsPromptEnhance, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "RunwareImageInferenceSettingsPromptEnhance": "Runware Image Inference Settings Prompt Enhance", +} diff --git a/modules/settings.py b/modules/settings.py index 7b45bd8..a53cc1d 100644 --- a/modules/settings.py +++ b/modules/settings.py @@ -5,7 +5,8 @@ thinkingLevel (high/medium/low), sequential, renderingSpeed (TURBO/DEFAULT/QUALITY), magicPrompt (AUTO/ON/OFF), autoCrop, dilatePixels, creativity (raw/low/medium/high), colorPalette, moodboards (from Runware Image Inference Settings Moodboards), -and structuredPrompt (from Runware Image Inference Settings Structured Prompt; Ideogram 4.0). +structuredPrompt (from Runware Image Inference Settings Structured Prompt; Ideogram 4.0), +and promptEnhance (from Runware Image Inference Settings Prompt Enhance). """ import json @@ -208,6 +209,9 @@ def INPUT_TYPES(cls): "structuredPrompt": ("RUNWAREIMAGEINFERENCESTRUCTUREDPROMPT", { "tooltip": "Connect Runware Image Inference Settings Structured Prompt (Ideogram 4.0). Merged into settings.structuredPrompt. Mutually exclusive with positivePrompt on the same API request.", }), + "promptEnhance": ("RUNWAREIMAGEINFERENCEPROMPTENHANCE", { + "tooltip": "Connect Runware Image Inference Settings Prompt Enhance. Merged into settings.promptEnhance (temperature, topP). Omit from API when not connected or empty.", + }), } } @@ -219,7 +223,7 @@ def INPUT_TYPES(cls): "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), autoCrop, dilatePixels, " - "creativity (raw/low/medium/high), and optional colorPalette, moodboards, and structuredPrompt from dedicated settings nodes." + "creativity (raw/low/medium/high), and optional colorPalette, moodboards, structuredPrompt, and promptEnhance from dedicated settings nodes." ) def createSettings(self, **kwargs) -> tuple[Dict[str, Any]]: @@ -320,6 +324,14 @@ def createSettings(self, **kwargs) -> tuple[Dict[str, Any]]: ): settings["structuredPrompt"] = structured_prompt + prompt_enhance: Optional[Dict[str, Any]] = kwargs.get("promptEnhance") + if ( + prompt_enhance is not None + and isinstance(prompt_enhance, dict) + and len(prompt_enhance) > 0 + ): + settings["promptEnhance"] = prompt_enhance + if useRenderingSpeed: settings["renderingSpeed"] = str(renderingSpeed) if useMagicPrompt: diff --git a/workflows/Runware_Image_Inference_Ernie.json b/workflows/Runware_Image_Inference_Ernie.json new file mode 100644 index 0000000..10e9322 --- /dev/null +++ b/workflows/Runware_Image_Inference_Ernie.json @@ -0,0 +1 @@ +{"id":"c0cb5240-da02-4718-8d03-38175d149c9c","revision":0,"last_node_id":5,"last_link_id":4,"nodes":[{"id":3,"type":"Runware Model Search","pos":[-893.9337635182412,466.85496318106993],"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":[2]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"527d07e69bae257853c122b48582846cecab78b4","Node name for S&R":"Runware Model Search"},"widgets_values":["baidu:ernie-image@0","All","Base Model","baidu:ernie-image@0 (ERNIE-Image 1.0)",true],"bgcolor":"#5345bf"},{"id":4,"type":"Runware Settings","pos":[72.44175196248055,445.01214269716104],"size":[400,1066],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"colorPalette","name":"colorPalette","shape":7,"type":"RUNWAREIMAGEINFERENCECOLORPALETTE","link":null},{"localized_name":"moodboards","name":"moodboards","shape":7,"type":"RUNWAREIMAGEINFERENCEMOODBOARDS","link":null},{"localized_name":"structuredPrompt","name":"structuredPrompt","shape":7,"type":"RUNWAREIMAGEINFERENCESTRUCTUREDPROMPT","link":null},{"localized_name":"promptEnhance","name":"promptEnhance","shape":7,"type":"RUNWAREIMAGEINFERENCEPROMPTENHANCE","link":4},{"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},{"localized_name":"useDilatePixels","name":"useDilatePixels","shape":7,"type":"BOOLEAN","widget":{"name":"useDilatePixels"},"link":null},{"localized_name":"dilatePixels","name":"dilatePixels","shape":7,"type":"INT","widget":{"name":"dilatePixels"},"link":null},{"localized_name":"useCreativity","name":"useCreativity","shape":7,"type":"BOOLEAN","widget":{"name":"useCreativity"},"link":null},{"localized_name":"creativity","name":"creativity","shape":7,"type":"COMBO","widget":{"name":"creativity"},"link":null}],"outputs":[{"localized_name":"Settings","name":"Settings","type":"RUNWARESETTINGS","links":[3]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"527d07e69bae257853c122b48582846cecab78b4","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",false,false,false,10,false,"medium"],"bgcolor":"#5345bf"},{"id":1,"type":"Runware Image Inference","pos":[-381.1904438435121,434.6981973140833],"size":[400,1130],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"Model","name":"Model","type":"RUNWAREMODEL","link":2},{"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":null},{"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":3},{"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},{"localized_name":"useUpscaleFactor","name":"useUpscaleFactor","type":"BOOLEAN","widget":{"name":"useUpscaleFactor"},"link":null},{"localized_name":"upscaleFactor","name":"upscaleFactor","type":"COMBO","widget":{"name":"upscaleFactor"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"STRING","links":[1]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"527d07e69bae257853c122b48582846cecab78b4","Node name for S&R":"Runware Image Inference"},"widgets_values":["a red apple on a wooden table.","",false,"Disabled","Square HD (1024x1024)",1024,1024,false,"1k",false,4,false,"Default",false,6.5,false,728249350,"randomize",false,0,0.8,false,32,"WEBP",1,"none",95,false,2],"bgcolor":"#5345bf"},{"id":2,"type":"Runware Save Image","pos":[567.3469953759793,476.4585481520119],"size":[270,318],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"Images","name":"Images","type":"STRING","widget":{"name":"Images"},"link":1},{"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":"527d07e69bae257853c122b48582846cecab78b4","Node name for S&R":"Runware Save Image"},"widgets_values":["","ComfyUI",true],"bgcolor":"#5345bf"},{"id":5,"type":"Runware Image Inference Settings Prompt Enhance","pos":[-931.1675548843367,697.9294126104677],"size":[382.00546875,130],"flags":{},"order":1,"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":"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":"promptEnhance","name":"promptEnhance","type":"RUNWAREIMAGEINFERENCEPROMPTENHANCE","links":[4]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"527d07e69bae257853c122b48582846cecab78b4","Node name for S&R":"Runware Image Inference Settings Prompt Enhance"},"widgets_values":[false,1.2,false,0.95],"bgcolor":"#5345bf"}],"links":[[1,1,0,2,0,"STRING"],[2,3,0,1,0,"RUNWAREMODEL"],[3,4,0,1,15,"RUNWARESETTINGS"],[4,5,0,4,3,"RUNWAREIMAGEINFERENCEPROMPTENHANCE"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.5125039258664733,"offset":[1423.0940403358193,-271.23290947843105]}},"version":0.4} \ No newline at end of file