Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions clientlibs/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -812,6 +812,7 @@ function useParameterToggleHandler(node) {
"useCFGScale": ["cfgScale"], // Image inference uses lowercase cfgScale
"useScheduler": ["scheduler"],
"useClipSkip": ["clipSkip"],
"useUpscaleFactor": ["upscaleFactor"],

// Video Inference
"useCustomDimensions": ["width", "height"], // Note: Also handled separately in videoInferenceDimensionsHandler
Expand Down Expand Up @@ -2520,6 +2521,8 @@ function imageInferenceToggleHandler(imageInferenceNode) {
const maskMarginValueWidget = imageInferenceNode.widgets.find(w => w.name === "maskMargin");
const useResolutionWidget = imageInferenceNode.widgets.find(w => w.name === "useResolution");
const resolutionWidget = imageInferenceNode.widgets.find(w => w.name === "resolution");
const useUpscaleFactorWidget = imageInferenceNode.widgets.find(w => w.name === "useUpscaleFactor");
const upscaleFactorWidget = imageInferenceNode.widgets.find(w => w.name === "upscaleFactor");
const dimensionsWidget = imageInferenceNode.widgets.find(w => w.name === "dimensions");
const widthWidget = imageInferenceNode.widgets.find(w => w.name === "width");
const heightWidget = imageInferenceNode.widgets.find(w => w.name === "height");
Expand Down Expand Up @@ -2600,6 +2603,10 @@ function imageInferenceToggleHandler(imageInferenceNode) {
if (useResolutionWidget && resolutionWidget) {
toggleWidgetState(useResolutionWidget, resolutionWidget, "resolution");
}

if (useUpscaleFactorWidget && upscaleFactorWidget) {
toggleWidgetState(useUpscaleFactorWidget, upscaleFactorWidget, "upscaleFactor");
}

// Handle Dimensions - disable width/height when dimensions is "None"
if (dimensionsWidget && widthWidget && heightWidget) {
Expand Down
16 changes: 16 additions & 0 deletions modules/imageInference.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,14 @@ def INPUT_TYPES(cls):
"max": 100,
"step": 1,
}),
"useUpscaleFactor": ("BOOLEAN", {
"tooltip": "Enable to include upscaleFactor parameter in API request.",
"default": False,
}),
"upscaleFactor": ([1, 2, 4], {
"tooltip": "Upscale the initially generated image by the given factor. Supported values: 1, 2, or 4.",
"default": 2,
}),

},
"optional": {
Expand Down Expand Up @@ -272,6 +280,8 @@ def generateImage(self, **kwargs):
acceleration = kwargs.get("acceleration", "none")
useResolution = kwargs.get("useResolution", False)
resolution = kwargs.get("resolution", "1k")
useUpscaleFactor = kwargs.get("useUpscaleFactor", False)
upscaleFactor = kwargs.get("upscaleFactor", 2)

if (maskImage is not None and seedImage is None):
raise Exception("Mask Image Requires Seed Image To Be Provided!")
Expand Down Expand Up @@ -335,6 +345,12 @@ def generateImage(self, **kwargs):
# Add resolution if enabled
if useResolution:
genConfig[0]["resolution"] = resolution

if useUpscaleFactor:
upscaleFactor = int(upscaleFactor)
if upscaleFactor not in (1, 2, 4):
raise ValueError("upscaleFactor must be 1, 2, or 4 when useUpscaleFactor is enabled.")
genConfig[0]["upscaleFactor"] = upscaleFactor

if (runwareLora is not None):
if (isinstance(runwareLora, list)):
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"id":"78d075b9-8e7c-48cf-b664-df7d341a2759","revision":0,"last_node_id":5,"last_link_id":3,"nodes":[{"id":4,"type":"Runware Save Image","pos":[538.8070781405743,508.88283677598844],"size":[270,317.99999999999994],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"Images","name":"Images","type":"STRING","widget":{"name":"Images"},"link":2},{"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":"bfd4af111111ab929173b1c96a540d06776842c1","Node name for S&R":"Runware Save Image"},"widgets_values":["","ComfyUI",true],"bgcolor":"#5345bf"},{"id":5,"type":"Runware Settings","pos":[-517.2519496372029,538.1623506648771],"size":[400,958],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"colorPalette","name":"colorPalette","shape":7,"type":"RUNWAREIMAGEINFERENCECOLORPALETTE","link":null},{"localized_name":"useTemperature","name":"useTemperature","shape":7,"type":"BOOLEAN","widget":{"name":"useTemperature"},"link":null},{"localized_name":"temperature","name":"temperature","shape":7,"type":"FLOAT","widget":{"name":"temperature"},"link":null},{"localized_name":"useSystemPrompt","name":"useSystemPrompt","shape":7,"type":"BOOLEAN","widget":{"name":"useSystemPrompt"},"link":null},{"localized_name":"systemPrompt","name":"systemPrompt","shape":7,"type":"STRING","widget":{"name":"systemPrompt"},"link":null},{"localized_name":"useTopP","name":"useTopP","shape":7,"type":"BOOLEAN","widget":{"name":"useTopP"},"link":null},{"localized_name":"topP","name":"topP","shape":7,"type":"FLOAT","widget":{"name":"topP"},"link":null},{"localized_name":"useLayers","name":"useLayers","shape":7,"type":"BOOLEAN","widget":{"name":"useLayers"},"link":null},{"localized_name":"layers","name":"layers","shape":7,"type":"INT","widget":{"name":"layers"},"link":null},{"localized_name":"useTrueCFGScale","name":"useTrueCFGScale","shape":7,"type":"BOOLEAN","widget":{"name":"useTrueCFGScale"},"link":null},{"localized_name":"trueCFGScale","name":"trueCFGScale","shape":7,"type":"FLOAT","widget":{"name":"trueCFGScale"},"link":null},{"localized_name":"useQuality","name":"useQuality","shape":7,"type":"BOOLEAN","widget":{"name":"useQuality"},"link":null},{"localized_name":"quality","name":"quality","shape":7,"type":"COMBO","widget":{"name":"quality"},"link":null},{"localized_name":"usePromptExtend","name":"usePromptExtend","shape":7,"type":"BOOLEAN","widget":{"name":"usePromptExtend"},"link":null},{"localized_name":"promptExtend","name":"promptExtend","shape":7,"type":"BOOLEAN","widget":{"name":"promptExtend"},"link":null},{"localized_name":"useEditRegions","name":"useEditRegions","shape":7,"type":"BOOLEAN","widget":{"name":"useEditRegions"},"link":null},{"localized_name":"editRegions","name":"editRegions","shape":7,"type":"STRING","widget":{"name":"editRegions"},"link":null},{"localized_name":"useThinking","name":"useThinking","shape":7,"type":"BOOLEAN","widget":{"name":"useThinking"},"link":null},{"localized_name":"thinking","name":"thinking","shape":7,"type":"BOOLEAN","widget":{"name":"thinking"},"link":null},{"localized_name":"useSequential","name":"useSequential","shape":7,"type":"BOOLEAN","widget":{"name":"useSequential"},"link":null},{"localized_name":"sequential","name":"sequential","shape":7,"type":"BOOLEAN","widget":{"name":"sequential"},"link":null},{"localized_name":"useThinkingLevel","name":"useThinkingLevel","shape":7,"type":"BOOLEAN","widget":{"name":"useThinkingLevel"},"link":null},{"localized_name":"thinkingLevel","name":"thinkingLevel","shape":7,"type":"COMBO","widget":{"name":"thinkingLevel"},"link":null},{"localized_name":"useBackground","name":"useBackground","shape":7,"type":"BOOLEAN","widget":{"name":"useBackground"},"link":null},{"localized_name":"background","name":"background","shape":7,"type":"COMBO","widget":{"name":"background"},"link":null},{"localized_name":"useStyle","name":"useStyle","shape":7,"type":"BOOLEAN","widget":{"name":"useStyle"},"link":null},{"localized_name":"style","name":"style","shape":7,"type":"STRING","widget":{"name":"style"},"link":null},{"localized_name":"useSearch","name":"useSearch","shape":7,"type":"BOOLEAN","widget":{"name":"useSearch"},"link":null},{"localized_name":"search","name":"search","shape":7,"type":"BOOLEAN","widget":{"name":"search"},"link":null},{"localized_name":"useRenderingSpeed","name":"useRenderingSpeed","shape":7,"type":"BOOLEAN","widget":{"name":"useRenderingSpeed"},"link":null},{"localized_name":"renderingSpeed","name":"renderingSpeed","shape":7,"type":"COMBO","widget":{"name":"renderingSpeed"},"link":null},{"localized_name":"useMagicPrompt","name":"useMagicPrompt","shape":7,"type":"BOOLEAN","widget":{"name":"useMagicPrompt"},"link":null},{"localized_name":"magicPrompt","name":"magicPrompt","shape":7,"type":"COMBO","widget":{"name":"magicPrompt"},"link":null},{"localized_name":"useAutoCrop","name":"useAutoCrop","shape":7,"type":"BOOLEAN","widget":{"name":"useAutoCrop"},"link":null},{"localized_name":"autoCrop","name":"autoCrop","shape":7,"type":"BOOLEAN","widget":{"name":"autoCrop"},"link":null},{"localized_name":"useDilatePixels","name":"useDilatePixels","shape":7,"type":"BOOLEAN","widget":{"name":"useDilatePixels"},"link":null},{"localized_name":"dilatePixels","name":"dilatePixels","shape":7,"type":"INT","widget":{"name":"dilatePixels"},"link":null}],"outputs":[{"localized_name":"Settings","name":"Settings","type":"RUNWARESETTINGS","links":[3]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"bfd4af111111ab929173b1c96a540d06776842c1","Node name for S&R":"Runware Settings"},"widgets_values":[false,1,false,"",false,1,false,4,false,1,false,"medium",false,false,false,"",false,false,false,false,false,"high",false,"auto",false,"auto",false,false,true,"TURBO",true,"ON",false,false,false,10],"bgcolor":"#5345bf"},{"id":1,"type":"Runware Model Search","pos":[-838.1600442552592,560.0199895537665],"size":[272.111328125,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":[1]}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"bfd4af111111ab929173b1c96a540d06776842c1","Node name for S&R":"Runware Model Search"},"widgets_values":["ideogram:4@1","All","Base Model","ideogram:4@1 (Ideogram 3.0 3.0)",false],"bgcolor":"#5345bf"},{"id":2,"type":"Runware Image Inference","pos":[-73.17208852609265,451.57380899821084],"size":[400,1130],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"Model","name":"Model","type":"RUNWAREMODEL","link":1},{"localized_name":"Accelerator","name":"Accelerator","shape":7,"type":"RUNWAREACCELERATOR","link":null},{"localized_name":"Lora","name":"Lora","shape":7,"type":"RUNWARELORA","link":null},{"localized_name":"Outpainting","name":"Outpainting","shape":7,"type":"RUNWAREOUTPAINT","link":null},{"localized_name":"IPAdapters","name":"IPAdapters","shape":7,"type":"RUNWAREIPAdapter","link":null},{"localized_name":"ControlNet","name":"ControlNet","shape":7,"type":"RUNWARECONTROLNET","link":null},{"localized_name":"Refiner","name":"Refiner","shape":7,"type":"RUNWAREREFINER","link":null},{"localized_name":"seedImage","name":"seedImage","shape":7,"type":"IMAGE","link":null},{"localized_name":"maskImage","name":"maskImage","shape":7,"type":"MASK","link":null},{"localized_name":"Embeddings","name":"Embeddings","shape":7,"type":"RUNWAREEMBEDDING","link":null},{"localized_name":"VAE","name":"VAE","shape":7,"type":"RUNWAREVAE","link":null},{"localized_name":"referenceImages","name":"referenceImages","shape":7,"type":"RUNWAREREFERENCEIMAGES","link":null},{"localized_name":"inputs","name":"inputs","shape":7,"type":"RUNWAREIMAGEINFERENCEINPUTS","link":null},{"localized_name":"providerSettings","name":"providerSettings","shape":7,"type":"RUNWAREPROVIDERSETTINGS","link":null},{"localized_name":"safetyInputs","name":"safetyInputs","shape":7,"type":"RUNWARESAFETYINPUTS","link":null},{"localized_name":"settings","name":"settings","shape":7,"type":"RUNWARESETTINGS","link":3},{"localized_name":"ultralytics","name":"ultralytics","shape":7,"type":"RUNWAREULTRALYTICSINPUTS","link":null},{"localized_name":"advancedFeatures","name":"advancedFeatures","shape":7,"type":"RUNWAREIMAGEINFERENCEADVANCEDFEATURES","link":null},{"localized_name":"positivePrompt","name":"positivePrompt","type":"STRING","widget":{"name":"positivePrompt"},"link":null},{"localized_name":"negativePrompt","name":"negativePrompt","type":"STRING","widget":{"name":"negativePrompt"},"link":null},{"localized_name":"Multi Inference Mode","name":"Multi Inference Mode","type":"BOOLEAN","widget":{"name":"Multi Inference Mode"},"link":null},{"localized_name":"Prompt Weighting","name":"Prompt Weighting","type":"COMBO","widget":{"name":"Prompt Weighting"},"link":null},{"localized_name":"dimensions","name":"dimensions","type":"COMBO","widget":{"name":"dimensions"},"link":null},{"localized_name":"width","name":"width","type":"INT","widget":{"name":"width"},"link":null},{"localized_name":"height","name":"height","type":"INT","widget":{"name":"height"},"link":null},{"localized_name":"useResolution","name":"useResolution","type":"BOOLEAN","widget":{"name":"useResolution"},"link":null},{"localized_name":"resolution","name":"resolution","type":"COMBO","widget":{"name":"resolution"},"link":null},{"localized_name":"useSteps","name":"useSteps","type":"BOOLEAN","widget":{"name":"useSteps"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"useScheduler","name":"useScheduler","type":"BOOLEAN","widget":{"name":"useScheduler"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"useCFGScale","name":"useCFGScale","type":"BOOLEAN","widget":{"name":"useCFGScale"},"link":null},{"localized_name":"cfgScale","name":"cfgScale","type":"FLOAT","widget":{"name":"cfgScale"},"link":null},{"localized_name":"useSeed","name":"useSeed","type":"BOOLEAN","widget":{"name":"useSeed"},"link":null},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"useClipSkip","name":"useClipSkip","type":"BOOLEAN","widget":{"name":"useClipSkip"},"link":null},{"localized_name":"clipSkip","name":"clipSkip","type":"INT","widget":{"name":"clipSkip"},"link":null},{"localized_name":"strength","name":"strength","type":"FLOAT","widget":{"name":"strength"},"link":null},{"localized_name":"Mask Margin","name":"Mask Margin","type":"BOOLEAN","widget":{"name":"Mask Margin"},"link":null},{"localized_name":"maskMargin","name":"maskMargin","type":"INT","widget":{"name":"maskMargin"},"link":null},{"localized_name":"outputFormat","name":"outputFormat","type":"COMBO","widget":{"name":"outputFormat"},"link":null},{"localized_name":"batchSize","name":"batchSize","type":"INT","widget":{"name":"batchSize"},"link":null},{"localized_name":"acceleration","name":"acceleration","type":"COMBO","widget":{"name":"acceleration"},"link":null},{"localized_name":"outputQuality","name":"outputQuality","type":"INT","widget":{"name":"outputQuality"},"link":null},{"localized_name":"useUpscaleFactor","name":"useUpscaleFactor","type":"BOOLEAN","widget":{"name":"useUpscaleFactor"},"link":null},{"localized_name":"upscaleFactor","name":"upscaleFactor","type":"COMBO","widget":{"name":"upscaleFactor"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"STRING","links":[2]},{"localized_name":"RW-Task","name":"RW-Task","type":"RUNWARETASK","links":null}],"properties":{"cnr_id":"ComfyUI-Runware","ver":"bfd4af111111ab929173b1c96a540d06776842c1","Node name for S&R":"Runware Image Inference"},"widgets_values":["A low-poly 3D fox sitting upright, in warm orange and white geometric facets","blurry text, misspelled words, distorted letters, duplicated signage, extra windows, warped typography, low detail, messy layout, clutter, watermark, logo artifacts, frame crop, tilted horizon",false,"Disabled","Square HD (1024x1024)",1024,1024,false,"1k",false,4,false,"Default",false,6.5,false,30907933,"randomize",false,0,0.8,false,32,"WEBP",1,"none",95,true,4],"bgcolor":"#5345bf"}],"links":[[1,1,0,2,0,"RUNWAREMODEL"],[2,2,0,4,0,"STRING"],[3,5,0,2,15,"RUNWARESETTINGS"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.4603984853356424,"offset":[1498.3680140793367,-142.69145622865827]}},"version":0.4}