{"id":24283525,"url":"https://github.com/ant-research/MagicQuill","last_synced_at":"2025-09-25T02:31:59.671Z","repository":{"id":262922039,"uuid":"887261860","full_name":"ant-research/MagicQuill","owner":"ant-research","description":"[CVPR'25] Official Implementations for Paper - MagicQuill: An Intelligent Interactive Image Editing System","archived":false,"fork":false,"pushed_at":"2025-07-29T09:07:41.000Z","size":44671,"stargazers_count":3507,"open_issues_count":46,"forks_count":364,"subscribers_count":43,"default_branch":"main","last_synced_at":"2025-07-29T11:41:10.181Z","etag":null,"topics":["aigc","gradio","image-editing","mllm"],"latest_commit_sha":null,"homepage":"https://magicquill.art","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ant-research.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-12T12:52:36.000Z","updated_at":"2025-07-29T09:07:46.000Z","dependencies_parsed_at":"2025-04-15T07:34:51.929Z","dependency_job_id":null,"html_url":"https://github.com/ant-research/MagicQuill","commit_stats":null,"previous_names":["magic-quill/magicquill","ant-research/magicquill"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ant-research/MagicQuill","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ant-research%2FMagicQuill","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ant-research%2FMagicQuill/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ant-research%2FMagicQuill/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ant-research%2FMagicQuill/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ant-research","download_url":"https://codeload.github.com/ant-research/MagicQuill/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ant-research%2FMagicQuill/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276848194,"owners_count":25715262,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-25T02:00:09.612Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aigc","gradio","image-editing","mllm"],"created_at":"2025-01-16T04:01:27.534Z","updated_at":"2025-09-25T02:31:59.665Z","avatar_url":"https://github.com/ant-research.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# 🪶 MagicQuill: An Intelligent Interactive Image Editing System (*CVPR 2025*)\n\u003ca href=\"https://magicquill.art/demo/\"\u003e\u003cimg src=\"https://img.shields.io/static/v1?label=Project\u0026message=magicquill.art\u0026color=blue\"\u003e\u003c/a\u003e\n\u003ca href=\"https://arxiv.org/abs/2411.09703\"\u003e\u003cimg src=\"https://img.shields.io/badge/arXiv-2411.09703-b31b1b.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://huggingface.co/spaces/AI4Editing/MagicQuill\"\u003e\u003cimg src=\"https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Spaces-blue)\"\u003e\u003c/a\u003e\n\u003ca href=\"https://creativecommons.org/licenses/by-sa/4.0/\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-CC%20BY--SA%204.0-lightgrey.svg\"\u003e\u003c/a\u003e\n\n\n\nhttps://github.com/user-attachments/assets/8ee9663a-fef2-484a-a0b7-8427ab590424\n\nThere is an HD video on [Youtube](https://www.youtube.com/watch?v=5DiKfONMnE4).\n\n[Zichen Liu](https://zliucz.github.io)\u003csup\u003e\\*,1,2\u003c/sup\u003e, [Yue Yu](https://bruceyyu.github.io/)\u003csup\u003e\\*,1,2\u003c/sup\u003e, [Hao Ouyang](https://ken-ouyang.github.io/)\u003csup\u003e2\u003c/sup\u003e, [Qiuyu Wang](https://github.com/qiuyu96)\u003csup\u003e2\u003c/sup\u003e, [Ka Leong Cheng](https://felixcheng97.github.io/)\u003csup\u003e1,2\u003c/sup\u003e, [Wen Wang](https://github.com/encounter1997)\u003csup\u003e3,2\u003c/sup\u003e, [Zhiheng Liu](https://johanan528.github.io/)\u003csup\u003e4\u003c/sup\u003e, [Qifeng Chen](https://cqf.io/)\u003csup\u003e†,1\u003c/sup\u003e, [Yujun Shen](https://shenyujun.github.io/)\u003csup\u003e†,2\u003c/sup\u003e\u003cbr\u003e\n\u003csup\u003e1\u003c/sup\u003eHKUST \u003csup\u003e2\u003c/sup\u003eAnt Group \u003csup\u003e3\u003c/sup\u003eZJU \u003csup\u003e4\u003c/sup\u003eHKU \u003csup\u003e\\*\u003c/sup\u003eequal contribution \u003csup\u003e†\u003c/sup\u003ecorresponding author\n\n\u003e TLDR: MagicQuill is an intelligent and interactive system achieving precise image editing.\n\u003e\n\u003e Key Features: 😎 User-friendly interface / 🤖 AI-powered suggestions / 🎨 Precise local editing\n\n- [🪶 MagicQuill: An Intelligent Interactive Image Editing System](#-magicquill-an-intelligent-interactive-image-editing-system)\n  - [TODO List](#todo-list)\n  - [Update Log](#update-log)\n  - [Hardware Requirements](#hardware-requirements)\n  - [Docker Container](#docker-container)\n  - [Setup](#setup)\n  - [Tutorial](#tutorial)\n  - [Citation](#citation)\n  - [Acknowledgement](#acknowledgement)\n  - [Note](#note)\n\n## TODO List\n\n- [x] Release the paper and demo page. Visit [magicquill.art](https://magicquill.art) 🪩\n- [x] Release the code and checkpoints.\n- [x] Release gradio demo.\n- [x] Release ComfyUI MagicQuill custom node.\n\n\u003cimg src=\"docs/comfyui.png\" width=\"100%\" \u003e\n\n## Update Log\n\n- [2024.11.21] 📢 Update the save button; Fix path bug on Windows; Add `.bat` and `.sh` files for convenient environment install on Windows and Linux. Thanks [lior007](https://github.com/lior007) and [JamesIV4](https://github.com/JamesIV4).\n- [2024.11.25] 📢 New UI Updates: Drag \u0026 Drop Images + Download Button: We've enhanced our interface with two exciting features! Now you can easily upload images with drag \u0026 drop functionality, and quickly save your work using our new download button. Try it out and let us know what you think!\n- [2024.12.06] 📢 New Feature Updates: Auto-save and Resolution Adjustment are now enabled in the parameter settings. Thanks [Furkan Gözükara](https://github.com/FurkanGozukara) for his brilliant suggestions.\n- [2024.12.07] 🎉 Exciting News: ComfyUI MagicQuill Node has been released! Check the repository https://github.com/magic-quill/ComfyUI_MagicQuill for more details.\n- [2024.12.16] 🎉 Exciting News: MagicQuill is also available at [Modelscope](https://modelscope.cn/studios/ant-research/MagicQuill_demo). Thanks for their amazing support and infrastructure.\n- [2025.01.02] 🎉 Exciting News: MagicQuill docker container is now available. You can now build \u0026 run your own image in a cleaner, isolated environment. Thanks [gbudge](https://github.com/gbudge) for his contribution.\n- [2025.02.27] 🎉 Exciting News: MagicQuill has been accepted to CVPR 2025! Looking forward to meeting everyone in Tennessee!\n\nTo update the latest features, pull the latest code and re-install the gradio_magicquill:\n```\npip uninstall -y gradio_magicquill-0.0.1-py3-none-any.whl\npip install gradio_magicquill-0.0.1-py3-none-any.whl\n```\n\n## Hardware Requirements\n\n- GPU is required to run MagicQuill. **Through our testing, we have confirmed that the model can run on GPUs with 8GB VRAM (RTX4070 Laptop).**\n\nFor users with limited GPU resources, please try our [Huggingface Demo](https://huggingface.co/spaces/AI4Editing/MagicQuill) and [Modelscope Demo](https://modelscope.cn/studios/ant-research/MagicQuill_demo). Also, consider disabling the DrawNGuess automatic prompt filling by clicking the wand icon above if it takes too long time on your machine.\n\n##  Setup\nFollow the following guide to set up the environment.\n\n1. git clone repo. **Please don't forget the `--recursive` flag.** Otherwise, you will find `LLaVA` submodule missing.\n    ```\n    git clone --recursive https://github.com/magic-quill/MagicQuill.git\n    cd MagicQuill\n    ```\n2. download and unzip checkpoints\n    ```\n    wget -O models.zip \"https://hkustconnect-my.sharepoint.com/:u:/g/personal/zliucz_connect_ust_hk/EWlGF0WfawJIrJ1Hn85_-3gB0MtwImAnYeWXuleVQcukMg?e=Gcjugg\u0026download=1\"\n    unzip models.zip\n    ```\n    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).\n\n---\n\nIf you are a Windows user, you may try to use `windows_setup.bat` to conveniently install environments, just enter `windows_setup.bat` in your Python shell. For Linux user, check `linux_setup.sh`.\n\nAlternatively, follow the step-by-step installation guide.\n\n3. create environment\n    ```\n    conda create -n MagicQuill python=3.10 -y\n    conda activate MagicQuill\n    ```\n\n4. install torch with GPU support\n    ```\n    pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118\n    ```\n\n5. install the interface\n    ```\n    pip install gradio_magicquill-0.0.1-py3-none-any.whl\n    ```\n    \n6. install llava environment\n    ```\n    (For Linux)\n    cp -f pyproject.toml MagicQuill/LLaVA/\n    pip install -e MagicQuill/LLaVA/\n    ```\n    or\n    ```\n    (For Windows)\n    copy /Y pyproject.toml MagicQuill\\LLaVA\\\n    pip install -e MagicQuill\\LLaVA\\\n    ```\n    (For Windows PowerShell, the first line should be `Copy-Item -Path pyproject.toml -Destination \"MagicQuill\\LLaVA\" -Force`)\n    \n\n7. install the remaining environment\n    ```\n    pip install -r requirements.txt\n    ```\n\n8. run magicquill\n    ```\n    python gradio_run.py\n    ```\n    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.\n\n\n## Docker Container\n\nYou can build a docker container with MagicQuill as follows:\n\n1. git clone repo. **Please don't forget the `--recursive` flag.** Otherwise, you will find `LLaVA` submodule missing.\n    ```\n    git clone --recursive https://github.com/magic-quill/MagicQuill.git\n    cd MagicQuill\n    ```\n\n2. download and unzip checkpoints\n    ```\n    wget -O models.zip \"https://hkustconnect-my.sharepoint.com/:u:/g/personal/zliucz_connect_ust_hk/EWlGF0WfawJIrJ1Hn85_-3gB0MtwImAnYeWXuleVQcukMg?e=Gcjugg\u0026download=1\"\n    unzip models.zip\n    ```\n    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).\n    \n    Note: these can be located anywhere on the host computer, but Docker Compose expects them to be in `/data/magicquill/models` by default. Update `docker-compose.yaml` if you unzip them to another location.\n\n3. build the image\n   ```\n   docker compose build\n   ```\n\n4. run the image\n   ```\n   docker compose up -d\n   ```\n\n## Tutorial\n\nPlease read before you try!\n\n\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n\u003cbody\u003e\n\u003cdiv class=\"tutorial\"\u003e\u003cdiv\u003e\u003ch3 align=\"center\" class=\"heading\"\u003eI. Three type of magic quills\u003c/h3\u003e\u003cdiv align=\"center\"\u003e\u003cimg fill=\"white\" src=\"docs/icons/brush_edge_add.svg\" alt=\"SVG image\" class=\"icon\" width=\"100\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003eUse the \u003cb\u003eadd brush\u003c/b\u003e to add details and elements guided by prompts - express your ideas with your own lively strokes!\u003cbr\u003e\u003c/div\u003e\u003cdiv class=\"ant-row css-1kuana8\"\u003e\u003cdiv class=\"ant-col ant-col-xs-24 ant-col-md-12 css-1kuana8\"\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg width=\"300\" src=\"docs/gifs/deer.gif\" alt=\"gif description\" class=\"gif\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003csmall\u003e\"With just a few strokes, a vivid little deer comes to life\"\u003c/small\u003e\u003cbr\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv class=\"ant-col ant-col-xs-24 ant-col-md-12 css-1kuana8\"\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg width=\"300\" src=\"docs/gifs/necklace.gif\" alt=\"gif description\" class=\"gif\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003csmall\u003e \"Adorn the beautiful lady with a necklace\"\u003c/small\u003e\u003cbr\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg src=\"docs/icons/brush_edge_remove.svg\" alt=\"SVG image\" class=\"icon\" width=\"100\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003eThe \u003cb\u003esubtract brush\u003c/b\u003e can remove excess details or redraw areas based on prompts. If there's anything you're not satisfied with, just subtract it away!\u003cbr\u003e\u003c/div\u003e\u003cdiv class=\"ant-row css-1kuana8\"\u003e\u003cdiv class=\"ant-col ant-col-xs-24 ant-col-md-12 css-1kuana8\"\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg width=\"300\" src=\"docs/gifs/dolphin.gif\" alt=\"gif description\" class=\"gif\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003csmall\u003e \"A dolphin with two tail fins? Let's give it a quick 'treatment'!\"\u003c/small\u003e\u003cbr\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv class=\"ant-col ant-col-xs-24 ant-col-md-12 css-1kuana8\"\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg width=\"300\" src=\"docs/gifs/skeleton cowboy.gif\" alt=\"gif description\" class=\"gif\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003csmall\u003e \"Let's take off Mr. Skeleton's hat and help him cool down.\"\u003c/small\u003e\u003cbr\u003e\u003cbr\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv align=\"center\" style=\"display: flex; justify-content: center; align-items: center; gap: 10px;\"\u003e\u003cbr\u003e\u003cimg src=\"docs/icons/brush_edge_add.svg\" alt=\"add brush\" class=\"icon\" width=\"100\"\u003e\u003cspan\u003e\u0026amp;\u003c/span\u003e\u003cimg src=\"docs/icons/brush_edge_remove.svg\" alt=\"minus brush\" class=\"icon\" width=\"100\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003eCombine the \u003cb\u003eadd and subtract brushes\u003c/b\u003e to create amazing combo effects!\u003cbr\u003e\u003c/div\u003e\u003cdiv class=\"ant-row css-1kuana8\"\u003e\u003cdiv class=\"ant-col ant-col-xs-24 ant-col-md-12 css-1kuana8\"\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg width=\"300\" src=\"docs/gifs/mona lisa cat.gif\" alt=\"gif description\" class=\"gif\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003csmall\u003e \"Let's give Mona Lisa a pet cat~\"\u003c/small\u003e\u003cbr\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv class=\"ant-col ant-col-xs-24 ant-col-md-12 css-1kuana8\"\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg width=\"300\" src=\"docs/gifs/handsome bowtie.gif\" alt=\"gif description\" class=\"gif\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003csmall\u003e \"Let's give this handsome fellow a new tie!\"\u003c/small\u003e\u003cbr\u003e\u003cbr\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003cimg src=\"docs/icons/brush.svg\" alt=\"SVG image\" class=\"icon\" width=\"100\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003eThe \u003cb\u003ecolor brush\u003c/b\u003e can precisely color the image, matching the color of your brush~\u003cbr\u003e\u003c/div\u003e\u003cdiv class=\"ant-row css-1kuana8\"\u003e\u003cdiv class=\"ant-col ant-col-xs-24 ant-col-md-12 css-1kuana8\"\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg width=\"300\" src=\"docs/gifs/beautiful hair.gif\" alt=\"gif description\" class=\"gif\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003csmall\u003e\"Precise color highlighting - paint exactly where you want to color\"\u003c/small\u003e\u003cbr\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv class=\"ant-col ant-col-xs-24 ant-col-md-12 css-1kuana8\"\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg width=\"300\" src=\"docs/gifs/cake flowers.gif\" alt=\"gif description\" class=\"gif\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003csmall\u003e \"Don't you think the blue flowers look more dreamy than the pink ones?\"\u003c/small\u003e\u003cbr\u003e\u003cbr\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e*Please note the color brush and add\u0026amp;subtract brush are mutually exclusive - you can only use one at a time!\u003cbr\u003e\u003cbr\u003e\u003c/div\u003e\u003chr\u003e\u003ch3 align=\"center\" class=\"heading\"\u003eII. Draw and Guess\u003c/h3\u003e\u003cdiv align=\"center\"\u003e\u003cimg src=\"docs/icons/wand.svg\" alt=\"SVG image\" class=\"icon\" width=\"100\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003eOur brush is super smart! Look at the examples above - as soon as you finish drawing, it quickly guesses what you want to create and fills in the prompts for you~ Sometimes it might guess wrong though, so feel free to tell it what you actually want to draw~\u003cbr\u003e\u003c/div\u003e\u003cdiv class=\"ant-row ant-row-center css-1kuana8\"\u003e\u003cdiv class=\"ant-col ant-col-xs-24 ant-col-md-12 css-1kuana8\"\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg width=\"300\" src=\"docs/gifs/path.gif\" alt=\"gif description\" class=\"gif\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003csmall\u003e \"Oops! I don't want to draw a vine, I want to create a path!\"\u003c/small\u003e\u003cbr\u003e\u003cbr\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003chr\u003e\u003ch3 align=\"center\" class=\"heading\"\u003eIII. Super useful canvas tools!\u003c/h3\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg src=\"docs/icons/upload.svg\" alt=\"SVG image\" class=\"icon\" width=\"100\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003eClick this button to upload the photo you want to edit~\u003cbr\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg src=\"docs/icons/eraser.svg\" alt=\"SVG image\" class=\"icon\" width=\"100\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003eMade a mistake with the brush? Just erase it with the rubber tool!\u003cbr\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg src=\"docs/icons/cursor.svg\" alt=\"SVG image\" class=\"icon\" width=\"100\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003eDrag, rotate, and resize your strokes with the cursor - just like when you're working in PowerPoint!\u003cbr\u003e\u003c/div\u003e\u003cbr\u003e\u003cdiv align=\"center\" style=\"display: flex; justify-content: center; align-items: center; gap: 10px;\"\u003e\u003cimg src=\"docs/icons/undo.svg\" alt=\"add brush\" class=\"icon\" width=\"100\"\u003e\u003cspan\u003e\u0026amp;\u003c/span\u003e\u003cimg src=\"docs/icons/redo.svg\" alt=\"minus brush\" class=\"icon\" width=\"100\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003eLeft is ctrl+z, right is ctrl+y - you know what that means! 😊\u003cbr\u003eAnd for Mac users, left is command+z, right is command+shift+z! 😝\u003cbr\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg src=\"docs/icons/delete.svg\" alt=\"SVG image\" class=\"icon\" width=\"100\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003eOops! That doesn't look right 😵 - click this trash bin to delete the stroke\u003cbr\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg src=\"docs/icons/eye.svg\" alt=\"SVG image\" class=\"icon\" width=\"100\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003eThe brush strokes are in my way, how can I see the image😡?! Try clicking this button to temporarily hide your strokes\u003cbr\u003e\u003c/div\u003e\u003cbr\u003e\u003cdiv align=\"center\" style=\"display: flex; justify-content: center; align-items: center; gap: 10px;\"\u003e\u003cimg src=\"docs/icons/accept.svg\" alt=\"add brush\" class=\"icon\" width=\"100\"\u003e\u003cspan\u003e\u0026amp;\u003c/span\u003e\u003cimg src=\"docs/icons/discard.svg\" alt=\"minus brush\" class=\"icon\" width=\"100\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003eThese two icons will appear after the image is generated...\u003cbr\u003eI love this generated image 😍, I want to keep editing! ➡️ Click ✅ to continue editing\u003cbr\u003eWhat is this thing 😡, I don't want to see it! ➡️ Click ❎ to discard the result\u003cbr\u003e\u003cbr\u003e\u003c/div\u003e\u003chr\u003e\u003ch3 align=\"center\" class=\"heading\"\u003eIV. Notes\u003c/h3\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg src=\"docs/icons/loading.svg\" alt=\"SVG image\" class=\"icon\" width=\"100\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003eWhen you see the spinning icon in the bottom left corner, it means the magicquill is still charging up 💪 Wait for it to disappear before clicking the Run button!\u003cbr\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003e\u003cbr\u003e\u003cimg src=\"docs/icons/wand.svg\" alt=\"SVG image\" class=\"icon\" width=\"100\"\u003e\u003c/div\u003e\u003cdiv align=\"center\"\u003eWhen the magic wand is flashing, our brush is working hard to guess what you're trying to draw 🤔 Please be patient! 🙏\u003cbr\u003e\u003cbr\u003e\u003c/div\u003e\u003chr\u003e\u003ch3 align=\"center\" class=\"heading\"\u003eV. Parameters\u003c/h3\u003e\u003cdiv align=\"center\"\u003eIf you've made it here, you must really love our work! 😍\u003cbr\u003eIf you want to learn how to better control the generation results, don't miss this section! 😘\u003cbr\u003eNext to the Run button, you can select parameters to modify advanced settings 🧐\u003cbr\u003e\u003cbr\u003e\u003c/div\u003e\u003cdiv\u003e\u003cul\u003e\u003cli\u003e\u003cu\u003eBase Model Name\u003c/u\u003e: Users can adjust this to select appropriate base models for different editing styles\u003cul\u003e\u003cli\u003e\u003ca href=\"https://civitai.com/models/4201/realistic-vision-v60-b1\"\u003eSD1.5/realisticVisionV60B1_v51VAE.safetensors\u003c/a\u003e: This generates realistic style images! Use this most of the time.\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://civitai.com/models/4384?modelVersionId=128713\"\u003eSD1.5/DreamShaper.safetensors\u003c/a\u003e: This one is for generating fantasy style images\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://civitai.com/models/43331/majicmix-realistic\"\u003eSD1.5/majicMIX_realistic\u003c/a\u003e: This one is good at generating portraits 👩\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://civitai.com/models/7240?modelVersionId=948574\"\u003eSD1.5/MeinaMix.safetensors\u003c/a\u003e: This one is good at generating anime images.\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://civitai.com/models/36520/ghostmix\"\u003eSD1.5/ghostmix_v20Bakedvae.safetensors\u003c/a\u003e: Another model for anime image generation.\u003c/li\u003e\u003cli\u003eIf there are any models you'd like to add, contact us!\u003c/li\u003e\u003c/ul\u003e\u003c/li\u003e\u003cli\u003e\u003cu\u003eNegative Prompt\u003c/u\u003e: Users can input content they want the model to avoid generating. Whatever you don't want to generate, put it here.\u003c/li\u003e\u003cli\u003e\u003cu\u003eFine Edge\u003c/u\u003e: Users can enable this option to activate fine edge control.\u003c/li\u003e\u003cli\u003e\u003cu\u003eGrow Size\u003c/u\u003e: Adjust this parameter to set the pixel range affected around brush strokes when editing images, to expand/reduce the brush stroke influence area.\u003c/li\u003e\u003cli\u003e\u003cu\u003eEdge Strength\u003c/u\u003e: 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.\u003c/li\u003e\u003cli\u003e\u003cu\u003eColor Strength\u003c/u\u003e: Parameter for adjusting the color brush control strength, can adjust the image's coloring effects.\u003c/li\u003e\u003cli\u003eThe 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.\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n\n## Citation\nDon't forget to cite this source if it proves useful in your research!\n```bibtex\n@article{liu2024magicquill, \n\ttitle={MagicQuill: An Intelligent Interactive Image Editing System}, \n\tauthor={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}, \n\tyear={2024}, \n\teprint={2411.09703}, \n\tarchivePrefix={arXiv}, \n\tprimaryClass={cs.CV}}\n```\n\n## Acknowledgement\nOur implementation is based on \n- [ComfyUI-BrushNet](https://github.com/nullquant/ComfyUI-BrushNet)\n- [ComfyUI](https://github.com/comfyanonymous/ComfyUI)\n- [LLaVA](https://github.com/haotian-liu/LLaVA)\n- [comfyui_controlnet_aux](https://github.com/Fannovel16/comfyui_controlnet_aux)\n- [ComfyUI_Custom_Nodes_AlekPet](https://github.com/AlekPet/ComfyUI_Custom_Nodes_AlekPet)\n- [fabric.js](https://github.com/fabricjs/fabric.js)\n\nThanks for their remarkable contribution and released code!\n\n## Note\nNote: 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. \n\n(注：本仓库受CC BY-NC的许可协议限制。我们强烈建议，用户不应传播及不应允许他人传播以下内容，包括但不限于仇恨言论、暴力、色情、欺诈相关的有害信息。)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fant-research%2FMagicQuill","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fant-research%2FMagicQuill","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fant-research%2FMagicQuill/lists"}