From 9d9c1a6c84654bc3efa241e86c65ae4796807796 Mon Sep 17 00:00:00 2001 From: shadowcz007 Date: Sat, 30 Dec 2023 12:29:01 +0800 Subject: [PATCH 01/12] update --- .gitignore | 3 +- README.md | 4 +- __init__.py | 76 ++++++-- example/image-to-image_1_Wed Dec 27 2023.json | 1 + .../text-to-image_1_Wed Dec 27 2023.json | 0 nodes/Utils.py | 13 +- web/index.html | 178 +++++++++++++++--- web/javascript/app_mixlab.js | 26 +-- 8 files changed, 232 insertions(+), 69 deletions(-) create mode 100644 example/image-to-image_1_Wed Dec 27 2023.json rename {app => example}/text-to-image_1_Wed Dec 27 2023.json (100%) diff --git a/.gitignore b/.gitignore index a43654a..cea31fe 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ __pycache__/ https/ nodes/config.json workflow/my_workflow.json -workflow/my_workflow_app.json \ No newline at end of file +workflow/my_workflow_app.json +app/* \ No newline at end of file diff --git a/README.md b/README.md index 681722f..b801fd1 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,8 @@ Example: ![APP info](./workflow/appinfo-workflow.svg) APP-JSON: -- [text-to-image](./app/text-to-image_1_Wed%20Dec%2027%202023.json) -- [image-to-image](./app/image-to-image_1_Wed%20Dec%2027%202023.json) +- [text-to-image](./example/text-to-image_1_Wed%20Dec%2027%202023.json) +- [image-to-image](./example/image-to-image_1_Wed%20Dec%2027%202023.json) - text-to-text > 暂时支持6种节点作为界面上的输入节点:Load Image、CLIPTextEncode、TextInput_、FloatSlider、CheckpointLoaderSimple、LoraLoader diff --git a/__init__.py b/__init__.py index c277074..1040796 100644 --- a/__init__.py +++ b/__init__.py @@ -162,17 +162,53 @@ def get_workflows(): workflows=read_workflow_json_files(workflow_path) return workflows -def get_my_workflow_for_app(): - # print("#####path::", current_path) - workflow_path=os.path.join(current_path, "workflow/my_workflow_app.json") - print('workflow_path: ',workflow_path) - json_data={} - try: - with open(workflow_path) as json_file: - json_data = json.load(json_file) - except: - print('-') - return json_data +def get_my_workflow_for_app(filename="my_workflow_app.json"): + app_path=os.path.join(current_path, "app") + if not os.path.exists(app_path): + os.mkdir(app_path) + + apps=[] + if filename==None: + data=read_workflow_json_files(app_path) + i=0 + for item in data: + try: + x=item["data"] + if i==0: + apps.append({ + "filename":item["filename"], + "data":x, + "date":item["date"] + }) + else: + apps.append({ + "filename":item["filename"], + "data":{ + "app":{ + "description":x['app']['description'], + "filename":(x['app']['filename'] if 'filename' in x['app'] else "") , + "icon":x['app']['icon'], + "name":x['app']['name'], + "version":x['app']['version'], + } + }, + "date":item["date"] + }) + i+=1 + except Exception as e: + print("发生异常:", str(e)) + else: + app_workflow_path=os.path.join(app_path, filename) + # print('app_workflow_path: ',app_workflow_path) + try: + with open(app_workflow_path) as json_file: + apps = [{ + 'filename':filename, + 'data':json.load(json_file) + }] + except: + print('-') + return apps def save_workflow_json(data): workflow_path=os.path.join(current_path, "workflow/my_workflow.json") @@ -180,11 +216,14 @@ def save_workflow_json(data): json.dump(data, file) return workflow_path -def save_workflow_for_app(data): - workflow_path=os.path.join(current_path, "workflow/my_workflow_app.json") - with open(workflow_path, 'w') as file: +def save_workflow_for_app(data,filename="my_workflow_app.json"): + app_path=os.path.join(current_path, "app") + if not os.path.exists(app_path): + os.mkdir(app_path) + app_workflow_path=os.path.join(app_path, filename) + with open(app_workflow_path, 'w') as file: json.dump(data, file) - return workflow_path + return app_workflow_path def get_nodes_map(): # print("#####path::", current_path) @@ -295,14 +334,17 @@ async def mixlab_workflow_hander(request): 'file_path':file_path } elif data['task']=='save_app': - file_path=save_workflow_for_app(data['data']) + file_path=save_workflow_for_app(data['data'],data['filename']) result={ 'status':'success', 'file_path':file_path } elif data['task']=='my_app': + filename=None + if 'filename' in data: + filename=data['filename'] result={ - 'data':get_my_workflow_for_app(), + 'data':get_my_workflow_for_app(filename), 'status':'success', } elif data['task']=='list': diff --git a/example/image-to-image_1_Wed Dec 27 2023.json b/example/image-to-image_1_Wed Dec 27 2023.json new file mode 100644 index 0000000..43d0766 --- /dev/null +++ b/example/image-to-image_1_Wed Dec 27 2023.json @@ -0,0 +1 @@ +{"workflow":{"last_node_id":14,"last_link_id":16,"nodes":[{"id":6,"type":"VAEDecode","pos":[1885,-2361],"size":{"0":210,"1":46},"flags":{"collapsed":false},"order":7,"mode":0,"inputs":[{"name":"samples","type":"LATENT","link":7},{"name":"vae","type":"VAE","link":8}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[9],"slot_index":0}],"properties":{"Node name for S&R":"VAEDecode"}},{"id":11,"type":"LoadImage","pos":[583,-2681],"size":{"0":315,"1":314},"flags":{},"order":0,"mode":0,"outputs":[{"name":"IMAGE","type":"IMAGE","links":[12],"shape":3,"slot_index":0},{"name":"MASK","type":"MASK","links":null,"shape":3}],"properties":{"Node name for S&R":"LoadImage"},"widgets_values":["1703572811473.png","image"]},{"id":2,"type":"CheckpointLoaderSimple","pos":[606.7134002168859,-2074.502640857575],"size":{"0":315,"1":98},"flags":{},"order":1,"mode":0,"outputs":[{"name":"MODEL","type":"MODEL","links":[1],"slot_index":0},{"name":"CLIP","type":"CLIP","links":[5,6],"slot_index":1},{"name":"VAE","type":"VAE","links":[8,13],"slot_index":2}],"properties":{"Node name for S&R":"CheckpointLoaderSimple"},"widgets_values":["deliberate_v2.safetensors"]},{"id":12,"type":"VAEEncode","pos":[1016.6295835601803,-2655.91833999939],"size":{"0":210,"1":46},"flags":{},"order":5,"mode":0,"inputs":[{"name":"pixels","type":"IMAGE","link":12},{"name":"vae","type":"VAE","link":13}],"outputs":[{"name":"LATENT","type":"LATENT","links":[14],"shape":3,"slot_index":0}],"properties":{"Node name for S&R":"VAEEncode"}},{"id":5,"type":"CLIPTextEncode","pos":[1029,-2149],"size":{"0":425.27801513671875,"1":180.6060791015625},"flags":{},"order":4,"mode":0,"inputs":[{"name":"clip","type":"CLIP","link":6}],"outputs":[{"name":"CONDITIONING","type":"CONDITIONING","links":[3],"slot_index":0}],"title":"负向prompt","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":["text, watermark"]},{"id":4,"type":"CLIPTextEncode","pos":[1022,-2376],"size":{"0":422.84503173828125,"1":164.31304931640625},"flags":{},"order":3,"mode":0,"inputs":[{"name":"clip","type":"CLIP","link":5}],"outputs":[{"name":"CONDITIONING","type":"CONDITIONING","links":[2],"slot_index":0}],"title":"正向prompt","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":["blue hair"]},{"id":8,"type":"SaveImage","pos":[2596,-2428],"size":{"0":315,"1":270},"flags":{},"order":9,"mode":0,"inputs":[{"name":"images","type":"IMAGE","link":11}],"properties":{},"widgets_values":["image-to-image"]},{"id":1,"type":"KSampler","pos":[1509,-2394],"size":{"0":315,"1":262},"flags":{},"order":6,"mode":0,"inputs":[{"name":"model","type":"MODEL","link":1},{"name":"positive","type":"CONDITIONING","link":2},{"name":"negative","type":"CONDITIONING","link":3},{"name":"latent_image","type":"LATENT","link":14},{"name":"denoise","type":"FLOAT","link":16,"widget":{"name":"denoise"},"slot_index":4}],"outputs":[{"name":"LATENT","type":"LATENT","links":[7],"slot_index":0}],"properties":{"Node name for S&R":"KSampler"},"widgets_values":[906540972228779,"randomize",20,8,"euler","normal",0.59]},{"id":14,"type":"FloatSlider","pos":[1500,-2554],"size":{"0":315,"1":58},"flags":{},"order":2,"mode":0,"outputs":[{"name":"FLOAT","type":"FLOAT","links":[16],"shape":3,"slot_index":0}],"properties":{"Node name for S&R":"FloatSlider"},"widgets_values":[0.45]},{"id":7,"type":"AppInfo","pos":[2147,-2394],"size":{"0":404.71221923828125,"1":299.52880859375},"flags":{},"order":8,"mode":0,"inputs":[{"name":"image","type":"IMAGE","link":9}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[11],"shape":3,"slot_index":0}],"properties":{"Node name for S&R":"AppInfo"},"widgets_values":["image-to-image","\n11\n4\n14","8","最基本的工作流演示",1,null]}],"links":[[1,2,0,1,0,"MODEL"],[2,4,0,1,1,"CONDITIONING"],[3,5,0,1,2,"CONDITIONING"],[5,2,1,4,0,"CLIP"],[6,2,1,5,0,"CLIP"],[7,1,0,6,0,"LATENT"],[8,2,2,6,1,"VAE"],[9,6,0,7,0,"IMAGE"],[11,7,0,8,0,"IMAGE"],[12,11,0,12,0,"IMAGE"],[13,2,2,12,1,"VAE"],[14,12,0,1,3,"LATENT"],[16,14,0,1,4,"FLOAT"]],"groups":[],"config":{},"extra":{},"version":0.4},"output":{"1":{"inputs":{"seed":906540972228779,"steps":20,"cfg":8,"sampler_name":"euler","scheduler":"normal","denoise":["14",0],"model":["2",0],"positive":["4",0],"negative":["5",0],"latent_image":["12",0]},"class_type":"KSampler"},"2":{"inputs":{"ckpt_name":"deliberate_v2.safetensors"},"class_type":"CheckpointLoaderSimple"},"4":{"inputs":{"text":"blue hair","clip":["2",1]},"class_type":"CLIPTextEncode"},"5":{"inputs":{"text":"text, watermark","clip":["2",1]},"class_type":"CLIPTextEncode"},"6":{"inputs":{"samples":["1",0],"vae":["2",2]},"class_type":"VAEDecode"},"7":{"inputs":{"name":"image-to-image","input_ids":"\n11\n4\n14","output_ids":"8","description":"最基本的工作流演示","version":1,"AppInfoRun":null,"image":["6",0]},"class_type":"AppInfo"},"8":{"inputs":{"filename_prefix":"image-to-image","images":["7",0]},"class_type":"SaveImage"},"11":{"inputs":{"image":"1703572811473.png","upload":"image"},"class_type":"LoadImage"},"12":{"inputs":{"pixels":["11",0],"vae":["2",2]},"class_type":"VAEEncode"},"14":{"inputs":{"number":0.45},"class_type":"FloatSlider"}},"app":{"name":"image-to-image","description":"最基本的工作流演示","version":1,"input":[{"inputs":{"image":"1703572811473.png","upload":"image"},"class_type":"LoadImage","title":"Load Image","id":"11"},{"inputs":{"text":"blue hair","clip":["2",1]},"class_type":"CLIPTextEncode","title":"正向prompt","id":"4"},{"inputs":{"number":0.45},"class_type":"FloatSlider","title":"FloatSlider","id":"14"}],"output":[{"inputs":{"filename_prefix":"image-to-image","images":["7",0]},"class_type":"SaveImage","title":"Save Image","id":"8"}],"icon":"data:image/jpeg;base64,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"}} \ No newline at end of file diff --git a/app/text-to-image_1_Wed Dec 27 2023.json b/example/text-to-image_1_Wed Dec 27 2023.json similarity index 100% rename from app/text-to-image_1_Wed Dec 27 2023.json rename to example/text-to-image_1_Wed Dec 27 2023.json diff --git a/nodes/Utils.py b/nodes/Utils.py index 65d4f61..6134c08 100644 --- a/nodes/Utils.py +++ b/nodes/Utils.py @@ -369,14 +369,14 @@ class AppInfo: @classmethod def INPUT_TYPES(s): return {"required": { - "name": ("STRING",{"multiline": False,"default": "Mixlab-App"}), + "name": ("STRING",{"multiline": False,"default": "Mixlab-App","dynamicPrompts": False}), "image": ("IMAGE",), - "input_ids":("STRING",{"multiline": True,"default": "\n".join(["1","2","3"])}), - "output_ids":("STRING",{"multiline": True,"default": "\n".join(["5","9"])}), + "input_ids":("STRING",{"multiline": True,"default": "\n".join(["1","2","3"]),"dynamicPrompts": False}), + "output_ids":("STRING",{"multiline": True,"default": "\n".join(["5","9"]),"dynamicPrompts": False}), }, "optional":{ - "description":("STRING",{"multiline": True,"default": ""}), + "description":("STRING",{"multiline": True,"default": "","dynamicPrompts": False}), "version":("INT", { "default": 1, "min": 1, @@ -384,6 +384,7 @@ class AppInfo: "step": 1, "display": "number" }), + "share_prefix":("STRING",{"multiline": False,"default": "","dynamicPrompts": False}), } } @@ -398,13 +399,13 @@ class AppInfo: INPUT_IS_LIST = False OUTPUT_IS_LIST = (False,) - def run(self,name,image,input_ids,output_ids,description,version): + def run(self,name,image,input_ids,output_ids,description,version,share_prefix): im=create_temp_file(image) # id=get_json_hash([name,im,input_ids,output_ids,description,version]) - return {"ui": {"json": [name,im,input_ids,output_ids,description,version]}, "result": (image,)} + return {"ui": {"json": [name,im,input_ids,output_ids,description,version,share_prefix]}, "result": (image,)} diff --git a/web/index.html b/web/index.html index 2e60eb6..43ab956 100644 --- a/web/index.html +++ b/web/index.html @@ -13,7 +13,63 @@ margin-left: 5%; } + .apps { + margin: 0 32px; + background: whitesmoke; + color: black; + padding: 12px; + cursor: pointer; + } + .apps .content { + display: flex; + } + + .apps .card { + width: 200px; + margin: 12px; + display: flex; + flex-direction: row; + background: #f8f8f8; + cursor: pointer; + user-select: none; + } + + .apps .selected { + box-shadow: 0px 0px 10px 10px #fbe9f0 + } + + .apps .card:hover { + box-shadow: 0px 0px 10px 10px #e9fbfa + } + + .apps .card h5 { + font-size: 14px; + margin: 10px 0; + } + + .apps .card p { + margin: 0; + padding: 0; + } + + .apps .card img { + width: 100px; + height: fit-content; + margin-right: 12px; + } + + .apps .card .item { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: flex-start; + } + + .apps .card .version { + font-size: 12px; + + } .status { background: black; @@ -138,22 +194,21 @@ .upload_btn { width: 188px; cursor: pointer; - height: 188px; - background: black; + /* height: 188px; */ + /* background: black; */ color: white; display: flex; justify-content: center; align-items: center; text-align: center; font-size: 14px; - margin-left: calc(50% - 94px); - margin-top: calc(30vh - 94px); + color: black; } - .upload_btn:hover { + /* .upload_btn:hover { outline: 4px solid yellow; color: yellow; - } + } */ .show_text { font-size: 14px; @@ -258,24 +313,34 @@ }); } - async function get_my_app() { + async function get_my_app(filename = null) { let url = get_url() const res = await fetch(`${url}/mixlab/workflow`, { method: 'POST', body: JSON.stringify({ - task: 'my_app' + task: 'my_app', + filename }) }) let result = await res.json(); + let data = []; + try { + for (const res of result.data) { + let { output, app } = res.data + data.push({ + ...app, + data: output, + date: res.date + }) + } + } catch (error) { - let { output, app } = result.data - - return { - ...app, - data: output } + + + return data } @@ -750,7 +815,7 @@ }); } - } + }, }; } @@ -758,7 +823,7 @@ // 创建一个div元素 var div = document.createElement('div'); - div.className = 'upload_btn' + div.className = 'upload_btn card' div.textContent = '点击上传JSON文件'; div.addEventListener('click', function () { document.getElementById('jsonFileInput').click(); @@ -775,10 +840,10 @@ reader.onload = function (e) { var contents = e.target.result; var jsonData = JSON.parse(contents); - setTimeout(() => { - div.remove(); - input.remove(); - }, 500); + // setTimeout(() => { + // div.remove(); + // input.remove(); + // }, 500); let { output, app } = jsonData; @@ -786,7 +851,7 @@ ...app, data: output }; - + document.body.querySelector('.app').remove() createApp(window._appData); // res(jsonData); @@ -795,10 +860,9 @@ }); // 将div和input元素添加到body中 - document.body.appendChild(div); + // document.body.appendChild(div); document.body.appendChild(input); - - + return div } @@ -886,22 +950,74 @@ api.api_base = "" api.init(); + } + // 创建app的选择菜单 + function createAppList(apps = []) { + let details = document.createElement('details'); + details.className = 'apps'; + + details.innerHTML = `APPs +
` + + let div = details.querySelector('div'); + + for (let index = 0; index < apps.length; index++) { + const app = apps[index]; + let d = document.createDocumentFragment(); + let dd = document.createElement('div'); + d.appendChild(dd); + dd.className = 'card' + (index == 0 ? ' selected' : '') + dd.innerHTML = ` +
+ +
+
+
+
${app.name}
+

