From aeeedac64351352fbf8998d2012602a237c77e5d Mon Sep 17 00:00:00 2001 From: "LIU, Zichen" <64915812+zliucz@users.noreply.github.com> Date: Sat, 7 Dec 2024 00:37:28 +0800 Subject: [PATCH] first commit --- .gitignore | 1 - README.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++--- install.py | 2 -- 3 files changed, 72 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 55293bc..784e0ec 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,5 @@ web_dir/ **/*$py.class **/*.gif -**/*.png **/*.jpg **/*.jpeg \ No newline at end of file diff --git a/README.md b/README.md index 528c112..d8f06d9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,72 @@ -# MagicQuill for ComfyUI - * Github: TBD - * Original basis of the sketchboard: https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet - * Version: v1.0 \ No newline at end of file +# 🪶 MagicQuill: An Intelligent Interactive Image Editing System + + + + + +https://github.com/user-attachments/assets/8ee9663a-fef2-484a-a0b7-8427ab590424 + +There is an HD video on [Youtube](https://www.youtube.com/watch?v=5DiKfONMnE4). + +[Zichen Liu](https://zliucz.github.io)\*,1,2, [Yue Yu](https://bruceyyu.github.io/)\*,1,2, [Hao Ouyang](https://ken-ouyang.github.io/)2, [Qiuyu Wang](https://github.com/qiuyu96)2, [Ka Leong Cheng](https://felixcheng97.github.io/)1,2, [Wen Wang](https://github.com/encounter1997)3,2, [Zhiheng Liu](https://johanan528.github.io/)4, [Qifeng Chen](https://cqf.io/)†,1, [Yujun Shen](https://shenyujun.github.io/)†,2
+1HKUST 2Ant Group 3ZJU 4HKU \*equal contribution †corresponding author + +> TLDR: MagicQuill is an intelligent and interactive system achieving precise image editing. +> +> Key Features: 😎 User-friendly interface / 🤖 AI-powered suggestions / 🎨 Precise local editing + +## MagicQuill ComfyUI Custom Node +MagicQuill is now available in ComfyUI!!! + + + + +## Setup +Follow the following guide to install the custom node. The ComfyUI workflow is available at `MagicQuill.json` + +1. clone the repo (comfyui branch) in the `custom_nodes` directory + ``` + git clone -b comfyui https://github.com/magic-quill/MagicQuill.git ComfyUI_MagicQuill + cd ComfyUI_MagicQuill + ``` +2. download and unzip checkpoints + ``` + wget -O models.zip "https://hkustconnect-my.sharepoint.com/:u:/g/personal/zliucz_connect_ust_hk/EWlGF0WfawJIrJ1Hn85_-3gB0MtwImAnYeWXuleVQcukMg?e=Gcjugg&download=1" + unzip models.zip + ``` + If the .zip file is not accessible, download it via browser. All checkpoints are about 25 GB in total. It may take some time to download. Alternatively, check our checkpoints at [huggingface](https://huggingface.co/LiuZichen/MagicQuill-models). Please merge the `models` folder with the `ComfyUI/models`. + +3. install the environment + ``` + python install.py + pip install -r requirements.txt + ``` + +## Citation +Don't forget to cite this source if it proves useful in your research! +```bibtex +@article{liu2024magicquill, + title={MagicQuill: An Intelligent Interactive Image Editing System}, + author={Zichen Liu and Yue Yu and Hao Ouyang and Qiuyu Wang and Ka Leong Cheng and Wen Wang and Zhiheng Liu and Qifeng Chen and Yujun Shen}, + year={2024}, + eprint={2411.09703}, + archivePrefix={arXiv}, + primaryClass={cs.CV}} +``` + +## Acknowledgement +Our implementation is based on +- [ComfyUI-BrushNet](https://github.com/nullquant/ComfyUI-BrushNet) +- [ComfyUI](https://github.com/comfyanonymous/ComfyUI) +- [LLaVA](https://github.com/haotian-liu/LLaVA) +- [comfyui_controlnet_aux](https://github.com/Fannovel16/comfyui_controlnet_aux) +- [ComfyUI_Custom_Nodes_AlekPet](https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet) +- [fabric.js](https://github.com/fabricjs/fabric.js) + +Thanks for their remarkable contribution and released code! + +## Note +Note: This repo is governed by the license of CC BY-NC 4.0 We strongly advise users not to knowingly generate or allow others to knowingly generate harmful content, including hate speech, violence, pornography, deception, etc. + +(注:本仓库受CC BY-NC的许可协议限制。我们强烈建议,用户不应传播及不应允许他人传播以下内容,包括但不限于仇恨言论、暴力、色情、欺诈相关的有害信息。) + diff --git a/install.py b/install.py index cb6404e..6cd4461 100644 --- a/install.py +++ b/install.py @@ -1,7 +1,6 @@ import os import subprocess -# 获取当前文件所在目录的上级目录 parent_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) repos = { @@ -14,5 +13,4 @@ for name, url in repos.items(): if not os.path.exists(target_dir): subprocess.run(['git', 'clone', url, target_dir], check=True) - # 如果需要安装为包 subprocess.run(['pip', 'install', '-e', target_dir], check=True) \ No newline at end of file