InstantID keeps one face across SDXL generations from a single reference photo by combining a face identity embedding with a landmark ControlNet. In ComfyUI it needs one node pack, three model downloads and a weight that starts at 0.8 with the CFG lowered to 4 or 5. Its checkpoints and the InsightFace models it depends on are released for research purposes only, so check the terms before using it on a persona that earns money.
InstantID is a tuning-free method that reproduces one face across SDXL images from a single reference photo, by pairing a face identity embedding with a landmark ControlNet called IdentityNet. In ComfyUI you install one node pack, download three sets of model files, start the weight at 0.8 and lower the CFG to 4 or 5.
Files, node names, settings and license terms checked October 2026 against the InstantID repository, its Hugging Face model card and technical report, the ComfyUI_InstantID README and node source, the InsightFace license section and the IP-Adapter model card. The settings are the projects' own recommendations, not scores from a test of ours.
This page is the persona-first setup: what to download, how to wire it, which numbers to start from, how to fix the artifacts the maintainers document, and where InstantID stops being the right tool. It is one branch of our consistent character AI guide, which compares every method. If you have not chosen a method yet, start there.
What InstantID is, and what you will have at the end
You will have a saved ComfyUI graph that takes one approved image of your persona and renders that face in new scenes, on any SDXL checkpoint, with no training run. The technical report describes the design as "strong semantic and weak spatial conditions": the identity embedding says who, and the landmark image says roughly where.
- 01Reference image
One sharp face. Only the largest face in the frame is read
- 02InsightFace antelopev2
Finds the face, outputs an identity embedding and facial keypoints
- 03Adapter
ip-adapter.bin feeds the embedding into the model's attention
- 04IdentityNet
A ControlNet that places the face using the keypoints
- 05SDXL checkpoint
Your prompt sets scene, outfit and style
- 06Image
The same face, posed like the reference unless you say otherwise
Two things follow from that design. The face is read by a recognition model rather than copied as a picture, so the method is aimed at identity, not at the hair and lighting of that one photo. And the head is posed from the reference's keypoints by default, which is why untouched InstantID sets all look at the camera the same way. One limit to know before you start: the released model is for SDXL. If your persona lives on Flux, the equivalent tool is PuLID for Flux.
Read the license before you install
InstantID is free to download and restricted in use. The repository's disclaimer makes three separate statements, and the third is the one people miss.
The same disclaimer covers whose face you use: people may create images with the tool but are "obligated to comply with local laws and utilize it responsibly". Treat that as a floor. Use an original AI persona or your own face, never a real person who has not agreed, and remember that a persona resembling a real person carries the same risk as one built from their photo. Our AI likeness rights guide covers where the lines sit.
Pre-flight checklist
- ComfyUI updated to the latest version; the node pack's README asks for it
- ComfyUI-Manager installed, or git for a manual clone
- An SDXL checkpoint you are allowed to use. The released InstantID model is SDXL only
- About 4.2GB of disk for the two InstantID files, plus the antelopev2 face models
- One sharp, front-facing hero image of an original persona or your own face, one person in frame
- A fixed identity block for the prompt: age range, hair, eyes, two distinguishing marks
- The license section above read, and a decision made about paid use
The repository publishes no VRAM figure. You are loading an SDXL checkpoint plus a 2.5GB ControlNet and a 1.69GB adapter, so expect it to need more memory than plain SDXL; the README's only memory advice is CPU offloading and VAE tiling for its Python pipeline. If you have no manager yet, our ComfyUI-Manager install guide covers it, and the free AI influencer prompt generator drafts the identity block.
InstantID ComfyUI setup, step by step
The pack to install is ComfyUI_InstantID, which implements InstantID natively instead of wrapping the diffusers pipeline. It is the first ComfyUI option the InstantID authors list.
- 1Install the node pack
Through ComfyUI-Manager, or git clone into ComfyUI/custom_nodes. Expected result: an InstantID category in the node menu after a restart.
- 2Add insightface and onnxruntime
The pack needs insightface plus onnxruntime and onnxruntime-gpu in ComfyUI's Python environment. Expected result: no import error at startup.
- 3Place the antelopev2 face models
Unzip them into ComfyUI/models/insightface/models/antelopev2. The InstantID README links the download because the default link is invalid.
- 4Place ip-adapter.bin
From InstantX/InstantID on Hugging Face into ComfyUI/models/instantid. Create the folder if it is missing.
- 5Place the IdentityNet ControlNet
ControlNetModel/diffusion_pytorch_model.safetensors goes in ComfyUI/models/controlnet. Give it a name you will recognise.
- 6Load the basic example
Open InstantID_basic.json from the pack's examples folder and choose your SDXL checkpoint. Expected result: no red nodes.
- 7Wire in your hero image
Load Image into the image input of Apply InstantID. Set the KSampler CFG to 4 or 5 and the latent to 1016 x 1016.
- 8Fix the seed and queue
Expected result: your persona's face in the prompted scene, head posed like the reference. Change one setting per run from here.
| File | Size | Folder | What it is |
|---|---|---|---|
| ip-adapter.bin | 1.69GB | ComfyUI/models/instantid | The adapter that carries the identity embedding. Named after IP-Adapter, which it is based on |
| ControlNetModel/diffusion_pytorch_model.safetensors | 2.50GB | ComfyUI/models/controlnet | IdentityNet, the landmark ControlNet. Rename it so you can find it in the loader |
| antelopev2 face models | Separate download | ComfyUI/models/insightface/models/antelopev2 | InsightFace detection and recognition. Not the classic buffalo_l pack |
Sizes are from the Hugging Face file listing, checked October 2026. The finished chain looks like this:
Load Checkpoint (SDXL) Load InstantID Model (ip-adapter.bin) + InstantID Face Analysis (provider: CUDA or CPU) Load ControlNet Model (IdentityNet) + Load Image (hero) -> Apply InstantID [weight: 0.8 | start_at: 0 | end_at: 1 | optional: image_kps, mask] -> KSampler [positive: identity block + scene | CFG 4 to 5 | fixed seed while testing] -> VAE Decode -> Save ImageApply InstantID takes the model and both conditionings in and passes them out again, so it sits between your prompt nodes and the sampler. The other example files in the pack cover a posed keypoint image, a depth ControlNet, IP-Adapter styling and a multi-ID graph the maintainer calls "hackish" and slower.
InstantID settings: ID weight and strength by checkpoint type
Nobody publishes per-checkpoint numbers for InstantID, and we have not scored any. What the projects document is one default and a set of directions, and that is enough to tune a persona.
- Two dials, one default. The project's example code sets
ip_adapter_scaleandcontrolnet_conditioning_scaleto 0.8. In ComfyUI the standard node has a singleweightat 0.8 that drives both. - Split them on the Advanced node. Apply InstantID Advanced exposes
ip_weightfor the adapter andcn_strengthfor the ControlNet, both defaulting to 0.8. The README says the adapter accounts for about 25% of the composition and the ControlNet for the rest. - Directions from the authors. Raise both for more similarity. For over-saturation lower the adapter first, then the ControlNet. For more prompt control lower the adapter.
- Noise. The standard node injects 35% noise into the negative embeds to reduce the burnt look. The Advanced node leaves
noiseat 0 until you set it.
| Checkpoint type | Documented starting point | Source |
|---|---|---|
| Standard SDXL checkpoint | Weight 0.8 on Apply InstantID. CFG lowered to 4 or 5, or a RescaleCFG node | ComfyUI_InstantID README and node defaults |
| Realistic fine-tune | Same weights. When realism is weak, the authors say to change to a more realistic base model | InstantID model card, usage tips |
| SDXL Turbo or Lightning | Same nodes. Use the steps and CFG that checkpoint calls for | ComfyUI_InstantID README: "works very well" with both |
| Any checkpoint with LCM-LoRA | 10 steps in the example, guidance scale between 0 and 1 | InstantID README |
| Stylised checkpoint | Pick the checkpoint for the style, then lower the adapter weight if the prompt is ignored | InstantID README, usage tips |
Tune in this order: CFG, then resolution, then weights. Most first-run complaints are CFG and resolution problems that no weight fixes. One more input is worth knowing about: the node source averages the face embeddings when you feed it a batch of reference images, and takes keypoints from the first image only. Three approved views of your persona, batched, give the adapter more than one photo's worth of identity while the pose still comes from one place.
The InstantID README also points to a follow-up, InstantID-Rome, "if you are pursuing better results". Its repository shows comparison images and ends with "coming", with no install instructions, so there is nothing to add to a graph today.
InstantID face consistency: fixing the common artifacts
Each of these has a documented cause, so fix them by cause, not by nudging weights at random.
| Symptom | Cause | Fix |
|---|---|---|
| Burnt, over-saturated face | CFG too high, adapter too strong | CFG to 4 or 5, or RescaleCFG. Then lower ip_weight, then cn_strength |
| Watermark patterns | Watermarked training data shows at standard sizes | Use a size slightly off standard, such as 1016 x 1016 |
| Same head position in every image | The pose follows keypoints from the reference | Send a different face image to the image_kps input |
| Outfit or style words ignored | Adapter overpowering the text | Lower ip_weight on the Advanced node |
| "No face detected" error | InsightFace found no face in the reference | Use a larger, front-facing face with nothing covering it |
| Wrong person from a group photo | Only the largest face is read | Crop the reference to one person |
- Small faces drift. In a full-body shot the face covers few pixels and the identity thins out. Re-render it with a face detailer pass that reuses the same InstantID nodes; the chain is in our ComfyUI consistent character workflow.
- Poses beyond the head. InstantID's keypoints cover the face only. For body pose add an OpenPose ControlNet beside it, which the pack supports as an additional ControlNet; see our ControlNet guide and the pose-lock workflow for running a whole pose sheet.
- Red nodes after an update. The pack has been in maintenance-only mode since April 14, 2025. Keep a copy of the ComfyUI version your graph was built on.
- Drift none of this explains. Work through the causes in our AI face consistency guide, one variable at a time.
InstantID vs IP-Adapter
InstantID's authors credit IP-Adapter and ControlNet as the work it builds on. The practical difference is what each one reads from your photo, and what license comes with the files.
- Reads identity as a face-recognition embedding
- Adds a landmark ControlNet that fixes where the face sits
- SDXL only, about 4.2GB of model files
- Needs insightface and the antelopev2 models
- Repository: checkpoints for research purposes only
- Reads a cropped face as an image prompt
- No ControlNet, so pose and framing stay free
- SD 1.5 and SDXL versions; a 0.85GB adapter plus a 2.5GB image encoder
- No InsightFace needed
- Model card license: Apache 2.0
Between the two sits IP-Adapter FaceID, which swaps the image embedding for an InsightFace one and adds a paired LoRA; its model card says it is released for research and not intended for commercial use. Our IP-Adapter face guide decodes which file fits which base model. For a full ranking of the no-training routes, hosted ones included, see consistent characters without a LoRA.
When InstantID beats a trained LoRA, and when it does not
InstantID wins on time to first image. Its README shows results the authors call competitive with character LoRAs "without any training", and that is the right way to use it: to find out in an afternoon whether a face is worth building on. For the three-way decision with published costs and a test you can run, see face LoRA vs InstantID vs IP-Adapter.
A LoRA has seen the profile, the laugh and the full-body shot because you put them in the dataset. InstantID has seen one photo and guesses the rest. When you start rejecting more outputs than you keep, your approved InstantID renders become the training set: see how many images a face LoRA needs and the LoRA training guide for consistent faces. The AI Influencers program goes deeper where this page stops, with lessons on creating the persona, LoRA training for consistent faces and body consistency with ControlNet.
InstantID: FAQ
What is InstantID?
InstantID is a tuning-free method from the InstantX team for generating images that keep one person's face from a single reference image. It pairs an adapter that carries a face identity embedding with a ControlNet called IdentityNet that follows the face's landmarks. The released model works with SDXL checkpoints, and the code, checkpoints and a demo were published in January 2024.
Does InstantID work with Flux or SD 1.5?
Not in the released files. The ComfyUI_InstantID README says the model is only for SDXL, and InstantX's Hugging Face page lists one InstantID model. A Kolors version was announced in July 2024 as still in training. For a single-image identity method on FLUX.1 dev, use PuLID-FLUX; for SD 1.5, use an IP-Adapter face model.
Can I use InstantID commercially?
Read the disclaimer first. The repository says the code is Apache 2.0 for academic and commercial use, the InsightFace face models it relies on are for non-commercial research purposes only, and its released checkpoints are also for research purposes only. InsightFace lists an email address for licensing its recognition models. For a persona that earns money, clear those terms or use another method.
What weight should I use for InstantID in ComfyUI?
Start at the default. The Apply InstantID node ships with a weight of 0.8, which is also the value in the project's example code for both the adapter and the ControlNet. Raise it for more similarity. If the face looks burnt, lower the CFG to 4 or 5 first, then lower the adapter weight on the Advanced node, then the ControlNet strength.
Is InstantID better than IP-Adapter for faces?
They read the face differently, and we have not scored one against the other. InstantID uses a face-recognition embedding plus a landmark ControlNet, so it targets identity and also fixes where the face sits. IP-Adapter Plus Face reads a cropped face as an image prompt, needs no InsightFace, and its model card is Apache 2.0. Run both on your own hero image and compare.
Is InstantID better than training a LoRA?
It is faster to start, not a replacement. InstantID's authors show results they call competitive with character LoRAs without any training. A LoRA stores the face in weights learned from many images, so it has seen the profile and the full-body shot; InstantID guesses them from one photo. Use InstantID to test a face and build a dataset, then train.
Why does my InstantID image have watermarks or a burnt face?
Both are documented. The ComfyUI_InstantID README says the training data is full of watermarks and suggests a resolution slightly off the standard sizes, such as 1016 x 1016. For the burnt look it says to lower the CFG to 4 or 5 or add a RescaleCFG node, and its Apply InstantID node injects 35 percent noise into the negative embeds to reduce the effect.
One photo gets you a face. A system gets you a persona.
AI Influencers, included in All Access, picks up after the first InstantID render: creating the persona, LoRA training for consistent faces, body consistency with ControlNet and photorealism, with the other three programs, weekly coaching and the private community in one subscription.
Write the identity block first
Draft the fixed description your InstantID graph will reuse with the free prompt generator, then follow the free Telegram channel for updates on face-consistency tools.