${app.description}

+
+
+

version: ${app.version}

+ +
+
+ ` + + div.appendChild(d); + dd.addEventListener('click', async e => { + e.preventDefault(); + Array.from(div.querySelectorAll('.card'), c => c.classList.remove('selected')); + dd.className = 'card selected' + // console.log(app.filename) + + window._appData = (await get_my_app(app.filename))[0]; + document.body.querySelector('.app').remove() + createApp(window._appData); + + }) + // console.log(div) + }; + + let uploadApp = createUploadJson(); + div.appendChild(uploadApp); + + document.body.appendChild(details); + } async function init_app() { - let appData = {} - const type = getTypeFromUrl(location.href); if (type === 'new') { - createUploadJson(); - } else { - appData = await get_my_app(); - // console.log(appData) - window._appData = appData; - createApp(appData); + } else { + window._apps = await get_my_app(); + window._appData = window._apps[0]; + createAppList(window._apps); + createApp(window._appData); + // console.log(appData) + } diff --git a/web/javascript/app_mixlab.js b/web/javascript/app_mixlab.js index 454cdcd..c502468 100644 --- a/web/javascript/app_mixlab.js +++ b/web/javascript/app_mixlab.js @@ -81,8 +81,9 @@ function extractInputAndOutputData (jsonData, inputIds = [], outputIds = []) { if (node.type === 'CheckpointLoaderSimple') { options = node.widgets.filter(w => w.name === 'ckpt_name')[0] .options.values - }else if(node.type === 'LoraLoader'){ - options =node.widgets.filter(w=>w.name==='lora_name')[0].options.values + } else if (node.type === 'LoraLoader') { + options = node.widgets.filter(w => w.name === 'lora_name')[0] + .options.values } } catch (error) {} @@ -119,7 +120,8 @@ async function save_app (json) { method: 'POST', body: JSON.stringify({ data: json, - task: 'save_app' + task: 'save_app', + filename: json.app.filename }) }) return await res.json() @@ -170,7 +172,8 @@ async function save (json, download = false) { description, version, input, - output + output, + filename: `${name}_${version}_${new Date().toDateString()}.json` } try { @@ -180,10 +183,7 @@ async function save (json, download = false) { // let http_workflow = app.graph.serialize() if (download) { - await downloadJsonFile( - data, - `${data.app.name}_${data.app.version}_${new Date().toDateString()}.json` - ) + await downloadJsonFile(data, data.app.filename) let open = window.confirm( `You can now access the standalone application on a new page!\n${getUrl()}/mixlab/app?type=new` ) @@ -208,7 +208,7 @@ app.registerExtension({ const orig_nodeCreated = nodeType.prototype.onNodeCreated nodeType.prototype.onNodeCreated = function () { orig_nodeCreated?.apply(this, arguments) - // console.log(this) + console.log('#orig_nodeCreated', this) const widget = { type: 'div', name: 'AppInfoRun', @@ -218,7 +218,7 @@ app.registerExtension({ get_position_style( ctx, widget_width, - node.widgets[4].last_y + 24, + node.size[1] - widget_height, node.size[1] ) ) @@ -236,7 +236,7 @@ app.registerExtension({ widget.div = $el('div', {}) const btn = document.createElement('button') - btn.innerText = 'Save For App' + btn.innerText = 'Save & Open' btn.style = style btn.addEventListener('click', () => { @@ -246,6 +246,7 @@ app.registerExtension({ } else { alert('Please run the workflow before saving') // app.queuePrompt(0, 1) + this.widgets.filter(w => w.name === 'version')[0].value += 1 } }) @@ -261,6 +262,7 @@ app.registerExtension({ } else { alert('Please run the workflow before saving') // app.queuePrompt(0, 1) + this.widgets.filter(w => w.name === 'version')[0].value += 1 } }) @@ -282,7 +284,7 @@ app.registerExtension({ const onExecuted = nodeType.prototype.onExecuted nodeType.prototype.onExecuted = async function (message) { onExecuted?.apply(this, arguments) - // console.log(this.widgets) + console.log(message.json) window._mixlab_app_json = message.json try { From 4153d3e5ffa5899b546c2669f23f6025e4e14945 Mon Sep 17 00:00:00 2001 From: shadowcz007 Date: Sat, 30 Dec 2023 12:37:03 +0800 Subject: [PATCH 02/12] 1 --- __init__.py | 6 +++--- web/index.html | 13 +++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/__init__.py b/__init__.py index 1040796..fa502fd 100644 --- a/__init__.py +++ b/__init__.py @@ -187,7 +187,7 @@ def get_my_workflow_for_app(filename="my_workflow_app.json"): "app":{ "description":x['app']['description'], "filename":(x['app']['filename'] if 'filename' in x['app'] else "") , - "icon":x['app']['icon'], + "icon":(x['app']['icon'] if 'icon' in x['app'] else None), "name":x['app']['name'], "version":x['app']['version'], } @@ -206,8 +206,8 @@ def get_my_workflow_for_app(filename="my_workflow_app.json"): 'filename':filename, 'data':json.load(json_file) }] - except: - print('-') + except Exception as e: + print("发生异常:", str(e)) return apps def save_workflow_json(data): diff --git a/web/index.html b/web/index.html index 43ab956..001d32a 100644 --- a/web/index.html +++ b/web/index.html @@ -328,8 +328,8 @@ let data = []; try { for (const res of result.data) { - let { output, app } = res.data - data.push({ + let { output, app } = res.data; + if(app.filename) data.push({ ...app, data: output, date: res.date @@ -851,7 +851,7 @@ ...app, data: output }; - document.body.querySelector('.app').remove() + if (document.body.querySelector('.app')) document.body.querySelector('.app').remove() createApp(window._appData); // res(jsonData); @@ -867,6 +867,7 @@ async function createApp(appData) { + console.log(appData) // 使用示例: var ui = createUI(appData.input, appData.output); @@ -958,7 +959,7 @@ let details = document.createElement('details'); details.className = 'apps'; - details.innerHTML = `APPs + details.innerHTML = `APPs #${apps.length}
` let div = details.querySelector('div'); @@ -971,7 +972,7 @@ dd.className = 'card' + (index == 0 ? ' selected' : '') dd.innerHTML = `
- +
@@ -993,7 +994,7 @@ // console.log(app.filename) window._appData = (await get_my_app(app.filename))[0]; - document.body.querySelector('.app').remove() + if (document.body.querySelector('.app')) document.body.querySelector('.app').remove() createApp(window._appData); }) From a968f08abd1251cccd9f6e67009a654277a2d048 Mon Sep 17 00:00:00 2001 From: shadowcz007 Date: Sat, 30 Dec 2023 14:16:44 +0800 Subject: [PATCH 03/12] update --- __init__.py | 19 ++++++++++++++++-- app/image-to-image_1_Wed Dec 27 2023.json | 1 - web/index.html | 24 +++++++++++------------ web/javascript/app_mixlab.js | 8 +++++++- 4 files changed, 35 insertions(+), 17 deletions(-) delete mode 100644 app/image-to-image_1_Wed Dec 27 2023.json diff --git a/__init__.py b/__init__.py index fa502fd..954f104 100644 --- a/__init__.py +++ b/__init__.py @@ -4,7 +4,7 @@ import subprocess import importlib.util import sys,json import urllib - +import hashlib import datetime @@ -79,6 +79,13 @@ install_openai() current_path = os.path.abspath(os.path.dirname(__file__)) + +def calculate_md5(string): + encoded_string = string.encode() + md5_hash = hashlib.md5(encoded_string).hexdigest() + return md5_hash + + def create_key(key_p,crt_p): import OpenSSL # 生成自签名证书 @@ -221,9 +228,17 @@ def save_workflow_for_app(data,filename="my_workflow_app.json"): if not os.path.exists(app_path): os.mkdir(app_path) app_workflow_path=os.path.join(app_path, filename) + + try: + output_str = json.dumps(data['output']) + data['app']['id']=calculate_md5(output_str) + # id=data['app']['id'] + except Exception as e: + print("发生异常:", str(e)) + with open(app_workflow_path, 'w') as file: json.dump(data, file) - return app_workflow_path + return filename def get_nodes_map(): # print("#####path::", current_path) diff --git a/app/image-to-image_1_Wed Dec 27 2023.json b/app/image-to-image_1_Wed Dec 27 2023.json deleted file mode 100644 index 43d0766..0000000 --- a/app/image-to-image_1_Wed Dec 27 2023.json +++ /dev/null @@ -1 +0,0 @@ -{"workflow":{"last_node_id":14,"last_link_id":16,"nodes":[{"id":6,"type":"VAEDecode","pos":[1885,-2361],"size":{"0":210,"1":46},"flags":{"collapsed":false},"order":7,"mode":0,"inputs":[{"name":"samples","type":"LATENT","link":7},{"name":"vae","type":"VAE","link":8}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[9],"slot_index":0}],"properties":{"Node name for S&R":"VAEDecode"}},{"id":11,"type":"LoadImage","pos":[583,-2681],"size":{"0":315,"1":314},"flags":{},"order":0,"mode":0,"outputs":[{"name":"IMAGE","type":"IMAGE","links":[12],"shape":3,"slot_index":0},{"name":"MASK","type":"MASK","links":null,"shape":3}],"properties":{"Node name for S&R":"LoadImage"},"widgets_values":["1703572811473.png","image"]},{"id":2,"type":"CheckpointLoaderSimple","pos":[606.7134002168859,-2074.502640857575],"size":{"0":315,"1":98},"flags":{},"order":1,"mode":0,"outputs":[{"name":"MODEL","type":"MODEL","links":[1],"slot_index":0},{"name":"CLIP","type":"CLIP","links":[5,6],"slot_index":1},{"name":"VAE","type":"VAE","links":[8,13],"slot_index":2}],"properties":{"Node name for S&R":"CheckpointLoaderSimple"},"widgets_values":["deliberate_v2.safetensors"]},{"id":12,"type":"VAEEncode","pos":[1016.6295835601803,-2655.91833999939],"size":{"0":210,"1":46},"flags":{},"order":5,"mode":0,"inputs":[{"name":"pixels","type":"IMAGE","link":12},{"name":"vae","type":"VAE","link":13}],"outputs":[{"name":"LATENT","type":"LATENT","links":[14],"shape":3,"slot_index":0}],"properties":{"Node name for S&R":"VAEEncode"}},{"id":5,"type":"CLIPTextEncode","pos":[1029,-2149],"size":{"0":425.27801513671875,"1":180.6060791015625},"flags":{},"order":4,"mode":0,"inputs":[{"name":"clip","type":"CLIP","link":6}],"outputs":[{"name":"CONDITIONING","type":"CONDITIONING","links":[3],"slot_index":0}],"title":"负向prompt","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":["text, watermark"]},{"id":4,"type":"CLIPTextEncode","pos":[1022,-2376],"size":{"0":422.84503173828125,"1":164.31304931640625},"flags":{},"order":3,"mode":0,"inputs":[{"name":"clip","type":"CLIP","link":5}],"outputs":[{"name":"CONDITIONING","type":"CONDITIONING","links":[2],"slot_index":0}],"title":"正向prompt","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":["blue hair"]},{"id":8,"type":"SaveImage","pos":[2596,-2428],"size":{"0":315,"1":270},"flags":{},"order":9,"mode":0,"inputs":[{"name":"images","type":"IMAGE","link":11}],"properties":{},"widgets_values":["image-to-image"]},{"id":1,"type":"KSampler","pos":[1509,-2394],"size":{"0":315,"1":262},"flags":{},"order":6,"mode":0,"inputs":[{"name":"model","type":"MODEL","link":1},{"name":"positive","type":"CONDITIONING","link":2},{"name":"negative","type":"CONDITIONING","link":3},{"name":"latent_image","type":"LATENT","link":14},{"name":"denoise","type":"FLOAT","link":16,"widget":{"name":"denoise"},"slot_index":4}],"outputs":[{"name":"LATENT","type":"LATENT","links":[7],"slot_index":0}],"properties":{"Node name for S&R":"KSampler"},"widgets_values":[906540972228779,"randomize",20,8,"euler","normal",0.59]},{"id":14,"type":"FloatSlider","pos":[1500,-2554],"size":{"0":315,"1":58},"flags":{},"order":2,"mode":0,"outputs":[{"name":"FLOAT","type":"FLOAT","links":[16],"shape":3,"slot_index":0}],"properties":{"Node name for S&R":"FloatSlider"},"widgets_values":[0.45]},{"id":7,"type":"AppInfo","pos":[2147,-2394],"size":{"0":404.71221923828125,"1":299.52880859375},"flags":{},"order":8,"mode":0,"inputs":[{"name":"image","type":"IMAGE","link":9}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[11],"shape":3,"slot_index":0}],"properties":{"Node name for S&R":"AppInfo"},"widgets_values":["image-to-image","\n11\n4\n14","8","最基本的工作流演示",1,null]}],"links":[[1,2,0,1,0,"MODEL"],[2,4,0,1,1,"CONDITIONING"],[3,5,0,1,2,"CONDITIONING"],[5,2,1,4,0,"CLIP"],[6,2,1,5,0,"CLIP"],[7,1,0,6,0,"LATENT"],[8,2,2,6,1,"VAE"],[9,6,0,7,0,"IMAGE"],[11,7,0,8,0,"IMAGE"],[12,11,0,12,0,"IMAGE"],[13,2,2,12,1,"VAE"],[14,12,0,1,3,"LATENT"],[16,14,0,1,4,"FLOAT"]],"groups":[],"config":{},"extra":{},"version":0.4},"output":{"1":{"inputs":{"seed":906540972228779,"steps":20,"cfg":8,"sampler_name":"euler","scheduler":"normal","denoise":["14",0],"model":["2",0],"positive":["4",0],"negative":["5",0],"latent_image":["12",0]},"class_type":"KSampler"},"2":{"inputs":{"ckpt_name":"deliberate_v2.safetensors"},"class_type":"CheckpointLoaderSimple"},"4":{"inputs":{"text":"blue hair","clip":["2",1]},"class_type":"CLIPTextEncode"},"5":{"inputs":{"text":"text, watermark","clip":["2",1]},"class_type":"CLIPTextEncode"},"6":{"inputs":{"samples":["1",0],"vae":["2",2]},"class_type":"VAEDecode"},"7":{"inputs":{"name":"image-to-image","input_ids":"\n11\n4\n14","output_ids":"8","description":"最基本的工作流演示","version":1,"AppInfoRun":null,"image":["6",0]},"class_type":"AppInfo"},"8":{"inputs":{"filename_prefix":"image-to-image","images":["7",0]},"class_type":"SaveImage"},"11":{"inputs":{"image":"1703572811473.png","upload":"image"},"class_type":"LoadImage"},"12":{"inputs":{"pixels":["11",0],"vae":["2",2]},"class_type":"VAEEncode"},"14":{"inputs":{"number":0.45},"class_type":"FloatSlider"}},"app":{"name":"image-to-image","description":"最基本的工作流演示","version":1,"input":[{"inputs":{"image":"1703572811473.png","upload":"image"},"class_type":"LoadImage","title":"Load Image","id":"11"},{"inputs":{"text":"blue hair","clip":["2",1]},"class_type":"CLIPTextEncode","title":"正向prompt","id":"4"},{"inputs":{"number":0.45},"class_type":"FloatSlider","title":"FloatSlider","id":"14"}],"output":[{"inputs":{"filename_prefix":"image-to-image","images":["7",0]},"class_type":"SaveImage","title":"Save Image","id":"8"}],"icon":"data:image/jpeg;base64,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"}} \ No newline at end of file diff --git a/web/index.html b/web/index.html index 001d32a..ffefeb4 100644 --- a/web/index.html +++ b/web/index.html @@ -329,7 +329,7 @@ try { for (const res of result.data) { let { output, app } = res.data; - if(app.filename) data.push({ + if (app.filename) data.push({ ...app, data: output, date: res.date @@ -664,16 +664,16 @@ return [div, selectElement]; } - function getTypeFromUrl(url) { + function getFilenameFromUrl(url) { const queryString = url.split('?')[1]; if (!queryString) { return null; } const params = new URLSearchParams(queryString); - const type = params.get('type'); + const filename = decodeURIComponent(params.get('filename')); - return type; + return filename; } @@ -1009,19 +1009,17 @@ async function init_app() { - const type = getTypeFromUrl(location.href); - if (type === 'new') { - + const filename = getFilenameFromUrl(location.href); + if (filename) { + window._apps = await get_my_app(filename); } else { window._apps = await get_my_app(); - window._appData = window._apps[0]; - createAppList(window._apps); - createApp(window._appData); - // console.log(appData) - } - + window._appData = window._apps[0]; + createAppList(window._apps); + createApp(window._appData); + }; init_app() diff --git a/web/javascript/app_mixlab.js b/web/javascript/app_mixlab.js index c502468..984b0d9 100644 --- a/web/javascript/app_mixlab.js +++ b/web/javascript/app_mixlab.js @@ -146,6 +146,7 @@ function downloadJsonFile (jsonData, fileName = 'mix_app.json') { async function save (json, download = false) { const name = json[0], version = json[5], + share_prefix = json[6], //用于分享的功能扩展 description = json[4], inputIds = json[2].split('\n').filter(f => f), outputIds = json[3].split('\n').filter(f => f) @@ -173,6 +174,7 @@ async function save (json, download = false) { version, input, output, + share_prefix, filename: `${name}_${version}_${new Date().toDateString()}.json` } @@ -183,11 +185,15 @@ async function save (json, download = false) { // let http_workflow = app.graph.serialize() if (download) { + const { filename } = await save_app(data) await downloadJsonFile(data, data.app.filename) let open = window.confirm( `You can now access the standalone application on a new page!\n${getUrl()}/mixlab/app?type=new` ) - if (open) window.open(`${getUrl()}/mixlab/app?type=new`) + if (open) + window.open( + `${getUrl()}/mixlab/app?filename=${encodeURIComponent(filename)}` + ) } else { await save_app(data) From 3069de188af28011aaac416151465f35093471fa Mon Sep 17 00:00:00 2001 From: shadowcz007 Date: Sat, 30 Dec 2023 17:02:44 +0800 Subject: [PATCH 04/12] 1 --- __init__.py | 2 +- nodes/ChatGPT.py | 10 +- web/index.html | 211 ++++++++++++++++++++++++++++++++--- web/javascript/app_mixlab.js | 6 +- 4 files changed, 206 insertions(+), 23 deletions(-) diff --git a/__init__.py b/__init__.py index 954f104..660495d 100644 --- a/__init__.py +++ b/__init__.py @@ -416,7 +416,7 @@ PromptServer.add_routes=new_add_routes # 导入节点 from .nodes.PromptNode import RandomPrompt -from .nodes.ImageNode import NoiseImage,TransparentImage,LoadImagesFromPath,LoadImagesFromURL,ResizeImage,TextImage,SvgImage,Image3D,EmptyLayer,ShowLayer,NewLayer,MergeLayers,AreaToMask,SmoothMask,FeatheredMask,SplitLongMask,ImageCropByAlpha,EnhanceImage,FaceToMask +from .nodes.ImageNode import NoiseImage,TransparentImage,LoadImagesFromPath,LoadImagesFromURL,ResizeImage,TextImage,SvgImage,Image3D,ShowLayer,NewLayer,MergeLayers,AreaToMask,SmoothMask,FeatheredMask,SplitLongMask,ImageCropByAlpha,EnhanceImage,FaceToMask from .nodes.Vae import VAELoader,VAEDecode from .nodes.ScreenShareNode import ScreenShareNode,FloatingVideo from .nodes.Clipseg import CLIPSeg,CombineMasks diff --git a/nodes/ChatGPT.py b/nodes/ChatGPT.py index 65a506d..5e08ee8 100644 --- a/nodes/ChatGPT.py +++ b/nodes/ChatGPT.py @@ -75,11 +75,11 @@ class ChatGPTNode: "required": { "api_key":("KEY", {"default": "", "multiline": True}), "api_url":("URL", {"default": "", "multiline": True}), - "prompt": ("STRING", {"multiline": True}), + "prompt": ("STRING", {"multiline": True,"dynamicPrompts": False}), "system_content": ("STRING", { "default": "You are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible.", - "multiline": True + "multiline": True,"dynamicPrompts": False }), "model": (["gpt-3.5-turbo","gpt-35-turbo","gpt-3.5-turbo-16k", "gpt-3.5-turbo-16k-0613", "gpt-4-0613","gpt-4-1106-preview"], {"default": "gpt-3.5-turbo"}), @@ -167,7 +167,7 @@ class ShowTextForGPT: def INPUT_TYPES(s): return { "required": { - "text": ("STRING", {"forceInput": True}), + "text": ("STRING", {"forceInput": True,"dynamicPrompts": False}), } } @@ -189,8 +189,8 @@ class CharacterInText: def INPUT_TYPES(s): return { "required": { - "text": ("STRING", {"multiline": True}), - "character": ("STRING", {"multiline": True}), + "text": ("STRING", {"multiline": True,"dynamicPrompts": False}), + "character": ("STRING", {"multiline": True,"dynamicPrompts": False}), "start_index": ("INT", { "default": 1, "min": 0, #Minimum value diff --git a/web/index.html b/web/index.html index ffefeb4..5566630 100644 --- a/web/index.html +++ b/web/index.html @@ -124,13 +124,18 @@ flex-direction: column; } + .output { + width: 90%; + margin: 12px; + } + .output_card { height: 100%; width: 100%; box-shadow: 0px 0px 8px 3px #e6e7e7; display: flex; - + flex-wrap: wrap; /* justify-content: center; align-items: center; */ @@ -140,6 +145,8 @@ video { max-width: 400px; max-height: 600px; + margin: 8px; + min-width: 200px; } .card { @@ -213,8 +220,9 @@ .show_text { font-size: 14px; /* display: inline-block; */ - /* margin: 13px; */ + margin: 8px; padding: 32px; + min-width: 200px; background: #242424; color: white; } @@ -345,24 +353,69 @@ function createOutputs(outputData) { - // Array.from( window._appData.output,n=>n.id) - const container = document.createElement("div"); - container.className = 'output_card' + const container = document.createElement('div'); + container.className = "output"; + + const action = document.createElement('div'); + container.appendChild(action) + + const copyHTML = document.createElement('button'); + copyHTML.innerText = 'copy as html' + action.appendChild(copyHTML) + + const copyImages = document.createElement('button'); + copyImages.innerText = 'copy images' + action.appendChild(copyImages) + copyImages.style.marginLeft = '18px'; + + const copyText = document.createElement('button'); + copyText.innerText = 'copy text' + action.appendChild(copyText) + copyText.style.marginLeft = '18px'; + + const output_card = document.createElement("div"); + output_card.className = 'output_card' + container.appendChild(output_card) + + const success = (isSuccess, btn, text) => { + isSuccess ? btn.innerText = 'success' : text; + setTimeout(() => { + btn.innerText = text; + }, 5000) + } + + copyText.addEventListener('click', e => { + e.preventDefault(); + copyTextToClipboard(output_card.outerHTML, (r) => success(r, copyText, 'copy text')) + + }) + + copyImages.addEventListener('click', e => { + e.preventDefault(); + // copyHtmlWithImagesToClipboard(output_card.outerHTML) + copyImagesToClipboard(output_card.outerHTML, (r) => success(r, copyText, 'copy images')) + // copyTextToClipboard() + }) + copyHTML.addEventListener('click', e => { + e.preventDefault(); + copyHtmlWithImagesToClipboard(output_card.outerHTML, (r) => success(r, copyText, 'copy as html')) + // copyImagesToClipboard(output_card.outerHTML) + }) for (const node of outputData) { - console.log('output', node) + // console.log('output', node) if (node.class_type == "ShowTextForGPT") { let div = document.createElement('div'); div.className = "show_text" div.id = `output_${node.id}`; - div.innerText = node.inputs.text[0] - container.appendChild(div); + div.innerText = Array.isArray(node.inputs.text) ? node.inputs.text[0] : node.inputs.text + output_card.appendChild(div); }; if (["SaveImage", "PreviewImage"].includes(node.class_type)) { let img = new Image(); img.id = `output_${node.id}`; img.src = base64Df; - container.appendChild(img); + output_card.appendChild(img); } // video ,gif @@ -378,7 +431,7 @@ v.appendChild(video); v.appendChild(img); - container.appendChild(v); + output_card.appendChild(v); } } @@ -427,6 +480,134 @@ } } + + function copyHtmlWithImagesToClipboard(data, cb) { + // 创建一个临时div元素 + const tempDiv = document.createElement('div'); + + // 将HTML字符串赋值给div的innerHTML属性 + tempDiv.innerHTML = data; + + // 获取div中的所有图像元素 + const images = tempDiv.getElementsByTagName('img'); + + // 遍历图像元素,并将图像数据转换为Base64编码 + for (let i = 0; i < images.length; i++) { + const image = images[i]; + const canvas = document.createElement('canvas'); + const context = canvas.getContext('2d'); + + // 设置canvas尺寸与图像尺寸相同 + canvas.width = image.width; + canvas.height = image.height; + + // 在canvas上绘制图像 + context.drawImage(image, 0, 0); + + // 将canvas转换为Base64编码 + const imageData = canvas.toDataURL(); + + // 将Base64编码替换图像元素的src属性 + image.src = imageData; + } + + + let richText = tempDiv.innerHTML; + + // 创建一个新的Blob对象,并将富文本字符串作为数据传递进去 + const blob = new Blob([richText], { type: 'text/html' }); + + // 创建一个ClipboardItem对象,并将Blob对象添加到其中 + const clipboardItem = new ClipboardItem({ 'text/html': blob }); + + // 使用Clipboard API将内容复制到剪贴板 + navigator.clipboard.write([clipboardItem]) + .then(() => { + console.log('富文本已成功复制到剪贴板'); + tempDiv.remove() + if (cb) cb(true) + }) + .catch((error) => { + console.error('复制到剪贴板失败:', error); + tempDiv.remove() + if (cb) cb(false) + }); + + } + + // const htmlWithImages = "

这是要复制的HTML内容

" + // copyHtmlWithImagesToClipboard(htmlWithImages); + + function copyImagesToClipboard(html, cb) { + const tempDiv = document.createElement('div'); + tempDiv.innerHTML = html; + const images = tempDiv.querySelectorAll('img'); + const promises = Array.from(images).map((image) => { + return new Promise((resolve) => { + const img = new Image(); + img.src = image.src; + img.onload = () => { + const canvas = document.createElement('canvas'); + const context = canvas.getContext('2d'); + canvas.width = img.width; + canvas.height = img.height; + context.drawImage(img, 0, 0); + canvas.toBlob((blob) => { + const clipboardItem = new ClipboardItem({ 'image/png': blob }); + navigator.clipboard.write([clipboardItem]) + .then(() => { + resolve(); + tempDiv.remove() + if (cb) cb(true) + }) + .catch((error) => { + reject(error); + tempDiv.remove() + if (cb) cb(false) + }); + }); + }; + }); + }); + Promise.all([...promises]) + .then(() => { + console.log('所有图片已成功复制到剪贴板'); + if (cb) cb(true) + tempDiv.remove() + }) + .catch((error) => { + console.error('复制到剪贴板失败:', error); + if (cb) cb(false) + tempDiv.remove() + }); + } + + function copyTextToClipboard(html, cb) { + const tempDiv = document.createElement('div'); + tempDiv.innerHTML = html; + + const text = tempDiv.innerText; + const textData = new ClipboardItem({ 'text/plain': new Blob([text], { type: 'text/plain' }) }); + + navigator.clipboard.write([textData]) + .then(() => { + console.log('所有文本已成功复制到剪贴板', text); + if (cb) cb(true) + tempDiv.remove() + }) + .catch((error) => { + console.error('复制到剪贴板失败:', error); + if (cb) cb(false) + tempDiv.remove() + }); + } + + + // const htmlString = "

这是要复制的HTML内容

"; + // copyImagesToClipboard(htmlString); + + + function createInputs(inputData) { // Assuming you have an HTML element with the id "container" to hold the UI const container = document.createElement("div"); @@ -924,8 +1105,8 @@ // if (!images) return; const src = `${get_url()}/view?filename=${encodeURIComponent(images[0].filename)}&type=${images[0].type}&subfolder=${encodeURIComponent(images[0].subfolder)}&t=${+new Date()}`; show(src, detail.node, 'image'); - } else if (text && text[0]) { - ui.output.update("text", text[0], detail.node) + } else if (text) { + ui.output.update("text", Array.isArray(text) ? text[0] : text, detail.node) } else if (gifs && gifs[0]) { // if (!images) return; const src = `${get_url()}/view?filename=${encodeURIComponent(gifs[0].filename)}&type=${gifs[0].type}&subfolder=${encodeURIComponent(gifs[0].subfolder) @@ -1017,9 +1198,11 @@ } window._appData = window._apps[0]; - createAppList(window._apps); + + if (!filename) { createAppList(window._apps); } + createApp(window._appData); - + }; init_app() diff --git a/web/javascript/app_mixlab.js b/web/javascript/app_mixlab.js index 984b0d9..c5427d6 100644 --- a/web/javascript/app_mixlab.js +++ b/web/javascript/app_mixlab.js @@ -185,14 +185,14 @@ async function save (json, download = false) { // let http_workflow = app.graph.serialize() if (download) { - const { filename } = await save_app(data) + await save_app(data) await downloadJsonFile(data, data.app.filename) let open = window.confirm( - `You can now access the standalone application on a new page!\n${getUrl()}/mixlab/app?type=new` + `You can now access the standalone application on a new page!\n${getUrl()}/mixlab/app?filename=${encodeURIComponent(data.app.filename)}` ) if (open) window.open( - `${getUrl()}/mixlab/app?filename=${encodeURIComponent(filename)}` + `${getUrl()}/mixlab/app?filename=${encodeURIComponent(data.app.filename)}` ) } else { await save_app(data) From b941b12f129b92f1b8559c9cd764e1db81d0cd05 Mon Sep 17 00:00:00 2001 From: shadowcz007 Date: Sat, 30 Dec 2023 17:40:28 +0800 Subject: [PATCH 05/12] update --- web/index.html | 18 +++++++++--------- web/javascript/app_mixlab.js | 2 +- workflow/appinfo-workflow.svg | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/web/index.html b/web/index.html index 5566630..7303d24 100644 --- a/web/index.html +++ b/web/index.html @@ -363,13 +363,13 @@ copyHTML.innerText = 'copy as html' action.appendChild(copyHTML) - const copyImages = document.createElement('button'); - copyImages.innerText = 'copy images' - action.appendChild(copyImages) - copyImages.style.marginLeft = '18px'; + const copyImage = document.createElement('button'); + copyImage.innerText = 'copy image' + action.appendChild(copyImage) + copyImage.style.marginLeft = '18px'; const copyText = document.createElement('button'); - copyText.innerText = 'copy text' + copyText.innerText = 'copy text for share' action.appendChild(copyText) copyText.style.marginLeft = '18px'; @@ -386,19 +386,19 @@ copyText.addEventListener('click', e => { e.preventDefault(); - copyTextToClipboard(output_card.outerHTML, (r) => success(r, copyText, 'copy text')) + copyTextToClipboard((window._appData.share_prefix||'')+" "+output_card.outerHTML, (r) => success(r, copyText, 'copy text for share')) }) - copyImages.addEventListener('click', e => { + copyImage.addEventListener('click', e => { e.preventDefault(); // copyHtmlWithImagesToClipboard(output_card.outerHTML) - copyImagesToClipboard(output_card.outerHTML, (r) => success(r, copyText, 'copy images')) + copyImagesToClipboard(output_card.outerHTML, (r) => success(r, copyImage, 'copy image')) // copyTextToClipboard() }) copyHTML.addEventListener('click', e => { e.preventDefault(); - copyHtmlWithImagesToClipboard(output_card.outerHTML, (r) => success(r, copyText, 'copy as html')) + copyHtmlWithImagesToClipboard((window._appData.share_prefix||'')+" "+output_card.outerHTML, (r) => success(r, copyHTML, 'copy as html')) // copyImagesToClipboard(output_card.outerHTML) }) diff --git a/web/javascript/app_mixlab.js b/web/javascript/app_mixlab.js index c5427d6..6af907c 100644 --- a/web/javascript/app_mixlab.js +++ b/web/javascript/app_mixlab.js @@ -186,7 +186,7 @@ async function save (json, download = false) { if (download) { await save_app(data) - await downloadJsonFile(data, data.app.filename) + await downloadJsonFile(data, data.app.filename) let open = window.confirm( `You can now access the standalone application on a new page!\n${getUrl()}/mixlab/app?filename=${encodeURIComponent(data.app.filename)}` ) diff --git a/workflow/appinfo-workflow.svg b/workflow/appinfo-workflow.svg index 126b809..f28f21d 100644 --- a/workflow/appinfo-workflow.svg +++ b/workflow/appinfo-workflow.svg @@ -1 +1 @@ -T: 0.00sI: 0N: 10 [10]V: 20FPS:312.50VAE Decode#6 samplesvaeIMAGELoad Image#11 IMAGEMASKimage1703572811473.pngchoose file to uploadLoad Checkpoint#2 MODELCLIPVAEckpt_namedeliberate_v2.safetensorsVAE Encode#12 pixelsvaeLATENT负向prompt#5 clipCONDITIONINGtext, watermark 正向prompt#4 clipCONDITIONINGblue hair Save Image#8 imagesfilename_prefiximage-to-imageKSampler#1 modelpositivenegativelatent_imagedenoiseLATENTseed906540972228779control_after_generaterandomizesteps20cfg8.0sampler_nameeulerschedulernormalFloatSlider#14 FLOATnumber 0.45AppInfo ♾️Mixlab#7 imageIMAGEnameimage-to-image 11 4 14 8 最基本的工作流演示 version1{"last_node_id":14,"last_link_id":16,"nodes":[{"id":6,"type":"VAEDecode","pos":[1885,-2361],"size":{"0":210,"1":46},"flags":{"collapsed":false},"order":7,"mode":0,"inputs":[{"name":"samples","type":"LATENT","link":7},{"name":"vae","type":"VAE","link":8}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[9],"slot_index":0}],"properties":{"Node name for S&R":"VAEDecode"}},{"id":11,"type":"LoadImage","pos":[583,-2681],"size":{"0":315,"1":314},"flags":{},"order":0,"mode":0,"outputs":[{"name":"IMAGE","type":"IMAGE","links":[12],"shape":3,"slot_index":0},{"name":"MASK","type":"MASK","links":null,"shape":3}],"properties":{"Node name for S&R":"LoadImage"},"widgets_values":["1703572811473.png","image"]},{"id":2,"type":"CheckpointLoaderSimple","pos":[606.7134002168859,-2074.502640857575],"size":{"0":315,"1":98},"flags":{},"order":1,"mode":0,"outputs":[{"name":"MODEL","type":"MODEL","links":[1],"slot_index":0},{"name":"CLIP","type":"CLIP","links":[5,6],"slot_index":1},{"name":"VAE","type":"VAE","links":[8,13],"slot_index":2}],"properties":{"Node name for S&R":"CheckpointLoaderSimple"},"widgets_values":["deliberate_v2.safetensors"]},{"id":12,"type":"VAEEncode","pos":[1016.6295835601803,-2655.91833999939],"size":{"0":210,"1":46},"flags":{},"order":5,"mode":0,"inputs":[{"name":"pixels","type":"IMAGE","link":12},{"name":"vae","type":"VAE","link":13}],"outputs":[{"name":"LATENT","type":"LATENT","links":[14],"shape":3,"slot_index":0}],"properties":{"Node name for S&R":"VAEEncode"}},{"id":5,"type":"CLIPTextEncode","pos":[1029,-2149],"size":{"0":425.27801513671875,"1":180.6060791015625},"flags":{},"order":4,"mode":0,"inputs":[{"name":"clip","type":"CLIP","link":6}],"outputs":[{"name":"CONDITIONING","type":"CONDITIONING","links":[3],"slot_index":0}],"title":"负向prompt","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":["text, watermark"]},{"id":4,"type":"CLIPTextEncode","pos":[1022,-2376],"size":{"0":422.84503173828125,"1":164.31304931640625},"flags":{},"order":3,"mode":0,"inputs":[{"name":"clip","type":"CLIP","link":5}],"outputs":[{"name":"CONDITIONING","type":"CONDITIONING","links":[2],"slot_index":0}],"title":"正向prompt","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":["blue hair"]},{"id":8,"type":"SaveImage","pos":[2596,-2428],"size":{"0":315,"1":270},"flags":{},"order":9,"mode":0,"inputs":[{"name":"images","type":"IMAGE","link":11}],"properties":{},"widgets_values":["image-to-image"]},{"id":1,"type":"KSampler","pos":[1509,-2394],"size":{"0":315,"1":262},"flags":{},"order":6,"mode":0,"inputs":[{"name":"model","type":"MODEL","link":1},{"name":"positive","type":"CONDITIONING","link":2},{"name":"negative","type":"CONDITIONING","link":3},{"name":"latent_image","type":"LATENT","link":14},{"name":"denoise","type":"FLOAT","link":16,"widget":{"name":"denoise"},"slot_index":4}],"outputs":[{"name":"LATENT","type":"LATENT","links":[7],"slot_index":0}],"properties":{"Node name for S&R":"KSampler"},"widgets_values":[906540972228779,"randomize",20,8,"euler","normal",0.59]},{"id":14,"type":"FloatSlider","pos":[1500,-2554],"size":{"0":315,"1":58},"flags":{},"order":2,"mode":0,"outputs":[{"name":"FLOAT","type":"FLOAT","links":[16],"shape":3,"slot_index":0}],"properties":{"Node name for S&R":"FloatSlider"},"widgets_values":[0.45]},{"id":7,"type":"AppInfo","pos":[2147,-2394],"size":{"0":404.71221923828125,"1":299.52880859375},"flags":{},"order":8,"mode":0,"inputs":[{"name":"image","type":"IMAGE","link":9}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[11],"shape":3,"slot_index":0}],"properties":{"Node name for S&R":"AppInfo"},"widgets_values":["image-to-image","\n11\n4\n14","8","最基本的工作流演示",1,null]}],"links":[[1,2,0,1,0,"MODEL"],[2,4,0,1,1,"CONDITIONING"],[3,5,0,1,2,"CONDITIONING"],[5,2,1,4,0,"CLIP"],[6,2,1,5,0,"CLIP"],[7,1,0,6,0,"LATENT"],[8,2,2,6,1,"VAE"],[9,6,0,7,0,"IMAGE"],[11,7,0,8,0,"IMAGE"],[12,11,0,12,0,"IMAGE"],[13,2,2,12,1,"VAE"],[14,12,0,1,3,"LATENT"],[16,14,0,1,4,"FLOAT"]],"groups":[],"config":{},"extra":{},"version":0.4} \ No newline at end of file +T: 0.00sI: 0N: 11 [5]V: 22FPS:270.27负向prompt#5 clipCONDITIONINGtext, watermark KSampler#1 modelpositivenegativelatent_imagedenoiseLATENTseed492527429004648control_after_generaterandomizesteps20cfg8.0sampler_nameeulerschedulernormalVAE Decode#6 samplesvaeIMAGEVAE Encode#12 pixelsvaeLATENTLoad Checkpoint#2 MODELCLIPVAEckpt_namedeliberate_v2.safetensorsupload image#11 IMAGEMASKimage1703572811473.pngchoose file to uploaddenoise#14 FLOATnumber 0.450EnhanceImage#15 imageIMAGEcontrast 1.10Preview Image#16 imagesAppInfo ♾️Mixlab#7 imageIMAGEnameImage-to-Image11 14 4 2 16 演示基本的图生图流程 version2share_prefix#comfyui-mixlab-nodes# 正向prompt#4 clipCONDITIONINGhair,girl {"last_node_id":20,"last_link_id":25,"nodes":[{"id":5,"type":"CLIPTextEncode","pos":[1029,-2149],"size":{"0":425.27801513671875,"1":180.6060791015625},"flags":{},"order":4,"mode":0,"inputs":[{"name":"clip","type":"CLIP","link":6}],"outputs":[{"name":"CONDITIONING","type":"CONDITIONING","links":[3],"slot_index":0}],"title":"负向prompt","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":["text, watermark"]},{"id":1,"type":"KSampler","pos":[1509,-2394],"size":{"0":315,"1":262},"flags":{},"order":6,"mode":0,"inputs":[{"name":"model","type":"MODEL","link":1},{"name":"positive","type":"CONDITIONING","link":2},{"name":"negative","type":"CONDITIONING","link":3},{"name":"latent_image","type":"LATENT","link":14},{"name":"denoise","type":"FLOAT","link":16,"widget":{"name":"denoise"},"slot_index":4}],"outputs":[{"name":"LATENT","type":"LATENT","links":[7],"slot_index":0}],"properties":{"Node name for S&R":"KSampler"},"widgets_values":[492527429004648,"randomize",20,8,"euler","normal",0.59]},{"id":6,"type":"VAEDecode","pos":[1867,-2378],"size":{"0":210,"1":46},"flags":{"collapsed":false},"order":7,"mode":0,"inputs":[{"name":"samples","type":"LATENT","link":7},{"name":"vae","type":"VAE","link":8}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[9],"slot_index":0}],"properties":{"Node name for S&R":"VAEDecode"}},{"id":12,"type":"VAEEncode","pos":[1031,-2482],"size":{"0":210,"1":46},"flags":{},"order":5,"mode":0,"inputs":[{"name":"pixels","type":"IMAGE","link":12},{"name":"vae","type":"VAE","link":13}],"outputs":[{"name":"LATENT","type":"LATENT","links":[14],"shape":3,"slot_index":0}],"properties":{"Node name for S&R":"VAEEncode"}},{"id":2,"type":"CheckpointLoaderSimple","pos":[613,-2395],"size":{"0":315,"1":98},"flags":{},"order":0,"mode":0,"outputs":[{"name":"MODEL","type":"MODEL","links":[1],"slot_index":0},{"name":"CLIP","type":"CLIP","links":[5,6],"slot_index":1},{"name":"VAE","type":"VAE","links":[8,13],"slot_index":2}],"properties":{"Node name for S&R":"CheckpointLoaderSimple"},"widgets_values":["deliberate_v2.safetensors"]},{"id":11,"type":"LoadImage","pos":[626,-2823],"size":{"0":315,"1":314},"flags":{},"order":1,"mode":0,"outputs":[{"name":"IMAGE","type":"IMAGE","links":[12],"shape":3,"slot_index":0},{"name":"MASK","type":"MASK","links":null,"shape":3}],"title":"upload image","properties":{"Node name for S&R":"LoadImage"},"widgets_values":["1703572811473.png","image"]},{"id":14,"type":"FloatSlider","pos":[1007,-2819],"size":{"0":315,"1":58},"flags":{},"order":2,"mode":0,"outputs":[{"name":"FLOAT","type":"FLOAT","links":[16],"shape":3,"slot_index":0}],"title":"denoise","properties":{"Node name for S&R":"FloatSlider"},"widgets_values":[0.45]},{"id":15,"type":"EnhanceImage","pos":[2591,-2531],"size":{"0":315,"1":58},"flags":{},"order":9,"mode":0,"inputs":[{"name":"image","type":"IMAGE","link":25}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[18],"shape":3,"slot_index":0}],"properties":{"Node name for S&R":"EnhanceImage"},"widgets_values":[1.1]},{"id":16,"type":"PreviewImage","pos":[2963,-2520],"size":{"0":210,"1":246},"flags":{},"order":10,"mode":0,"inputs":[{"name":"images","type":"IMAGE","link":18}],"properties":{"Node name for S&R":"PreviewImage"}},{"id":7,"type":"AppInfo","pos":[2134,-2528],"size":{"0":408.4201965332031,"1":406.9195861816406},"flags":{},"order":8,"mode":0,"inputs":[{"name":"image","type":"IMAGE","link":9}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[25],"shape":3,"slot_index":0}],"properties":{"Node name for S&R":"AppInfo"},"widgets_values":["Image-to-Image","11\n14\n4\n2\n","16","演示基本的图生图流程",2,"#comfyui-mixlab-nodes# ",null]},{"id":4,"type":"CLIPTextEncode","pos":[1022,-2375],"size":{"0":422.84503173828125,"1":164.31304931640625},"flags":{},"order":3,"mode":0,"inputs":[{"name":"clip","type":"CLIP","link":5}],"outputs":[{"name":"CONDITIONING","type":"CONDITIONING","links":[2],"slot_index":0}],"title":"正向prompt","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":["hair,girl"]}],"links":[[1,2,0,1,0,"MODEL"],[2,4,0,1,1,"CONDITIONING"],[3,5,0,1,2,"CONDITIONING"],[5,2,1,4,0,"CLIP"],[6,2,1,5,0,"CLIP"],[7,1,0,6,0,"LATENT"],[8,2,2,6,1,"VAE"],[9,6,0,7,0,"IMAGE"],[12,11,0,12,0,"IMAGE"],[13,2,2,12,1,"VAE"],[14,12,0,1,3,"LATENT"],[16,14,0,1,4,"FLOAT"],[18,15,0,16,0,"IMAGE"],[25,7,0,15,0,"IMAGE"]],"groups":[],"config":{},"extra":{},"version":0.4} \ No newline at end of file From 9edae81fee7f7b035c7d7971e6a8ea8ce132fa80 Mon Sep 17 00:00:00 2001 From: shadowcz007 Date: Sat, 30 Dec 2023 17:48:59 +0800 Subject: [PATCH 06/12] update --- workflow/3D-workflow.json | 1276 +++++++++++++++++-------------------- 1 file changed, 592 insertions(+), 684 deletions(-) diff --git a/workflow/3D-workflow.json b/workflow/3D-workflow.json index 54ba842..00389a6 100644 --- a/workflow/3D-workflow.json +++ b/workflow/3D-workflow.json @@ -1,6 +1,6 @@ { - "last_node_id": 60, - "last_link_id": 118, + "last_node_id": 65, + "last_link_id": 143, "nodes": [ { "id": 9, @@ -52,7 +52,7 @@ "1": 246 }, "flags": {}, - "order": 31, + "order": 29, "mode": 0, "inputs": [ { @@ -77,7 +77,7 @@ "1": 26 }, "flags": {}, - "order": 20, + "order": 18, "mode": 0, "inputs": [ { @@ -168,8 +168,7 @@ "name": "VAE", "type": "VAE", "links": [ - 11, - 23 + 11 ], "slot_index": 2 } @@ -219,70 +218,6 @@ " a metallic sash-like shoe,render by ue5,and blender,8k,detailed" ] }, - { - "id": 2, - "type": "PreviewImage", - "pos": [ - 673.0796203613281, - 734.9191284179688 - ], - "size": { - "0": 210, - "1": 246 - }, - "flags": {}, - "order": 8, - "mode": 0, - "inputs": [ - { - "name": "images", - "type": "IMAGE", - "link": 76 - } - ], - "properties": { - "Node name for S&R": "PreviewImage" - } - }, - { - "id": 17, - "type": "VAEEncode", - "pos": [ - 673.0796203613281, - 1110.9191284179688 - ], - "size": { - "0": 210, - "1": 46 - }, - "flags": {}, - "order": 9, - "mode": 0, - "inputs": [ - { - "name": "pixels", - "type": "IMAGE", - "link": 77 - }, - { - "name": "vae", - "type": "VAE", - "link": 23 - } - ], - "outputs": [ - { - "name": "LATENT", - "type": "LATENT", - "links": [], - "shape": 3, - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "VAEEncode" - } - }, { "id": 43, "type": "IPAdapterModelLoader", @@ -328,7 +263,7 @@ "flags": { "collapsed": false }, - "order": 35, + "order": 33, "mode": 0, "inputs": [ { @@ -368,13 +303,13 @@ "1": 106 }, "flags": {}, - "order": 15, + "order": 13, "mode": 0, "inputs": [ { "name": "width", "type": "INT", - "link": 26, + "link": 120, "widget": { "name": "width" }, @@ -383,7 +318,7 @@ { "name": "height", "type": "INT", - "link": 27, + "link": 121, "widget": { "name": "height" } @@ -420,7 +355,7 @@ "1": 26 }, "flags": {}, - "order": 26, + "order": 24, "mode": 0, "inputs": [ { @@ -454,7 +389,7 @@ "1": 58 }, "flags": {}, - "order": 21, + "order": 19, "mode": 0, "inputs": [ { @@ -494,18 +429,18 @@ "1": 130 }, "flags": {}, - "order": 17, + "order": 15, "mode": 0, "inputs": [ { "name": "image", "type": "IMAGE", - "link": 82 + "link": 137 }, { "name": "width", "type": "INT", - "link": 46, + "link": 124, "widget": { "name": "width" } @@ -513,7 +448,7 @@ { "name": "height", "type": "INT", - "link": 47, + "link": 125, "widget": { "name": "height" } @@ -550,7 +485,7 @@ "1": 246 }, "flags": {}, - "order": 25, + "order": 23, "mode": 0, "inputs": [ { @@ -575,13 +510,13 @@ "1": 130 }, "flags": {}, - "order": 18, + "order": 16, "mode": 0, "inputs": [ { "name": "width", "type": "INT", - "link": 102, + "link": 126, "widget": { "name": "width" } @@ -589,7 +524,7 @@ { "name": "height", "type": "INT", - "link": 97, + "link": 127, "widget": { "name": "height" } @@ -615,199 +550,6 @@ 0 ] }, - { - "id": 50, - "type": "PreviewImage", - "pos": [ - 673.0796203613281, - 1698.9191284179688 - ], - "size": { - "0": 210, - "1": 246 - }, - "flags": {}, - "order": 12, - "mode": 0, - "inputs": [ - { - "name": "images", - "type": "IMAGE", - "link": 87 - } - ], - "properties": { - "Node name for S&R": "PreviewImage" - } - }, - { - "id": 20, - "type": "MergeLayers", - "pos": [ - 1613.3576354980469, - 694 - ], - "size": { - "0": 210, - "1": 46 - }, - "flags": {}, - "order": 23, - "mode": 0, - "inputs": [ - { - "name": "layers", - "type": "LAYER", - "link": 103, - "slot_index": 0 - }, - { - "name": "image", - "type": "IMAGE", - "link": 110 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 34, - 36 - ], - "shape": 3, - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "MergeLayers" - } - }, - { - "id": 22, - "type": "NewLayer", - "pos": [ - 1198.3576354980469, - 366 - ], - "size": { - "0": 315, - "1": 234 - }, - "flags": {}, - "order": 16, - "mode": 0, - "inputs": [ - { - "name": "image", - "type": "IMAGE", - "link": 74 - }, - { - "name": "mask", - "type": "MASK", - "link": 75 - }, - { - "name": "layers", - "type": "LAYER", - "link": null, - "slot_index": 2 - }, - { - "name": "width", - "type": "INT", - "link": 30, - "widget": { - "name": "width" - } - }, - { - "name": "height", - "type": "INT", - "link": 31, - "widget": { - "name": "height" - } - } - ], - "outputs": [ - { - "name": "layers", - "type": "LAYER", - "links": [ - 103 - ], - "shape": 6, - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "NewLayer" - }, - "widgets_values": [ - 0, - 0, - 512, - 512, - 2, - "width", - "" - ] - }, - { - "id": 18, - "type": "GetImageSize", - "pos": [ - 673.0796203613281, - 1286.9191284179688 - ], - "size": { - "0": 210, - "1": 46 - }, - "flags": {}, - "order": 10, - "mode": 0, - "inputs": [ - { - "name": "image", - "type": "IMAGE", - "link": 78 - } - ], - "outputs": [ - { - "name": "width", - "type": "INT", - "links": [ - 26, - 30, - 46, - 102, - 106 - ], - "shape": 3, - "slot_index": 0 - }, - { - "name": "height", - "type": "INT", - "links": [ - 27, - 31, - 47, - 97, - 107 - ], - "shape": 3, - "slot_index": 1 - } - ], - "properties": { - "Node name for S&R": "GetImageSize" - } - }, { "id": 57, "type": "PreviewImage", @@ -820,7 +562,7 @@ "1": 246 }, "flags": {}, - "order": 22, + "order": 20, "mode": 0, "inputs": [ { @@ -845,7 +587,7 @@ "1": 82 }, "flags": {}, - "order": 24, + "order": 21, "mode": 0, "inputs": [ { @@ -886,7 +628,7 @@ "1": 309.7566223144531 }, "flags": {}, - "order": 29, + "order": 25, "mode": 0, "inputs": [ { @@ -911,7 +653,7 @@ "1": 98 }, "flags": {}, - "order": 33, + "order": 31, "mode": 0, "inputs": [ { @@ -961,13 +703,13 @@ "1": 529.5877685546875 }, "flags": {}, - "order": 28, + "order": 26, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", - "link": 36 + "link": 142 } ], "properties": { @@ -986,13 +728,13 @@ "1": 26 }, "flags": {}, - "order": 13, + "order": 11, "mode": 0, "inputs": [ { "name": "mask", "type": "MASK", - "link": 80 + "link": 136 } ], "outputs": [ @@ -1011,174 +753,6 @@ "Node name for S&R": "InvertMask" } }, - { - "id": 26, - "type": "CannyEdgePreprocessor", - "pos": [ - 673.0796203613281, - 1462.9191284179688 - ], - "size": { - "0": 315, - "1": 106 - }, - "flags": {}, - "order": 11, - "mode": 0, - "inputs": [ - { - "name": "image", - "type": "IMAGE", - "link": 79 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 40 - ], - "shape": 3, - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "CannyEdgePreprocessor" - }, - "widgets_values": [ - 126, - 200, - 512 - ] - }, - { - "id": 56, - "type": "ImageScale", - "pos": [ - 1198.3576354980469, - 1234 - ], - "size": { - "0": 315, - "1": 130 - }, - "flags": {}, - "order": 19, - "mode": 0, - "inputs": [ - { - "name": "image", - "type": "IMAGE", - "link": 108 - }, - { - "name": "width", - "type": "INT", - "link": 106, - "widget": { - "name": "width" - } - }, - { - "name": "height", - "type": "INT", - "link": 107, - "widget": { - "name": "height" - } - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 109, - 110, - 117 - ], - "shape": 3, - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "ImageScale" - }, - "widgets_values": [ - "nearest-exact", - 512, - 512, - "disabled" - ] - }, - { - "id": 42, - "type": "IPAdapterApply", - "pos": [ - 673.0796203613281, - 2230.9191284179688 - ], - "size": { - "0": 315, - "1": 258 - }, - "flags": {}, - "order": 14, - "mode": 0, - "inputs": [ - { - "name": "ipadapter", - "type": "IPADAPTER", - "link": 67, - "slot_index": 0 - }, - { - "name": "clip_vision", - "type": "CLIP_VISION", - "link": 68, - "slot_index": 1 - }, - { - "name": "image", - "type": "IMAGE", - "link": 83, - "slot_index": 2 - }, - { - "name": "model", - "type": "MODEL", - "link": 70 - }, - { - "name": "attn_mask", - "type": "MASK", - "link": null - } - ], - "outputs": [ - { - "name": "MODEL", - "type": "MODEL", - "links": [ - 71 - ], - "shape": 3, - "slot_index": 0 - } - ], - "properties": { - "Node name for S&R": "IPAdapterApply" - }, - "widgets_values": [ - 0.9, - 0, - "linear", - 0, - 0.886, - false - ] - }, { "id": 27, "type": "ControlNetApply", @@ -1191,7 +765,7 @@ "1": 98 }, "flags": {}, - "order": 32, + "order": 30, "mode": 0, "inputs": [ { @@ -1311,7 +885,7 @@ { "name": "image", "type": "IMAGE", - "link": 34 + "link": 143 }, { "name": "mask", @@ -1347,7 +921,7 @@ "1": 98 }, "flags": {}, - "order": 30, + "order": 28, "mode": 0, "inputs": [ { @@ -1398,7 +972,7 @@ "1": 262 }, "flags": {}, - "order": 34, + "order": 32, "mode": 0, "inputs": [ { @@ -1447,17 +1021,268 @@ ] }, { - "id": 45, - "type": "3DImage", + "id": 61, + "type": "GetImageSize_", "pos": [ - -981, - 1174 + 575, + 1151 ], "size": { - "0": 473.0796203613281, - "1": 451.867919921875 + "0": 210, + "1": 46 }, "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 133 + } + ], + "outputs": [ + { + "name": "width", + "type": "INT", + "links": [ + 120, + 122, + 124, + 126, + 128 + ], + "shape": 3, + "slot_index": 0 + }, + { + "name": "height", + "type": "INT", + "links": [ + 121, + 123, + 125, + 127, + 129 + ], + "shape": 3, + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "GetImageSize_" + } + }, + { + "id": 56, + "type": "ImageScale", + "pos": [ + 1167, + 1211 + ], + "size": { + "0": 315, + "1": 130 + }, + "flags": {}, + "order": 17, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 138 + }, + { + "name": "width", + "type": "INT", + "link": 128, + "widget": { + "name": "width" + } + }, + { + "name": "height", + "type": "INT", + "link": 129, + "widget": { + "name": "height" + } + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 109, + 117, + 141 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ImageScale" + }, + "widgets_values": [ + "nearest-exact", + 512, + 512, + "disabled" + ] + }, + { + "id": 22, + "type": "NewLayer", + "pos": [ + 1198, + 366 + ], + "size": { + "0": 315, + "1": 234 + }, + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 132 + }, + { + "name": "mask", + "type": "MASK", + "link": 135 + }, + { + "name": "layers", + "type": "LAYER", + "link": null, + "slot_index": 2 + }, + { + "name": "width", + "type": "INT", + "link": 122, + "widget": { + "name": "width" + } + }, + { + "name": "height", + "type": "INT", + "link": 123, + "widget": { + "name": "height" + } + } + ], + "outputs": [ + { + "name": "layers", + "type": "LAYER", + "links": [ + 140 + ], + "shape": 6, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "NewLayer" + }, + "widgets_values": [ + 0, + 0, + 512, + 512, + 2, + "width", + "" + ] + }, + { + "id": 64, + "type": "PreviewImage", + "pos": [ + 630, + 674 + ], + "size": [ + 210, + 246 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 131 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + } + }, + { + "id": 26, + "type": "CannyEdgePreprocessor", + "pos": [ + 673.0796203613281, + 1462.9191284179688 + ], + "size": { + "0": 315, + "1": 106 + }, + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 134 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 40 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "CannyEdgePreprocessor" + }, + "widgets_values": [ + 126, + 200, + 512 + ] + }, + { + "id": 63, + "type": "3DImage", + "pos": [ + -707, + 963 + ], + "size": [ + 315, + 486 + ], + "flags": {}, "order": 5, "mode": 0, "inputs": [ @@ -1472,12 +1297,10 @@ "name": "IMAGE", "type": "IMAGE", "links": [ - 74, - 76, - 77, - 78, - 79, - 87 + 131, + 132, + 133, + 134 ], "shape": 3, "slot_index": 0 @@ -1486,8 +1309,8 @@ "name": "MASK", "type": "MASK", "links": [ - 75, - 80 + 135, + 136 ], "shape": 3, "slot_index": 1 @@ -1496,9 +1319,9 @@ "name": "BG_IMAGE", "type": "IMAGE", "links": [ - 82, - 83, - 108 + 137, + 138, + 139 ], "shape": 3, "slot_index": 2 @@ -1514,19 +1337,61 @@ "Node name for S&R": "3DImage" } }, + { + "id": 65, + "type": "MergeLayers", + "pos": [ + 1651, + 674 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": {}, + "order": 22, + "mode": 0, + "inputs": [ + { + "name": "layers", + "type": "LAYER", + "link": 140 + }, + { + "name": "images", + "type": "IMAGE", + "link": 141 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 142, + 143 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "MergeLayers" + } + }, { "id": 15, "type": "PreviewImage", "pos": [ -456, - 1945 + 1756 ], "size": { "0": 439.2066345214844, "1": 539.8549194335938 }, "flags": {}, - "order": 36, + "order": 34, "mode": 0, "inputs": [ { @@ -1538,6 +1403,73 @@ "properties": { "Node name for S&R": "PreviewImage" } + }, + { + "id": 42, + "type": "IPAdapterApply", + "pos": [ + 658, + 2189 + ], + "size": { + "0": 315, + "1": 258 + }, + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "ipadapter", + "type": "IPADAPTER", + "link": 67, + "slot_index": 0 + }, + { + "name": "clip_vision", + "type": "CLIP_VISION", + "link": 68, + "slot_index": 1 + }, + { + "name": "image", + "type": "IMAGE", + "link": 139, + "slot_index": 2 + }, + { + "name": "model", + "type": "MODEL", + "link": 70 + }, + { + "name": "attn_mask", + "type": "MASK", + "link": null + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 71 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "IPAdapterApply" + }, + "widgets_values": [ + 0.9, + 0, + "linear", + 0, + 0.886, + false + ] } ], "links": [ @@ -1605,14 +1537,6 @@ 1, "CONTROL_NET" ], - [ - 23, - 6, - 2, - 17, - 1, - "VAE" - ], [ 25, 19, @@ -1621,54 +1545,6 @@ 3, "LATENT" ], - [ - 26, - 18, - 0, - 19, - 0, - "INT" - ], - [ - 27, - 18, - 1, - 19, - 1, - "INT" - ], - [ - 30, - 18, - 0, - 22, - 3, - "INT" - ], - [ - 31, - 18, - 1, - 22, - 4, - "INT" - ], - [ - 34, - 20, - 0, - 14, - 0, - "IMAGE" - ], - [ - 36, - 20, - 0, - 24, - 0, - "IMAGE" - ], [ 40, 26, @@ -1685,22 +1561,6 @@ 0, "CONDITIONING" ], - [ - 46, - 18, - 0, - 29, - 1, - "INT" - ], - [ - 47, - 18, - 1, - 29, - 2, - "INT" - ], [ 50, 32, @@ -1789,78 +1649,6 @@ 0, "MODEL" ], - [ - 74, - 45, - 0, - 22, - 0, - "IMAGE" - ], - [ - 75, - 45, - 1, - 22, - 1, - "MASK" - ], - [ - 76, - 45, - 0, - 2, - 0, - "IMAGE" - ], - [ - 77, - 45, - 0, - 17, - 0, - "IMAGE" - ], - [ - 78, - 45, - 0, - 18, - 0, - "IMAGE" - ], - [ - 79, - 45, - 0, - 26, - 0, - "IMAGE" - ], - [ - 80, - 45, - 1, - 25, - 0, - "MASK" - ], - [ - 82, - 45, - 2, - 29, - 0, - "IMAGE" - ], - [ - 83, - 45, - 2, - 42, - 2, - "IMAGE" - ], [ 85, 10, @@ -1869,14 +1657,6 @@ 0, "IMAGE" ], - [ - 87, - 45, - 0, - 50, - 0, - "IMAGE" - ], [ 95, 53, @@ -1885,14 +1665,6 @@ 0, "IMAGE" ], - [ - 97, - 18, - 1, - 53, - 1, - "INT" - ], [ 99, 52, @@ -1901,46 +1673,6 @@ 0, "MASK" ], - [ - 102, - 18, - 0, - 53, - 0, - "INT" - ], - [ - 103, - 22, - 0, - 20, - 0, - "LAYER" - ], - [ - 106, - 18, - 0, - 56, - 1, - "INT" - ], - [ - 107, - 18, - 1, - 56, - 2, - "INT" - ], - [ - 108, - 45, - 2, - 56, - 0, - "IMAGE" - ], [ 109, 56, @@ -1949,14 +1681,6 @@ 0, "IMAGE" ], - [ - 110, - 56, - 0, - 20, - 1, - "IMAGE" - ], [ 115, 60, @@ -1988,6 +1712,190 @@ 27, 1, "CONTROL_NET" + ], + [ + 120, + 61, + 0, + 19, + 0, + "INT" + ], + [ + 121, + 61, + 1, + 19, + 1, + "INT" + ], + [ + 122, + 61, + 0, + 22, + 3, + "INT" + ], + [ + 123, + 61, + 1, + 22, + 4, + "INT" + ], + [ + 124, + 61, + 0, + 29, + 1, + "INT" + ], + [ + 125, + 61, + 1, + 29, + 2, + "INT" + ], + [ + 126, + 61, + 0, + 53, + 0, + "INT" + ], + [ + 127, + 61, + 1, + 53, + 1, + "INT" + ], + [ + 128, + 61, + 0, + 56, + 1, + "INT" + ], + [ + 129, + 61, + 1, + 56, + 2, + "INT" + ], + [ + 131, + 63, + 0, + 64, + 0, + "IMAGE" + ], + [ + 132, + 63, + 0, + 22, + 0, + "IMAGE" + ], + [ + 133, + 63, + 0, + 61, + 0, + "IMAGE" + ], + [ + 134, + 63, + 0, + 26, + 0, + "IMAGE" + ], + [ + 135, + 63, + 1, + 22, + 1, + "MASK" + ], + [ + 136, + 63, + 1, + 25, + 0, + "MASK" + ], + [ + 137, + 63, + 2, + 29, + 0, + "IMAGE" + ], + [ + 138, + 63, + 2, + 56, + 0, + "IMAGE" + ], + [ + 139, + 63, + 2, + 42, + 2, + "IMAGE" + ], + [ + 140, + 22, + 0, + 65, + 0, + "LAYER" + ], + [ + 141, + 56, + 0, + 65, + 1, + "IMAGE" + ], + [ + 142, + 65, + 0, + 24, + 0, + "IMAGE" + ], + [ + 143, + 65, + 0, + 14, + 0, + "IMAGE" ] ], "groups": [], From a9ec3af06614a83360f944cf9eee7aacbccdb8db Mon Sep 17 00:00:00 2001 From: shadowcz007 Date: Sat, 30 Dec 2023 18:07:43 +0800 Subject: [PATCH 07/12] =?UTF-8?q?=E6=94=B9=E8=BF=9Binput=20range?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/index.html | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/web/index.html b/web/index.html index 7303d24..8199555 100644 --- a/web/index.html +++ b/web/index.html @@ -233,6 +233,17 @@ font-size: 12px; font-weight: 300; } + + label::after { + content: attr(data-content); + /* Set the initial content using the data-content attribute */ + /* position: absolute; */ + /* top: 100%; + left: 0; */ + margin-left: 4px; + font-size: 12px; + color: #555; + } @@ -386,7 +397,7 @@ copyText.addEventListener('click', e => { e.preventDefault(); - copyTextToClipboard((window._appData.share_prefix||'')+" "+output_card.outerHTML, (r) => success(r, copyText, 'copy text for share')) + copyTextToClipboard((window._appData.share_prefix || '') + " " + output_card.outerHTML, (r) => success(r, copyText, 'copy text for share')) }) @@ -398,7 +409,7 @@ }) copyHTML.addEventListener('click', e => { e.preventDefault(); - copyHtmlWithImagesToClipboard((window._appData.share_prefix||'')+" "+output_card.outerHTML, (r) => success(r, copyHTML, 'copy as html')) + copyHtmlWithImagesToClipboard((window._appData.share_prefix || '') + " " + output_card.outerHTML, (r) => success(r, copyHTML, 'copy as html')) // copyImagesToClipboard(output_card.outerHTML) }) @@ -715,9 +726,14 @@ if (['FloatSlider', 'IntNumber'].includes(data.class_type)) { // 滑块输入 - let silde = createFloatSlide(data.title, data.inputs.number, (v) => { - window._appData.data[data.id].inputs.number = v; - }) + let silde = createNumSlide(data.title, + data.inputs.number, + (v) => { + window._appData.data[data.id].inputs.number = v; + }, + 0, + data.class_type === 'IntNumber' ? 6000 : 1, + data.class_type === 'IntNumber' ? 'int' : 'float') container.appendChild(silde); } @@ -783,19 +799,20 @@ return container } - function createFloatSlide(labelText, value = 0, callback, minValue = 0, maxValue = 1) { + function createNumSlide(labelText, value = 0, callback, minValue = 0, maxValue = 1, type = 'float') { // 创建滑块输入元素 var slider = document.createElement("input"); slider.type = "range"; slider.min = minValue; slider.max = maxValue; - slider.step = 0.01 + slider.step = type == 'float' ? 0.01 : 1 slider.value = value; // 创建标签元素 var label = document.createElement("label"); label.innerHTML = labelText; + label.setAttribute('data-content',value); // 创建容器元素,并将滑块输入和标签添加到容器中 var container = document.createElement("div"); @@ -804,9 +821,11 @@ container.className = 'card' // 添加change事件监听器 - slider.addEventListener("change", function (event) { + slider.addEventListener("input", function (event) { var value = event.target.value; + value=type == 'float' ? value : Math.round(value) console.log("滑块输入的值为:" + value); + label.setAttribute('data-content',value); // 在这里可以执行其他操作,根据需要进行相应的处理 callback && callback(value) }); From 4afc8f6083d6e2bc44fdb7d3206d2e2dac941574 Mon Sep 17 00:00:00 2001 From: shadowcz007 Date: Sat, 30 Dec 2023 18:16:06 +0800 Subject: [PATCH 08/12] =?UTF-8?q?Support=20multiple=20web=20app=20switchin?= =?UTF-8?q?g.=20=20=E6=94=AF=E6=8C=81=E5=A4=9A=E4=B8=AAweb=20app=20?= =?UTF-8?q?=E5=88=87=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + web/index.html | 15 +- workflow/Text-to-Image-app.json | 717 ++++++++++++++++++++++++++++++++ 3 files changed, 726 insertions(+), 7 deletions(-) create mode 100644 workflow/Text-to-Image-app.json diff --git a/README.md b/README.md index b801fd1..ba70012 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ v0.6.0 🚀🚗🚚🏃‍ Workflow-to-APP Example: - workflow ![APP info](./workflow/appinfo-workflow.svg) +![text-to-image](./workflow/Text-to-Image-app.json) APP-JSON: - [text-to-image](./example/text-to-image_1_Wed%20Dec%2027%202023.json) diff --git a/web/index.html b/web/index.html index 8199555..3e4ed9c 100644 --- a/web/index.html +++ b/web/index.html @@ -1019,12 +1019,12 @@ }; } - function createUploadJson() { + function createUploadJson(detail) { // 创建一个div元素 var div = document.createElement('div'); div.className = 'upload_btn card' - div.textContent = '点击上传JSON文件'; + div.textContent = '上传并运行你的JSON文件'; div.addEventListener('click', function () { document.getElementById('jsonFileInput').click(); }); @@ -1040,10 +1040,11 @@ reader.onload = function (e) { var contents = e.target.result; var jsonData = JSON.parse(contents); - // setTimeout(() => { - // div.remove(); - // input.remove(); - // }, 500); + + + Array.from(detail.querySelectorAll('.card'), c => c.classList.remove('selected')); + div.className = 'upload_btn card selected' + let { output, app } = jsonData; @@ -1201,7 +1202,7 @@ // console.log(div) }; - let uploadApp = createUploadJson(); + let uploadApp = createUploadJson(details); div.appendChild(uploadApp); document.body.appendChild(details); diff --git a/workflow/Text-to-Image-app.json b/workflow/Text-to-Image-app.json new file mode 100644 index 0000000..1bcdf95 --- /dev/null +++ b/workflow/Text-to-Image-app.json @@ -0,0 +1,717 @@ +{ + "last_node_id": 25, + "last_link_id": 32, + "nodes": [ + { + "id": 5, + "type": "CLIPTextEncode", + "pos": [ + 1029, + -2149 + ], + "size": { + "0": 425.27801513671875, + "1": 180.6060791015625 + }, + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 6 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 3 + ], + "slot_index": 0 + } + ], + "title": "负向prompt", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "text, watermark" + ] + }, + { + "id": 6, + "type": "VAEDecode", + "pos": [ + 1867, + -2378 + ], + "size": { + "0": 210, + "1": 46 + }, + "flags": { + "collapsed": false + }, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 7 + }, + { + "name": "vae", + "type": "VAE", + "link": 8 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 9 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + } + }, + { + "id": 15, + "type": "EnhanceImage", + "pos": [ + 2591, + -2531 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 25 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 18 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "EnhanceImage" + }, + "widgets_values": [ + 1.1 + ] + }, + { + "id": 21, + "type": "EmptyLatentImage", + "pos": [ + 998, + -2674 + ], + "size": [ + 315, + 106 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "width", + "type": "INT", + "link": 30, + "widget": { + "name": "width" + } + }, + { + "name": "height", + "type": "INT", + "link": 32, + "widget": { + "name": "height" + } + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 26 + ], + "shape": 3 + } + ], + "properties": { + "Node name for S&R": "EmptyLatentImage" + }, + "widgets_values": [ + 512, + 512, + 1 + ] + }, + { + "id": 24, + "type": "LimitNumber", + "pos": [ + 665, + -2958 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "number", + "type": "*", + "link": 29 + } + ], + "outputs": [ + { + "name": "number", + "type": "*", + "links": [ + 30 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "LimitNumber" + }, + "widgets_values": [ + 512, + 4089 + ] + }, + { + "id": 25, + "type": "LimitNumber", + "pos": [ + 648, + -2659 + ], + "size": { + "0": 315, + "1": 82 + }, + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "number", + "type": "*", + "link": 31 + } + ], + "outputs": [ + { + "name": "number", + "type": "*", + "links": [ + 32 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "LimitNumber" + }, + "widgets_values": [ + 512, + 4089 + ] + }, + { + "id": 22, + "type": "IntNumber", + "pos": [ + 302, + -2758 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 0, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 29 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "Width", + "properties": { + "Node name for S&R": "IntNumber" + }, + "widgets_values": [ + 512 + ] + }, + { + "id": 23, + "type": "IntNumber", + "pos": [ + 299, + -2601 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 1, + "mode": 0, + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 31 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "Height", + "properties": { + "Node name for S&R": "IntNumber" + }, + "widgets_values": [ + 512 + ] + }, + { + "id": 2, + "type": "CheckpointLoaderSimple", + "pos": [ + 567, + -2422 + ], + "size": { + "0": 315, + "1": 98 + }, + "flags": {}, + "order": 2, + "mode": 0, + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 1 + ], + "slot_index": 0 + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 5, + 6 + ], + "slot_index": 1 + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 8 + ], + "slot_index": 2 + } + ], + "title": "Model", + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "deliberate_v2.safetensors" + ] + }, + { + "id": 1, + "type": "KSampler", + "pos": [ + 1509, + -2394 + ], + "size": { + "0": 315, + "1": 262 + }, + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 1 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 2 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 3 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 26, + "slot_index": 3 + }, + { + "name": "denoise", + "type": "FLOAT", + "link": 16, + "widget": { + "name": "denoise" + }, + "slot_index": 4 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 7 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 730250870715434, + "randomize", + 15, + 6.9, + "euler", + "karras", + 0.59 + ] + }, + { + "id": 14, + "type": "FloatSlider", + "pos": [ + 1007, + -2819 + ], + "size": { + "0": 315, + "1": 58 + }, + "flags": {}, + "order": 3, + "mode": 0, + "outputs": [ + { + "name": "FLOAT", + "type": "FLOAT", + "links": [ + 16 + ], + "shape": 3, + "slot_index": 0 + } + ], + "title": "denoise", + "properties": { + "Node name for S&R": "FloatSlider" + }, + "widgets_values": [ + 1 + ] + }, + { + "id": 16, + "type": "PreviewImage", + "pos": [ + 2949, + -2615 + ], + "size": { + "0": 210, + "1": 246 + }, + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 18 + } + ], + "properties": { + "Node name for S&R": "PreviewImage" + } + }, + { + "id": 4, + "type": "CLIPTextEncode", + "pos": [ + 1022, + -2375 + ], + "size": { + "0": 422.84503173828125, + "1": 164.31304931640625 + }, + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 5 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 2 + ], + "slot_index": 0 + } + ], + "title": "prompt", + "properties": { + "Node name for S&R": "CLIPTextEncode" + }, + "widgets_values": [ + "superman,fat cat" + ] + }, + { + "id": 7, + "type": "AppInfo", + "pos": [ + 2134, + -2528 + ], + "size": { + "0": 408.4201965332031, + "1": 406.9195861816406 + }, + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 9 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 25 + ], + "shape": 3, + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "AppInfo" + }, + "widgets_values": [ + "Text-to-Image", + "4\n22\n23\n2\n\n\n", + "16", + "演示基本的文生图流程", + 1, + "#comfyui-mixlab-nodes# ", + null + ] + } + ], + "links": [ + [ + 1, + 2, + 0, + 1, + 0, + "MODEL" + ], + [ + 2, + 4, + 0, + 1, + 1, + "CONDITIONING" + ], + [ + 3, + 5, + 0, + 1, + 2, + "CONDITIONING" + ], + [ + 5, + 2, + 1, + 4, + 0, + "CLIP" + ], + [ + 6, + 2, + 1, + 5, + 0, + "CLIP" + ], + [ + 7, + 1, + 0, + 6, + 0, + "LATENT" + ], + [ + 8, + 2, + 2, + 6, + 1, + "VAE" + ], + [ + 9, + 6, + 0, + 7, + 0, + "IMAGE" + ], + [ + 16, + 14, + 0, + 1, + 4, + "FLOAT" + ], + [ + 18, + 15, + 0, + 16, + 0, + "IMAGE" + ], + [ + 25, + 7, + 0, + 15, + 0, + "IMAGE" + ], + [ + 26, + 21, + 0, + 1, + 3, + "LATENT" + ], + [ + 29, + 22, + 0, + 24, + 0, + "*" + ], + [ + 30, + 24, + 0, + 21, + 0, + "INT" + ], + [ + 31, + 23, + 0, + 25, + 0, + "*" + ], + [ + 32, + 25, + 0, + 21, + 1, + "INT" + ] + ], + "groups": [], + "config": {}, + "extra": {}, + "version": 0.4 +} \ No newline at end of file From 119d7cce1571b0e8f5cd290136e3a02383854095 Mon Sep 17 00:00:00 2001 From: shadowcz007 Date: Sat, 30 Dec 2023 18:19:18 +0800 Subject: [PATCH 09/12] 0.7.0 --- README.md | 11 ++++++++--- assets/0-m-app.png | Bin 0 -> 103623 bytes web/javascript/checkVersion_mixlab.js | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 assets/0-m-app.png diff --git a/README.md b/README.md index ba70012..213bfd9 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,25 @@ ## -v0.6.0 🚀🚗🚚🏃‍ Workflow-to-APP +v0.7.0 🚀🚗🚚🏃‍ Workflow-to-APP +- 支持多个web app 切换 - 新增AppInfo节点,可以通过简单的配置,把workflow转变为一个Web APP。 +- Support multiple web app switching. - Add the AppInfo node, which allows you to transform the workflow into a web app by simple configuration. +![](./assets/0-m-app.png) + ![](./assets/appinfo-readme.png) + Example: - workflow ![APP info](./workflow/appinfo-workflow.svg) -![text-to-image](./workflow/Text-to-Image-app.json) +[text-to-image](./workflow/Text-to-Image-app.json) APP-JSON: - [text-to-image](./example/text-to-image_1_Wed%20Dec%2027%202023.json) - [image-to-image](./example/image-to-image_1_Wed%20Dec%2027%202023.json) - text-to-text -> 暂时支持6种节点作为界面上的输入节点:Load Image、CLIPTextEncode、TextInput_、FloatSlider、CheckpointLoaderSimple、LoraLoader +> 暂时支持6种节点作为界面上的输入节点:Load Image、CLIPTextEncode、TextInput_、FloatSlider、IntNumber、CheckpointLoaderSimple、LoraLoader > 输出节点:PreviewImage 、SaveImage、ShowTextForGPT、VHS_VideoCombine diff --git a/assets/0-m-app.png b/assets/0-m-app.png new file mode 100644 index 0000000000000000000000000000000000000000..c36f856b99e2e8621b88b7681b595026424cea35 GIT binary patch literal 103623 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

(U8mRYvZ}pJx3P-IY>We^=e} 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 HwM6`1y|_Vp literal 0 HcmV?d00001 diff --git a/web/javascript/checkVersion_mixlab.js b/web/javascript/checkVersion_mixlab.js index 1b94800..e98c585 100644 --- a/web/javascript/checkVersion_mixlab.js +++ b/web/javascript/checkVersion_mixlab.js @@ -3,7 +3,7 @@ import { app } from '../../../scripts/app.js' const repoOwner = 'shadowcz007' // 替换为仓库的所有者 const repoName = 'comfyui-mixlab-nodes' // 替换为仓库的名称 -const version = 'v0.6.0' +const version = 'v0.7.0' fetch(`https://api.github.com/repos/${repoOwner}/${repoName}/releases/latest`) .then(response => response.json()) From 1c238f7697f14617fbf7699b0880b7c5246f9940 Mon Sep 17 00:00:00 2001 From: shadowcz007 Date: Sat, 30 Dec 2023 20:16:51 +0800 Subject: [PATCH 10/12] sharebutton --- web/index.html | 97 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 73 insertions(+), 24 deletions(-) diff --git a/web/index.html b/web/index.html index 3e4ed9c..a12b29a 100644 --- a/web/index.html +++ b/web/index.html @@ -25,6 +25,7 @@ display: flex; } + .apps .card { width: 200px; margin: 12px; @@ -54,9 +55,10 @@ } .apps .card img { - width: 100px; - height: fit-content; - margin-right: 12px; + width: auto; + height: 100%; + + margin: 0px; } .apps .card .item { @@ -66,6 +68,17 @@ align-items: flex-start; } + .apps .card .icon { + width: 120px; + height: 120px; + overflow: hidden; + background: #e3e3e3; + display: flex; + justify-content: center; + align-items: center; + } + + .apps .card .version { font-size: 12px; @@ -98,17 +111,24 @@ display: flex; flex-direction: column; min-width: 400px; - background: #eee; + /* background: #eee; */ margin: 24px; flex: 1; align-items: center; /* justify-content: center; */ } + .panel .header { + margin-bottom: 8px; + display: flex; + justify-content: center; + align-items: center; + + } + .panel h1 { padding: 0 12px; - margin-top: 12px; - margin-bottom: 0; + margin: 0; } .panel img, @@ -132,8 +152,8 @@ .output_card { height: 100%; width: 100%; - box-shadow: 0px 0px 8px 3px #e6e7e7; - + box-shadow: 0px 0px 20px 7px #e6e7e7; + margin-top: 24px; display: flex; flex-wrap: wrap; /* justify-content: center; @@ -188,7 +208,7 @@ border: 3px solid; } - .run_btn:hover { + button:hover { border-color: yellow; color: yellow; } @@ -244,6 +264,17 @@ font-size: 12px; color: #555; } + + select, + button, + input { + height: 32px; + cursor: pointer; + background: #5c5c5c; + color: white; + outline: none; + border: none; + } @@ -332,6 +363,14 @@ }); } + + function success(isSuccess, btn, text) { + isSuccess ? btn.innerText = 'success' : text; + setTimeout(() => { + btn.innerText = text; + }, 5000) + } + async function get_my_app(filename = null) { let url = get_url() @@ -388,12 +427,7 @@ output_card.className = 'output_card' container.appendChild(output_card) - const success = (isSuccess, btn, text) => { - isSuccess ? btn.innerText = 'success' : text; - setTimeout(() => { - btn.innerText = text; - }, 5000) - } + copyText.addEventListener('click', e => { e.preventDefault(); @@ -812,7 +846,7 @@ // 创建标签元素 var label = document.createElement("label"); label.innerHTML = labelText; - label.setAttribute('data-content',value); + label.setAttribute('data-content', value); // 创建容器元素,并将滑块输入和标签添加到容器中 var container = document.createElement("div"); @@ -823,9 +857,9 @@ // 添加change事件监听器 slider.addEventListener("input", function (event) { var value = event.target.value; - value=type == 'float' ? value : Math.round(value) + value = type == 'float' ? value : Math.round(value) console.log("滑块输入的值为:" + value); - label.setAttribute('data-content',value); + label.setAttribute('data-content', value); // 在这里可以执行其他操作,根据需要进行相应的处理 callback && callback(value) }); @@ -896,9 +930,24 @@ // top: 12px;flex:0.6` // 创建标题 + let titleDiv = document.createElement('div'); + titleDiv.className = 'header' + var title = document.createElement('h1'); title.textContent = 'My Application'; + const shareBtn = document.createElement('button'); + shareBtn.innerText = 'share'; + shareBtn.addEventListener('click', e => { + e.preventDefault(); + let url = `${get_url}/mixlab/app?filename=${encodeURIComponent(window._appData.filename)}`; + copyTextToClipboard(url,success(e,shareBtn,'share')); + }) + + titleDiv.appendChild(title); + titleDiv.appendChild(shareBtn); + + let iconDes = document.createElement('div'); // 创建应用图标 var icon = document.createElement('img'); @@ -928,7 +977,7 @@ submitButton.className = 'run_btn' // 将所有UI元素添加到页面中 - leftDiv.appendChild(title); + leftDiv.appendChild(titleDiv); leftDiv.appendChild(iconDes); // leftDiv.appendChild(des); leftDiv.appendChild(status); @@ -1040,8 +1089,8 @@ reader.onload = function (e) { var contents = e.target.result; var jsonData = JSON.parse(contents); - - + + Array.from(detail.querySelectorAll('.card'), c => c.classList.remove('selected')); div.className = 'upload_btn card selected' @@ -1160,7 +1209,7 @@ let details = document.createElement('details'); details.className = 'apps'; - details.innerHTML = `

