From 760747fd53ffd37fd6babccb650505c5005493a3 Mon Sep 17 00:00:00 2001 From: thecooltechguy Date: Tue, 23 Jan 2024 08:34:58 -0800 Subject: [PATCH] wip --- README.md | 43 +++++++++++++++++++------------------------ __init__.py | 3 +-- requirements.txt | 3 +-- web/js/cw.js | 24 ++++++++++++++---------- 4 files changed, 35 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index b5acc04..75ad9f7 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,17 @@ -# ComfyUI-ComfyRun +# ComfyUI-ComfyWorkflows -The easiest way to run & share any ComfyUI workflow +The best way to run, share, & discover thousands of ComfyUI workflows. -[https://comfyrun.com](https://comfyrun.com) +[https://comfyworkflows.com](https://comfyworkflows.com) + +[![](https://dcbadge.vercel.app/api/server/kXS43yTRNA)](https://discord.gg/kXS43yTRNA) ## Installation -This uses ComfyUI-Manager's experimental **Snapshots** feature, so please make sure you have the latest version of ComfyUI-Manager installed: [https://github.com/ltdrdata/ComfyUI-Manager](https://github.com/ltdrdata/ComfyUI-Manager) - - -### Option 1: Install from ComfyUI-Manager -To install this custom node from ComfyUI-Manager, click on **Custom Nodes** on the ComfyUI menu, and search for **ComfyRun**. - -### Option 2: Install manually ```bash cd ComfyUI/custom_nodes/ -git clone https://github.com/thecooltechguy/ComfyUI-ComfyRun -cd ComfyUI-ComfyRun/ +git clone https://github.com/thecooltechguy/ComfyUI-ComfyWorkflows +cd ComfyUI-ComfyWorkflows/ python -m pip install -r requirements.txt ``` @@ -24,18 +19,18 @@ Restart ComfyUI. ## Usage -### Deploying a local workflow to the cloud +### Deploy your workflow online +This will enable anyone to run your workflow online, without having to install ComfyUI. -1. Create a free account on [https://comfyrun.com](https://comfyrun.com) -2. Copy your **Share key** from [https://comfyrun.com/account](https://comfyrun.com/account) -3. Click on **Share via ComfyRun** on the ComfyUI menu. -4. Enter your **Share key** and a title for the workflow, and click **Upload workflow**. -5. ComfyRun will deploy your workflow to the cloud and return a URL where anyone can easily run it online, or run it locally. +1. Create a free account on [https://comfyworkflows.com](https://comfyworkflows.com) +2. Share your workflow at: [https://comfyworkflows.com/upload](https://comfyworkflows.com/upload) +3. On the workflow's page, click **Enable cloud workflow** and copy the code displayed. +4. Open your workflow in your local ComfyUI. +5. Click on the **Upload to ComfyWorkflows** button in the menu. +5. Enter your code and click **Upload** +6. After a few minutes, your workflow will be runnable online by anyone, via the workflow's URL at ComfyWorkflows. -### Importing & running an online workflow, locally +## Upcoming features -1. Click on **Import from ComfyRun** on the ComfyUI menu. -2. Enter the workflow URL that you want to run locally. -3. Click **Import workflow**. -5. ComfyRun will download the workflow and all of its necessary files, so that you can easily run it locally on your computer. -5. Restart ComfyUI before running the imported workflow. +- [ ] Import any workflow from ComfyWorkflows with zero setup. +- [ ] Backup your local private workflows to the cloud. \ No newline at end of file diff --git a/__init__.py b/__init__.py index c9f2e5f..d4df2ad 100755 --- a/__init__.py +++ b/__init__.py @@ -2,11 +2,9 @@ import hashlib import io import json import os -import shutil import time from typing import Callable -import aiofiles import aiohttp import git from aiohttp import web @@ -241,6 +239,7 @@ async def api_comfyworkflows_upload(request): "num_files" : len(all_file_info), "workflow_json" : json.dumps(prompt), "snapshot_json" : json.dumps(snapshot_json), + "filteredNodeTypeToNodeData" : json.dumps(filteredNodeTypeToNodeData), }, ) as resp: assert resp.status == 200 diff --git a/requirements.txt b/requirements.txt index dce4e4e..21169cf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,2 @@ tqdm -aiohttp-retry -aiofiles \ No newline at end of file +aiohttp-retry \ No newline at end of file diff --git a/web/js/cw.js b/web/js/cw.js index 23e1c7c..dc45fa0 100644 --- a/web/js/cw.js +++ b/web/js/cw.js @@ -167,16 +167,26 @@ class CWMenuDialog extends ComfyDialog { const content = $el("div.cw3-menu-container", //"div.comfy-modal-content", [ - $el("tr.cw3-title", { width: "100%" }, [ + $el("tr.cw3-title", { width: "100%", style: { + padding: "10px 10px 10px 10px", + } }, [ $el("font", { size: 6, color: "white" }, [`Upload your workflow to ComfyWorkflows.com`]), $el("br", {}, []), - $el("font", { size: 3, color: "white" }, [`This enables others to easily run your workflow online and locally on their computer.`]), + $el("font", { size: 3, color: "white" }, [`This lets people easily run your workflow online & on their computer.`]), ]), $el("br", {}, []), // add "share key" input (required), "title" input (required), "description" input (optional) // $el("div.cw3-menu-container", {width:"100%"}, [ $el("div.cw3-menu-container", [ + $el("p", { size: 3, color: "white", style: {color: "white"} }, ["Follow these steps to upload your workflow:"]), + $el("ol", {style: {color: "white"}}, [ + $el("li", {}, ["Share your workflow online at ComfyWorkflows.com."]), + $el("li", {}, ["Go to your workflow's URL"]), + $el("li", {}, ["Click the 'Enable online workflow' or 'Update online workflow' button on the workflow's page."]), + $el("li", {}, ["Copy the code shown and paste it below."]), + ]), + $el("br", {}, []), $el("h4", { textContent: "Your workflow's code", size: 3, @@ -185,14 +195,7 @@ class CWMenuDialog extends ComfyDialog { color: 'white' } }, []), - $el("p", { size: 3, color: "white" }, ["Follow these steps to get your workflow's code:"]), - $el("ol", {}, [ - $el("li", {}, ["Share your workflow online at ComfyWorkflows.com."]), - $el("li", {}, ["Go to your workflow's URL"]), - $el("li", {}, ["Click the 'Enable online workflow' or 'Update online workflow' button on the workflow's page."]), - $el("li", {}, ["Copy the code shown and paste it below."]), - ]), - this.code_input_input, + this.code_input, $el("br", {}, []), this.final_message, @@ -347,6 +350,7 @@ app.registerExtension({ setCWInstance(new CWMenuDialog()); cw_instance.show(); } + menu.append(deployButton); },