Add files via upload

This commit is contained in:
taabata
2024-11-04 05:52:27 +03:00
committed by GitHub
parent b04300f71c
commit 8986f08c37
38 changed files with 11546 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
NODE_CLASS_MAPPINGS = {
}
Binary file not shown.
+128
View File
@@ -0,0 +1,128 @@
import torch
from PIL import Image
import struct
import numpy as np
from comfy.cli_args import args, LatentPreviewMethod
from comfy.taesd.taesd import TAESD
import comfy.model_management
import folder_paths
import comfy.utils
import logging
from pathlib import Path
from urllib import request
import base64, io, json
MAX_PREVIEW_RESOLUTION = args.preview_size
def preview_to_image(latent_image,newsample=False):
latents_ubyte = (((latent_image + 1.0) / 2.0).clamp(0, 1) # change scale from -1..1 to 0..1
.mul(0xFF) # to 0..255
).to(device="cpu", dtype=torch.uint8, non_blocking=comfy.model_management.device_supports_non_blocking(latent_image.device))
image = Image.fromarray(newsample)
try:
buf = io.BytesIO()
image.save(buf, format='PNG')
byte_im = buf.getvalue()
byte_im = base64.b64encode(byte_im).decode('utf-8')
byte_im = f"data:image/png;base64,{byte_im}"
p = {
"data":{
"img":byte_im,
"width":image.size[0],
"height":image.size[1]
}
}
data = json.dumps(p).encode('utf-8')
req = request.Request("http://localhost:5000/settaesd", data=data)
req.add_header("Content-Type", "application/json")
request.urlopen(req)
except Exception as e:
print(e)
return Image.fromarray(latents_ubyte.numpy())
class LatentPreviewer:
def decode_latent_to_preview(self, x0):
pass
def decode_latent_to_preview_image(self, preview_format, x0):
preview_image = self.decode_latent_to_preview(x0)
return ("JPEG", preview_image, MAX_PREVIEW_RESOLUTION)
class TAESDPreviewerImpl(LatentPreviewer):
def __init__(self, taesd):
self.taesd = taesd
def decode_latent_to_preview(self, x0):
newsample = self.taesd.decode(x0[:1])[0].detach()
newsample = torch.clamp((newsample + 1.0) / 2.0, min=0.0, max=1.0)
newsample = 255. * np.moveaxis(newsample.cpu().numpy(), 0, 2)
newsample = newsample.astype(np.uint8)
x_sample = self.taesd.decode(x0[:1])[0].movedim(0, 2)
return preview_to_image(x_sample,newsample)
class Latent2RGBPreviewer(LatentPreviewer):
def __init__(self, latent_rgb_factors, latent_rgb_factors_bias=None):
self.latent_rgb_factors = torch.tensor(latent_rgb_factors, device="cpu").transpose(0, 1)
self.latent_rgb_factors_bias = None
if latent_rgb_factors_bias is not None:
self.latent_rgb_factors_bias = torch.tensor(latent_rgb_factors_bias, device="cpu")
def decode_latent_to_preview(self, x0):
self.latent_rgb_factors = self.latent_rgb_factors.to(dtype=x0.dtype, device=x0.device)
if self.latent_rgb_factors_bias is not None:
self.latent_rgb_factors_bias = self.latent_rgb_factors_bias.to(dtype=x0.dtype, device=x0.device)
latent_image = torch.nn.functional.linear(x0[0].permute(1, 2, 0), self.latent_rgb_factors, bias=self.latent_rgb_factors_bias)
# latent_image = x0[0].permute(1, 2, 0) @ self.latent_rgb_factors
return preview_to_image(latent_image)
def get_previewer(device, latent_format):
previewer = None
method = args.preview_method
if method != LatentPreviewMethod.NoPreviews:
# TODO previewer methods
taesd_decoder_path = None
if latent_format.taesd_decoder_name is not None:
taesd_decoder_path = next(
(fn for fn in folder_paths.get_filename_list("vae_approx")
if fn.startswith(latent_format.taesd_decoder_name)),
""
)
taesd_decoder_path = folder_paths.get_full_path("vae_approx", taesd_decoder_path)
if method == LatentPreviewMethod.Auto:
method = LatentPreviewMethod.Latent2RGB
if method == LatentPreviewMethod.TAESD:
if taesd_decoder_path:
taesd = TAESD(None, taesd_decoder_path, latent_channels=latent_format.latent_channels).to(device)
previewer = TAESDPreviewerImpl(taesd)
else:
logging.warning("Warning: TAESD previews enabled, but could not find models/vae_approx/{}".format(latent_format.taesd_decoder_name))
if previewer is None:
if latent_format.latent_rgb_factors is not None:
previewer = Latent2RGBPreviewer(latent_format.latent_rgb_factors, latent_format.latent_rgb_factors_bias)
return previewer
def prepare_callback(model, steps, x0_output_dict=None):
preview_format = "JPEG"
if preview_format not in ["JPEG", "PNG"]:
preview_format = "JPEG"
previewer = get_previewer(model.load_device, model.model.latent_format)
pbar = comfy.utils.ProgressBar(steps)
def callback(step, x0, x, total_steps):
if x0_output_dict is not None:
x0_output_dict["x0"] = x0
preview_bytes = None
if previewer:
preview_bytes = previewer.decode_latent_to_preview_image(preview_format, x0)
pbar.update_absolute(step + 1, total_steps, preview_bytes)
return callback
+547
View File
@@ -0,0 +1,547 @@
from flask import Flask, render_template,request, send_from_directory
from urllib import parse
from urllib import request as rq
import webbrowser
import os,base64,io, time, random
from PIL import Image, ImageFilter, ImageOps
try:
from signal import SIGKILL
except:
from signal import SIGABRT
import json, socket
def stopprocess():
pid = os.getpid()
try:
os.kill(int(pid), SIGKILL)
except:
os.kill(int(pid), SIGABRT)
return "none"
from pathlib import Path
import numpy as np
ip = ""
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
ip = s.getsockname()[0]
s.close()
tt = ""
imagesgen = []
genflag = False
sharedata = {
"savedata":"",
"imgs":{}
}
app = Flask(__name__)
image = ""
bs = 512
@app.route("/")
def index():
return render_template('index.html',byte_im="",w="",h="",bs=bs)
@app.route('/favicon.ico')
def favicon():
return send_from_directory(os.path.join(app.root_path, 'static'),
'favicon.ico', mimetype='image/vnd.microsoft.icon')
@app.route("/grabwfsmodels",methods=['GET', 'POST','DELETE'])
def grabwfsmodels():
models = ["Diffusers Models"]
path = Path('../../models/diffusers')
diffusers = [i for i in sorted(os.listdir(path)) if os.path.isdir(os.path.join(path,i))]
models+=diffusers
models+=["Checkpoints"]
path = Path('../../models/checkpoints')
ckpts = [i for i in sorted(os.listdir(path)) if i.endswith((".safetensors", ".ckpt"))]
models += ckpts
models+=["Unets"]
path = Path('../../models/unet')
unets = [i for i in sorted(os.listdir(path)) if i.endswith((".safetensors", ".ckpt",".gguf"))]
models+=unets
path = Path('./workflows')
wfs = sorted(os.listdir(path))
wfs = [i.replace(".json","") for i in wfs]
path = Path('../../models/loras')
loras = [i for i in sorted(os.listdir(path)) if i.endswith((".safetensors"))]
return{"models":models,"wfs":wfs,"loras":loras}
@app.route("/cancelgen",methods=['GET', 'POST','DELETE'])
def cancelgen():
global genflag
genflag = True
req = rq.Request("http://127.0.0.1:8188/interrupt",data={})
rq.urlopen(req)
return{}
@app.route("/saveimg",methods=['GET', 'POST','DELETE'])
def saveimg():
pixels = request.json["pixels"]
if pixels != "":
for i in range(0,len(pixels)):
for j in range(0,len(pixels[i])):
pixels[i][j] = tuple(pixels[i][j])
array = np.array(pixels, dtype=np.uint8)
image = Image.fromarray(array)
sharedata["imgs"]["image"] = json.dumps(np.array(image).tolist())
sharedata["imgs"]["mask"] = json.dumps(np.array(image).tolist())
sharedata["imgs"]["reference"] = json.dumps(np.array(image).tolist())
wf = "saveimg.json"
def queue_prompt(prompt_workflow):
p = {"prompt": prompt_workflow}
data = json.dumps(p).encode('utf-8')
req = rq.Request("http://127.0.0.1:8188/prompt", data=data)
rq.urlopen(req)
path = Path('./workflows')
prompt_workflow = json.load(open(os.path.join(path,wf)))
for i in prompt_workflow:
if "seed" in prompt_workflow[i]['inputs']:
prompt_workflow[i]['inputs']['seed'] = random.randint(0,10000000000)
queue_prompt(prompt_workflow)
return{}
@app.route("/grabwfparams",methods=['GET', 'POST','DELETE'])
def grabwfparams():
wf = request.json["wf"]
wf +=".json"
path = Path('./workflows')
prompt_workflow = json.load(open(os.path.join(path,wf)))
for i in prompt_workflow:
if "steps" in prompt_workflow[i]["inputs"]:
params = [j for j in prompt_workflow[i]["inputs"] if any(x in str(type(prompt_workflow[i]["inputs"][j])) for x in ["int","float"])]
return{"params":params}
@app.route("/prepare",methods=['GET', 'POST','DELETE'])
def prep():
return{"exist":"no"}
@app.route("/getnodes",methods=['GET', 'POST','DELETE'])
def getNodes():
wf = request.json["wf"]+".json"
path = Path('./workflows')
prompt_workflow = json.load(open(os.path.join(path,wf)))
return{"prompt_workflow":prompt_workflow}
@app.route("/generate",methods=['GET', 'POST','DELETE'])
def generate():
wf = request.json["wf"]
gligparams = request.json["gligparams"]
wf+=".json"
model = request.json["model"]
lora = request.json["lora"]
params = request.json["params"]
def queue_prompt(prompt_workflow):
p = {"prompt": prompt_workflow}
data = json.dumps(p).encode('utf-8')
req = rq.Request("http://127.0.0.1:8188/prompt", data=data)
rq.urlopen(req)
path = Path('./workflows')
prompt_workflow = json.load(open(os.path.join(path,wf)))
if "gligen" in wf:
print(gligparams)
nn = int(list(prompt_workflow.keys())[-1])+1
for idx,i in enumerate(gligparams):
if idx<=len(gligparams)-2:
n = nn + int(idx)
prompt_workflow[str(n)] = {
"inputs":{},
"class_type":"",
"_meta":{}
}
prompt_workflow[str(n)]["inputs"]["text"] = i["text"]
prompt_workflow[str(n)]["inputs"]["width"] = i["width"]
prompt_workflow[str(n)]["inputs"]["height"] = i["height"]
prompt_workflow[str(n)]["inputs"]["x"] = i["x"]
prompt_workflow[str(n)]["inputs"]["y"] = i["y"]
if idx==0:
prompt_workflow[str(n)]["inputs"]["conditioning_to"] = ["6",0]
else:
prompt_workflow[str(n)]["inputs"]["conditioning_to"] = [str(n-1),0]
prompt_workflow[str(n)]["inputs"]["clip"] = ["4",1]
prompt_workflow[str(n)]["inputs"]["gligen_textbox_model"] = ["12",0]
prompt_workflow[str(n)]["class_type"] = "GLIGENTextBoxApply"
prompt_workflow[str(n)]["_meta"]["title"] = "GLIGENTextBoxApply"
prompt_workflow["6"]["inputs"]["text"] = gligparams[-1]["text"]
prompt_workflow["3"]["inputs"]["positive"] = [str(nn+int(len(gligparams)-2)),0]
if "areacomp" in wf:
print(gligparams)
nn = int(list(prompt_workflow.keys())[-1])+1
n = nn
for idx,i in enumerate(gligparams):
if idx<=len(gligparams)-2:
prompt_workflow[str(n)] = {
"inputs": {
"text": i["text"],
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
}
n+=1
prompt_workflow[str(n)] = {
"inputs": {
"width": i["width"],
"height": i["height"],
"x": i["x"],
"y": i["y"],
"strength": 1,
"conditioning": [
str(n-1),
0
]
},
"class_type": "ConditioningSetArea",
"_meta": {
"title": "Conditioning (Set Area)"
}
}
n+=1
prompt_workflow[str(n)] = {
"inputs": {
"conditioning_1": [
str(n-1),
0
],
"conditioning_2": [
"6" if idx==0 else str(n-3),
0
]
},
"class_type": "ConditioningCombine",
"_meta": {
"title": "Conditioning (Combine)"
}
}
prompt_workflow["6"]["inputs"]["text"] = gligparams[-1]["text"]
prompt_workflow["3"]["inputs"]["positive"] = [str(n),0]
if "stickerize" not in wf:
for i in prompt_workflow:
if "seed" in prompt_workflow[i]['inputs']:
prompt_workflow[i]['inputs']['seed'] = random.randint(0,10000000000)
if "model_name" in prompt_workflow[i]['inputs'] and prompt_workflow[i]['class_type'] !='UpscaleModelLoader':
prompt_workflow[i]['inputs']['model_name'] = model
if "ckpt_name" in prompt_workflow[i]['inputs']:
prompt_workflow[i]['inputs']['ckpt_name'] = model
if "steps" in prompt_workflow[i]['inputs']:
for j in params:
prompt_workflow[i]['inputs'][j] = params[j]
else:
for i in prompt_workflow:
if "seed" in prompt_workflow[i]['inputs']:
prompt_workflow[i]['inputs']['seed'] = random.randint(0,10000000000)
changedparams = request.json["changedparams"]
print(changedparams)
for i in changedparams.keys():
for j in changedparams[i].keys():
prompt_workflow[i]['inputs'][j] = changedparams[i][j]
queue_prompt(prompt_workflow)
return{}
@app.route("/settaesd",methods=['GET', 'POST','DELETE'])
def settaesd():
global tt
tt = request.json["data"]
return {}
@app.route("/getGenStatus",methods=['GET', 'POST','DELETE'])
def getGenStatus():
global genflag, imagesgen
genflag = request.json["data"]
image = Image.open(request.json["data"]["genimg"])
buf = io.BytesIO()
image.save(buf, format='PNG')
byte_im = buf.getvalue()
byte_im = base64.b64encode(byte_im).decode('utf-8')
byte_im = f"data:image/png;base64,{byte_im}"
if len(imagesgen)<5:
imagesgen.append(byte_im)
else:
imagesgen.pop(0)
imagesgen.append(byte_im)
return {}
@app.route("/getImagesPaths",methods=['GET', 'POST','DELETE'])
def getImagesPaths():
global imagesgen
return {"imagesgen":imagesgen}
@app.route("/getSharedData",methods=['GET', 'POST','DELETE'])
def getSharedData():
global sharedata
return sharedata
@app.route("/savedata",methods=['GET', 'POST','DELETE'])
def savedata():
global image, tt, genflag
img2img = "inpaint"
taesd = request.json["taesd"]
savedata = request.json["savedata"]
if taesd == "false":
ff = int(savedata["ff"])
selectorsize = request.json["selectorsize"]
pixels = savedata["pxlsarray"]
if pixels != "":
for i in range(0,len(pixels)):
for j in range(0,len(pixels[i])):
pixels[i][j] = tuple(pixels[i][j])
array = np.array(pixels, dtype=np.uint8)
image = Image.fromarray(array)
sharedata["imgs"]["out"] = json.dumps(np.array(image).tolist())
left = int(float(savedata["crpdims"]["left"]))
top = int(float(savedata["crpdims"]["top"]))
right = int(float(savedata["crpdims"]["right"]))
bottom = int(float(savedata["crpdims"]["bottom"]))
croped = image.crop((left,top,right,bottom))
try:
left = int(float(savedata["crpdimsref"]["left"]))
top = int(float(savedata["crpdimsref"]["top"]))
right = int(float(savedata["crpdimsref"]["right"]))
bottom = int(float(savedata["crpdimsref"]["bottom"]))
if left==0 and right==0 and top ==0 and bottom==0:
ref = image
else:
ref = image.crop((left,top,right,bottom))
except:
ref = image
sharedata["imgs"]["reference"] = json.dumps(np.array(ref).tolist())
croped2 = croped.copy()
px = croped2.load()
for i in range(0,croped2.size[0]):
for j in range(0,croped2.size[1]):
try:
if px[i,j][3] <250:
px[i,j] = (255,255,255,255)
else:
px[i,j] = (0,0,0,255)
except:
px[i,j] = (0,0,0)
selectorsize = int(selectorsize)
bg = Image.new("RGB",(selectorsize,selectorsize),(0,0,0))
bg2 = Image.new("RGB",(selectorsize,selectorsize),(255,255,255))
add = (int(float(savedata["additionaldims"]["left"])),int(float(savedata["additionaldims"]["top"])),int(float(selectorsize-savedata["additionaldims"]["right"])),int(float(selectorsize-savedata["additionaldims"]["bottom"])))
bg.paste(croped,(add))
bg2.paste(croped2,(add))
###########################
toparr = []
leftarr = []
rightarr = []
bottomarr = []
topleftarr = []
toprightarr = []
bottomleftarr = []
bottomrightarr = []
whitepix = 0
px = bg2.load()
for i in range(0,bg2.size[0]):
for j in range(0,bg2.size[1]):
if px[i,j][0] == 255:
whitepix+=1
try:
if px[i,j][0] == 255 and 0<i<bg.size[0]-1 and 0<j<bg.size[1]-1:
if px[i,j+1][0] <255:
rightarr.append([i,j])
if px[i,j-1][0] <255:
leftarr.append([i,j])
if px[i+1,j][0] <255:
bottomarr.append([i,j])
if px[i-1,j][0] <255:
toparr.append([i,j])
if px[i-1,j-1][0] <255:
topleftarr.append([i,j])
if px[i-1,j+1][0] <255:
toprightarr.append([i,j])
if px[i+1,j+1][0] <255:
bottomrightarr.append([i,j])
if px[i+1,j-1][0] <255:
bottomleftarr.append([i,j])
except:
continue
for i in range(0,len(toparr)):
for k in range(0,ff):
try:
px[toparr[i][0]-k,toparr[i][1]] = (255,255,255)
except:
continue
for i in range(0,len(leftarr)):
for k in range(0,ff):
try:
px[leftarr[i][0],leftarr[i][1]-k] = (255,255,255)
except:
continue
for i in range(0,len(rightarr)):
for k in range(0,ff):
try:
px[rightarr[i][0],rightarr[i][1]+k] = (255,255,255)
except:
continue
for i in range(0,len(bottomarr)):
for k in range(0,ff):
try:
px[bottomarr[i][0]+k,bottomarr[i][1]] = (255,255,255)
except:
continue
for i in range(0,len(topleftarr)):
for k in range(0,ff):
try:
px[topleftarr[i][0]-k,topleftarr[i][1]-k] = (255,255,255)
except:
continue
for i in range(0,len(toprightarr)):
for k in range(0,ff):
try:
px[toprightarr[i][0]-k,toprightarr[i][1]+k] = (255,255,255)
except:
continue
for i in range(0,len(bottomleftarr)):
for k in range(0,ff):
try:
px[bottomleftarr[i][0]+k,bottomleftarr[i][1]-k] = (255,255,255)
except:
continue
for i in range(0,len(bottomrightarr)):
for k in range(0,ff):
try:
px[bottomrightarr[i][0]+k,bottomrightarr[i][1]+k] = (255,255,255)
except:
continue
########################
sharedata["imgs"]["image"] = json.dumps(np.array(bg).tolist())
if whitepix == 0:
border = Image.new("RGB",(bg2.size[0],bg2.size[1]),(0,0,0))
bg2 = ImageOps.invert(bg2)
bg2 = bg2.resize((bg2.size[0]-ff*2,bg2.size[1]-ff*2))
border.paste(bg2,(ff,ff))
bg2 = border
img2img = "img2img"
bg2 = bg2.filter(ImageFilter.BoxBlur(ff-int(ff/2)))
if request.json["savedata"]["mskarray"]=="":
sharedata["imgs"]["mask"] = json.dumps(np.array(bg2).tolist())
else:
pixels = savedata["mskarray"]
if pixels != "":
for i in range(0,len(pixels)):
for j in range(0,len(pixels[i])):
pixels[i][j] = tuple(pixels[i][j])
array = np.array(pixels, dtype=np.uint8)
maskimage = Image.fromarray(array)
sharedata["imgs"]["out"] = json.dumps(np.array(image).tolist())
left = int(float(savedata["crpdims"]["left"]))
top = int(float(savedata["crpdims"]["top"]))
right = int(float(savedata["crpdims"]["right"]))
bottom = int(float(savedata["crpdims"]["bottom"]))
cropedmsk = maskimage.crop((left,top,right,bottom))
cropedmsk = cropedmsk.filter(ImageFilter.BoxBlur(ff-int(ff/2)))
sharedata["imgs"]["mask"] = json.dumps(np.array(cropedmsk).tolist())
width = int(float(savedata["additionaldims"]["left"])) + int(float(savedata["additionaldims"]["right"]))
height = int(float(savedata["additionaldims"]["top"])) + int(float(savedata["additionaldims"]["bottom"]))
data = {
"savedata":savedata
}
json_object = json.dumps(data, indent=4)
sharedata["savedata"] = savedata
taesds = "no"
else:
img2img = request.json["img2img"]
if img2img=="":
img2img = "inpaint"
flag = False
realflag = flag
if genflag:
try:
image = Image.open(genflag["genimg"])
except:
pass
tt = ""
genflag = False
flag = True
if flag:
taesds = "no"
realflag = flag
flag = False
try:
width = image.size[0]
height = image.size[1]
buf = io.BytesIO()
image.save(buf, format='PNG')
byte_im = buf.getvalue()
byte_im = base64.b64encode(byte_im).decode('utf-8')
byte_im = f"data:image/png;base64,{byte_im}"
except:
byte_im = ""
width = ""
height = ""
else:
try:
width = tt["width"]
height = tt["height"]
byte_im = tt["img"]
taesds = "no"
except:
taesds = "yes"
try:
return {"img":byte_im,"width":width,"height":height,"data":savedata,"flag":str(realflag),"taesd":taesds,"img2img":img2img}
except:
byte_im = ""
width = ""
height = ""
return {"img":byte_im,"width":width,"height":height,"data":savedata,"flag":str(realflag),"taesd":taesds,"img2img":img2img}
if __name__ == "__main__":
webbrowser.open("http://localhost:5000")
app.run(debug=False)
+3
View File
@@ -0,0 +1,3 @@
import shutil
shutil.copyfile('latent_preview.py', '../../latent_preview.py')
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

+603
View File
@@ -0,0 +1,603 @@
#settings2{
width: 100%;
height: 10%;
background: linear-gradient(to bottom,rgb(44, 44, 44) 80%, rgb(36, 36, 36));
position: absolute;
top: 0%;
left: 0%;
z-index: 3;
visibility: hidden;
}
#msg{
position: absolute;
width: 90%;
height: 90%;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
visibility: hidden;
font-size: 50px;
background-color: rgb(80, 80, 80);
}
#source,#sourceunder,#taesdcanvas{
position: fixed;
left: 0px;
top: 0px;
}
#selector{
width: 256px;
height: 256px;
background-color: transparent;
left: 0px;
top: 0px;
position: fixed;
border: 2px solid green;
transform: translate(-50%,-50%);
z-index: 3;
}
#openimg{
position: fixed;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
opacity: 0;
font-size: xx-large;
text-align: center;
}
#uploadcontainer{
width: 100%;
height: 100%;
position: fixed;
top: 0%;
opacity: 0;
background: linear-gradient(to bottom,black,rgb(20,20,20),black);
left: 0%;
z-index: 4;
}
#sourceimg{
display: none;
}
#source,.canvas{
z-index: 2;
}
#taesdcanvas{
z-index: 1;
}
#moveimg2{
position: absolute;
top: 50%;
left: 15%;
width: 10%;
height: 50%;
background-color: rgb(80, 80, 80);
transform: translate(-50%,-50%);
font-weight: bolder;
font-family: Verdana, Geneva, Tahoma, sans-serif;
text-align: center;
cursor: pointer;
}
#moveimg2:hover{
background-color: rgb(20, 20, 20);
}
.moveimgclass,#done,#moveimg1{
position: absolute;
top: 50%;
width: 10%;
height: 50%;
background-color: rgb(80, 80, 80);
transform: translate(-50%,-50%);
font-weight: bolder;
font-family: Verdana, Geneva, Tahoma, sans-serif;
text-align: center;
cursor: pointer;
z-index: 1;
}
.moveimgclass:hover{
background-color: rgb(20, 20, 20);
}
#done{
left: 95%;
}
#moveimg1{
left: 5%;
}
#cancel{
position: fixed;
width: 20%;
height: 5%;
top: 12%;
left: 94%;
visibility: hidden;
color: wheat;
transform: rotate(45deg);
cursor: pointer;
font-size: 150px;
z-index: 1001;
}
#cancel:hover{
filter: brightness(50%);
}
#compare{
position: fixed;
top: 0%;
left: 0%;
background-color: rgba(255, 0, 0, 0.336);
overflow: hidden;
visibility: hidden;
z-index: 2;
}
/*##################################################*/
html{
background: linear-gradient(to bottom,rgb(20, 20, 20) 80%, rgb(0, 0, 0));
background-attachment: fixed;
background-repeat: no-repeat;
}
input{
background-color: rgb(20, 20, 20);
border-radius: 5%;
outline: none;
caret-color: transparent;
color: white;
font-family: Verdana, Geneva, Tahoma, sans-serif;
border: 1px solid transparent;
text-align: center;
}
p{
font-family: Verdana, Geneva, Tahoma, sans-serif;
color: white;
}
#container{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
#settings{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 10%;
background: linear-gradient(to bottom,rgb(52, 52, 52) 80%, rgb(44, 44, 44));
display: flex;
align-items:start;
z-index: 3;
padding-top: 0.5%;
padding-left: 1%;
padding-right: 1%;
box-shadow: 10px 10px 20px black;
}
#settingsbarbtns{
width: 25%;
height: 50%;
display: flex;
justify-content: flex-start;
align-items:flex-start;
flex-wrap: wrap;
}
#settingsbarparams{
width: 46%;
height: 80%;
display: flex;
justify-content: flex-start;
align-items:flex-start;
flex-wrap: wrap;
}
#workflowsettings, #generalsettings{
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
height: 50%;
}
#locksetts, #lockfull, #othersetts{
display: flex;
height: 30%;
}
#lockfull .btn,#locksetts .btn, #othersetts .btn{
width: 100%;
padding: 3%;
}
#settingsbarthird{
display: flex;
flex-direction: column;
width: 20%;
height: 80%;
padding-left: 5%;
}
#uploadanotherimg,#openimgadd,#openimgadd2{
position: absolute;
width: 2%;
height: 40%;
top: 30%;
left: 72.5%;
}
#openimgadd2{
opacity: 0;
}
#uploadanotherimg{
display: flex;
background-color: rgb(20, 20, 20);
justify-content: center;
align-items: center;
}
#openimgadd{
opacity: 0;
}
.icontxt{
font-size: 50px;
}
.btn{
display: flex;
width: 25%;
height: 25%;
padding: 1%;
justify-content: center;
align-items: center;
overflow: hidden;
background-color: rgb(80, 80, 80);
cursor: pointer;
border: 1px solid rgb(40, 40, 40);
border-radius: 8%;
}
.btn:hover{
background-color: rgb(20, 20, 20);
}
.txt{
color: white;
font-size: medium;
font-weight: bolder;
font-family: Verdana, Geneva, Tahoma, sans-serif;
text-align: center;
}
#saveexit, #undo{
visibility: hidden;
}
.uploadstyle{
display: flex;
width: 100%;
height: 100%;
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-weight: bolder;
font-size: 10vh;
justify-content: center;
align-items: center;
}
#hint{
position: absolute;
display: flex;
align-items: center;
justify-content: space-around;
width: 20%;
height: 8%;
border: 2px solid orange;
visibility: hidden;
z-index: 100;
}
#textinput{
position: absolute;
display: flex;
align-items: center;
justify-content: space-around;
width: 20%;
height: 8%;
border: 2px solid orange;
visibility: hidden;
z-index: 100;
}
#hint *{
color: orange;
}
#textinput *{
color: orange;
}
#resetref p{
font-size: small;
}
#drawer{
position: fixed;
top: 0%;
left: 99%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-around;
width: 25%;
height: 100%;
z-index: 100;
background-color: rgb(20,20,20);
box-shadow: -10px 10px 50px black;
cursor: pointer;
}
#gligencont{
position: absolute;
width: 25%;
height: 60%;
display: flex;
flex-wrap: wrap;
flex-direction: column;
align-items: center;
justify-content: space-around;
border: 2px solid orange;
visibility: hidden;
z-index: 100;
}
.gligcond{
width: 20%;
height: 8%;
font-family: Verdana, Geneva, Tahoma, sans-serif;
color: white;
cursor: pointer;
}
#gligenconfirm{
display: flex;
width: 25%;
height: 10%;
padding: 1%;
justify-content: center;
align-items: center;
overflow: hidden;
border: white;
cursor: pointer;
border: 2px solid white;
}
#gligenmain{
background: rgba(0, 0, 0, 0.322);
font-family: Verdana, Geneva, Tahoma, sans-serif;
color: white;
outline: transparent;
}
#settingsbarbtns *{
max-width: 22%;
font-size: 0.85rem;
}
#inprange,#gridrange{
width: 10%;
height: 10%;
accent-color: rgb(20,20,20);
outline: none;
}
#stack{
position: fixed;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
display: flex;
flex-wrap: wrap;
z-index: 100;
background: black;
visibility: hidden;
justify-content: space-between;
overflow: scroll;
scrollbar-width:none;
scrollbar-color: transparent;
}
#stack *,#stack * *{
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-weight: bolder;
color: white;
outline: transparent;
margin-top:1%;
margin-bottom: 1%;
text-align: center;
}
.stackbar{
width: 100%;
height: 5%;
background: linear-gradient(to bottom,rgb(20, 20, 20) 80%, rgb(15, 15, 15),transparent);
font-size: xx-large;
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-weight: bolder;
color: white;
outline: transparent;
cursor: pointer;
}
.node{
width: 30%;
height: 35%;
background: linear-gradient(to bottom,rgb(44, 44, 44) 80%, rgb(36, 36, 36),transparent);
display: grid;
grid-template-areas:
"title title title title"
"main main main main"
"main main main main"
"main main main main"
;
border-radius: 15px;
cursor: pointer;
}
.nodetitle{
/* width: 100%;
height: 25%; */
background: rgb(44, 44, 44);
grid-area: title;
}
.nodemain{
/* width: 100%;
height: 75%; */
grid-area: main;
display: grid;
grid-template-areas:
"in inps inps out"
"in inps inps out"
"in inps inps out"
;
}
.nodein{
/* width: 20%;
height: 100%; */
background: rgb(36, 36, 36);
grid-area: in;
}
.nodeinps{
/* width: 60%;
height: 100%; */
background: rgb(50, 50, 50);
grid-area: inps;
}
.nodeout{
/* width: 20%;
height: 100%; */
background: rgb(36, 36, 36);
grid-area: out;
}
.inputvarcont{
display: grid;
grid-template-areas: "title empty empty var";
}
.inputtitle{
grid-area: title;
}
.inputvar{
grid-area: var;
}
.dropbtn {
background-color: transparent;
color: white;
padding: 5px;
font-size: 16px;
border: none;
cursor: pointer;
text-align: center;
}
/* Dropdown Content (Hidden by Default) */
.dropdown-content {
display: none;
position: absolute;
background-color: rgb(20,20,20);
min-width: 160px;
max-height: 500px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
overflow: scroll;
scrollbar-width: none;
z-index: 3;
cursor: pointer;
}
/* Links inside the dropdown */
.dropdown-content a {
color: white;
padding: 12px 5px;
text-decoration: none;
display: block;
}
/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: rgb(44, 44, 44)}
/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
display: block;
}
/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {
background-color: transparent;
}
.inputvarcont [class*="dropdown-content"]{
display: none;
position: sticky;
top: 16px;
}
#grid{
position: fixed;
top: 0%;
left: 0%;
visibility: hidden;
z-index: 1;
}
#blockactions{
position: fixed;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
z-index: 1000;
visibility: hidden;
}
#aura{
position: fixed;
top: 50%;
left: 50%;
width: 800px;
height: 800px;
filter: blur(50px);
background: linear-gradient(to left,red,green,blue,yellow,cyan,magenta);
border-radius: 50%;
transition: 1s;
visibility: hidden;
opacity: 0;
transform: translate(-50%,-50%);
}
/*###############################*/
+123
View File
@@ -0,0 +1,123 @@
<!DOCTYPE html>
<html>
<head>
<title>ComfyCanvas</title>
<link rel="stylesheet" href="/static/styles.css">
<meta content="width=device-width, initial-scale=1" name="viewport" />
</head>
<body onwheel="changesize(event);" onmousemove="mousecoordinates(event);" onkeydown="printLetter(event);">
<script src="/static/app.js"></script>
<div id="container" onmouseenter="reset();" style="width: 100%;height: 100%;">
<canvas id="grid"></canvas>
<div id="aura"></div>
<div id="canvascontainer">
<img id="sourceimg" src="{{byte_im}}" width={{w}} height={{h}} style="visibility: hidden;" style="position: fixed;"/>
<canvas id="source" width={{w}} height={{h}} onclick="drawenable();" onmousemove="draw();" ></canvas>
</div>
<div id="compare">
<img id="oldimg" width="512" height="512" src="">
</div>
<div id="moveimglistner" style="position: absolute; width: 100%;height: 100%;top: 0%;left: 0%; z-index: 3;" onclick="moveimg(); " onmousemove="grabselector();"></div>
<div id="selector" onmousemove="selector();" onclick="snapshot();"></div>
<div id="hint">
<p id="hinttext"></p><input id="hintinp" type="text" onchange="changeselectorsize(event);"><p>px</p>
</div>
<div id="textinput">
<input id="textinp" type="text" placeholder="Enter Text" size="10">
</div>
<div id="gligencont">
<div id="gligenconfirm" onclick="confirmGligen();"><p class="txt">Confirm</p></div>
<textarea rows="4" cols="40" id="gligenmain" type="text" placeholder="Enter Main Prompt" size="10"></textarea>
</div>
<div id="settings">
<div id="settingsbarbtns">
<div id="setref" class="btn" onclick="setreftoggle();"><p class="txt">Set Ref.</p></div>
<div id="resetref" class="btn" onclick="resetref();"><p class="txt">Reset Ref.</p></div>
<div id="crop" class="btn" onclick="cropimg();"><p class="txt">Crop</p></div>
<div id="compbtn" class="btn" onclick="compare();"><p class="txt">Compare</p></div>
<div id="moveimg" class="btn" onclick="moveimgenablefirst();"><p class="txt">Move</p></div>
<div id="eraseon" class="btn" onclick="erasemodeon()"><p class="txt">Erase</p></div>
<div id="maskon" class="btn" onclick="maskmodeon()"><p class="txt">Mask</p></div>
<div id="drawon" class="btn" onclick="drawmodeon()"><p class="txt">Draw</p></div>
<div id="fit" class="btn" onclick="fit();"><p class="txt">Fit</p></div>
<div id="uploadnew" class="btn" onclick="uploadnewimage();"><p class="txt">New</p></div>
<div id="addtext" class="btn" onclick="addText();"><p class="txt">Text</p></div>
<div id="gligen" class="btn" onclick="setGligen();"><p class="txt">GLIGEN</p></div>
<div id="empty" class="btn" onclick="emptyCanvas();"><p class="txt">Blank</p></div>
<div id="gridbtn" class="btn" onclick="gridDraw();"><p class="txt">Grid</p></div>
<div id="lone" class="btn" onclick="setLone();"><p class="txt">COMFY</p></div>
<div id="undo" class="btn" onclick="undoimg();"><p class="txt">Undo</p></div>
</div>
<div id="settingsbarparams">
<div id="workflowsettings">
<div class="dropdown" id="wfsdropdown">
<button class="dropbtn" id="wfbutton">Select Workflow</button>
<div class="dropdown-content" id="wfscont">
</div>
</div>
<div class="dropdown" id="modelsdropdown">
<button class="dropbtn" id="modelbutton">Select Model</button>
<div class="dropdown-content" id="modelscont">
</div>
</div>
<button class="dropbtn" id="paramsbutton" onclick="showStack();">Change Parameter</button>
<div id="maskreset" class="btn txt" onclick="maskreset();">Reset Mask</div>
<div id="paramvalue" class="btn txt" onclick="paramset();">Reset Parameters</div>
</div>
<div id="generalsettings">
<p id="label">Box Size: </p>
<input type="text" id="selectorsize" onchange="changeselectorsize(event);" size="4">
<p id="label2">Fade Factor: </p>
<input id="ff" type="text" size="4" onchange="ffupdate();">
<p id="label3">Eraser/Pencil Size: </p>
<input id="erasersize" type="text" size="4">
<input id="clr" type="color" size="3">
<input id="inprange" type="range" min="0" max="255" step="1">
<input id="gridrange" type="range" min="64" max="512" value="128" step="64" onchange="setGridSize(event);">
</div>
</div>
<div id="settingsbarthird">
<div id="locksetts">
<div id="lockleft" class="btn" onclick="lockleft();"><p class="txt">Left</p></div>
<div id="lockright" class="btn" onclick="lockright();"><p class="txt">Right</p></div>
<div id="lockbottom" class="btn" onclick="lockbottom();"><p class="txt">Bottom</p></div>
<div id="locktop" class="btn" onclick="locktop();"><p class="txt">Top</p></div>
</div>
<div id="lockfull">
<div id="lockbox" class="btn" onclick="lockbox();"><p class="txt">Lock To Image</p></div>
</div>
<div id="othersetts">
<div id="resetimg" class="btn" onclick="resetimg();"><p class="txt">Reset Image</p></div>
<div id="saveimg" class="btn" onclick="saveimg()"><p class="txt">Save Image</p></div>
<div id="saveexit" class="btn" onclick="savejson()"><p class="txt">Generate</p></div>
</div>
</div>
<label for="openimgadd" id="uploadanotherimg"><p class="icontxt">+</p></label>
<input id="openimgadd" type="file">
</div>
<div id="settings2">
<div id="moveimg1" onclick="moveimgenable();"><p class="txt">Move Image</p></div>
<div id="done" onclick="compimage();"><p class="txt">Done</p></div>
<label for="openimgadd2" id="uploadanotherimg"><p class="icontxt">+</p></label>
</div>
<div id="uploadcontainer">
<label for="openimg" class="uploadstyle">
<p>Upload Image</p>
</label>
<input id="openimg" type="file">
</div>
</div>
<div id="drawer" onclick="expandDrawer();">
<img id="img5" width="150" height="150" onclick="openDrawerImage(event);">
<img id="img4" width="150" height="150" onclick="openDrawerImage(event);">
<img id="img3" width="150" height="150" onclick="openDrawerImage(event);">
<img id="img2" width="150" height="150" onclick="openDrawerImage(event);">
<img id="img1" width="150" height="150" onclick="openDrawerImage(event);">
</div>
<div id="stack"></div>
<div id="blockactions"></div>
<div id="cancel" onclick="cancelgen();">+</div>
</body>
</html>
@@ -0,0 +1,86 @@
{
"34": {
"inputs": {
"seed": 993969723888326
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"35": {
"inputs": {
"images": [
"34",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"36": {
"inputs": {
"images": [
"34",
1
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"37": {
"inputs": {
"images": [
"34",
2
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"49": {
"inputs": {
"low_threshold": 0.4,
"high_threshold": 0.8,
"image": [
"34",
0
]
},
"class_type": "Canny",
"_meta": {
"title": "Canny"
}
},
"50": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"51",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"51": {
"inputs": {
"image": [
"49",
0
]
},
"class_type": "ComfyNodesToSaveCanvas",
"_meta": {
"title": "ComfyNodesToSaveCanvas"
}
}
}
@@ -0,0 +1,146 @@
{
"16": {
"inputs": {
"seed": 25670445128187
},
"class_type": "OutpaintCanvasTool"
},
"19": {
"inputs": {
"images": [
"16",
0
]
},
"class_type": "PreviewImage"
},
"20": {
"inputs": {
"images": [
"16",
1
]
},
"class_type": "PreviewImage"
},
"21": {
"inputs": {
"images": [
"16",
2
]
},
"class_type": "PreviewImage"
},
"22": {
"inputs": {
"image": [
"23",
0
]
},
"class_type": "stitch"
},
"23": {
"inputs": {
"image": [
"32",
0
]
},
"class_type": "ImageOutputToComfyNodes"
},
"26": {
"inputs": {
"device": "GPU",
"tomesd_value": 0.6,
"ip_adapter": "enable",
"reference_only": "disable",
"ip_adapter_model": "ip-adapter_sd15.bin",
"model_name": "Juggernaut",
"controlnet_model": "cn_inpaint"
},
"class_type": "LCMLoraLoader_inpaint"
},
"29": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"22",
0
]
},
"class_type": "SaveImage_Canvas"
},
"30": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"image": [
"16",
2
],
"resize_width": [
"31",
0
],
"resize_height": [
"31",
1
]
},
"class_type": "ImageResize"
},
"31": {
"inputs": {
"image": [
"16",
0
]
},
"class_type": "ImageDims"
},
"32": {
"inputs": {
"seed": 0,
"text": "",
"steps": 4,
"cfg": 1.5,
"reference_style_fidelity": 0.1,
"batch": 1,
"strength": 1,
"prompt_weighting": "disable",
"controlnet_weight": 1,
"reference_only": "disable",
"ip_adapter": "enable",
"ipadapter_scale": 0.25,
"width": [
"31",
0
],
"height": [
"31",
1
],
"mask": [
"16",
1
],
"image": [
"16",
0
],
"reference_image": [
"30",
0
],
"pipe": [
"26",
0
]
},
"class_type": "LCMLora_inpaintV2"
}
}
+490
View File
@@ -0,0 +1,490 @@
{
"3": {
"inputs": {
"seed": 955775047067856,
"steps": 8,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.72,
"model": [
"20",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"latent_image": [
"25",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"5": {
"inputs": {
"width": 512,
"height": 512,
"batch_size": 1
},
"class_type": "EmptyLatentImage",
"_meta": {
"title": "Empty Latent Image"
}
},
"6": {
"inputs": {
"text": "",
"clip": [
"47",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "blurry, noisy, messy, lowres, jpeg, artifacts, ill, distorted, malformed",
"clip": [
"47",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"54",
0
],
"vae": [
"47",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"9": {
"inputs": {
"filename_prefix": "IPAdapter",
"images": [
"8",
0
]
},
"class_type": "SaveImage",
"_meta": {
"title": "Save Image"
}
},
"11": {
"inputs": {
"preset": "PLUS (high strength)",
"model": [
"47",
0
]
},
"class_type": "IPAdapterUnifiedLoader",
"_meta": {
"title": "IPAdapter Unified Loader"
}
},
"14": {
"inputs": {
"weight": 1,
"weight_type": "linear",
"start_at": 0,
"end_at": 1,
"embeds_scaling": "K+V",
"model": [
"11",
0
],
"ipadapter": [
"11",
1
],
"pos_embed": [
"18",
0
]
},
"class_type": "IPAdapterEmbeds",
"_meta": {
"title": "IPAdapter Embeds"
}
},
"16": {
"inputs": {
"weight": 0.75,
"ipadapter": [
"11",
1
],
"image": [
"55",
0
]
},
"class_type": "IPAdapterEncoder",
"_meta": {
"title": "IPAdapter Encoder"
}
},
"18": {
"inputs": {
"method": "average",
"embed1": [
"16",
0
],
"embed4": [
"34",
0
]
},
"class_type": "IPAdapterCombineEmbeds",
"_meta": {
"title": "IPAdapter Combine Embeds"
}
},
"19": {
"inputs": {
"lora_name": "pytorch_lora_weights.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"14",
0
],
"clip": [
"47",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"20": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"19",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"25": {
"inputs": {
"pixels": [
"55",
1
],
"vae": [
"47",
2
]
},
"class_type": "VAEEncode",
"_meta": {
"title": "VAE Encode"
}
},
"29": {
"inputs": {
"images": [
"55",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"32": {
"inputs": {
"images": [
"55",
1
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"34": {
"inputs": {
"weight": 0.73,
"ipadapter": [
"11",
1
],
"image": [
"55",
1
]
},
"class_type": "IPAdapterEncoder",
"_meta": {
"title": "IPAdapter Encoder"
}
},
"38": {
"inputs": {
"samples": [
"52",
0
],
"vae": [
"47",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"40": {
"inputs": {
"add_noise": true,
"noise_seed": 588264651398944,
"cfg": 0.7000000000000001,
"model": [
"48",
0
],
"positive": [
"49",
0
],
"negative": [
"7",
0
],
"sampler": [
"43",
0
],
"sigmas": [
"42",
0
],
"latent_image": [
"3",
0
]
},
"class_type": "SamplerCustom",
"_meta": {
"title": "SamplerCustom"
}
},
"42": {
"inputs": {
"steps": 8,
"model": [
"19",
0
]
},
"class_type": "TCDScheduler",
"_meta": {
"title": "TCDScheduler"
}
},
"43": {
"inputs": {
"gamma": 0.7500000000000003
},
"class_type": "SamplerTCD",
"_meta": {
"title": "SamplerTCD"
}
},
"47": {
"inputs": {
"model_path": "Juggernaut"
},
"class_type": "DiffusersLoader",
"_meta": {
"title": "DiffusersLoader"
}
},
"48": {
"inputs": {
"lora_name": "Hyper-SD15-8steps-lora.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"14",
0
],
"clip": [
"47",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"49": {
"inputs": {
"strength": 0.25,
"conditioning": [
"6",
0
],
"control_net": [
"50",
0
],
"image": [
"51",
0
]
},
"class_type": "ControlNetApply",
"_meta": {
"title": "Apply ControlNet"
}
},
"50": {
"inputs": {
"control_net_name": "control_lora_rank128_v11p_sd15_canny_fp16.safetensors"
},
"class_type": "ControlNetLoader",
"_meta": {
"title": "Load ControlNet Model"
}
},
"51": {
"inputs": {
"low_threshold": 100,
"high_threshold": 200,
"resolution": 512,
"image": [
"8",
0
]
},
"class_type": "CannyEdgePreprocessor",
"_meta": {
"title": "Canny Edge"
}
},
"52": {
"inputs": {
"samples": [
"40",
0
]
},
"class_type": "ClearRamLatent",
"_meta": {
"title": "ClearRamLatent"
}
},
"54": {
"inputs": {
"samples": [
"3",
0
]
},
"class_type": "ClearRamLatent",
"_meta": {
"title": "ClearRamLatent"
}
},
"55": {
"inputs": {
"switch": "enable",
"image_1": [
"56",
0
],
"image_2": [
"56",
2
]
},
"class_type": "ImageSwitch",
"_meta": {
"title": "ImageSwitch"
}
},
"56": {
"inputs": {
"seed": 0
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"57": {
"inputs": {
"image": [
"38",
0
]
},
"class_type": "stitch",
"_meta": {
"title": "stitch"
}
},
"58": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"57",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
}
}
+335
View File
@@ -0,0 +1,335 @@
{
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"6": {
"inputs": {
"text": "",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"34",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"15": {
"inputs": {
"weight": 0.5,
"weight_type": "linear",
"combine_embeds": "concat",
"start_at": 0,
"end_at": 1,
"embeds_scaling": "K+V",
"model": [
"16",
0
],
"ipadapter": [
"16",
1
],
"image": [
"48",
2
]
},
"class_type": "IPAdapterAdvanced",
"_meta": {
"title": "IPAdapter Advanced"
}
},
"16": {
"inputs": {
"preset": "STANDARD (medium strength)",
"model": [
"4",
0
]
},
"class_type": "IPAdapterUnifiedLoader",
"_meta": {
"title": "IPAdapter Unified Loader"
}
},
"17": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"15",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"34": {
"inputs": {
"seed": 928672654655209,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.55,
"model": [
"35",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"latent_image": [
"61",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"35": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"17",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"46": {
"inputs": {
"image": [
"48",
0
],
"mask": [
"49",
0
]
},
"class_type": "InpaintPreprocessor",
"_meta": {
"title": "InpaintPreprocessor"
}
},
"48": {
"inputs": {
"seed": 556268881737588
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"49": {
"inputs": {
"channel": "red",
"image": [
"48",
1
]
},
"class_type": "ImageToMask",
"_meta": {
"title": "Convert Image to Mask"
}
},
"50": {
"inputs": {
"image": [
"59",
0
]
},
"class_type": "stitch",
"_meta": {
"title": "stitch"
}
},
"51": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"50",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"52": {
"inputs": {
"images": [
"48",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"53": {
"inputs": {
"images": [
"48",
1
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"54": {
"inputs": {
"images": [
"48",
2
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"55": {
"inputs": {
"width": 192,
"height": 192,
"batch_size": 1
},
"class_type": "EmptyLatentImage",
"_meta": {
"title": "Empty Latent Image"
}
},
"57": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"resize_width": 512,
"resize_height": 512,
"image": [
"48",
0
]
},
"class_type": "Image Resize",
"_meta": {
"title": "Image Resize"
}
},
"59": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"image": [
"8",
0
],
"resize_width": [
"60",
0
],
"resize_height": [
"60",
1
]
},
"class_type": "ImageResize",
"_meta": {
"title": "ImageResize"
}
},
"60": {
"inputs": {
"image": [
"48",
0
]
},
"class_type": "Image Size to Number",
"_meta": {
"title": "Image Size to Number"
}
},
"61": {
"inputs": {
"pixels": [
"57",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEEncode",
"_meta": {
"title": "VAE Encode"
}
}
}
+379
View File
@@ -0,0 +1,379 @@
{
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"6": {
"inputs": {
"text": "",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"34",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"15": {
"inputs": {
"weight": 0.5,
"weight_type": "linear",
"combine_embeds": "concat",
"start_at": 0,
"end_at": 1,
"embeds_scaling": "K+V",
"model": [
"16",
0
],
"ipadapter": [
"16",
1
],
"image": [
"48",
2
]
},
"class_type": "IPAdapterAdvanced",
"_meta": {
"title": "IPAdapter Advanced"
}
},
"16": {
"inputs": {
"preset": "STANDARD (medium strength)",
"model": [
"4",
0
]
},
"class_type": "IPAdapterUnifiedLoader",
"_meta": {
"title": "IPAdapter Unified Loader"
}
},
"17": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"15",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"34": {
"inputs": {
"seed": 928672654655209,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.55,
"model": [
"35",
0
],
"positive": [
"64",
0
],
"negative": [
"7",
0
],
"latent_image": [
"61",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"35": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"17",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"46": {
"inputs": {
"image": [
"48",
0
],
"mask": [
"49",
0
]
},
"class_type": "InpaintPreprocessor",
"_meta": {
"title": "InpaintPreprocessor"
}
},
"48": {
"inputs": {
"seed": 556268881737588
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"49": {
"inputs": {
"channel": "red",
"image": [
"48",
1
]
},
"class_type": "ImageToMask",
"_meta": {
"title": "Convert Image to Mask"
}
},
"50": {
"inputs": {
"image": [
"59",
0
]
},
"class_type": "stitch",
"_meta": {
"title": "stitch"
}
},
"51": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"50",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"52": {
"inputs": {
"images": [
"48",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"53": {
"inputs": {
"images": [
"48",
1
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"54": {
"inputs": {
"images": [
"48",
2
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"55": {
"inputs": {
"width": 192,
"height": 192,
"batch_size": 1
},
"class_type": "EmptyLatentImage",
"_meta": {
"title": "Empty Latent Image"
}
},
"57": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"resize_width": 512,
"resize_height": 512,
"image": [
"48",
0
]
},
"class_type": "Image Resize",
"_meta": {
"title": "Image Resize"
}
},
"59": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"image": [
"8",
0
],
"resize_width": [
"60",
0
],
"resize_height": [
"60",
1
]
},
"class_type": "ImageResize",
"_meta": {
"title": "ImageResize"
}
},
"60": {
"inputs": {
"image": [
"48",
0
]
},
"class_type": "Image Size to Number",
"_meta": {
"title": "Image Size to Number"
}
},
"61": {
"inputs": {
"pixels": [
"57",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEEncode",
"_meta": {
"title": "VAE Encode"
}
},
"62": {
"inputs": {
"control_net_name": "control_lora_rank128_v11p_sd15_canny_fp16.safetensors"
},
"class_type": "ControlNetLoader",
"_meta": {
"title": "Load ControlNet Model"
}
},
"63": {
"inputs": {
"low_threshold": 0.4,
"high_threshold": 0.8,
"image": [
"57",
0
]
},
"class_type": "Canny",
"_meta": {
"title": "Canny"
}
},
"64": {
"inputs": {
"strength": 1,
"conditioning": [
"6",
0
],
"control_net": [
"62",
0
],
"image": [
"63",
0
]
},
"class_type": "ControlNetApply",
"_meta": {
"title": "Apply ControlNet"
}
}
}
+372
View File
@@ -0,0 +1,372 @@
{
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"6": {
"inputs": {
"text": [
"66",
2
],
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"34",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"15": {
"inputs": {
"weight": 0.5,
"weight_type": "linear",
"combine_embeds": "concat",
"start_at": 0,
"end_at": 1,
"embeds_scaling": "K+V",
"model": [
"16",
0
],
"ipadapter": [
"16",
1
],
"image": [
"48",
2
]
},
"class_type": "IPAdapterAdvanced",
"_meta": {
"title": "IPAdapter Advanced"
}
},
"16": {
"inputs": {
"preset": "STANDARD (medium strength)",
"model": [
"4",
0
]
},
"class_type": "IPAdapterUnifiedLoader",
"_meta": {
"title": "IPAdapter Unified Loader"
}
},
"17": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"15",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"34": {
"inputs": {
"seed": 928672654655209,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.55,
"model": [
"35",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"latent_image": [
"61",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"35": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"17",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"46": {
"inputs": {
"image": [
"48",
0
],
"mask": [
"49",
0
]
},
"class_type": "InpaintPreprocessor",
"_meta": {
"title": "InpaintPreprocessor"
}
},
"48": {
"inputs": {
"seed": 556268881737588
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"49": {
"inputs": {
"channel": "red",
"image": [
"48",
1
]
},
"class_type": "ImageToMask",
"_meta": {
"title": "Convert Image to Mask"
}
},
"50": {
"inputs": {
"image": [
"59",
0
]
},
"class_type": "stitch",
"_meta": {
"title": "stitch"
}
},
"51": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"50",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"52": {
"inputs": {
"images": [
"48",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"53": {
"inputs": {
"images": [
"48",
1
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"54": {
"inputs": {
"images": [
"48",
2
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"55": {
"inputs": {
"width": 192,
"height": 192,
"batch_size": 1
},
"class_type": "EmptyLatentImage",
"_meta": {
"title": "Empty Latent Image"
}
},
"57": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"resize_width": 512,
"resize_height": 512,
"image": [
"48",
0
]
},
"class_type": "Image Resize",
"_meta": {
"title": "Image Resize"
}
},
"59": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"image": [
"8",
0
],
"resize_width": [
"60",
0
],
"resize_height": [
"60",
1
]
},
"class_type": "ImageResize",
"_meta": {
"title": "ImageResize"
}
},
"60": {
"inputs": {
"image": [
"48",
0
]
},
"class_type": "Image Size to Number",
"_meta": {
"title": "Image Size to Number"
}
},
"61": {
"inputs": {
"pixels": [
"57",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEEncode",
"_meta": {
"title": "VAE Encode"
}
},
"65": {
"inputs": {
"model": "microsoft/Florence-2-base",
"precision": "fp16",
"attention": "eager"
},
"class_type": "DownloadAndLoadFlorence2Model",
"_meta": {
"title": "DownloadAndLoadFlorence2Model"
}
},
"66": {
"inputs": {
"text_input": "",
"task": "caption",
"fill_mask": true,
"keep_model_loaded": false,
"max_new_tokens": 1024,
"num_beams": 3,
"do_sample": true,
"image": [
"57",
0
],
"florence2_model": [
"65",
0
]
},
"class_type": "Florence2Run",
"_meta": {
"title": "Florence2Run"
}
}
}
@@ -0,0 +1,416 @@
{
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"6": {
"inputs": {
"text": [
"66",
2
],
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"34",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"15": {
"inputs": {
"weight": 0.5,
"weight_type": "linear",
"combine_embeds": "concat",
"start_at": 0,
"end_at": 1,
"embeds_scaling": "K+V",
"model": [
"16",
0
],
"ipadapter": [
"16",
1
],
"image": [
"48",
2
]
},
"class_type": "IPAdapterAdvanced",
"_meta": {
"title": "IPAdapter Advanced"
}
},
"16": {
"inputs": {
"preset": "STANDARD (medium strength)",
"model": [
"4",
0
]
},
"class_type": "IPAdapterUnifiedLoader",
"_meta": {
"title": "IPAdapter Unified Loader"
}
},
"17": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"15",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"34": {
"inputs": {
"seed": 928672654655209,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.55,
"model": [
"35",
0
],
"positive": [
"64",
0
],
"negative": [
"7",
0
],
"latent_image": [
"61",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"35": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"17",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"46": {
"inputs": {
"image": [
"48",
0
],
"mask": [
"49",
0
]
},
"class_type": "InpaintPreprocessor",
"_meta": {
"title": "InpaintPreprocessor"
}
},
"48": {
"inputs": {
"seed": 556268881737588
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"49": {
"inputs": {
"channel": "red",
"image": [
"48",
1
]
},
"class_type": "ImageToMask",
"_meta": {
"title": "Convert Image to Mask"
}
},
"50": {
"inputs": {
"image": [
"59",
0
]
},
"class_type": "stitch",
"_meta": {
"title": "stitch"
}
},
"51": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"50",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"52": {
"inputs": {
"images": [
"48",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"53": {
"inputs": {
"images": [
"48",
1
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"54": {
"inputs": {
"images": [
"48",
2
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"55": {
"inputs": {
"width": 192,
"height": 192,
"batch_size": 1
},
"class_type": "EmptyLatentImage",
"_meta": {
"title": "Empty Latent Image"
}
},
"57": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"resize_width": 512,
"resize_height": 512,
"image": [
"48",
0
]
},
"class_type": "Image Resize",
"_meta": {
"title": "Image Resize"
}
},
"59": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"image": [
"8",
0
],
"resize_width": [
"60",
0
],
"resize_height": [
"60",
1
]
},
"class_type": "ImageResize",
"_meta": {
"title": "ImageResize"
}
},
"60": {
"inputs": {
"image": [
"48",
0
]
},
"class_type": "Image Size to Number",
"_meta": {
"title": "Image Size to Number"
}
},
"61": {
"inputs": {
"pixels": [
"57",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEEncode",
"_meta": {
"title": "VAE Encode"
}
},
"62": {
"inputs": {
"control_net_name": "control_lora_rank128_v11p_sd15_canny_fp16.safetensors"
},
"class_type": "ControlNetLoader",
"_meta": {
"title": "Load ControlNet Model"
}
},
"63": {
"inputs": {
"low_threshold": 0.4,
"high_threshold": 0.8,
"image": [
"57",
0
]
},
"class_type": "Canny",
"_meta": {
"title": "Canny"
}
},
"64": {
"inputs": {
"strength": 1,
"conditioning": [
"6",
0
],
"control_net": [
"62",
0
],
"image": [
"63",
0
]
},
"class_type": "ControlNetApply",
"_meta": {
"title": "Apply ControlNet"
}
},
"65": {
"inputs": {
"model": "microsoft/Florence-2-base",
"precision": "fp16",
"attention": "eager"
},
"class_type": "DownloadAndLoadFlorence2Model",
"_meta": {
"title": "DownloadAndLoadFlorence2Model"
}
},
"66": {
"inputs": {
"text_input": "",
"task": "caption",
"fill_mask": true,
"keep_model_loaded": false,
"max_new_tokens": 1024,
"num_beams": 3,
"do_sample": true,
"image": [
"57",
0
],
"florence2_model": [
"65",
0
]
},
"class_type": "Florence2Run",
"_meta": {
"title": "Florence2Run"
}
}
}
+316
View File
@@ -0,0 +1,316 @@
{
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"6": {
"inputs": {
"text": "",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"34",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"15": {
"inputs": {
"weight": 0.5,
"weight_type": "linear",
"combine_embeds": "concat",
"start_at": 0,
"end_at": 1,
"embeds_scaling": "K+V",
"model": [
"16",
0
],
"ipadapter": [
"16",
1
],
"image": [
"48",
2
]
},
"class_type": "IPAdapterAdvanced",
"_meta": {
"title": "IPAdapter Advanced"
}
},
"16": {
"inputs": {
"preset": "STANDARD (medium strength)",
"model": [
"4",
0
]
},
"class_type": "IPAdapterUnifiedLoader",
"_meta": {
"title": "IPAdapter Unified Loader"
}
},
"17": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"15",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"31": {
"inputs": {
"strength": 1,
"conditioning": [
"6",
0
],
"control_net": [
"32",
0
],
"image": [
"46",
0
]
},
"class_type": "ControlNetApply",
"_meta": {
"title": "Apply ControlNet"
}
},
"32": {
"inputs": {
"control_net_name": "control_lora_rank128_v11p_sd15_inpaint_fp16.safetensors"
},
"class_type": "ControlNetLoader",
"_meta": {
"title": "Load ControlNet Model"
}
},
"34": {
"inputs": {
"seed": 419862071280588,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.5,
"model": [
"35",
0
],
"positive": [
"31",
0
],
"negative": [
"7",
0
],
"latent_image": [
"55",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"35": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"17",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"46": {
"inputs": {
"image": [
"48",
0
],
"mask": [
"49",
0
]
},
"class_type": "InpaintPreprocessor",
"_meta": {
"title": "InpaintPreprocessor"
}
},
"48": {
"inputs": {
"seed": 25360973447852
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"49": {
"inputs": {
"channel": "red",
"image": [
"48",
1
]
},
"class_type": "ImageToMask",
"_meta": {
"title": "Convert Image to Mask"
}
},
"50": {
"inputs": {
"image": [
"8",
0
]
},
"class_type": "stitch",
"_meta": {
"title": "stitch"
}
},
"51": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"50",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"52": {
"inputs": {
"images": [
"48",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"53": {
"inputs": {
"images": [
"48",
1
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"54": {
"inputs": {
"images": [
"48",
2
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"55": {
"inputs": {
"samples": [
"56",
0
],
"mask": [
"49",
0
]
},
"class_type": "SetLatentNoiseMask",
"_meta": {
"title": "Set Latent Noise Mask"
}
},
"56": {
"inputs": {
"pixels": [
"48",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEEncode",
"_meta": {
"title": "VAE Encode"
}
}
}
+305
View File
@@ -0,0 +1,305 @@
{
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"6": {
"inputs": {
"text": "",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"34",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"15": {
"inputs": {
"weight": 0.5,
"weight_type": "linear",
"combine_embeds": "concat",
"start_at": 0,
"end_at": 1,
"embeds_scaling": "K+V",
"model": [
"16",
0
],
"ipadapter": [
"16",
1
],
"image": [
"48",
2
]
},
"class_type": "IPAdapterAdvanced",
"_meta": {
"title": "IPAdapter Advanced"
}
},
"16": {
"inputs": {
"preset": "STANDARD (medium strength)",
"model": [
"4",
0
]
},
"class_type": "IPAdapterUnifiedLoader",
"_meta": {
"title": "IPAdapter Unified Loader"
}
},
"17": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"15",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"31": {
"inputs": {
"strength": 1,
"conditioning": [
"6",
0
],
"control_net": [
"32",
0
],
"image": [
"46",
0
]
},
"class_type": "ControlNetApply",
"_meta": {
"title": "Apply ControlNet"
}
},
"32": {
"inputs": {
"control_net_name": "control_lora_rank128_v11p_sd15_inpaint_fp16.safetensors"
},
"class_type": "ControlNetLoader",
"_meta": {
"title": "Load ControlNet Model"
}
},
"34": {
"inputs": {
"seed": 53176650469610,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 1,
"model": [
"35",
0
],
"positive": [
"31",
0
],
"negative": [
"7",
0
],
"latent_image": [
"45",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"35": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"17",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"45": {
"inputs": {
"grow_mask_by": 6,
"pixels": [
"48",
0
],
"vae": [
"4",
2
],
"mask": [
"49",
0
]
},
"class_type": "VAEEncodeForInpaint",
"_meta": {
"title": "VAE Encode (for Inpainting)"
}
},
"46": {
"inputs": {
"image": [
"48",
0
],
"mask": [
"49",
0
]
},
"class_type": "InpaintPreprocessor",
"_meta": {
"title": "InpaintPreprocessor"
}
},
"48": {
"inputs": {
"seed": 934164250824628
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"49": {
"inputs": {
"channel": "red",
"image": [
"48",
1
]
},
"class_type": "ImageToMask",
"_meta": {
"title": "Convert Image to Mask"
}
},
"50": {
"inputs": {
"image": [
"8",
0
]
},
"class_type": "stitch",
"_meta": {
"title": "stitch"
}
},
"51": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"50",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"52": {
"inputs": {
"images": [
"48",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"53": {
"inputs": {
"images": [
"48",
1
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"54": {
"inputs": {
"images": [
"48",
2
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
}
}
+400
View File
@@ -0,0 +1,400 @@
{
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"6": {
"inputs": {
"text": "",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"34",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"15": {
"inputs": {
"weight": 0.5,
"weight_type": "linear",
"combine_embeds": "concat",
"start_at": 0,
"end_at": 1,
"embeds_scaling": "K+V",
"model": [
"16",
0
],
"ipadapter": [
"16",
1
],
"image": [
"48",
2
]
},
"class_type": "IPAdapterAdvanced",
"_meta": {
"title": "IPAdapter Advanced"
}
},
"16": {
"inputs": {
"preset": "STANDARD (medium strength)",
"model": [
"4",
0
]
},
"class_type": "IPAdapterUnifiedLoader",
"_meta": {
"title": "IPAdapter Unified Loader"
}
},
"17": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"15",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"31": {
"inputs": {
"strength": 1,
"conditioning": [
"6",
0
],
"control_net": [
"32",
0
],
"image": [
"46",
0
]
},
"class_type": "ControlNetApply",
"_meta": {
"title": "Apply ControlNet"
}
},
"32": {
"inputs": {
"control_net_name": "control_lora_rank128_v11p_sd15_inpaint_fp16.safetensors"
},
"class_type": "ControlNetLoader",
"_meta": {
"title": "Load ControlNet Model"
}
},
"34": {
"inputs": {
"seed": 947096890938678,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.5,
"model": [
"35",
0
],
"positive": [
"31",
0
],
"negative": [
"7",
0
],
"latent_image": [
"55",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"35": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"17",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"46": {
"inputs": {
"image": [
"59",
0
],
"mask": [
"49",
0
]
},
"class_type": "InpaintPreprocessor",
"_meta": {
"title": "InpaintPreprocessor"
}
},
"48": {
"inputs": {
"seed": 806060987925818
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"49": {
"inputs": {
"channel": "red",
"image": [
"60",
0
]
},
"class_type": "ImageToMask",
"_meta": {
"title": "Convert Image to Mask"
}
},
"50": {
"inputs": {
"image": [
"63",
0
]
},
"class_type": "stitch",
"_meta": {
"title": "stitch"
}
},
"51": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"50",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"52": {
"inputs": {
"images": [
"48",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"53": {
"inputs": {
"images": [
"48",
1
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"54": {
"inputs": {
"images": [
"48",
2
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"55": {
"inputs": {
"samples": [
"56",
0
],
"mask": [
"49",
0
]
},
"class_type": "SetLatentNoiseMask",
"_meta": {
"title": "Set Latent Noise Mask"
}
},
"56": {
"inputs": {
"pixels": [
"59",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEEncode",
"_meta": {
"title": "VAE Encode"
}
},
"59": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"resize_width": 512,
"resize_height": 512,
"image": [
"48",
0
]
},
"class_type": "Image Resize",
"_meta": {
"title": "Image Resize"
}
},
"60": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"resize_width": 512,
"resize_height": 512,
"image": [
"48",
1
]
},
"class_type": "Image Resize",
"_meta": {
"title": "Image Resize"
}
},
"62": {
"inputs": {
"image": [
"48",
0
]
},
"class_type": "Get Image Size",
"_meta": {
"title": "Get Image Size"
}
},
"63": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"resize_width": [
"62",
0
],
"resize_height": [
"62",
1
],
"image": [
"8",
0
]
},
"class_type": "Image Resize",
"_meta": {
"title": "Image Resize"
}
},
"64": {
"inputs": {
"images": [
"8",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
}
}
+353
View File
@@ -0,0 +1,353 @@
{
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"6": {
"inputs": {
"text": [
"58",
2
],
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"34",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"15": {
"inputs": {
"weight": 0.5,
"weight_type": "linear",
"combine_embeds": "concat",
"start_at": 0,
"end_at": 1,
"embeds_scaling": "K+V",
"model": [
"16",
0
],
"ipadapter": [
"16",
1
],
"image": [
"48",
2
]
},
"class_type": "IPAdapterAdvanced",
"_meta": {
"title": "IPAdapter Advanced"
}
},
"16": {
"inputs": {
"preset": "STANDARD (medium strength)",
"model": [
"4",
0
]
},
"class_type": "IPAdapterUnifiedLoader",
"_meta": {
"title": "IPAdapter Unified Loader"
}
},
"17": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"15",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"31": {
"inputs": {
"strength": 1,
"conditioning": [
"6",
0
],
"control_net": [
"32",
0
],
"image": [
"46",
0
]
},
"class_type": "ControlNetApply",
"_meta": {
"title": "Apply ControlNet"
}
},
"32": {
"inputs": {
"control_net_name": "control_lora_rank128_v11p_sd15_inpaint_fp16.safetensors"
},
"class_type": "ControlNetLoader",
"_meta": {
"title": "Load ControlNet Model"
}
},
"34": {
"inputs": {
"seed": 53176650469610,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.5,
"model": [
"35",
0
],
"positive": [
"31",
0
],
"negative": [
"7",
0
],
"latent_image": [
"55",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"35": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"17",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"46": {
"inputs": {
"image": [
"48",
0
],
"mask": [
"49",
0
]
},
"class_type": "InpaintPreprocessor",
"_meta": {
"title": "InpaintPreprocessor"
}
},
"48": {
"inputs": {
"seed": 934164250824628
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"49": {
"inputs": {
"channel": "red",
"image": [
"48",
1
]
},
"class_type": "ImageToMask",
"_meta": {
"title": "Convert Image to Mask"
}
},
"50": {
"inputs": {
"image": [
"8",
0
]
},
"class_type": "stitch",
"_meta": {
"title": "stitch"
}
},
"51": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"50",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"52": {
"inputs": {
"images": [
"48",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"53": {
"inputs": {
"images": [
"48",
1
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"54": {
"inputs": {
"images": [
"48",
2
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"55": {
"inputs": {
"samples": [
"56",
0
],
"mask": [
"49",
0
]
},
"class_type": "SetLatentNoiseMask",
"_meta": {
"title": "Set Latent Noise Mask"
}
},
"56": {
"inputs": {
"pixels": [
"48",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEEncode",
"_meta": {
"title": "VAE Encode"
}
},
"57": {
"inputs": {
"model": "microsoft/Florence-2-base",
"precision": "fp16",
"attention": "eager"
},
"class_type": "DownloadAndLoadFlorence2Model",
"_meta": {
"title": "DownloadAndLoadFlorence2Model"
}
},
"58": {
"inputs": {
"text_input": "",
"task": "more_detailed_caption",
"fill_mask": true,
"keep_model_loaded": false,
"max_new_tokens": 1024,
"num_beams": 3,
"do_sample": true,
"image": [
"48",
0
],
"florence2_model": [
"57",
0
]
},
"class_type": "Florence2Run",
"_meta": {
"title": "Florence2Run"
}
}
}
+371
View File
@@ -0,0 +1,371 @@
{
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"6": {
"inputs": {
"text": "",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"34",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"15": {
"inputs": {
"weight": 0.5,
"weight_type": "linear",
"combine_embeds": "concat",
"start_at": 0,
"end_at": 1,
"embeds_scaling": "K+V",
"model": [
"16",
0
],
"ipadapter": [
"16",
1
],
"image": [
"48",
2
]
},
"class_type": "IPAdapterAdvanced",
"_meta": {
"title": "IPAdapter Advanced"
}
},
"16": {
"inputs": {
"preset": "STANDARD (medium strength)",
"model": [
"4",
0
]
},
"class_type": "IPAdapterUnifiedLoader",
"_meta": {
"title": "IPAdapter Unified Loader"
}
},
"17": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"15",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"31": {
"inputs": {
"strength": 1,
"conditioning": [
"6",
0
],
"control_net": [
"32",
0
],
"image": [
"46",
0
]
},
"class_type": "ControlNetApply",
"_meta": {
"title": "Apply ControlNet"
}
},
"32": {
"inputs": {
"control_net_name": "control_lora_rank128_v11p_sd15_inpaint_fp16.safetensors"
},
"class_type": "ControlNetLoader",
"_meta": {
"title": "Load ControlNet Model"
}
},
"34": {
"inputs": {
"seed": 387254176851829,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.5,
"model": [
"35",
0
],
"positive": [
"31",
0
],
"negative": [
"7",
0
],
"latent_image": [
"55",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"35": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"17",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"46": {
"inputs": {
"image": [
"48",
0
],
"mask": [
"58",
0
]
},
"class_type": "InpaintPreprocessor",
"_meta": {
"title": "InpaintPreprocessor"
}
},
"48": {
"inputs": {
"seed": 477728007448946
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"50": {
"inputs": {
"image": [
"8",
0
]
},
"class_type": "stitch",
"_meta": {
"title": "stitch"
}
},
"51": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"50",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"52": {
"inputs": {
"images": [
"48",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"53": {
"inputs": {
"images": [
"48",
1
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"54": {
"inputs": {
"images": [
"48",
2
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"55": {
"inputs": {
"samples": [
"56",
0
],
"mask": [
"58",
0
]
},
"class_type": "SetLatentNoiseMask",
"_meta": {
"title": "Set Latent Noise Mask"
}
},
"56": {
"inputs": {
"pixels": [
"48",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEEncode",
"_meta": {
"title": "VAE Encode"
}
},
"57": {
"inputs": {
"model": "sam2_hiera_base_plus.safetensors",
"segmentor": "single_image",
"device": "cuda",
"precision": "fp16"
},
"class_type": "DownloadAndLoadSAM2Model",
"_meta": {
"title": "(Down)Load SAM2Model"
}
},
"58": {
"inputs": {
"keep_model_loaded": false,
"individual_objects": false,
"sam2_model": [
"57",
0
],
"image": [
"48",
0
],
"mask": [
"62",
0
]
},
"class_type": "Sam2Segmentation",
"_meta": {
"title": "Sam2Segmentation"
}
},
"62": {
"inputs": {
"channel": "red",
"image": [
"48",
1
]
},
"class_type": "ImageToMask",
"_meta": {
"title": "Convert Image to Mask"
}
},
"63": {
"inputs": {
"seed": 1110770721024009
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"64": {
"inputs": {
"images": [
"63",
1
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
}
}
+443
View File
@@ -0,0 +1,443 @@
{
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"6": {
"inputs": {
"text": "",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"34",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"15": {
"inputs": {
"weight": 0.5,
"weight_type": "linear",
"combine_embeds": "concat",
"start_at": 0,
"end_at": 1,
"embeds_scaling": "K+V",
"model": [
"16",
0
],
"ipadapter": [
"16",
1
],
"image": [
"48",
2
]
},
"class_type": "IPAdapterAdvanced",
"_meta": {
"title": "IPAdapter Advanced"
}
},
"16": {
"inputs": {
"preset": "STANDARD (medium strength)",
"model": [
"4",
0
]
},
"class_type": "IPAdapterUnifiedLoader",
"_meta": {
"title": "IPAdapter Unified Loader"
}
},
"17": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"15",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"31": {
"inputs": {
"strength": 1,
"conditioning": [
"6",
0
],
"control_net": [
"32",
0
],
"image": [
"46",
0
]
},
"class_type": "ControlNetApply",
"_meta": {
"title": "Apply ControlNet"
}
},
"32": {
"inputs": {
"control_net_name": "control_lora_rank128_v11p_sd15_inpaint_fp16.safetensors"
},
"class_type": "ControlNetLoader",
"_meta": {
"title": "Load ControlNet Model"
}
},
"34": {
"inputs": {
"seed": 387254176851829,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.5,
"model": [
"35",
0
],
"positive": [
"31",
0
],
"negative": [
"7",
0
],
"latent_image": [
"55",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"35": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"17",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"46": {
"inputs": {
"image": [
"65",
0
],
"mask": [
"58",
0
]
},
"class_type": "InpaintPreprocessor",
"_meta": {
"title": "InpaintPreprocessor"
}
},
"48": {
"inputs": {
"seed": 477728007448946
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"50": {
"inputs": {
"image": [
"68",
0
]
},
"class_type": "stitch",
"_meta": {
"title": "stitch"
}
},
"51": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"50",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"52": {
"inputs": {
"images": [
"48",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"53": {
"inputs": {
"images": [
"48",
1
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"54": {
"inputs": {
"images": [
"48",
2
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"55": {
"inputs": {
"samples": [
"56",
0
],
"mask": [
"58",
0
]
},
"class_type": "SetLatentNoiseMask",
"_meta": {
"title": "Set Latent Noise Mask"
}
},
"56": {
"inputs": {
"pixels": [
"65",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEEncode",
"_meta": {
"title": "VAE Encode"
}
},
"57": {
"inputs": {
"model": "sam2_hiera_base_plus.safetensors",
"segmentor": "single_image",
"device": "cuda",
"precision": "fp16"
},
"class_type": "DownloadAndLoadSAM2Model",
"_meta": {
"title": "(Down)Load SAM2Model"
}
},
"58": {
"inputs": {
"keep_model_loaded": false,
"individual_objects": false,
"sam2_model": [
"57",
0
],
"image": [
"65",
0
],
"mask": [
"62",
0
]
},
"class_type": "Sam2Segmentation",
"_meta": {
"title": "Sam2Segmentation"
}
},
"62": {
"inputs": {
"channel": "red",
"image": [
"66",
0
]
},
"class_type": "ImageToMask",
"_meta": {
"title": "Convert Image to Mask"
}
},
"63": {
"inputs": {
"seed": 1110770721024009
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"64": {
"inputs": {
"images": [
"63",
1
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"65": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"resize_width": 512,
"resize_height": 512,
"image": [
"48",
0
]
},
"class_type": "Image Resize",
"_meta": {
"title": "Image Resize"
}
},
"66": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"resize_width": 512,
"resize_height": 512,
"image": [
"48",
1
]
},
"class_type": "Image Resize",
"_meta": {
"title": "Image Resize"
}
},
"67": {
"inputs": {
"image": [
"48",
0
]
},
"class_type": "Get Image Size",
"_meta": {
"title": "Get Image Size"
}
},
"68": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"resize_width": [
"67",
0
],
"resize_height": [
"67",
1
],
"image": [
"8",
0
]
},
"class_type": "Image Resize",
"_meta": {
"title": "Image Resize"
}
}
}
@@ -0,0 +1,113 @@
{
"3": {
"inputs": {},
"class_type": "BRIA_RMBG_ModelLoader_Zho",
"_meta": {
"title": "🧹BRIA_RMBG Model Loader"
}
},
"17": {
"inputs": {
"rmbgmodel": [
"3",
0
],
"image": [
"37",
2
]
},
"class_type": "BRIA_RMBG_Zho",
"_meta": {
"title": "🧹BRIA RMBG"
}
},
"37": {
"inputs": {
"seed": 1056236704582682
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"41": {
"inputs": {
"images": [
"17",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"42": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"43",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"43": {
"inputs": {
"image": [
"48",
0
]
},
"class_type": "ComfyNodesToSaveCanvas",
"_meta": {
"title": "ComfyNodesToSaveCanvas"
}
},
"44": {
"inputs": {
"mask": [
"49",
0
]
},
"class_type": "MaskToImage",
"_meta": {
"title": "Convert Mask to Image"
}
},
"48": {
"inputs": {
"force_resize_width": 0,
"force_resize_height": 0,
"image": [
"37",
2
],
"mask": [
"44",
0
]
},
"class_type": "Cut By Mask",
"_meta": {
"title": "Cut By Mask"
}
},
"49": {
"inputs": {
"mask": [
"17",
1
]
},
"class_type": "InvertMask",
"_meta": {
"title": "InvertMask"
}
}
}
+159
View File
@@ -0,0 +1,159 @@
{
"37": {
"inputs": {
"seed": 541389199520417
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"41": {
"inputs": {
"images": [
"47",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"42": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"43",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"43": {
"inputs": {
"image": [
"49",
0
]
},
"class_type": "ComfyNodesToSaveCanvas",
"_meta": {
"title": "ComfyNodesToSaveCanvas"
}
},
"44": {
"inputs": {
"keep_model_loaded": true,
"individual_objects": false,
"sam2_model": [
"45",
0
],
"image": [
"37",
2
],
"mask": [
"48",
0
]
},
"class_type": "Sam2Segmentation",
"_meta": {
"title": "Sam2Segmentation"
}
},
"45": {
"inputs": {
"model": "sam2_hiera_base_plus.safetensors",
"segmentor": "single_image",
"device": "cuda",
"precision": "fp16"
},
"class_type": "DownloadAndLoadSAM2Model",
"_meta": {
"title": "(Down)Load SAM2Model"
}
},
"47": {
"inputs": {
"mask": [
"44",
0
]
},
"class_type": "MaskToImage",
"_meta": {
"title": "Convert Mask to Image"
}
},
"48": {
"inputs": {
"channel": "red",
"image": [
"37",
1
]
},
"class_type": "ImageToMask",
"_meta": {
"title": "Convert Image to Mask"
}
},
"49": {
"inputs": {
"blend_percentage": 1,
"image_a": [
"50",
0
],
"image_b": [
"37",
0
],
"mask": [
"47",
0
]
},
"class_type": "Image Blend by Mask",
"_meta": {
"title": "Image Blend by Mask"
}
},
"50": {
"inputs": {
"width": [
"51",
0
],
"height": [
"51",
1
],
"red": 0,
"green": 0,
"blue": 0
},
"class_type": "Image Blank",
"_meta": {
"title": "Image Blank"
}
},
"51": {
"inputs": {
"image": [
"37",
0
]
},
"class_type": "Get Image Size",
"_meta": {
"title": "Get Image Size"
}
}
}
+71
View File
@@ -0,0 +1,71 @@
{
"3": {
"inputs": {},
"class_type": "BRIA_RMBG_ModelLoader_Zho",
"_meta": {
"title": "🧹BRIA_RMBG Model Loader"
}
},
"17": {
"inputs": {
"rmbgmodel": [
"3",
0
],
"image": [
"37",
2
]
},
"class_type": "BRIA_RMBG_Zho",
"_meta": {
"title": "🧹BRIA RMBG"
}
},
"37": {
"inputs": {
"seed": 776618294764060
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"41": {
"inputs": {
"images": [
"17",
0
]
},
"class_type": "PreviewImage",
"_meta": {
"title": "Preview Image"
}
},
"42": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"43",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"43": {
"inputs": {
"image": [
"17",
0
]
},
"class_type": "ComfyNodesToSaveCanvas",
"_meta": {
"title": "ComfyNodesToSaveCanvas"
}
}
}
@@ -0,0 +1,119 @@
{
"16": {
"inputs": {
"seed": 25670445128187
},
"class_type": "OutpaintCanvasTool"
},
"22": {
"inputs": {
"image": [
"23",
0
]
},
"class_type": "stitch"
},
"23": {
"inputs": {
"image": [
"32",
0
]
},
"class_type": "ImageOutputToComfyNodes"
},
"26": {
"inputs": {
"device": "GPU",
"tomesd_value": 0.6,
"ip_adapter": "enable",
"reference_only": "enable",
"ip_adapter_model": "ip-adapter_sd15.bin",
"model_name": "Juggernaut",
"controlnet_model": "cn_inpaint"
},
"class_type": "LCMLoraLoader_inpaint"
},
"29": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"22",
0
]
},
"class_type": "SaveImage_Canvas"
},
"30": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"image": [
"16",
2
],
"resize_width": [
"31",
0
],
"resize_height": [
"31",
1
]
},
"class_type": "ImageResize"
},
"31": {
"inputs": {
"image": [
"16",
0
]
},
"class_type": "ImageDims"
},
"32": {
"inputs": {
"seed": 0,
"text": "",
"steps": 4,
"cfg": 1.5,
"reference_style_fidelity": 0.1,
"batch": 1,
"strength": 1.0,
"prompt_weighting": "disable",
"controlnet_weight": 1,
"reference_only": "enable",
"ip_adapter": "enable",
"ipadapter_scale": 0.1,
"width": [
"31",
0
],
"height": [
"31",
1
],
"mask": [
"16",
1
],
"image": [
"16",
0
],
"reference_image": [
"30",
0
],
"pipe": [
"26",
0
]
},
"class_type": "LCMLora_inpaintV2"
}
}
@@ -0,0 +1,146 @@
{
"16": {
"inputs": {
"seed": 25670445128187
},
"class_type": "OutpaintCanvasTool"
},
"19": {
"inputs": {
"images": [
"16",
0
]
},
"class_type": "PreviewImage"
},
"20": {
"inputs": {
"images": [
"16",
1
]
},
"class_type": "PreviewImage"
},
"21": {
"inputs": {
"images": [
"16",
2
]
},
"class_type": "PreviewImage"
},
"22": {
"inputs": {
"image": [
"23",
0
]
},
"class_type": "stitch"
},
"23": {
"inputs": {
"image": [
"32",
0
]
},
"class_type": "ImageOutputToComfyNodes"
},
"26": {
"inputs": {
"device": "GPU",
"tomesd_value": 0.6,
"ip_adapter": "disable",
"reference_only": "enable",
"ip_adapter_model": "ip-adapter_sd15.bin",
"model_name": "Juggernaut",
"controlnet_model": "cn_inpaint"
},
"class_type": "LCMLoraLoader_inpaint"
},
"29": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"22",
0
]
},
"class_type": "SaveImage_Canvas"
},
"30": {
"inputs": {
"mode": "resize",
"supersample": "true",
"resampling": "lanczos",
"rescale_factor": 2,
"image": [
"16",
2
],
"resize_width": [
"31",
0
],
"resize_height": [
"31",
1
]
},
"class_type": "ImageResize"
},
"31": {
"inputs": {
"image": [
"16",
0
]
},
"class_type": "ImageDims"
},
"32": {
"inputs": {
"seed": 0,
"text": "",
"steps": 4,
"cfg": 1.5,
"reference_style_fidelity": 0.1,
"batch": 1,
"strength": 1,
"prompt_weighting": "disable",
"controlnet_weight": 1,
"reference_only": "enable",
"ip_adapter": "disable",
"ipadapter_scale": 0.19,
"width": [
"31",
0
],
"height": [
"31",
1
],
"mask": [
"16",
1
],
"image": [
"16",
0
],
"reference_image": [
"30",
0
],
"pipe": [
"26",
0
]
},
"class_type": "LCMLora_inpaintV2"
}
}
+174
View File
@@ -0,0 +1,174 @@
{
"3": {
"inputs": {
"seed": 156680208700286,
"steps": 8,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 1,
"model": [
"10",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"latent_image": [
"5",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"4": {
"inputs": {
"ckpt_name": "photon_v1.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"5": {
"inputs": {
"width": [
"13",
0
],
"height": [
"13",
1
],
"batch_size": 1
},
"class_type": "EmptyLatentImage",
"_meta": {
"title": "Empty Latent Image"
}
},
"6": {
"inputs": {
"text": "beautiful scenery nature glass bottle landscape, , purple galaxy bottle,",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"3",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"10": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"11",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"11": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"model": [
"4",
0
]
},
"class_type": "LoraLoaderModelOnly",
"_meta": {
"title": "LoraLoaderModelOnly"
}
},
"12": {
"inputs": {
"seed": 0
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"13": {
"inputs": {
"image": [
"12",
2
]
},
"class_type": "Get image size",
"_meta": {
"title": "Get image size"
}
},
"15": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"16",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"16": {
"inputs": {
"image": [
"8",
0
]
},
"class_type": "ComfyNodesToSaveCanvas",
"_meta": {
"title": "ComfyNodesToSaveCanvas"
}
}
}
+161
View File
@@ -0,0 +1,161 @@
{
"3": {
"inputs": {
"seed": 156680208700286,
"steps": 8,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 1,
"model": [
"10",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"latent_image": [
"15",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"4": {
"inputs": {
"ckpt_name": "photon_v1.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"6": {
"inputs": {
"text": "beautiful scenery nature glass bottle landscape, , purple galaxy bottle,",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"3",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"10": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"11",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"11": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"model": [
"4",
0
]
},
"class_type": "LoraLoaderModelOnly",
"_meta": {
"title": "LoraLoaderModelOnly"
}
},
"12": {
"inputs": {
"seed": 0
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"15": {
"inputs": {
"pixels": [
"12",
2
],
"vae": [
"4",
2
]
},
"class_type": "VAEEncode",
"_meta": {
"title": "VAE Encode"
}
},
"16": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"17",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"17": {
"inputs": {
"image": [
"8",
0
]
},
"class_type": "ComfyNodesToSaveCanvas",
"_meta": {
"title": "ComfyNodesToSaveCanvas"
}
}
}
@@ -0,0 +1,186 @@
{
"3": {
"inputs": {
"seed": 156680208700286,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.5,
"model": [
"11",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"latent_image": [
"18",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"4": {
"inputs": {
"model_path": "Deliberatev2"
},
"class_type": "DiffusersLoader",
"_meta": {
"title": "DiffusersLoader"
}
},
"5": {
"inputs": {
"width": 512,
"height": 512,
"batch_size": 1
},
"class_type": "EmptyLatentImage",
"_meta": {
"title": "Empty Latent Image"
}
},
"6": {
"inputs": {
"text": "beautiful scenery nature glass bottle landscape, , purple galaxy bottle,",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"3",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"10": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"4",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"11": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"10",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"12": {
"inputs": {
"gligen_name": "gligen_sd14_textbox_pruned.safetensors"
},
"class_type": "GLIGENLoader",
"_meta": {
"title": "GLIGENLoader"
}
},
"15": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"16",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"16": {
"inputs": {
"image": [
"8",
0
]
},
"class_type": "ComfyNodesToSaveCanvas",
"_meta": {
"title": "ComfyNodesToSaveCanvas"
}
},
"17": {
"inputs": {
"seed": 0
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"18": {
"inputs": {
"pixels": [
"17",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEEncode",
"_meta": {
"title": "VAE Encode"
}
}
}
@@ -0,0 +1,186 @@
{
"3": {
"inputs": {
"seed": 156680208700286,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.5,
"model": [
"11",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"latent_image": [
"18",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"5": {
"inputs": {
"width": 512,
"height": 512,
"batch_size": 1
},
"class_type": "EmptyLatentImage",
"_meta": {
"title": "Empty Latent Image"
}
},
"6": {
"inputs": {
"text": "beautiful scenery nature glass bottle landscape, , purple galaxy bottle,",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"3",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"10": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"4",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"11": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"10",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"12": {
"inputs": {
"gligen_name": "gligen_sd14_textbox_pruned.safetensors"
},
"class_type": "GLIGENLoader",
"_meta": {
"title": "GLIGENLoader"
}
},
"15": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"16",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"16": {
"inputs": {
"image": [
"8",
0
]
},
"class_type": "ComfyNodesToSaveCanvas",
"_meta": {
"title": "ComfyNodesToSaveCanvas"
}
},
"17": {
"inputs": {
"seed": 0
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
},
"18": {
"inputs": {
"pixels": [
"17",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEEncode",
"_meta": {
"title": "VAE Encode"
}
}
}
+210
View File
@@ -0,0 +1,210 @@
{
"3": {
"inputs": {
"seed": 156680208700286,
"steps": 8,
"cfg": 7,
"sampler_name": "ddim",
"scheduler": "sgm_uniform",
"denoise": 1,
"model": [
"10",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"latent_image": [
"5",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"5": {
"inputs": {
"width": 512,
"height": 512,
"batch_size": 1
},
"class_type": "EmptyLatentImage",
"_meta": {
"title": "Empty Latent Image"
}
},
"6": {
"inputs": {
"text": "beautiful scenery nature glass bottle landscape, , purple galaxy bottle,",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"19",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"10": {
"inputs": {
"lora_name": "Hyper-SD15-8steps-CFG-lora.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"4",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"12": {
"inputs": {
"gligen_name": "gligen_sd14_textbox_pruned.safetensors"
},
"class_type": "GLIGENLoader",
"_meta": {
"title": "GLIGENLoader"
}
},
"15": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"16",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"16": {
"inputs": {
"image": [
"8",
0
]
},
"class_type": "ComfyNodesToSaveCanvas",
"_meta": {
"title": "ComfyNodesToSaveCanvas"
}
},
"17": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"4",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"18": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"17",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"19": {
"inputs": {
"seed": 156680208700286,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.5,
"model": [
"18",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"latent_image": [
"3",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
}
}
@@ -0,0 +1,237 @@
{
"3": {
"inputs": {
"add_noise": true,
"noise_seed": 0,
"cfg": 8,
"model": [
"10",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"sampler": [
"22",
0
],
"sigmas": [
"21",
0
],
"latent_image": [
"5",
0
]
},
"class_type": "SamplerCustom",
"_meta": {
"title": "SamplerCustom"
}
},
"4": {
"inputs": {
"model_path": "Deliberatev2"
},
"class_type": "DiffusersLoader",
"_meta": {
"title": "DiffusersLoader"
}
},
"5": {
"inputs": {
"width": 512,
"height": 512,
"batch_size": 1
},
"class_type": "EmptyLatentImage",
"_meta": {
"title": "Empty Latent Image"
}
},
"6": {
"inputs": {
"text": "beautiful scenery nature glass bottle landscape, , purple galaxy bottle,",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"19",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"10": {
"inputs": {
"lora_name": "Hyper-SD15-8steps-CFG-lora.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"4",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"12": {
"inputs": {
"gligen_name": "gligen_sd14_textbox_pruned.safetensors"
},
"class_type": "GLIGENLoader",
"_meta": {
"title": "GLIGENLoader"
}
},
"15": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"16",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"16": {
"inputs": {
"image": [
"8",
0
]
},
"class_type": "ComfyNodesToSaveCanvas",
"_meta": {
"title": "ComfyNodesToSaveCanvas"
}
},
"17": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"4",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"18": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"17",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"19": {
"inputs": {
"seed": 156680208700286,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.5,
"model": [
"18",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"latent_image": [
"3",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"21": {
"inputs": {
"steps": 8,
"model": [
"10",
0
]
},
"class_type": "TCDScheduler",
"_meta": {
"title": "TCDScheduler"
}
},
"22": {
"inputs": {
"gamma": 0.3
},
"class_type": "SamplerTCD",
"_meta": {
"title": "SamplerTCD"
}
}
}
+237
View File
@@ -0,0 +1,237 @@
{
"3": {
"inputs": {
"add_noise": true,
"noise_seed": 0,
"cfg": 8,
"model": [
"10",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"sampler": [
"22",
0
],
"sigmas": [
"21",
0
],
"latent_image": [
"5",
0
]
},
"class_type": "SamplerCustom",
"_meta": {
"title": "SamplerCustom"
}
},
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"5": {
"inputs": {
"width": 512,
"height": 512,
"batch_size": 1
},
"class_type": "EmptyLatentImage",
"_meta": {
"title": "Empty Latent Image"
}
},
"6": {
"inputs": {
"text": "beautiful scenery nature glass bottle landscape, , purple galaxy bottle,",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"19",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"10": {
"inputs": {
"lora_name": "Hyper-SD15-8steps-CFG-lora.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"4",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"12": {
"inputs": {
"gligen_name": "gligen_sd14_textbox_pruned.safetensors"
},
"class_type": "GLIGENLoader",
"_meta": {
"title": "GLIGENLoader"
}
},
"15": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"16",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"16": {
"inputs": {
"image": [
"8",
0
]
},
"class_type": "ComfyNodesToSaveCanvas",
"_meta": {
"title": "ComfyNodesToSaveCanvas"
}
},
"17": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"4",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"18": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"17",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"19": {
"inputs": {
"seed": 156680208700286,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.5,
"model": [
"18",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"latent_image": [
"3",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"21": {
"inputs": {
"steps": 8,
"model": [
"10",
0
]
},
"class_type": "TCDScheduler",
"_meta": {
"title": "TCDScheduler"
}
},
"22": {
"inputs": {
"gamma": 0.3
},
"class_type": "SamplerTCD",
"_meta": {
"title": "SamplerTCD"
}
}
}
+161
View File
@@ -0,0 +1,161 @@
{
"3": {
"inputs": {
"seed": 156680208700286,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 1,
"model": [
"11",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"latent_image": [
"5",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"5": {
"inputs": {
"width": 512,
"height": 512,
"batch_size": 1
},
"class_type": "EmptyLatentImage",
"_meta": {
"title": "Empty Latent Image"
}
},
"6": {
"inputs": {
"text": "beautiful scenery nature glass bottle landscape, , purple galaxy bottle,",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"3",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"10": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"4",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"11": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"10",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"12": {
"inputs": {
"gligen_name": "gligen_sd14_textbox_pruned.safetensors"
},
"class_type": "GLIGENLoader",
"_meta": {
"title": "GLIGENLoader"
}
},
"15": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"16",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"16": {
"inputs": {
"image": [
"8",
0
]
},
"class_type": "ComfyNodesToSaveCanvas",
"_meta": {
"title": "ComfyNodesToSaveCanvas"
}
}
}
+264
View File
@@ -0,0 +1,264 @@
{
"3": {
"inputs": {
"add_noise": true,
"noise_seed": 0,
"cfg": 8,
"model": [
"10",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"sampler": [
"22",
0
],
"sigmas": [
"21",
0
],
"latent_image": [
"5",
0
]
},
"class_type": "SamplerCustom",
"_meta": {
"title": "SamplerCustom"
}
},
"4": {
"inputs": {
"ckpt_name": "dreamshaper_8.safetensors"
},
"class_type": "CheckpointLoaderSimple",
"_meta": {
"title": "Load Checkpoint"
}
},
"5": {
"inputs": {
"width": [
"24",
4
],
"height": [
"24",
5
],
"batch_size": 1
},
"class_type": "EmptyLatentImage",
"_meta": {
"title": "Empty Latent Image"
}
},
"6": {
"inputs": {
"text": "beautiful scenery nature glass bottle landscape, , purple galaxy bottle,",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"7": {
"inputs": {
"text": "text, watermark",
"clip": [
"4",
1
]
},
"class_type": "CLIPTextEncode",
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"8": {
"inputs": {
"samples": [
"19",
0
],
"vae": [
"4",
2
]
},
"class_type": "VAEDecode",
"_meta": {
"title": "VAE Decode"
}
},
"10": {
"inputs": {
"lora_name": "Hyper-SD15-8steps-CFG-lora.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"4",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"12": {
"inputs": {
"gligen_name": "gligen_sd14_textbox_pruned.safetensors"
},
"class_type": "GLIGENLoader",
"_meta": {
"title": "GLIGENLoader"
}
},
"15": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"16",
0
]
},
"class_type": "SaveImage_Canvas",
"_meta": {
"title": "SaveImage_Canvas"
}
},
"16": {
"inputs": {
"image": [
"8",
0
]
},
"class_type": "ComfyNodesToSaveCanvas",
"_meta": {
"title": "ComfyNodesToSaveCanvas"
}
},
"17": {
"inputs": {
"lora_name": "pytorch_lora_weights_lcm.safetensors",
"strength_model": 1,
"strength_clip": 1,
"model": [
"4",
0
],
"clip": [
"4",
1
]
},
"class_type": "LoraLoader",
"_meta": {
"title": "Load LoRA"
}
},
"18": {
"inputs": {
"sampling": "lcm",
"zsnr": false,
"model": [
"17",
0
]
},
"class_type": "ModelSamplingDiscrete",
"_meta": {
"title": "ModelSamplingDiscrete"
}
},
"19": {
"inputs": {
"seed": 156680208700286,
"steps": 4,
"cfg": 1.5,
"sampler_name": "lcm",
"scheduler": "sgm_uniform",
"denoise": 0.5,
"model": [
"18",
0
],
"positive": [
"6",
0
],
"negative": [
"7",
0
],
"latent_image": [
"3",
0
]
},
"class_type": "KSampler",
"_meta": {
"title": "KSampler"
}
},
"21": {
"inputs": {
"steps": 8,
"model": [
"10",
0
]
},
"class_type": "TCDScheduler",
"_meta": {
"title": "TCDScheduler"
}
},
"22": {
"inputs": {
"gamma": 0.3
},
"class_type": "SamplerTCD",
"_meta": {
"title": "SamplerTCD"
}
},
"24": {
"inputs": {
"image": [
"25",
2
]
},
"class_type": "Image Size to Number",
"_meta": {
"title": "Image Size to Number"
}
},
"25": {
"inputs": {
"seed": 0
},
"class_type": "OutpaintCanvasTool",
"_meta": {
"title": "OutpaintCanvasTool"
}
}
}
+18
View File
@@ -0,0 +1,18 @@
{
"1": {
"inputs": {
"seed": 0
},
"class_type": "OutpaintCanvasTool"
},
"2": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"1",
0
]
},
"class_type": "SaveImage"
}
}
+266
View File
@@ -0,0 +1,266 @@
{
"3": {
"inputs": {},
"class_type": "BRIA_RMBG_ModelLoader_Zho"
},
"5": {
"inputs": {
"force_resize_width": 0,
"force_resize_height": 0,
"image": [
"30",
0
],
"mask": [
"28",
0
]
},
"class_type": "Cut By Mask"
},
"8": {
"inputs": {
"channel": "red",
"image": [
"22",
0
]
},
"class_type": "ImageToMask"
},
"10": {
"inputs": {
"expand": 40,
"tapered_corners": true,
"mask": [
"8",
0
]
},
"class_type": "GrowMask"
},
"11": {
"inputs": {
"width": 2108,
"height": 2108,
"batch_size": 1,
"color": 0
},
"class_type": "EmptyImage"
},
"12": {
"inputs": {
"top": 40,
"left": 40,
"right": 2088,
"bottom": 2088,
"crop_blending": 0,
"crop_sharpening": 0,
"image": [
"11",
0
],
"crop_image": [
"35",
0
]
},
"class_type": "Image Paste Crop by Location"
},
"15": {
"inputs": {
"images": [
"12",
0
]
},
"class_type": "PreviewImage"
},
"17": {
"inputs": {
"rmbgmodel": [
"3",
0
],
"image": [
"12",
0
]
},
"class_type": "BRIA_RMBG_Zho"
},
"18": {
"inputs": {
"images": [
"17",
0
]
},
"class_type": "PreviewImage"
},
"20": {
"inputs": {
"mask": [
"17",
1
]
},
"class_type": "MaskToImage"
},
"21": {
"inputs": {
"images": [
"20",
0
]
},
"class_type": "PreviewImage"
},
"22": {
"inputs": {
"bin_threshold": 100,
"resolution": 2048,
"image": [
"20",
0
]
},
"class_type": "BinaryPreprocessor"
},
"23": {
"inputs": {
"sigma": 10,
"masks": [
"10",
0
]
},
"class_type": "Mask Smooth Region"
},
"25": {
"inputs": {
"images": [
"22",
0
]
},
"class_type": "PreviewImage"
},
"26": {
"inputs": {
"images": [
"27",
0
]
},
"class_type": "PreviewImage"
},
"27": {
"inputs": {
"mask": [
"8",
0
]
},
"class_type": "MaskToImage"
},
"28": {
"inputs": {
"mask": [
"23",
0
]
},
"class_type": "MaskToImage"
},
"29": {
"inputs": {
"images": [
"28",
0
]
},
"class_type": "PreviewImage"
},
"30": {
"inputs": {
"top": 20,
"left": 20,
"right": 2068,
"bottom": 2068,
"crop_blending": 0,
"crop_sharpening": 0,
"image": [
"28",
0
],
"crop_image": [
"17",
0
]
},
"class_type": "Image Paste Crop by Location"
},
"31": {
"inputs": {
"images": [
"30",
0
]
},
"class_type": "PreviewImage"
},
"32": {
"inputs": {
"images": [
"5",
0
]
},
"class_type": "PreviewImage"
},
"34": {
"inputs": {
"model_name": "realesr-general-x4v3.pth"
},
"class_type": "UpscaleModelLoader"
},
"35": {
"inputs": {
"upscale_model": [
"34",
0
],
"image": [
"37",
0
]
},
"class_type": "ImageUpscaleWithModel"
},
"37": {
"inputs": {
"seed": 0
},
"class_type": "OutpaintCanvasTool"
},
"38": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": [
"39",
0
]
},
"class_type": "SaveImage_Canvas"
},
"39": {
"inputs": {
"image": [
"5",
0
]
},
"class_type": "ComfyNodesToSaveCanvas"
}
}