APPs #${apps.length} + details.innerHTML = `ComfyUI APP Store / ${apps.length}
` let div = details.querySelector('div'); @@ -1172,10 +1221,10 @@ d.appendChild(dd); dd.className = 'card' + (index == 0 ? ' selected' : '') dd.innerHTML = ` -
+
-
+
${app.name}

${app.description}

From 727f5f2e48d1fc53cde2468b80b70eefdcf798f0 Mon Sep 17 00:00:00 2001 From: shadowcz007 Date: Sat, 30 Dec 2023 20:37:09 +0800 Subject: [PATCH 11/12] upate --- __init__.py | 21 +++++++++++++++++++++ web/index.html | 32 +++++++++++++++----------------- 2 files changed, 36 insertions(+), 17 deletions(-) diff --git a/__init__.py b/__init__.py index 660495d..34b1f51 100644 --- a/__init__.py +++ b/__init__.py @@ -215,6 +215,27 @@ def get_my_workflow_for_app(filename="my_workflow_app.json"): }] except Exception as e: print("发生异常:", str(e)) + + if len(apps)==1: + data=read_workflow_json_files(app_path) + + for item in data: + x=item["data"] + if apps[0]['filename']!=item["filename"]: + apps.append({ + "filename":item["filename"], + "data":{ + "app":{ + "description":x['app']['description'], + "filename":(x['app']['filename'] if 'filename' in x['app'] else "") , + "icon":(x['app']['icon'] if 'icon' in x['app'] else None), + "name":x['app']['name'], + "version":x['app']['version'], + } + }, + "date":item["date"] + }) + return apps def save_workflow_json(data): diff --git a/web/index.html b/web/index.html index a12b29a..a7f613f 100644 --- a/web/index.html +++ b/web/index.html @@ -23,6 +23,7 @@ .apps .content { display: flex; + flex-wrap: wrap; } @@ -270,20 +271,22 @@ input { height: 32px; cursor: pointer; - background: #5c5c5c; + background: #000000bf; color: white; outline: none; border: none; + border-radius: 4px; } -
Explore your creative potential with Explore your creative potential with mixlab-nodes / 尽情发挥你的创意
ComfyUI中文爱好者社区推荐 @@ -684,6 +687,7 @@ // Create a label for the upload control const nameLabel = document.createElement("label"); nameLabel.textContent = data.title || "LoadImage: "; + nameLabel.style.marginBottom='12px' uploadContainer.appendChild(nameLabel); let actionDiv = document.createElement('div'); @@ -699,9 +703,7 @@ actionDiv.appendChild(uploadImageInputHide); const btnFromClipboard = document.createElement("button"); - btnFromClipboard.style = `width: 156px; - height: 24px; - margin-left: 18px;` + btnFromClipboard.style = `width: 156px; margin-left: 18px;` btnFromClipboard.innerText = 'paste from clipboard' actionDiv.appendChild(btnFromClipboard); @@ -937,11 +939,11 @@ title.textContent = 'My Application'; const shareBtn = document.createElement('button'); - shareBtn.innerText = 'share'; + shareBtn.innerText = 'copy url'; shareBtn.addEventListener('click', e => { e.preventDefault(); - let url = `${get_url}/mixlab/app?filename=${encodeURIComponent(window._appData.filename)}`; - copyTextToClipboard(url,success(e,shareBtn,'share')); + let url = `${get_url()}/mixlab/app?filename=${encodeURIComponent(window._appData.filename)}`; + copyTextToClipboard(url,success(e,shareBtn,'copy url')); }) titleDiv.appendChild(title); @@ -1260,15 +1262,11 @@ async function init_app() { const filename = getFilenameFromUrl(location.href); - if (filename) { - window._apps = await get_my_app(filename); - } else { - window._apps = await get_my_app(); - } + window._apps = await get_my_app(filename); window._appData = window._apps[0]; - if (!filename) { createAppList(window._apps); } + createAppList(window._apps); createApp(window._appData); From 5c9dd80370dde3950562eb98158f203699d5c4bb Mon Sep 17 00:00:00 2001 From: shadowcz007 Date: Sat, 30 Dec 2023 20:51:31 +0800 Subject: [PATCH 12/12] fixbug --- __init__.py | 1 + web/index.html | 33 ++++++++++++++++++--------------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/__init__.py b/__init__.py index 34b1f51..f53cc05 100644 --- a/__init__.py +++ b/__init__.py @@ -221,6 +221,7 @@ def get_my_workflow_for_app(filename="my_workflow_app.json"): for item in data: x=item["data"] + print(apps[0]['filename'] ,item["filename"]) if apps[0]['filename']!=item["filename"]: apps.append({ "filename":item["filename"], diff --git a/web/index.html b/web/index.html index a7f613f..05afdc8 100644 --- a/web/index.html +++ b/web/index.html @@ -687,7 +687,7 @@ // Create a label for the upload control const nameLabel = document.createElement("label"); nameLabel.textContent = data.title || "LoadImage: "; - nameLabel.style.marginBottom='12px' + nameLabel.style.marginBottom = '12px' uploadContainer.appendChild(nameLabel); let actionDiv = document.createElement('div'); @@ -914,7 +914,7 @@ - function createUI(inputData, outputData) { + function createUI(inputData, outputData, share = true) { let mainDiv = document.createElement('div'); let leftDiv = document.createElement('div'); @@ -937,17 +937,20 @@ var title = document.createElement('h1'); title.textContent = 'My Application'; - - const shareBtn = document.createElement('button'); - shareBtn.innerText = 'copy url'; - shareBtn.addEventListener('click', e => { - e.preventDefault(); - let url = `${get_url()}/mixlab/app?filename=${encodeURIComponent(window._appData.filename)}`; - copyTextToClipboard(url,success(e,shareBtn,'copy url')); - }) - titleDiv.appendChild(title); - titleDiv.appendChild(shareBtn); + + if (share) { + const shareBtn = document.createElement('button'); + shareBtn.innerText = 'copy url'; + shareBtn.addEventListener('click', e => { + e.preventDefault(); + let url = `${get_url()}/mixlab/app?filename=${encodeURIComponent(window._appData.filename)}`; + copyTextToClipboard(url, success(e, shareBtn, 'copy url')); + }) + + titleDiv.appendChild(shareBtn); + } + let iconDes = document.createElement('div'); @@ -1104,7 +1107,7 @@ data: output }; if (document.body.querySelector('.app')) document.body.querySelector('.app').remove() - createApp(window._appData); + createApp(window._appData, false); // res(jsonData); }; @@ -1118,10 +1121,10 @@ } - async function createApp(appData) { + async function createApp(appData, share = true) { console.log(appData) // 使用示例: - var ui = createUI(appData.input, appData.output); + var ui = createUI(appData.input, appData.output, share); // 更新标题 ui.title.update(appData.name || 'Mixlab APP');