From aa5f547b990dee636f70f665086544f5ae4283f6 Mon Sep 17 00:00:00 2001 From: Sirshendu Ganguly Date: Thu, 12 Mar 2026 14:21:38 -0400 Subject: [PATCH] Added support for watermark, and regionalPrompt --- __init__.py | 8 +- clientlibs/main.js | 6 +- clientlibs/types.js | 1103 +++++++++-------- clientlibs/utils.js | 133 ++ modules/imageInference.py | 2 +- modules/imageInferenceAdvancedFeatures.py | 149 +-- .../imageRegionalPromptingAdvancedFeature.py | 80 ++ ...RegionalPromptingAdvancedFeatureRegions.py | 196 +++ modules/imageWatermarkAdvancedFeature.py | 154 +++ .../Runware_Image_Inference_Highres.json | 1 + ...re_Image_Inference_Regional_Prompting.json | 1 + .../Runware_Image_Inference_Watermark.json | 1 + .../Runware_Image_Inference_layerDiffuse.json | 1 + 13 files changed, 1219 insertions(+), 616 deletions(-) create mode 100644 modules/imageRegionalPromptingAdvancedFeature.py create mode 100644 modules/imageRegionalPromptingAdvancedFeatureRegions.py create mode 100644 modules/imageWatermarkAdvancedFeature.py create mode 100644 workflows/Runware_Image_Inference_Highres.json create mode 100644 workflows/Runware_Image_Inference_Regional_Prompting.json create mode 100644 workflows/Runware_Image_Inference_Watermark.json create mode 100644 workflows/Runware_Image_Inference_layerDiffuse.json diff --git a/__init__.py b/__init__.py index f4f65d0..84de7f3 100644 --- a/__init__.py +++ b/__init__.py @@ -26,6 +26,9 @@ from .modules.vaeSearch import vaeSearch from .modules.referenceImages import referenceImages from .modules.imageInferenceInputs import imageInferenceInputs from .modules.imageInferenceAdvancedFeatures import RunwareImageInferenceAdvancedFeatures +from .modules.imageWatermarkAdvancedFeature import RunwareWatermarkAdvancedFeature +from .modules.imageRegionalPromptingAdvancedFeature import RunwareRegionalPromptingAdvancedFeature +from .modules.imageRegionalPromptingAdvancedFeatureRegions import RunwareRegionalPromptingAdvancedFeatureRegions from .modules.videoInference import txt2vid from .modules.videoModelSearch import videoModelSearch from .modules.videoSettings import RunwareVideoSettings @@ -133,7 +136,10 @@ NODE_CLASS_MAPPINGS = { "Runware IPAdapters Combine": ipAdapterCombine, "Runware Reference Images": referenceImages, "Runware Image Inference Inputs": imageInferenceInputs, - "Runware Image Inference Advanced Features": RunwareImageInferenceAdvancedFeatures, + "Runware Image Advanced Feature Input": RunwareImageInferenceAdvancedFeatures, + "Runware Watermark Advanced Feature": RunwareWatermarkAdvancedFeature, + "Runware Regional Prompting Advanced Feature": RunwareRegionalPromptingAdvancedFeature, + "Runware Regional Prompting Advanced Feature Regions": RunwareRegionalPromptingAdvancedFeatureRegions, "Runware Video Inference": txt2vid, "Runware Video Model Search": videoModelSearch, "Runware Frame Images": RunwareFrameImages, diff --git a/clientlibs/main.js b/clientlibs/main.js index a2480f5..c000920 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, save3DFilepathHandler, videoTranscriptionHandler, videoOutputsHandler, handleCustomErrors, videoInferenceDimensionsHandler, videoModelSearchFilterHandler, audioModelSearchFilterHandler, vectorizeModelSearchFilterHandler, vectorizeToggleHandler, useParameterToggleHandler, imageInferenceToggleHandler, imageInferenceAdvancedFeaturesToggleHandler, upscalerToggleHandler, videoUpscalerToggleHandler, audioInferenceToggleHandler, audioInferenceSpeechToggleHandler, audioSettingsToggleHandler, videoSettingsToggleHandler, acceleratorOptionsToggleHandler, bytedanceProviderSettingsToggleHandler, xaiProviderSettingsToggleHandler, viduProviderSettingsToggleHandler, sourcefulProviderSettingsToggleHandler, sourcefulProviderSettingsFontsToggleHandler, threeDInferenceToggleHandler, threeDInferenceSettingsToggleHandler, threeDInferenceSettingsLatToggleHandler, ultralyticsProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, mireloProviderSettingsToggleHandler, googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler, audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler, wanAnimateAdvancedFeatureSettingsToggleHandler, videoAdvancedFeatureInputsToggleHandler, audioInferenceInputsToggleHandler } from "./utils.js"; +import { promptEnhanceHandler, syncDimensionsNodeHandler, searchNodeHandler, APIKeyHandler, captionNodeHandler, mediaUUIDHandler, save3DFilepathHandler, videoTranscriptionHandler, videoOutputsHandler, handleCustomErrors, videoInferenceDimensionsHandler, videoModelSearchFilterHandler, audioModelSearchFilterHandler, vectorizeModelSearchFilterHandler, vectorizeToggleHandler, useParameterToggleHandler, imageInferenceToggleHandler, imageInferenceAdvancedFeaturesToggleHandler, watermarkAdvancedFeatureToggleHandler, regionalPromptingRegionsToggleHandler, upscalerToggleHandler, videoUpscalerToggleHandler, audioInferenceToggleHandler, audioInferenceSpeechToggleHandler, audioSettingsToggleHandler, videoSettingsToggleHandler, acceleratorOptionsToggleHandler, bytedanceProviderSettingsToggleHandler, xaiProviderSettingsToggleHandler, viduProviderSettingsToggleHandler, sourcefulProviderSettingsToggleHandler, sourcefulProviderSettingsFontsToggleHandler, threeDInferenceToggleHandler, threeDInferenceSettingsToggleHandler, threeDInferenceSettingsLatToggleHandler, ultralyticsProviderSettingsToggleHandler, openaiProviderSettingsToggleHandler, lightricksProviderSettingsToggleHandler, klingProviderSettingsToggleHandler, lumaProviderSettingsToggleHandler, briaProviderSettingsToggleHandler, pixverseProviderSettingsToggleHandler, alibabaProviderSettingsToggleHandler, mireloProviderSettingsToggleHandler, googleProviderSettingsToggleHandler, syncProviderSettingsToggleHandler, syncSegmentToggleHandler, settingsToggleHandler, audioInputToggleHandler, speechInputToggleHandler, briaProviderMaskToggleHandler, wanAnimateAdvancedFeatureSettingsToggleHandler, videoAdvancedFeatureInputsToggleHandler, audioInferenceInputsToggleHandler } from "./utils.js"; import { RUNWARE_NODE_TYPES, RUNWARE_NODE_PROPS, SEARCH_TERMS } from "./types.js"; const nodeInitList = []; @@ -80,6 +80,10 @@ app.registerExtension({ audioInferenceToggleHandler(node); } else if(nodeClass === RUNWARE_NODE_TYPES.IMAGEINFERENCEADVANCEDFEATURES) { imageInferenceAdvancedFeaturesToggleHandler(node); + } else if(nodeClass === RUNWARE_NODE_TYPES.WATERMARKADVANCEDFEATURE) { + watermarkAdvancedFeatureToggleHandler(node); + } else if(nodeClass === RUNWARE_NODE_TYPES.REGIONALPROMPTINGADVFEATUREREGIONS) { + regionalPromptingRegionsToggleHandler(node); } else if(nodeClass === RUNWARE_NODE_TYPES.AUDIOINFERENCESPEECH) { audioInferenceSpeechToggleHandler(node); } else if(nodeClass === RUNWARE_NODE_TYPES.AUDIOSETTINGS) { diff --git a/clientlibs/types.js b/clientlibs/types.js index 7c5c2d8..91b86d0 100644 --- a/clientlibs/types.js +++ b/clientlibs/types.js @@ -1,545 +1,560 @@ -const DEFAULT_BGCOLOR = "#5345bf"; - -const DEFAULT_DIMENSIONS_LIST = { - "Square (512x512)": "512x512", - "Square HD (1024x1024)": "1024x1024", - "Portrait 3:4 (768x1024)": "768x1024", - "Portrait 9:16 (576x1024)": "576x1024", - "Landscape 4:3 (1024x768)": "1024x768", - "Landscape 16:9 (1024x576)": "1024x576" -}; - -const DEFAULT_MODELS_ARCH_LIST = { - "All": "all", - "FLUX.1-Schnell": "flux1s", - "FLUX.1-Dev": "flux1d", - "FLUX.1-Krea": "flux1d", - "Pony": "pony", - "SD 1.5": "sd1x", - "SD 1.5 Hyper": "sdhyper", - "SD 1.5 LCM": "sd1xlcm", - "SD 3": "sd3", - "SDXL 1.0": "sdxl", - "SDXL 1.0 LCM": "sdxllcm", - "SDXL Distilled": "sdxldistilled", - "SDXL Hyper": "sdxlhyper", - "SDXL Lightning": "sdxllightning", - "SDXL Turbo": "sdxlturbo", -}; - -const DEFAULT_CONTROLNET_CONDITIONING_LIST = { - "All": "all", - "Canny": "canny", - "Depth": "depth", - "MLSD": "mlsd", - "Normal BAE": "normalbae", - "Open Pose": "openpose", - "Tile": "tile", - "Seg": "seg", - "Line Art": "lineart", - "Line Art Anime": "lineart_anime", - "Shuffle": "shuffle", - "Scribble": "scribble", - "Soft Edge": "softedge", -}; - -const SEARCH_TERMS = ["Model Search", "Lora Search", "ControlNet Search", "Embedding Search", "VAE Search"]; -const MODEL_TYPES_TERMS = ["ModelType", "LoraType", "ControlNetType"]; -const MODEL_LIST_TERMS = ["ModelList", "LoraList", "ControlNetList", "EmbeddingList", "VAEList"]; - -const RUNWARE_NODE_TYPES = { - IMAGEINFERENCE: "Runware Image Inference", - KONTEXTINFERENCE: "Runware Kontext Inference", - IMAGENINFERENCE: "Runware Imagen Inference", - OUTPAINT: "Runware Outpaint", - PHOTOMAKER: "Runware PhotoMaker V2", - MODELSEARCH: "Runware Model Search", - MULTIINFERENCE: "Runware Multi Inference", - TEACACHE: "Runware TeaCache", - DEEPCACHE: "Runware DeepCache", - LORASEARCH: "Runware Lora Search", - CONTROLNET: "Runware ControlNet", - BGREMOVAL: "Runware Background Removal", - UPSCALER: "Runware Image Upscaler", - REFINER: "Runware Refiner", - LORACOMBINE: "Runware Lora Combine", - CONTROLNETCOMBINE: "Runware ControlNet Combine", - IPADAPTER: "Runware IPAdapter", - IPADAPTERSCOMBINE: "Runware IPAdapters Combine", - IMAGEMASKING: "Runware Image Masking", - CONTROLNETPREPROCESSING: "Runware ControlNet PreProcessor", - APIMANAGER: "Runware API Manager", - IMAGECAPTION: "Runware Image Caption", - EMBEDDING: "Runware Embedding Search", - EMBEDDINGCOMBINE: "Runware Embedding Combine", - VAE: "Runware VAE Search", - REFERENCEIMAGES: "Runware Reference Images", - IMAGEINFERENCEINPUTS: "Runware Image Inference Inputs", - IMAGEINFERENCEADVANCEDFEATURES: "Runware Image Inference Advanced Features", - VIDEOINFERENCE: "Runware Video Inference", - VIDEOMODELSEARCH: "Runware Video Model Search", - FRAMEIMAGES: "Runware Frame Images", - AUDIOINFERENCE: "Runware Audio Inference", - AUDIOINFERENCESPEECH: "Runware Audio Inference Speech", - AUDIOMODELSEARCH: "Runware Audio Model Search", - AUDIOSECTIONS: "Runware Audio Sections", - AUDIOINFERENCEINPUTS: "Runware Audio Inference Inputs", - AUDIOSETTINGS: "Runware Audio Inference Settings", - AUDIOSETTINGSVOICEMODIFY: "Runware Audio Inference Settings Voice Modify", - PIXVERSEPROVIDERSETTINGS: "Runware Pixverse Provider Settings", - OPENAIPROVIDERSETTINGS: "Runware OpenAI Provider Settings", - BYTEDANCEPROVIDERSETTINGS: "Runware Bytedance Provider Settings", - BRIAPROVIDERSETTINGS: "Runware Bria Provider Settings", - BRIAPROVIDERMASK: "Runware Bria Provider Mask", - ELEVENLABSPROVIDERSETTINGS: "Runware ElevenLabs Provider Settings", - ELEVENLABSPROVIDERSETTINGSSECTIONS: "Runware ElevenLabs Provider Settings Sections", - VIDUPROVIDERSETTINGS: "Runware Vidu Provider Settings", - LORAMIX: "Runware Lora Mix", - MEDIAUPLOAD: "Runware Media Upload", - INPUTAUDIOS: "Runware Input Audios", - AUDIOINPUT: "Runware Video Audio Input", - SPEECHINPUT: "Runware Video Speech Input", - REFERENCEVIDEOS: "Runware Reference Videos", - REFERENCEVOICES: "Runware Reference Voices", - VIDEOINFERENCEINPUTS: "Runware Video Inference Inputs", - VIDEOSETTINGS: "Runware Video Inference Settings", - LIGHTRICKSPROVIDERSETTINGS: "Runware Lightricks Provider Settings", - KLINGPROVIDERSETTINGS: "Runware KlingAI Provider Settings", - KLINGMULTIPROMPTSEGMENT: "Runware Kling MultiPrompt Segment", - KLINGPROVIDERSETTINGSMULTIPROMPT: "Runware Kling Provider Settings MultiPrompt", - RUNWAYPROVIDERSETTINGS: "Runware Runway Provider Settings", - LUMAPROVIDERSETTINGS: "Runware Luma Provider Settings", - MIDJOURNEYPROVIDERSETTINGS: "Runware Midjourney Provider Settings", - MIRELOPROVIDERSETTINGS: "Runware Mirelo Provider Settings", - ALIBABAPROVIDERSETTINGS: "Runware Alibaba Provider Settings", - BLACKFORESTPROVIDERSETTINGS: "Runware BlackForest Labs Provider Settings", - XAIPROVIDERSETTINGS: "Runware xAI Provider Settings", - RECRAFTPROVIDERSETTINGS: "Runware Recraft Provider Settings", - RECRAFTCOLOR: "Runware Provider Settings Recraft Color", - SOURCEFULPROVIDERSETTINGS: "Runware Sourceful Provider Settings", - SOURCEFULPROVIDERSETTINGSFONTS: "Runware Sourceful Provider Settings Fonts", - ULTRALYTICSINPUTS: "Runware Image Inference Ultralytics", - GOOGLEPROVIDERSETTINGS: "Runware Google Provider Settings", - SYNCSEGMENT: "Runware Sync Segment", - SYNCPROVIDERSETTINGS: "Runware Sync Provider Settings", - VECTORIZE: "Runware Vectorize", - VIDEOBGREMOVAL: "Runware Video Background Removal", - VIDEOUPSCALER: "Runware Video Upscaler", - VIDEOINPUTSREFERENCES: "Runware Video Inputs References", - VIDEOINPUTSFRAMEIMAGES: "Runware Video Inputs Frame Images", - ACCELERATOROPTIONS: "Runware Accelerator Options", - VIDEOTRANSCRIPTION: "Runware Video Transcription", - MINIMAXPROVIDERSETTINGS: "Runware MiniMax Provider Settings", - SAFETYINPUTS: "Runware Safety Inputs", - SETTINGS: "Runware Settings", - VIDEOADVANCEDFEATUREINPUTS: "Runware Video Advanced Feature Inputs", - WANANIMATEADVANCEDFEATURESETTINGS: "Runware Wan Animate Advanced Feature Settings", - SAVEIMAGE: "Runware Save Image", - VIDEOINFERENCEOUTPUTS: "Runware Video Inference Outputs", - THREEDINFERENCE: "Runware 3D Inference", - THREEDINFERENCEINPUTS: "Runware 3D Inference Inputs", - THREEDINFERENCESETTINGS: "Runware 3D Inference Settings", - THREEDINFERENCESETTINGSSPARSESTRUCTURE: "Runware 3D Inference Settings Sparse Structure", - THREEDINFERENCESETTINGSSHAPESLAT: "Runware 3D Inference Settings Shape Slat", - THREEDINFERENCESETTINGSTEXSLAT: "Runware 3D Inference Settings Tex Slat", - SAVE3D: "Runware Save 3D", - LOADMESH: "Runware Load Mesh", -}; - -const RUNWARE_NODE_PROPS = { - [RUNWARE_NODE_TYPES.IMAGEINFERENCE]: { - bgColor: DEFAULT_BGCOLOR, - liveDimensions: true, - promptEnhancer: true, - }, - [RUNWARE_NODE_TYPES.KONTEXTINFERENCE]: { - bgColor: DEFAULT_BGCOLOR, - promptEnhancer: true, - }, - [RUNWARE_NODE_TYPES.IMAGENINFERENCE]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.REFERENCEIMAGES]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.OUTPAINT]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.PHOTOMAKER]: { - bgColor: DEFAULT_BGCOLOR, - liveDimensions: true, - promptEnhancer: true, - }, - [RUNWARE_NODE_TYPES.MODELSEARCH]: { - bgColor: DEFAULT_BGCOLOR, - liveSearch: true, - }, - [RUNWARE_NODE_TYPES.MULTIINFERENCE]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.TEACACHE]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.DEEPCACHE]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.LORASEARCH]: { - bgColor: DEFAULT_BGCOLOR, - liveSearch: true, - }, - [RUNWARE_NODE_TYPES.EMBEDDING]: { - bgColor: DEFAULT_BGCOLOR, - liveSearch: true, - }, - [RUNWARE_NODE_TYPES.CONTROLNET]: { - bgColor: DEFAULT_BGCOLOR, - liveSearch: true, - }, - [RUNWARE_NODE_TYPES.VAE]: { - bgColor: DEFAULT_BGCOLOR, - liveSearch: true, - }, - [RUNWARE_NODE_TYPES.EMBEDDINGCOMBINE]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.CONTROLNETCONDITIONING]: { - bgColor: DEFAULT_BGCOLOR, - liveSearch: true, - }, - [RUNWARE_NODE_TYPES.BGREMOVAL]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.UPSCALER]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.REFINER]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.LORACOMBINE]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.IPADAPTER]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.IPADAPTERSCOMBINE]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.CONTROLNETCOMBINE]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.IMAGEMASKING]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.CONTROLNETPREPROCESSING]: { - bgColor: DEFAULT_BGCOLOR, - liveDimensions: true, - }, - [RUNWARE_NODE_TYPES.APIMANAGER]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.IMAGECAPTION]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.VIDEOINFERENCE]: { - bgColor: DEFAULT_BGCOLOR, - liveDimensions: true, - promptEnhancer: true, - }, - [RUNWARE_NODE_TYPES.VIDEOMODELSEARCH]: { - bgColor: DEFAULT_BGCOLOR, - liveSearch: true, - }, - [RUNWARE_NODE_TYPES.FRAMEIMAGES]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.AUDIOINFERENCE]: { - bgColor: DEFAULT_BGCOLOR, - promptEnhancer: true, - }, - [RUNWARE_NODE_TYPES.AUDIOINFERENCESPEECH]: { - bgColor: DEFAULT_BGCOLOR, - }, - [RUNWARE_NODE_TYPES.AUDIOMODELSEARCH]: { - bgColor: DEFAULT_BGCOLOR, - liveSearch: true, - }, - [RUNWARE_NODE_TYPES.AUDIOSECTIONS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.IMAGEINFERENCEINPUTS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.IMAGEINFERENCEADVANCEDFEATURES]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.PIXVERSEPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.OPENAIPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.BYTEDANCEPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.BRIAPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.BRIAPROVIDERMASK]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.ELEVENLABSPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.ELEVENLABSPROVIDERSETTINGSSECTIONS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.VIDUPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.LORAMIX]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.MEDIAUPLOAD]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.INPUTAUDIOS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.AUDIOINPUT]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.SPEECHINPUT]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.REFERENCEVIDEOS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.REFERENCEVOICES]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.VIDEOINFERENCEINPUTS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.LIGHTRICKSPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.KLINGPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.KLINGMULTIPROMPTSEGMENT]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.KLINGPROVIDERSETTINGSMULTIPROMPT]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.RUNWAYPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.LUMAPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.MIDJOURNEYPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.MIRELOPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.ALIBABAPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.BLACKFORESTPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.XAIPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.RECRAFTPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - }, - [RUNWARE_NODE_TYPES.RECRAFTCOLOR]: { - bgColor: DEFAULT_BGCOLOR, - }, - [RUNWARE_NODE_TYPES.SOURCEFULPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.SOURCEFULPROVIDERSETTINGSFONTS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.ULTRALYTICSINPUTS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.GOOGLEPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.SYNCSEGMENT]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.SYNCPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.VECTORIZE]: { - bgColor: DEFAULT_BGCOLOR, - liveDimensions: true, - }, - [RUNWARE_NODE_TYPES.VIDEOBGREMOVAL]: { - bgColor: DEFAULT_BGCOLOR, - }, - [RUNWARE_NODE_TYPES.VIDEOUPSCALER]: { - bgColor: DEFAULT_BGCOLOR, - }, - [RUNWARE_NODE_TYPES.VIDEOINPUTSREFERENCES]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.VIDEOINPUTSFRAMEIMAGES]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.AUDIOINFERENCEINPUTS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.AUDIOSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - }, - [RUNWARE_NODE_TYPES.AUDIOSETTINGSVOICEMODIFY]: { - bgColor: DEFAULT_BGCOLOR, - }, - [RUNWARE_NODE_TYPES.VIDEOSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - }, - [RUNWARE_NODE_TYPES.ACCELERATOROPTIONS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.VIDEOTRANSCRIPTION]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.MINIMAXPROVIDERSETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.SAFETYINPUTS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.SETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.VIDEOADVANCEDFEATUREINPUTS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.WANANIMATEADVANCEDFEATURESETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.SAVEIMAGE]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.VIDEOINFERENCEOUTPUTS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.THREEDINFERENCE]: { - bgColor: DEFAULT_BGCOLOR, - promptEnhancer: true, - }, - [RUNWARE_NODE_TYPES.THREEDINFERENCEINPUTS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.THREEDINFERENCESETTINGS]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.THREEDINFERENCESETTINGSSPARSESTRUCTURE]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.THREEDINFERENCESETTINGSSHAPESLAT]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.THREEDINFERENCESETTINGSTEXSLAT]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.SAVE3D]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, - [RUNWARE_NODE_TYPES.LOADMESH]: { - bgColor: DEFAULT_BGCOLOR, - colorModeOnly: true, - }, -}; - -export { - DEFAULT_BGCOLOR, - DEFAULT_DIMENSIONS_LIST, - DEFAULT_MODELS_ARCH_LIST, - DEFAULT_CONTROLNET_CONDITIONING_LIST, - SEARCH_TERMS, - MODEL_TYPES_TERMS, - MODEL_LIST_TERMS, - RUNWARE_NODE_TYPES, - RUNWARE_NODE_PROPS +const DEFAULT_BGCOLOR = "#5345bf"; + +const DEFAULT_DIMENSIONS_LIST = { + "Square (512x512)": "512x512", + "Square HD (1024x1024)": "1024x1024", + "Portrait 3:4 (768x1024)": "768x1024", + "Portrait 9:16 (576x1024)": "576x1024", + "Landscape 4:3 (1024x768)": "1024x768", + "Landscape 16:9 (1024x576)": "1024x576" +}; + +const DEFAULT_MODELS_ARCH_LIST = { + "All": "all", + "FLUX.1-Schnell": "flux1s", + "FLUX.1-Dev": "flux1d", + "FLUX.1-Krea": "flux1d", + "Pony": "pony", + "SD 1.5": "sd1x", + "SD 1.5 Hyper": "sdhyper", + "SD 1.5 LCM": "sd1xlcm", + "SD 3": "sd3", + "SDXL 1.0": "sdxl", + "SDXL 1.0 LCM": "sdxllcm", + "SDXL Distilled": "sdxldistilled", + "SDXL Hyper": "sdxlhyper", + "SDXL Lightning": "sdxllightning", + "SDXL Turbo": "sdxlturbo", +}; + +const DEFAULT_CONTROLNET_CONDITIONING_LIST = { + "All": "all", + "Canny": "canny", + "Depth": "depth", + "MLSD": "mlsd", + "Normal BAE": "normalbae", + "Open Pose": "openpose", + "Tile": "tile", + "Seg": "seg", + "Line Art": "lineart", + "Line Art Anime": "lineart_anime", + "Shuffle": "shuffle", + "Scribble": "scribble", + "Soft Edge": "softedge", +}; + +const SEARCH_TERMS = ["Model Search", "Lora Search", "ControlNet Search", "Embedding Search", "VAE Search"]; +const MODEL_TYPES_TERMS = ["ModelType", "LoraType", "ControlNetType"]; +const MODEL_LIST_TERMS = ["ModelList", "LoraList", "ControlNetList", "EmbeddingList", "VAEList"]; + +const RUNWARE_NODE_TYPES = { + IMAGEINFERENCE: "Runware Image Inference", + KONTEXTINFERENCE: "Runware Kontext Inference", + IMAGENINFERENCE: "Runware Imagen Inference", + OUTPAINT: "Runware Outpaint", + PHOTOMAKER: "Runware PhotoMaker V2", + MODELSEARCH: "Runware Model Search", + MULTIINFERENCE: "Runware Multi Inference", + TEACACHE: "Runware TeaCache", + DEEPCACHE: "Runware DeepCache", + LORASEARCH: "Runware Lora Search", + CONTROLNET: "Runware ControlNet", + BGREMOVAL: "Runware Background Removal", + UPSCALER: "Runware Image Upscaler", + REFINER: "Runware Refiner", + LORACOMBINE: "Runware Lora Combine", + CONTROLNETCOMBINE: "Runware ControlNet Combine", + IPADAPTER: "Runware IPAdapter", + IPADAPTERSCOMBINE: "Runware IPAdapters Combine", + IMAGEMASKING: "Runware Image Masking", + CONTROLNETPREPROCESSING: "Runware ControlNet PreProcessor", + APIMANAGER: "Runware API Manager", + IMAGECAPTION: "Runware Image Caption", + EMBEDDING: "Runware Embedding Search", + EMBEDDINGCOMBINE: "Runware Embedding Combine", + VAE: "Runware VAE Search", + REFERENCEIMAGES: "Runware Reference Images", + IMAGEINFERENCEINPUTS: "Runware Image Inference Inputs", + IMAGEINFERENCEADVANCEDFEATURES: "Runware Image Advanced Feature Input", + VIDEOINFERENCE: "Runware Video Inference", + VIDEOMODELSEARCH: "Runware Video Model Search", + FRAMEIMAGES: "Runware Frame Images", + AUDIOINFERENCE: "Runware Audio Inference", + AUDIOINFERENCESPEECH: "Runware Audio Inference Speech", + AUDIOMODELSEARCH: "Runware Audio Model Search", + AUDIOSECTIONS: "Runware Audio Sections", + AUDIOINFERENCEINPUTS: "Runware Audio Inference Inputs", + AUDIOSETTINGS: "Runware Audio Inference Settings", + AUDIOSETTINGSVOICEMODIFY: "Runware Audio Inference Settings Voice Modify", + PIXVERSEPROVIDERSETTINGS: "Runware Pixverse Provider Settings", + OPENAIPROVIDERSETTINGS: "Runware OpenAI Provider Settings", + BYTEDANCEPROVIDERSETTINGS: "Runware Bytedance Provider Settings", + BRIAPROVIDERSETTINGS: "Runware Bria Provider Settings", + BRIAPROVIDERMASK: "Runware Bria Provider Mask", + ELEVENLABSPROVIDERSETTINGS: "Runware ElevenLabs Provider Settings", + ELEVENLABSPROVIDERSETTINGSSECTIONS: "Runware ElevenLabs Provider Settings Sections", + VIDUPROVIDERSETTINGS: "Runware Vidu Provider Settings", + LORAMIX: "Runware Lora Mix", + MEDIAUPLOAD: "Runware Media Upload", + INPUTAUDIOS: "Runware Input Audios", + AUDIOINPUT: "Runware Video Audio Input", + SPEECHINPUT: "Runware Video Speech Input", + REFERENCEVIDEOS: "Runware Reference Videos", + REFERENCEVOICES: "Runware Reference Voices", + VIDEOINFERENCEINPUTS: "Runware Video Inference Inputs", + VIDEOSETTINGS: "Runware Video Inference Settings", + LIGHTRICKSPROVIDERSETTINGS: "Runware Lightricks Provider Settings", + KLINGPROVIDERSETTINGS: "Runware KlingAI Provider Settings", + KLINGMULTIPROMPTSEGMENT: "Runware Kling MultiPrompt Segment", + KLINGPROVIDERSETTINGSMULTIPROMPT: "Runware Kling Provider Settings MultiPrompt", + RUNWAYPROVIDERSETTINGS: "Runware Runway Provider Settings", + LUMAPROVIDERSETTINGS: "Runware Luma Provider Settings", + MIDJOURNEYPROVIDERSETTINGS: "Runware Midjourney Provider Settings", + MIRELOPROVIDERSETTINGS: "Runware Mirelo Provider Settings", + ALIBABAPROVIDERSETTINGS: "Runware Alibaba Provider Settings", + BLACKFORESTPROVIDERSETTINGS: "Runware BlackForest Labs Provider Settings", + XAIPROVIDERSETTINGS: "Runware xAI Provider Settings", + RECRAFTPROVIDERSETTINGS: "Runware Recraft Provider Settings", + RECRAFTCOLOR: "Runware Provider Settings Recraft Color", + SOURCEFULPROVIDERSETTINGS: "Runware Sourceful Provider Settings", + SOURCEFULPROVIDERSETTINGSFONTS: "Runware Sourceful Provider Settings Fonts", + ULTRALYTICSINPUTS: "Runware Image Inference Ultralytics", + GOOGLEPROVIDERSETTINGS: "Runware Google Provider Settings", + SYNCSEGMENT: "Runware Sync Segment", + SYNCPROVIDERSETTINGS: "Runware Sync Provider Settings", + VECTORIZE: "Runware Vectorize", + VIDEOBGREMOVAL: "Runware Video Background Removal", + VIDEOUPSCALER: "Runware Video Upscaler", + VIDEOINPUTSREFERENCES: "Runware Video Inputs References", + VIDEOINPUTSFRAMEIMAGES: "Runware Video Inputs Frame Images", + ACCELERATOROPTIONS: "Runware Accelerator Options", + VIDEOTRANSCRIPTION: "Runware Video Transcription", + MINIMAXPROVIDERSETTINGS: "Runware MiniMax Provider Settings", + SAFETYINPUTS: "Runware Safety Inputs", + SETTINGS: "Runware Settings", + VIDEOADVANCEDFEATUREINPUTS: "Runware Video Advanced Feature Inputs", + WANANIMATEADVANCEDFEATURESETTINGS: "Runware Wan Animate Advanced Feature Settings", + SAVEIMAGE: "Runware Save Image", + VIDEOINFERENCEOUTPUTS: "Runware Video Inference Outputs", + THREEDINFERENCE: "Runware 3D Inference", + THREEDINFERENCEINPUTS: "Runware 3D Inference Inputs", + THREEDINFERENCESETTINGS: "Runware 3D Inference Settings", + THREEDINFERENCESETTINGSSPARSESTRUCTURE: "Runware 3D Inference Settings Sparse Structure", + THREEDINFERENCESETTINGSSHAPESLAT: "Runware 3D Inference Settings Shape Slat", + THREEDINFERENCESETTINGSTEXSLAT: "Runware 3D Inference Settings Tex Slat", + SAVE3D: "Runware Save 3D", + LOADMESH: "Runware Load Mesh", + WATERMARKADVANCEDFEATURE: "Runware Watermark Advanced Feature", + REGIONALPROMPTINGADVFEATURE: "Runware Regional Prompting Advanced Feature", + REGIONALPROMPTINGADVFEATUREREGIONS: "Runware Regional Prompting Advanced Feature Regions", +}; + +const RUNWARE_NODE_PROPS = { + [RUNWARE_NODE_TYPES.IMAGEINFERENCE]: { + bgColor: DEFAULT_BGCOLOR, + liveDimensions: true, + promptEnhancer: true, + }, + [RUNWARE_NODE_TYPES.KONTEXTINFERENCE]: { + bgColor: DEFAULT_BGCOLOR, + promptEnhancer: true, + }, + [RUNWARE_NODE_TYPES.IMAGENINFERENCE]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.REFERENCEIMAGES]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.OUTPAINT]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.PHOTOMAKER]: { + bgColor: DEFAULT_BGCOLOR, + liveDimensions: true, + promptEnhancer: true, + }, + [RUNWARE_NODE_TYPES.MODELSEARCH]: { + bgColor: DEFAULT_BGCOLOR, + liveSearch: true, + }, + [RUNWARE_NODE_TYPES.MULTIINFERENCE]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.TEACACHE]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.DEEPCACHE]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.LORASEARCH]: { + bgColor: DEFAULT_BGCOLOR, + liveSearch: true, + }, + [RUNWARE_NODE_TYPES.EMBEDDING]: { + bgColor: DEFAULT_BGCOLOR, + liveSearch: true, + }, + [RUNWARE_NODE_TYPES.CONTROLNET]: { + bgColor: DEFAULT_BGCOLOR, + liveSearch: true, + }, + [RUNWARE_NODE_TYPES.VAE]: { + bgColor: DEFAULT_BGCOLOR, + liveSearch: true, + }, + [RUNWARE_NODE_TYPES.EMBEDDINGCOMBINE]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.CONTROLNETCONDITIONING]: { + bgColor: DEFAULT_BGCOLOR, + liveSearch: true, + }, + [RUNWARE_NODE_TYPES.BGREMOVAL]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.UPSCALER]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.REFINER]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.LORACOMBINE]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.IPADAPTER]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.IPADAPTERSCOMBINE]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.CONTROLNETCOMBINE]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.IMAGEMASKING]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.CONTROLNETPREPROCESSING]: { + bgColor: DEFAULT_BGCOLOR, + liveDimensions: true, + }, + [RUNWARE_NODE_TYPES.APIMANAGER]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.IMAGECAPTION]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.VIDEOINFERENCE]: { + bgColor: DEFAULT_BGCOLOR, + liveDimensions: true, + promptEnhancer: true, + }, + [RUNWARE_NODE_TYPES.VIDEOMODELSEARCH]: { + bgColor: DEFAULT_BGCOLOR, + liveSearch: true, + }, + [RUNWARE_NODE_TYPES.FRAMEIMAGES]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.AUDIOINFERENCE]: { + bgColor: DEFAULT_BGCOLOR, + promptEnhancer: true, + }, + [RUNWARE_NODE_TYPES.AUDIOINFERENCESPEECH]: { + bgColor: DEFAULT_BGCOLOR, + }, + [RUNWARE_NODE_TYPES.AUDIOMODELSEARCH]: { + bgColor: DEFAULT_BGCOLOR, + liveSearch: true, + }, + [RUNWARE_NODE_TYPES.AUDIOSECTIONS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.IMAGEINFERENCEINPUTS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.IMAGEINFERENCEADVANCEDFEATURES]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.WATERMARKADVANCEDFEATURE]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.REGIONALPROMPTINGADVFEATURE]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.REGIONALPROMPTINGADVFEATUREREGIONS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.PIXVERSEPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.OPENAIPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.BYTEDANCEPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.BRIAPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.BRIAPROVIDERMASK]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.ELEVENLABSPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.ELEVENLABSPROVIDERSETTINGSSECTIONS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.VIDUPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.LORAMIX]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.MEDIAUPLOAD]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.INPUTAUDIOS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.AUDIOINPUT]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.SPEECHINPUT]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.REFERENCEVIDEOS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.REFERENCEVOICES]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.VIDEOINFERENCEINPUTS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.LIGHTRICKSPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.KLINGPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.KLINGMULTIPROMPTSEGMENT]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.KLINGPROVIDERSETTINGSMULTIPROMPT]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.RUNWAYPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.LUMAPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.MIDJOURNEYPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.MIRELOPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.ALIBABAPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.BLACKFORESTPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.XAIPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.RECRAFTPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + }, + [RUNWARE_NODE_TYPES.RECRAFTCOLOR]: { + bgColor: DEFAULT_BGCOLOR, + }, + [RUNWARE_NODE_TYPES.SOURCEFULPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.SOURCEFULPROVIDERSETTINGSFONTS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.ULTRALYTICSINPUTS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.GOOGLEPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.SYNCSEGMENT]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.SYNCPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.VECTORIZE]: { + bgColor: DEFAULT_BGCOLOR, + liveDimensions: true, + }, + [RUNWARE_NODE_TYPES.VIDEOBGREMOVAL]: { + bgColor: DEFAULT_BGCOLOR, + }, + [RUNWARE_NODE_TYPES.VIDEOUPSCALER]: { + bgColor: DEFAULT_BGCOLOR, + }, + [RUNWARE_NODE_TYPES.VIDEOINPUTSREFERENCES]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.VIDEOINPUTSFRAMEIMAGES]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.AUDIOINFERENCEINPUTS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.AUDIOSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + }, + [RUNWARE_NODE_TYPES.AUDIOSETTINGSVOICEMODIFY]: { + bgColor: DEFAULT_BGCOLOR, + }, + [RUNWARE_NODE_TYPES.VIDEOSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + }, + [RUNWARE_NODE_TYPES.ACCELERATOROPTIONS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.VIDEOTRANSCRIPTION]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.MINIMAXPROVIDERSETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.SAFETYINPUTS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.SETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.VIDEOADVANCEDFEATUREINPUTS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.WANANIMATEADVANCEDFEATURESETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.SAVEIMAGE]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.VIDEOINFERENCEOUTPUTS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.THREEDINFERENCE]: { + bgColor: DEFAULT_BGCOLOR, + promptEnhancer: true, + }, + [RUNWARE_NODE_TYPES.THREEDINFERENCEINPUTS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.THREEDINFERENCESETTINGS]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.THREEDINFERENCESETTINGSSPARSESTRUCTURE]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.THREEDINFERENCESETTINGSSHAPESLAT]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.THREEDINFERENCESETTINGSTEXSLAT]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.SAVE3D]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, + [RUNWARE_NODE_TYPES.LOADMESH]: { + bgColor: DEFAULT_BGCOLOR, + colorModeOnly: true, + }, +}; + +export { + DEFAULT_BGCOLOR, + DEFAULT_DIMENSIONS_LIST, + DEFAULT_MODELS_ARCH_LIST, + DEFAULT_CONTROLNET_CONDITIONING_LIST, + SEARCH_TERMS, + MODEL_TYPES_TERMS, + MODEL_LIST_TERMS, + RUNWARE_NODE_TYPES, + RUNWARE_NODE_PROPS } \ No newline at end of file diff --git a/clientlibs/utils.js b/clientlibs/utils.js index d4428e2..de9bad9 100644 --- a/clientlibs/utils.js +++ b/clientlibs/utils.js @@ -3871,6 +3871,137 @@ function imageInferenceAdvancedFeaturesToggleHandler(advancedFeaturesNode) { if (useHiresFixWidget && hiresFixWidget) toggleWidgetState(useHiresFixWidget, hiresFixWidget, "hiresFix"); } +function watermarkAdvancedFeatureToggleHandler(watermarkNode) { + if (!watermarkNode?.widgets) return; + + 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 && paramName) { + const nodeElement = watermarkNode.htmlElements?.widgetsContainer || watermarkNode.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; + } + } + } + + watermarkNode.setDirtyCanvas(true); + } + + appendWidgetCB(useWidget, () => { + setTimeout(toggleEnabled, 50); + }); + + setTimeout(toggleEnabled, 100); + } + + const pairs = [ + ["useText", "text"], + ["useImage", "image"], + ["useDisplayPosition", "displayPosition"], + ["useTiled", "tiled"], + ["useOpacity", "opacity"], + ["useFontColor", "fontColor"], + ["useBgColor", "bgColor"], + ]; + + for (const [useName, paramName] of pairs) { + const useWidget = watermarkNode.widgets.find(w => w.name === useName); + const paramWidget = watermarkNode.widgets.find(w => w.name === paramName); + if (useWidget && paramWidget) { + toggleWidgetState(useWidget, paramWidget, paramName); + } + } +} + +function regionalPromptingRegionsToggleHandler(regionsNode) { + if (!regionsNode?.widgets) return; + + function toggleWidgetState(useWidget, paramWidgets, paramNames) { + if (!useWidget || !paramWidgets || paramWidgets.length === 0) return; + + function toggleEnabled() { + const enabled = useWidget.value === true; + + for (let i = 0; i < paramWidgets.length; i++) { + const paramWidget = paramWidgets[i]; + const paramName = paramNames[i]; + + if (!paramWidget) continue; + + 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 && paramName) { + const nodeElement = regionsNode.htmlElements?.widgetsContainer || regionsNode.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; + } + } + } + } + + regionsNode.setDirtyCanvas(true); + } + + appendWidgetCB(useWidget, () => { + setTimeout(toggleEnabled, 50); + }); + + setTimeout(toggleEnabled, 100); + } + + for (let idx = 1; idx <= 4; idx++) { + const useWidget = regionsNode.widgets.find(w => w.name === `useRegion${idx}`); + const promptWidget = regionsNode.widgets.find(w => w.name === `region${idx}Prompt`); + const x0Widget = regionsNode.widgets.find(w => w.name === `region${idx}_x0`); + const y0Widget = regionsNode.widgets.find(w => w.name === `region${idx}_y0`); + const x1Widget = regionsNode.widgets.find(w => w.name === `region${idx}_x1`); + const y1Widget = regionsNode.widgets.find(w => w.name === `region${idx}_y1`); + + const paramWidgets = [promptWidget, x0Widget, y0Widget, x1Widget, y1Widget]; + const paramNames = [ + `region${idx}Prompt`, + `region${idx}_x0`, + `region${idx}_y0`, + `region${idx}_x1`, + `region${idx}_y1`, + ]; + + if (useWidget) { + toggleWidgetState(useWidget, paramWidgets, paramNames); + } + } +} + function audioInferenceInputsToggleHandler(audioInputsNode) { // Find widgets const useVideoWidget = audioInputsNode.widgets.find(w => w.name === "useVideo"); @@ -3990,6 +4121,8 @@ export { useParameterToggleHandler, imageInferenceToggleHandler, imageInferenceAdvancedFeaturesToggleHandler, + watermarkAdvancedFeatureToggleHandler, + regionalPromptingRegionsToggleHandler, upscalerToggleHandler, videoUpscalerToggleHandler, audioInferenceToggleHandler, diff --git a/modules/imageInference.py b/modules/imageInference.py index 117d9fe..1e9a9a9 100644 --- a/modules/imageInference.py +++ b/modules/imageInference.py @@ -195,7 +195,7 @@ class txt2img: "tooltip": "Connect Runware Image Inference Ultralytics node to configure Ultralytics parameters (maskBlur, maskPadding, confidence, prompts, steps, CFGScale, strength).", }), "advancedFeatures": ("RUNWAREIMAGEINFERENCEADVANCEDFEATURES", { - "tooltip": "Connect Runware Image Inference Advanced Features for layerDiffuse (transparency) and hiresFix (two-stage high-res).", + "tooltip": "Connect Runware Image Advanced Feature Input for layerDiffuse (transparency) and hiresFix (two-stage high-res).", }), } } diff --git a/modules/imageInferenceAdvancedFeatures.py b/modules/imageInferenceAdvancedFeatures.py index fd81ba5..698423e 100644 --- a/modules/imageInferenceAdvancedFeatures.py +++ b/modules/imageInferenceAdvancedFeatures.py @@ -1,69 +1,80 @@ -""" -Runware Image Inference Advanced Features Node -Provides advancedFeatures (layerDiffuse, hiresFix) for Runware Image Inference. -""" - -from typing import Dict, Any - - -class RunwareImageInferenceAdvancedFeatures: - """Runware Image Inference Advanced Features Node""" - - @classmethod - def INPUT_TYPES(cls): - return { - "required": {}, - "optional": { - "useLayerDiffuse": ("BOOLEAN", { - "tooltip": "Enable to include layerDiffuse in advancedFeatures. When enabled, LayerDiffuse generates images with transparency (alpha) without post-processing background removal.", - "default": False, - }), - "layerDiffuse": ("BOOLEAN", { - "tooltip": "Enable LayerDiffuse technology for direct generation of images with transparency (alpha channels). Only used when 'Use Layer Diffuse' is enabled.", - "default": False, - "label_on": "true", - "label_off": "false", - }), - "useHiresFix": ("BOOLEAN", { - "tooltip": "Enable to include hiresFix in advancedFeatures. When enabled, uses a two-stage process for higher-resolution, higher-detail images.", - "default": False, - }), - "hiresFix": ("BOOLEAN", { - "tooltip": "Enable a two-stage generation: first at native resolution, then upscale and refine in a second pass. Only used when 'Use Hires Fix' is enabled.", - "default": False, - "label_on": "true", - "label_off": "false", - }), - } - } - - RETURN_TYPES = ("RUNWAREIMAGEINFERENCEADVANCEDFEATURES",) - RETURN_NAMES = ("advancedFeatures",) - FUNCTION = "createAdvancedFeatures" - CATEGORY = "Runware" - DESCRIPTION = "Configure advanced features for Runware Image Inference (layerDiffuse for transparency, hiresFix for two-stage high-res generation). Connect to Runware Image Inference advancedFeatures input." - - def createAdvancedFeatures(self, **kwargs) -> tuple: - """Build advancedFeatures dict for the API.""" - use_layer_diffuse = kwargs.get("useLayerDiffuse", False) - layer_diffuse = kwargs.get("layerDiffuse", False) - use_hires_fix = kwargs.get("useHiresFix", False) - hires_fix = kwargs.get("hiresFix", False) - - advanced_features: Dict[str, Any] = {} - - if use_layer_diffuse: - advanced_features["layerDiffuse"] = bool(layer_diffuse) - if use_hires_fix: - advanced_features["hiresFix"] = bool(hires_fix) - - return (advanced_features,) - - -NODE_CLASS_MAPPINGS = { - "RunwareImageInferenceAdvancedFeatures": RunwareImageInferenceAdvancedFeatures, -} - -NODE_DISPLAY_NAME_MAPPINGS = { - "RunwareImageInferenceAdvancedFeatures": "Runware Image Inference Advanced Features", -} +from typing import Dict, Any + + +class RunwareImageInferenceAdvancedFeatures: + """Runware Image Advanced Feature Input Node""" + + @classmethod + def INPUT_TYPES(cls): + return { + "required": {}, + "optional": { + "useLayerDiffuse": ("BOOLEAN", { + "tooltip": "Enable to include layerDiffuse in advancedFeatures. When enabled, LayerDiffuse generates images with transparency (alpha) without post-processing background removal.", + "default": False, + }), + "layerDiffuse": ("BOOLEAN", { + "tooltip": "Enable LayerDiffuse technology for direct generation of images with transparency (alpha channels). Only used when 'Use Layer Diffuse' is enabled.", + "default": False, + "label_on": "true", + "label_off": "false", + }), + "useHiresFix": ("BOOLEAN", { + "tooltip": "Enable to include hiresFix in advancedFeatures. When enabled, uses a two-stage process for higher-resolution, higher-detail images.", + "default": False, + }), + "hiresFix": ("BOOLEAN", { + "tooltip": "Enable a two-stage generation: first at native resolution, then upscale and refine in a second pass. Only used when 'Use Hires Fix' is enabled.", + "default": False, + "label_on": "true", + "label_off": "false", + }), + "watermark": ("RUNWAREIMAGEWATERMARKADVFEATURE", { + "tooltip": "Connect Runware Watermark Advanced Feature to include watermark configuration in advancedFeatures.watermark.", + }), + "regionalPrompting": ("RUNWAREREGIONALPROMPTINGADVFEATURE", { + "tooltip": "Connect Runware Regional Prompting Advanced Feature to configure regionalPrompting in advancedFeatures.", + }), + }, + } + + RETURN_TYPES = ("RUNWAREIMAGEINFERENCEADVANCEDFEATURES",) + RETURN_NAMES = ("advancedFeatures",) + FUNCTION = "createAdvancedFeatures" + CATEGORY = "Runware" + DESCRIPTION = ( + "Configure advanced features for Runware Image Inference: layerDiffuse (transparency), " + "hiresFix (two-stage high-res), watermark, and regional prompting. " + "Connect to Runware Image Inference advancedFeatures input." + ) + + def createAdvancedFeatures(self, watermark=None, regionalPrompting=None, **kwargs) -> tuple: + """Build advancedFeatures dict for the API.""" + use_layer_diffuse = kwargs.get("useLayerDiffuse", False) + layer_diffuse = kwargs.get("layerDiffuse", False) + use_hires_fix = kwargs.get("useHiresFix", False) + hires_fix = kwargs.get("hiresFix", False) + + advanced_features: Dict[str, Any] = {} + + if use_layer_diffuse: + advanced_features["layerDiffuse"] = bool(layer_diffuse) + if use_hires_fix: + advanced_features["hiresFix"] = bool(hires_fix) + + if isinstance(watermark, dict) and watermark: + advanced_features["watermark"] = watermark + + if isinstance(regionalPrompting, dict) and regionalPrompting: + advanced_features["regionalPrompting"] = regionalPrompting + + return (advanced_features,) + + +NODE_CLASS_MAPPINGS = { + "RunwareImageInferenceAdvancedFeatures": RunwareImageInferenceAdvancedFeatures, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "RunwareImageInferenceAdvancedFeatures": "Runware Image Advanced Feature Input", +} diff --git a/modules/imageRegionalPromptingAdvancedFeature.py b/modules/imageRegionalPromptingAdvancedFeature.py new file mode 100644 index 0000000..635d3ee --- /dev/null +++ b/modules/imageRegionalPromptingAdvancedFeature.py @@ -0,0 +1,80 @@ +from typing import Dict, Any, Tuple + + +class RunwareRegionalPromptingAdvancedFeature: + """ + Runware Regional Prompting Advanced Feature Node + + Builds the advancedFeatures.regionalPrompting configuration object: + - injectSteps + - backgroundPrompt + - baseRatio + - regions (connected from the Regions node) + """ + + @classmethod + def INPUT_TYPES(cls): + return { + "required": {}, + "optional": { + "injectSteps": ("INT", { + "tooltip": "Steps to inject regional masks (1-100).", + "default": 15, + "min": 1, + "max": 100, + }), + "backgroundPrompt": ("STRING", { + "tooltip": "Background prompt applied to uncovered areas.", + "default": "", + }), + "baseRatio": ("FLOAT", { + "tooltip": "Base prompt attention weight (0.0 - 1.0).", + "default": 0.0, + "min": 0.0, + "max": 1.0, + "step": 0.01, + }), + "regions": ("RUNWAREREGIONALPROMPTINGREGIONS", { + "tooltip": "Connect Runware Regional Prompting Advanced Feature Regions node to define regional prompts and masks.", + }), + }, + } + + RETURN_TYPES: Tuple[str] = ("RUNWAREREGIONALPROMPTINGADVFEATURE",) + RETURN_NAMES = ("regionalPrompting",) + FUNCTION = "createRegionalPrompting" + CATEGORY = "Runware" + DESCRIPTION = ( + "Configure regional prompting advanced feature (injectSteps, backgroundPrompt, " + "baseRatio, and regions). Connect output to Runware Image Advanced Feature Input " + "regionalPrompting input." + ) + + def createRegionalPrompting(self, regions=None, **kwargs) -> tuple: + """Build regionalPrompting dict for advancedFeatures.regionalPrompting.""" + inject_steps = int(kwargs.get("injectSteps", 15)) + base_ratio = float(kwargs.get("baseRatio", 0.2)) + background_prompt = (kwargs.get("backgroundPrompt", "") or "").strip() + + config: Dict[str, Any] = { + "injectSteps": inject_steps, + "baseRatio": base_ratio, + } + + if background_prompt: + config["backgroundPrompt"] = background_prompt + + if isinstance(regions, list) and regions: + config["regions"] = regions + + return (config,) + + +NODE_CLASS_MAPPINGS = { + "RunwareRegionalPromptingAdvancedFeature": RunwareRegionalPromptingAdvancedFeature, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "RunwareRegionalPromptingAdvancedFeature": "Runware Regional Prompting Advanced Feature", +} + diff --git a/modules/imageRegionalPromptingAdvancedFeatureRegions.py b/modules/imageRegionalPromptingAdvancedFeatureRegions.py new file mode 100644 index 0000000..f715002 --- /dev/null +++ b/modules/imageRegionalPromptingAdvancedFeatureRegions.py @@ -0,0 +1,196 @@ +from typing import Dict, Any, List, Tuple + + +class RunwareRegionalPromptingAdvancedFeatureRegions: + """ + Runware Regional Prompting Advanced Feature Regions Node + + Builds the advancedFeatures.regionalPrompting.regions array, with up to 4 regions. + Each region has a prompt and a rectangular mask [x0, y0, x1, y1]. + """ + + @classmethod + def INPUT_TYPES(cls): + coords_tooltip = "Mask rectangle as [x0, y0, x1, y1] in image pixel coordinates." + return { + "required": {}, + "optional": { + # Region 1 + "useRegion1": ("BOOLEAN", { + "tooltip": "Enable first regional prompt mask.", + "default": False, + }), + "region1Prompt": ("STRING", { + "tooltip": "Prompt for region 1.", + "default": "", + }), + "region1_x0": ("INT", { + "tooltip": coords_tooltip, + "default": 0, + "min": 0, + "max": 8192, + }), + "region1_y0": ("INT", { + "tooltip": coords_tooltip, + "default": 0, + "min": 0, + "max": 8192, + }), + "region1_x1": ("INT", { + "tooltip": coords_tooltip, + "default": 512, + "min": 0, + "max": 8192, + }), + "region1_y1": ("INT", { + "tooltip": coords_tooltip, + "default": 512, + "min": 0, + "max": 8192, + }), + # Region 2 + "useRegion2": ("BOOLEAN", { + "tooltip": "Enable second regional prompt mask.", + "default": False, + }), + "region2Prompt": ("STRING", { + "tooltip": "Prompt for region 2.", + "default": "", + }), + "region2_x0": ("INT", { + "tooltip": coords_tooltip, + "default": 512, + "min": 0, + "max": 8192, + }), + "region2_y0": ("INT", { + "tooltip": coords_tooltip, + "default": 0, + "min": 0, + "max": 8192, + }), + "region2_x1": ("INT", { + "tooltip": coords_tooltip, + "default": 1024, + "min": 0, + "max": 8192, + }), + "region2_y1": ("INT", { + "tooltip": coords_tooltip, + "default": 512, + "min": 0, + "max": 8192, + }), + # Region 3 + "useRegion3": ("BOOLEAN", { + "tooltip": "Enable third regional prompt mask.", + "default": False, + }), + "region3Prompt": ("STRING", { + "tooltip": "Prompt for region 3.", + "default": "", + }), + "region3_x0": ("INT", { + "tooltip": coords_tooltip, + "default": 0, + "min": 0, + "max": 8192, + }), + "region3_y0": ("INT", { + "tooltip": coords_tooltip, + "default": 512, + "min": 0, + "max": 8192, + }), + "region3_x1": ("INT", { + "tooltip": coords_tooltip, + "default": 512, + "min": 0, + "max": 8192, + }), + "region3_y1": ("INT", { + "tooltip": coords_tooltip, + "default": 1024, + "min": 0, + "max": 8192, + }), + # Region 4 + "useRegion4": ("BOOLEAN", { + "tooltip": "Enable fourth regional prompt mask.", + "default": False, + }), + "region4Prompt": ("STRING", { + "tooltip": "Prompt for region 4.", + "default": "", + }), + "region4_x0": ("INT", { + "tooltip": coords_tooltip, + "default": 512, + "min": 0, + "max": 8192, + }), + "region4_y0": ("INT", { + "tooltip": coords_tooltip, + "default": 512, + "min": 0, + "max": 8192, + }), + "region4_x1": ("INT", { + "tooltip": coords_tooltip, + "default": 1024, + "min": 0, + "max": 8192, + }), + "region4_y1": ("INT", { + "tooltip": coords_tooltip, + "default": 1024, + "min": 0, + "max": 8192, + }), + }, + } + + RETURN_TYPES: Tuple[str] = ("RUNWAREREGIONALPROMPTINGREGIONS",) + RETURN_NAMES = ("regions",) + FUNCTION = "createRegions" + CATEGORY = "Runware" + DESCRIPTION = ( + "Configure regions array for regional prompting. Each enabled region provides " + "a prompt and a rectangular mask [x0, y0, x1, y1]. Connect to Runware Regional " + "Prompting Advanced Feature regions input." + ) + + def createRegions(self, **kwargs) -> tuple: + """Build list of regional prompting regions.""" + regions: List[Dict[str, Any]] = [] + + for idx in range(1, 5): + use_region = kwargs.get(f"useRegion{idx}", False) + prompt = (kwargs.get(f"region{idx}Prompt", "") or "").strip() + if not use_region or not prompt: + continue + + x0 = int(kwargs.get(f"region{idx}_x0", 0)) + y0 = int(kwargs.get(f"region{idx}_y0", 0)) + x1 = int(kwargs.get(f"region{idx}_x1", 0)) + y1 = int(kwargs.get(f"region{idx}_y1", 0)) + + mask = [x0, y0, x1, y1] + regions.append( + { + "prompt": prompt, + "mask": mask, + } + ) + + return (regions,) + + +NODE_CLASS_MAPPINGS = { + "RunwareRegionalPromptingAdvancedFeatureRegions": RunwareRegionalPromptingAdvancedFeatureRegions, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "RunwareRegionalPromptingAdvancedFeatureRegions": "Runware Regional Prompting Advanced Feature Regions", +} + diff --git a/modules/imageWatermarkAdvancedFeature.py b/modules/imageWatermarkAdvancedFeature.py new file mode 100644 index 0000000..3cc9be6 --- /dev/null +++ b/modules/imageWatermarkAdvancedFeature.py @@ -0,0 +1,154 @@ +from typing import Dict, Any, Tuple + +from .utils.runwareUtils import convertTensor2IMG + + +class RunwareWatermarkAdvancedFeature: + """Runware Watermark Advanced Feature Node""" + + @classmethod + def INPUT_TYPES(cls): + return { + "required": {}, + "optional": { + "useText": ("BOOLEAN", { + "tooltip": "Enable to set text content for the watermark (2-32 characters).", + "default": False, + }), + "text": ("STRING", { + "tooltip": "Text content for the watermark (2-32 characters). Only used when 'Use Text' is enabled.", + "default": "", + }), + "useImage": ("BOOLEAN", { + "tooltip": "Enable to set image content for the watermark (connect an IMAGE, UUID, URL, data URI, or base64).", + "default": False, + }), + "image": ("IMAGE", { + "tooltip": "Image to use as watermark. Can be connected from a Load Image node; internally converted to a data URI/UUID when used.", + }), + "useDisplayPosition": ("BOOLEAN", { + "tooltip": "Enable to set watermark display position.", + "default": False, + }), + "displayPosition": ([ + "top-left", "top-center", "top-right", + "center-left", "center-center", "center-right", + "bottom-left", "bottom-center", "bottom-right", + ], { + "tooltip": "Watermark position on the image.", + "default": "bottom-right", + }), + "useTiled": ("BOOLEAN", { + "tooltip": "Enable to tile the watermark across the image at -45 degrees.", + "default": False, + }), + "tiled": ("BOOLEAN", { + "tooltip": "When enabled, distribute watermark across the image at -45 degrees. Only used when 'Use Tiled' is enabled.", + "default": False, + "label_on": "true", + "label_off": "false", + }), + "useOpacity": ("BOOLEAN", { + "tooltip": "Enable to set watermark opacity (0.1 - 1.0).", + "default": False, + }), + "opacity": ("FLOAT", { + "tooltip": "Watermark opacity (0.1 - 1.0). Only used when 'Use Opacity' is enabled.", + "default": 0.6, + "min": 0.1, + "max": 1.0, + "step": 0.05, + }), + "useFontColor": ("BOOLEAN", { + "tooltip": "Enable to set watermark font color (hex).", + "default": False, + }), + "fontColor": ("STRING", { + "tooltip": "Text color in hex format (e.g. #ffffff). Only used when 'Use Font Color' is enabled.", + "default": "#ffffff", + }), + "useBgColor": ("BOOLEAN", { + "tooltip": "Enable to set watermark background color (hex).", + "default": False, + }), + "bgColor": ("STRING", { + "tooltip": "Background color in hex format (e.g. #000000 or transparent). Only used when 'Use Bg Color' is enabled.", + "default": "transparent", + }), + }, + } + + RETURN_TYPES: Tuple[str] = ("RUNWAREIMAGEWATERMARKADVFEATURE",) + RETURN_NAMES = ("watermark",) + FUNCTION = "createWatermark" + CATEGORY = "Runware" + DESCRIPTION = ( + "Configure watermark advanced feature for Runware Image Inference. " + "You must provide exactly one of text or image. Connect output to " + "Runware Image Advanced Feature Input watermark connection." + ) + + def createWatermark(self, **kwargs) -> tuple: + """Build watermark dict for advancedFeatures.watermark.""" + use_text = kwargs.get("useText", False) + text = (kwargs.get("text", "") or "").strip() + use_image = kwargs.get("useImage", False) + raw_image = kwargs.get("image", None) + + has_text = use_text and bool(text) + + image_str: str = "" + if use_image and raw_image is not None: + # If an IMAGE tensor is connected, convert it to a data URI / UUID. + try: + # convertTensor2IMG handles caching and returns either UUID or data URI. + image_str = convertTensor2IMG(raw_image) + except Exception: + image_str = "" + + has_image = use_image and bool(image_str) + + if has_text == has_image: + raise Exception( + "Watermark configuration requires exactly one of text or image (but not both or neither)." + ) + + use_pos = kwargs.get("useDisplayPosition", False) + pos = kwargs.get("displayPosition", "bottom-right") + use_tiled = kwargs.get("useTiled", False) + tiled = bool(kwargs.get("tiled", False)) + use_opacity = kwargs.get("useOpacity", False) + opacity = float(kwargs.get("opacity", 0.6)) + use_font = kwargs.get("useFontColor", False) + font_color = (kwargs.get("fontColor", "#ffffff") or "").strip() + use_bg = kwargs.get("useBgColor", False) + bg_color = (kwargs.get("bgColor", "transparent") or "").strip() + + watermark: Dict[str, Any] = {} + + if has_text: + watermark["text"] = text + if has_image: + watermark["image"] = image_str + if use_pos: + watermark["displayPosition"] = pos + if use_tiled: + watermark["tiled"] = tiled + if use_opacity: + watermark["opacity"] = opacity + if use_font and font_color: + watermark["fontColor"] = font_color + if use_bg and bg_color: + watermark["bgColor"] = bg_color + + return (watermark,) + + +NODE_CLASS_MAPPINGS = { + "RunwareWatermarkAdvancedFeature": RunwareWatermarkAdvancedFeature, +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "RunwareWatermarkAdvancedFeature": "Runware Watermark Advanced Feature", +} + diff --git a/workflows/Runware_Image_Inference_Highres.json b/workflows/Runware_Image_Inference_Highres.json new file mode 100644 index 0000000..7461de7 --- /dev/null +++ b/workflows/Runware_Image_Inference_Highres.json @@ -0,0 +1 @@ +{"id":"000fc352-a75e-476c-8f65-0147b5aa8a87","revision":0,"last_node_id":10,"last_link_id":4,"nodes":[{"id":6,"type":"Runware Save Image","pos":[348.1230773925781,397.628173828125],"size":[270,318],"flags":{},"order":3,"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":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Save Image"},"widgets_values":["","ComfyUI",true],"bgcolor":"#5345bf"},{"id":3,"type":"Runware Image Inference","pos":[-145.79043579101562,325.5597229003906],"size":[400,1058],"flags":{},"order":2,"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":null},{"localized_name":"ultralytics","name":"ultralytics","shape":7,"type":"RUNWAREULTRALYTICSINPUTS","link":null},{"localized_name":"advancedFeatures","name":"advancedFeatures","shape":7,"type":"RUNWAREIMAGEINFERENCEADVANCEDFEATURES","link":4},{"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":"STRING","links":[1]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Image Inference"},"widgets_values":["(analog)1.8 photograph of a white kitten in a field of lavender flowers, masterpiece, best quality, highres","(worst quality, low quality, normal quality:2)",false,"Disabled","Square HD (1024x1024)",1024,1024,false,"1k",true,42,false,"Default",false,6.5,true,1594265283,"randomize",false,0,0.8,false,32,"WEBP",1,"none"],"bgcolor":"#5345bf"},{"id":10,"type":"Runware Image Advanced Feature Input","pos":[-582.21337890625,647.9006958007812],"size":[355.9400329589844,130],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"useLayerDiffuse","name":"useLayerDiffuse","shape":7,"type":"BOOLEAN","widget":{"name":"useLayerDiffuse"},"link":null},{"localized_name":"layerDiffuse","name":"layerDiffuse","shape":7,"type":"BOOLEAN","widget":{"name":"layerDiffuse"},"link":null},{"localized_name":"useHiresFix","name":"useHiresFix","shape":7,"type":"BOOLEAN","widget":{"name":"useHiresFix"},"link":null},{"localized_name":"hiresFix","name":"hiresFix","shape":7,"type":"BOOLEAN","widget":{"name":"hiresFix"},"link":null}],"outputs":[{"localized_name":"advancedFeatures","name":"advancedFeatures","type":"RUNWAREIMAGEINFERENCEADVANCEDFEATURES","links":[4]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Image Advanced Feature Input"},"widgets_values":[false,false,true,false],"bgcolor":"#5345bf"},{"id":4,"type":"Runware Model Search","pos":[-525.9592895507812,395.3826599121094],"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":[2]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Model Search"},"widgets_values":["civitai:101055@128078","All","Base Model","runware:100@1 (Flux Schnell)",false],"bgcolor":"#5345bf"}],"links":[[1,3,0,6,0,"STRING"],[2,4,0,3,0,"RUNWAREMODEL"],[4,10,0,3,17,"RUNWAREIMAGEINFERENCEADVANCEDFEATURES"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.6090406304931815,"offset":[1607.5458964836725,-300.2594862790087]}},"version":0.4} \ No newline at end of file diff --git a/workflows/Runware_Image_Inference_Regional_Prompting.json b/workflows/Runware_Image_Inference_Regional_Prompting.json new file mode 100644 index 0000000..9888614 --- /dev/null +++ b/workflows/Runware_Image_Inference_Regional_Prompting.json @@ -0,0 +1 @@ +{"id":"000fc352-a75e-476c-8f65-0147b5aa8a87","revision":0,"last_node_id":23,"last_link_id":10,"nodes":[{"id":6,"type":"Runware Save Image","pos":[348.1230773925781,397.628173828125],"size":[270,318],"flags":{},"order":5,"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":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Save Image"},"widgets_values":["","ComfyUI",true],"bgcolor":"#5345bf"},{"id":11,"type":"Runware Image Advanced Feature Input","pos":[-573.57470703125,721.1827392578125],"size":[355.9400329589844,150],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"watermark","name":"watermark","shape":7,"type":"RUNWAREIMAGEWATERMARKADVFEATURE","link":null},{"localized_name":"regionalPrompting","name":"regionalPrompting","shape":7,"type":"RUNWAREREGIONALPROMPTINGADVFEATURE","link":10},{"localized_name":"useLayerDiffuse","name":"useLayerDiffuse","shape":7,"type":"BOOLEAN","widget":{"name":"useLayerDiffuse"},"link":null},{"localized_name":"layerDiffuse","name":"layerDiffuse","shape":7,"type":"BOOLEAN","widget":{"name":"layerDiffuse"},"link":null},{"localized_name":"useHiresFix","name":"useHiresFix","shape":7,"type":"BOOLEAN","widget":{"name":"useHiresFix"},"link":null},{"localized_name":"hiresFix","name":"hiresFix","shape":7,"type":"BOOLEAN","widget":{"name":"hiresFix"},"link":null}],"outputs":[{"localized_name":"advancedFeatures","name":"advancedFeatures","type":"RUNWAREIMAGEINFERENCEADVANCEDFEATURES","links":[8]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Image Advanced Feature Input"},"widgets_values":[false,false,false,false],"bgcolor":"#5345bf"},{"id":4,"type":"Runware Model Search","pos":[-525.9592895507812,395.3826599121094],"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":[2]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Model Search"},"widgets_values":["civitai:143043@182077","All","Base Model","civitai:143043@182077 (Starlight XL 星光 Animated v3)",false],"bgcolor":"#5345bf"},{"id":22,"type":"Runware Regional Prompting Advanced Feature Regions","pos":[-1517.2142333984375,577.7449951171875],"size":[456.3257751464844,610],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"useRegion1","name":"useRegion1","shape":7,"type":"BOOLEAN","widget":{"name":"useRegion1"},"link":null},{"localized_name":"region1Prompt","name":"region1Prompt","shape":7,"type":"STRING","widget":{"name":"region1Prompt"},"link":null},{"localized_name":"region1_x0","name":"region1_x0","shape":7,"type":"INT","widget":{"name":"region1_x0"},"link":null},{"localized_name":"region1_y0","name":"region1_y0","shape":7,"type":"INT","widget":{"name":"region1_y0"},"link":null},{"localized_name":"region1_x1","name":"region1_x1","shape":7,"type":"INT","widget":{"name":"region1_x1"},"link":null},{"localized_name":"region1_y1","name":"region1_y1","shape":7,"type":"INT","widget":{"name":"region1_y1"},"link":null},{"localized_name":"useRegion2","name":"useRegion2","shape":7,"type":"BOOLEAN","widget":{"name":"useRegion2"},"link":null},{"localized_name":"region2Prompt","name":"region2Prompt","shape":7,"type":"STRING","widget":{"name":"region2Prompt"},"link":null},{"localized_name":"region2_x0","name":"region2_x0","shape":7,"type":"INT","widget":{"name":"region2_x0"},"link":null},{"localized_name":"region2_y0","name":"region2_y0","shape":7,"type":"INT","widget":{"name":"region2_y0"},"link":null},{"localized_name":"region2_x1","name":"region2_x1","shape":7,"type":"INT","widget":{"name":"region2_x1"},"link":null},{"localized_name":"region2_y1","name":"region2_y1","shape":7,"type":"INT","widget":{"name":"region2_y1"},"link":null},{"localized_name":"useRegion3","name":"useRegion3","shape":7,"type":"BOOLEAN","widget":{"name":"useRegion3"},"link":null},{"localized_name":"region3Prompt","name":"region3Prompt","shape":7,"type":"STRING","widget":{"name":"region3Prompt"},"link":null},{"localized_name":"region3_x0","name":"region3_x0","shape":7,"type":"INT","widget":{"name":"region3_x0"},"link":null},{"localized_name":"region3_y0","name":"region3_y0","shape":7,"type":"INT","widget":{"name":"region3_y0"},"link":null},{"localized_name":"region3_x1","name":"region3_x1","shape":7,"type":"INT","widget":{"name":"region3_x1"},"link":null},{"localized_name":"region3_y1","name":"region3_y1","shape":7,"type":"INT","widget":{"name":"region3_y1"},"link":null},{"localized_name":"useRegion4","name":"useRegion4","shape":7,"type":"BOOLEAN","widget":{"name":"useRegion4"},"link":null},{"localized_name":"region4Prompt","name":"region4Prompt","shape":7,"type":"STRING","widget":{"name":"region4Prompt"},"link":null},{"localized_name":"region4_x0","name":"region4_x0","shape":7,"type":"INT","widget":{"name":"region4_x0"},"link":null},{"localized_name":"region4_y0","name":"region4_y0","shape":7,"type":"INT","widget":{"name":"region4_y0"},"link":null},{"localized_name":"region4_x1","name":"region4_x1","shape":7,"type":"INT","widget":{"name":"region4_x1"},"link":null},{"localized_name":"region4_y1","name":"region4_y1","shape":7,"type":"INT","widget":{"name":"region4_y1"},"link":null}],"outputs":[{"localized_name":"regions","name":"regions","type":"RUNWAREREGIONALPROMPTINGREGIONS","links":[9]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Regional Prompting Advanced Feature Regions"},"widgets_values":[true,"yor_briar, black hair, red shirt, sun",0,0,1024,341,true,"green jeans, black belt, trees",0,341,1024,683,true,"yellow shoes, grass",0,683,1024,1024,false,"",512,512,1024,1024],"bgcolor":"#5345bf"},{"id":17,"type":"Runware Regional Prompting Advanced Feature","pos":[-1004.2597045898438,748.0178833007812],"size":[401.0708923339844,130],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"regions","name":"regions","shape":7,"type":"RUNWAREREGIONALPROMPTINGREGIONS","link":9},{"localized_name":"injectSteps","name":"injectSteps","shape":7,"type":"INT","widget":{"name":"injectSteps"},"link":null},{"localized_name":"backgroundPrompt","name":"backgroundPrompt","shape":7,"type":"STRING","widget":{"name":"backgroundPrompt"},"link":null},{"localized_name":"baseRatio","name":"baseRatio","shape":7,"type":"FLOAT","widget":{"name":"baseRatio"},"link":null}],"outputs":[{"localized_name":"regionalPrompting","name":"regionalPrompting","type":"RUNWAREREGIONALPROMPTINGADVFEATURE","links":[10]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Regional Prompting Advanced Feature"},"widgets_values":[15,15,0],"bgcolor":"#5345bf"},{"id":3,"type":"Runware Image Inference","pos":[-145.79043579101562,325.5597229003906],"size":[400,1058],"flags":{},"order":4,"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":null},{"localized_name":"ultralytics","name":"ultralytics","shape":7,"type":"RUNWAREULTRALYTICSINPUTS","link":null},{"localized_name":"advancedFeatures","name":"advancedFeatures","shape":7,"type":"RUNWAREIMAGEINFERENCEADVANCEDFEATURES","link":8},{"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":"STRING","links":[1]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Image Inference"},"widgets_values":["best quality, masterpiece, highly detailed","bad quality, worst quality, deformed",false,"Disabled","Square HD (1024x1024)",1024,1024,false,"1k",true,30,true,"DPM++ 3M Karras",true,7,true,779008488,"randomize",false,0,0.8,false,32,"WEBP",1,"none"],"bgcolor":"#5345bf"}],"links":[[1,3,0,6,0,"STRING"],[2,4,0,3,0,"RUNWAREMODEL"],[8,11,0,3,17,"RUNWAREIMAGEINFERENCEADVANCEDFEATURES"],[9,22,0,17,0,"RUNWAREREGIONALPROMPTINGREGIONS"],[10,17,0,11,1,"RUNWAREREGIONALPROMPTINGADVFEATURE"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.6090406304931815,"offset":[1551.2201182310441,-257.90291151467744]}},"version":0.4} \ No newline at end of file diff --git a/workflows/Runware_Image_Inference_Watermark.json b/workflows/Runware_Image_Inference_Watermark.json new file mode 100644 index 0000000..1a4c38d --- /dev/null +++ b/workflows/Runware_Image_Inference_Watermark.json @@ -0,0 +1 @@ +{"id":"000fc352-a75e-476c-8f65-0147b5aa8a87","revision":0,"last_node_id":16,"last_link_id":8,"nodes":[{"id":6,"type":"Runware Save Image","pos":[348.1230773925781,397.628173828125],"size":[270,318],"flags":{},"order":5,"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":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Save Image"},"widgets_values":["","ComfyUI",true],"bgcolor":"#5345bf"},{"id":4,"type":"Runware Model Search","pos":[-525.9592895507812,395.3826599121094],"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":[2]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Model Search"},"widgets_values":["runware:101@1","All","Base Model","runware:101@1 (FLUX Dev 1.0)",false],"bgcolor":"#5345bf"},{"id":3,"type":"Runware Image Inference","pos":[-145.79043579101562,325.5597229003906],"size":[400,1058],"flags":{},"order":4,"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":null},{"localized_name":"ultralytics","name":"ultralytics","shape":7,"type":"RUNWAREULTRALYTICSINPUTS","link":null},{"localized_name":"advancedFeatures","name":"advancedFeatures","shape":7,"type":"RUNWAREIMAGEINFERENCEADVANCEDFEATURES","link":8},{"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":"STRING","links":[1]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Image Inference"},"widgets_values":["a cat looks happy","",false,"Disabled","Square HD (1024x1024)",1024,1024,false,"1k",true,42,false,"Default",false,6.5,true,598741287,"randomize",false,0,0.8,false,32,"WEBP",1,"none"],"bgcolor":"#5345bf"},{"id":14,"type":"Runware Watermark Advanced Feature","pos":[-1007.2741088867188,733.0033569335938],"size":[346.0415954589844,346],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"image","name":"image","shape":7,"type":"IMAGE","link":6},{"localized_name":"useText","name":"useText","shape":7,"type":"BOOLEAN","widget":{"name":"useText"},"link":null},{"localized_name":"text","name":"text","shape":7,"type":"STRING","widget":{"name":"text"},"link":null},{"localized_name":"useImage","name":"useImage","shape":7,"type":"BOOLEAN","widget":{"name":"useImage"},"link":null},{"localized_name":"useDisplayPosition","name":"useDisplayPosition","shape":7,"type":"BOOLEAN","widget":{"name":"useDisplayPosition"},"link":null},{"localized_name":"displayPosition","name":"displayPosition","shape":7,"type":"COMBO","widget":{"name":"displayPosition"},"link":null},{"localized_name":"useTiled","name":"useTiled","shape":7,"type":"BOOLEAN","widget":{"name":"useTiled"},"link":null},{"localized_name":"tiled","name":"tiled","shape":7,"type":"BOOLEAN","widget":{"name":"tiled"},"link":null},{"localized_name":"useOpacity","name":"useOpacity","shape":7,"type":"BOOLEAN","widget":{"name":"useOpacity"},"link":null},{"localized_name":"opacity","name":"opacity","shape":7,"type":"FLOAT","widget":{"name":"opacity"},"link":null},{"localized_name":"useFontColor","name":"useFontColor","shape":7,"type":"BOOLEAN","widget":{"name":"useFontColor"},"link":null},{"localized_name":"fontColor","name":"fontColor","shape":7,"type":"STRING","widget":{"name":"fontColor"},"link":null},{"localized_name":"useBgColor","name":"useBgColor","shape":7,"type":"BOOLEAN","widget":{"name":"useBgColor"},"link":null},{"localized_name":"bgColor","name":"bgColor","shape":7,"type":"STRING","widget":{"name":"bgColor"},"link":null}],"outputs":[{"localized_name":"watermark","name":"watermark","type":"RUNWAREIMAGEWATERMARKADVFEATURE","links":[7]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Watermark Advanced Feature"},"widgets_values":[false,"",true,false,"bottom-right",false,false,false,0.6,false,"#ffffff",false,"transparent"],"bgcolor":"#5345bf"},{"id":11,"type":"Runware Image Advanced Feature Input","pos":[-573.57470703125,721.1827392578125],"size":[355.9400329589844,150],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"watermark","name":"watermark","shape":7,"type":"RUNWAREIMAGEWATERMARKADVFEATURE","link":7},{"localized_name":"regionalPrompting","name":"regionalPrompting","shape":7,"type":"RUNWAREREGIONALPROMPTINGADVFEATURE","link":null},{"localized_name":"useLayerDiffuse","name":"useLayerDiffuse","shape":7,"type":"BOOLEAN","widget":{"name":"useLayerDiffuse"},"link":null},{"localized_name":"layerDiffuse","name":"layerDiffuse","shape":7,"type":"BOOLEAN","widget":{"name":"layerDiffuse"},"link":null},{"localized_name":"useHiresFix","name":"useHiresFix","shape":7,"type":"BOOLEAN","widget":{"name":"useHiresFix"},"link":null},{"localized_name":"hiresFix","name":"hiresFix","shape":7,"type":"BOOLEAN","widget":{"name":"hiresFix"},"link":null}],"outputs":[{"localized_name":"advancedFeatures","name":"advancedFeatures","type":"RUNWAREIMAGEINFERENCEADVANCEDFEATURES","links":[8]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Image Advanced Feature Input"},"widgets_values":[false,false,false,false],"bgcolor":"#5345bf"},{"id":13,"type":"LoadImage","pos":[-1387.22607421875,775.661376953125],"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":[6]},{"localized_name":"MASK","name":"MASK","type":"MASK","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.3.46","Node name for S&R":"LoadImage"},"widgets_values":["runware_logo.jpeg","image"]}],"links":[[1,3,0,6,0,"STRING"],[2,4,0,3,0,"RUNWAREMODEL"],[6,13,0,14,0,"IMAGE"],[7,14,0,11,0,"RUNWAREIMAGEWATERMARKADVFEATURE"],[8,11,0,3,17,"RUNWAREIMAGEINFERENCEADVANCEDFEATURES"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.6090406304931815,"offset":[1611.0670593464254,-292.5180590015183]}},"version":0.4} \ No newline at end of file diff --git a/workflows/Runware_Image_Inference_layerDiffuse.json b/workflows/Runware_Image_Inference_layerDiffuse.json new file mode 100644 index 0000000..39277ef --- /dev/null +++ b/workflows/Runware_Image_Inference_layerDiffuse.json @@ -0,0 +1 @@ +{"id":"000fc352-a75e-476c-8f65-0147b5aa8a87","revision":0,"last_node_id":10,"last_link_id":4,"nodes":[{"id":6,"type":"Runware Save Image","pos":[348.1230773925781,397.628173828125],"size":[270,318],"flags":{},"order":3,"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":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Save Image"},"widgets_values":["","ComfyUI",true],"bgcolor":"#5345bf"},{"id":3,"type":"Runware Image Inference","pos":[-145.79043579101562,325.5597229003906],"size":[400,1058],"flags":{},"order":2,"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":null},{"localized_name":"ultralytics","name":"ultralytics","shape":7,"type":"RUNWAREULTRALYTICSINPUTS","link":null},{"localized_name":"advancedFeatures","name":"advancedFeatures","shape":7,"type":"RUNWAREIMAGEINFERENCEADVANCEDFEATURES","link":4},{"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":"STRING","links":[1]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Image Inference"},"widgets_values":["(analog)1.8 photograph of a white kitten in a field of lavender flowers, masterpiece, best quality, highres","(worst quality, low quality, normal quality:2)",false,"Disabled","Square HD (1024x1024)",1024,1024,false,"1k",true,42,false,"Default",false,6.5,true,1524627970,"randomize",false,0,0.8,false,32,"WEBP",1,"none"],"bgcolor":"#5345bf"},{"id":10,"type":"Runware Image Advanced Feature Input","pos":[-582.21337890625,647.9006958007812],"size":[355.9400329589844,130],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"useLayerDiffuse","name":"useLayerDiffuse","shape":7,"type":"BOOLEAN","widget":{"name":"useLayerDiffuse"},"link":null},{"localized_name":"layerDiffuse","name":"layerDiffuse","shape":7,"type":"BOOLEAN","widget":{"name":"layerDiffuse"},"link":null},{"localized_name":"useHiresFix","name":"useHiresFix","shape":7,"type":"BOOLEAN","widget":{"name":"useHiresFix"},"link":null},{"localized_name":"hiresFix","name":"hiresFix","shape":7,"type":"BOOLEAN","widget":{"name":"hiresFix"},"link":null}],"outputs":[{"localized_name":"advancedFeatures","name":"advancedFeatures","type":"RUNWAREIMAGEINFERENCEADVANCEDFEATURES","links":[4]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Image Advanced Feature Input"},"widgets_values":[true,true,false,false],"bgcolor":"#5345bf"},{"id":4,"type":"Runware Model Search","pos":[-525.9592895507812,395.3826599121094],"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":[2]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"c17d46d70b6d526301a3e03f87e3970994c6e4d9","Node name for S&R":"Runware Model Search"},"widgets_values":["runware:101@1","All","Base Model","runware:101@1 (FLUX Dev 1.0)",false],"bgcolor":"#5345bf"}],"links":[[1,3,0,6,0,"STRING"],[2,4,0,3,0,"RUNWAREMODEL"],[4,10,0,3,17,"RUNWAREIMAGEINFERENCEADVANCEDFEATURES"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.6090406304931815,"offset":[1611.2658863933202,-292.5180590015183]}},"version":0.4} \ No newline at end of file