GithubHelp home page GithubHelp logo

comfyui_instantid's Introduction

ComfyUI InstantID (Native Support)

Native InstantID support for ComfyUI.

This extension differs from the many already available as it doesn't use diffusers but instead implements InstantID natively and it fully integrates with ComfyUI.

Sponsorship

If you like my work and wish to see updates and new features please consider sponsoring my projects.

Not to mention the documentation and videos tutorials. Check my ComfyUI Advanced Understanding videos on YouTube for example, part 1 and part 2

The only way to keep the code open and free is by sponsoring its development. The more sponsorships the more time I can dedicate to my open source projects.

Please consider a Github Sponsorship or PayPal donation (Matteo "matt3o" Spinelli). For sponsorships of $50+, let me know if you'd like to be mentioned in this readme file, you can find me on Discord or matt3o ๐ŸŒ gmail.com.

Important updates

  • 2024/02/27: Added noise injection in the negative embeds.

  • 2024/02/26: Fixed a small but nasty bug. Results will be different and you may need to lower the CFG.

  • 2024/02/20: I refactored the nodes so they are hopefully easier to use. This is a breaking update, the previous workflows won't work anymore.

Basic Workflow

In the examples directory you'll find some basic workflows.

workflow

Video Tutorial

Watch the video

** ๐ŸŽฅ Introduction to InstantID features**

Installation

Upgrade ComfyUI to the latest version!

Download or git clone this repository into the ComfyUI/custom_nodes/ directory or use the Manager.

InstantID requires insightface, you need to add it to your libraries together with onnxruntime and onnxruntime-gpu.

The InsightFace model is antelopev2 (not the classic buffalo_l). Download the models (for example from here or here), unzip and place them in the ComfyUI/models/insightface/models/antelopev2 directory.

The main model can be downloaded from HuggingFace and should be placed into the ComfyUI/models/instantid directory. (Note that the model is called ip_adapter as it is based on the IPAdapter).

You also needs a controlnet, place it in the ComfyUI controlnet directory.

Remember at the moment this is only for SDXL.

Watermarks!

The training data is full of watermarks, to avoid them to show up in your generations use a resolution slightly different from 1024ร—1024 (or the standard ones) for example 1016ร—1016 works pretty well.

Lower the CFG!

It's important to lower the CFG to at least 4/5 or you can use the RescaleCFG node.

Face keypoints

The person is posed based on the keypoints generated from the reference image. You can use a different pose by sending an image to the image_kps input.

Day Dreaming

Noise Injection

The default InstantID implementation seems to really burn the image, I find that by injecting noise to the negative embeds we can mitigate the effect and also increase the likeliness to the reference. The default Apply InstantID node automatically injects 35% noise, if you want to fine tune the effect you can use the Advanced InstantID node.

This is still experimental and may change in the future.

Additional Controlnets

You can add more controlnets to the generation. An example workflow for depth controlnet is provided.

Styling with IPAdapter

It's possible to style the composition with IPAdapter. An example is provided.

IPAdapter

Multi-ID

Multi-ID is supported but the workflow is a bit complicated and the generation slower. I'll check if I can find a better way of doing it. The "hackish" workflow is provided in the example directory.

IPAdapter

Advanced Node

There's an InstantID advanced node available, at the moment the only difference with the standard one is that you can set the weights for the instantID models and the controlnet separately. It now also includes a noise injection option. It might be helpful for finetuning.

The instantID model influences the composition of about 25%, the rest is the controlnet.

The noise helps reducing the "burn" effect.

Other notes

It works very well with SDXL Turbo/Lighting. Best results with community's checkpoints.

Current sponsors

It's only thanks to generous sponsors that the whole community can enjoy open and free software. Please join me in thanking the following companies and individuals!

Gold sponsors

Kaiber.ai

Companies supporting my projects

Esteemed individuals

One-time Extraordinaire

comfyui_instantid's People

Contributors

cubiq avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.