demo480p.mp4
There is an HD video on Youtube.
Zichen Liu*,1,2, Yue Yu*,1,2, Hao Ouyang2, Qiuyu Wang2, Ka Leong Cheng1,2, Wen Wang3,2, Zhiheng Liu4, Qifeng Chen†,1, Yujun Shen†,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
- Release the paper and demo page. Visit magicquill.art 🪩
- Release the code and checkpoints.
- Release gradio demo.
- Release ComfyUI MagicQuill custom node.
- GPU is required to run MagicQuill
- Instant prompt guessing ("Draw&Guess") requires ~5GB VRAM
- Image editing operations require ~15GB VRAM
For users with limited GPU resources, please try our Huggingface Demo or Web Demo (Alipay Cloud).
If you are a Linux user, follow the following guide to set up the environment. If you are a Windows user, you may find this helpful.
-
git clone repo
git clone --recursive https://github.com/magic-quill/MagicQuill.git cd MagicQuill
-
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.
-
create environment
conda create -n MagicQuill python=3.10 -y conda activate MagicQuill
-
install the interface
pip install gradio_magicquill-0.0.1-py3-none-any.whl
-
install llava environment
cp -f pyproject.toml MagicQuill/LLaVA/ pip install -e MagicQuill/LLaVA/
-
install the remaining environment
pip install -r requirements.txt
-
run magicquill
CUDA_VISIBLE_DEVICES=0 python gradio_run.py
If you are mainland user, you may try
export HF_ENDPOINT=https://hf-mirror.com
to use huggingface mirror to facilitate the download of some necessary checkpoints to run our system.
Please read before you try!
Use the add brush to add details and elements guided by prompts - express your ideas with your own lively strokes!
The subtract brush can remove excess details or redraw areas based on prompts. If there's anything you're not satisfied with, just subtract it away!
Combine the add and subtract brushes to create amazing combo effects!
The color brush can precisely color the image, matching the color of your brush~
And for Mac users, left is command+z, right is command+shift+z! 😝
I love this generated image 😍, I want to keep editing! ➡️ Click ✅ to continue editing
What is this thing 😡, I don't want to see it! ➡️ Click ❎ to discard the result
If you want to learn how to better control the generation results, don't miss this section! 😘
Next to the Run button, you can select parameters to modify advanced settings 🧐
- Base Model Name: Users can adjust this to select appropriate base models for different editing styles
- SD1.5/realisticVisionV60B1_v51VAE.safetensors: This generates realistic style images! Use this most of the time.
- SD1.5/DreamShaper.safetensors: This one is for generating fantasy style images
- SD1.5/majicMIX_realistic: This one is good at generating portraits 👩
- SD1.5/MeinaMix.safetensors: This one is good at generating anime images.
- SD1.5/ghostmix_v20Bakedvae.safetensors: Another model for anime image generation.
- If there are any models you'd like to add, contact us!
- Negative Prompt: Users can input content they want the model to avoid generating. Whatever you don't want to generate, put it here.
- Fine Edge: Users can enable this option to activate fine edge control.
- Grow Size: Adjust this parameter to set the pixel range affected around brush strokes when editing images, to expand/reduce the brush stroke influence area.
- Edge Strength: Parameter for adjusting the add/subtract brush control strength. Simply put, if you're confident in your drawing skills, you can increase strength. If you're a bad drawer like us 🤦, please keep the parameter as is, or reduce the strength a bit.
- Color Strength: Parameter for adjusting the color brush control strength, can adjust the image's coloring effects.
- The remaining parameters are just some common parameters for diffusion models! You basically don't need to manage these, but if you're in the industry/AI art expert, feel free to try adjusting them~
Don't forget to cite this source if it proves useful in your research!
@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}}
Our implementation is based on
Thanks for their remarkable contribution and released code!
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的许可协议限制。我们强烈建议,用户不应传播及不应允许他人传播以下内容,包括但不限于仇恨言论、暴力、色情、欺诈相关的有害信息。)