Lynx Encode Face IP
Single-photo face identity for Wan video
- resampler
- ip_image
- lynx_face_embeds
Lynx is ByteDance's high-fidelity personalized video model - the pitch is generating video of a specific person from a single input image, with the face actually holding up across the clip. It's built on top of Wan 2.1, which is why it lives in a Wan wrapper, and it works via an ArcFace-based ID adapter. This node is the "encode the face" step: you give it a photo, it produces the Lynx identity embedding that conditions the generation to look like that person.
Face identity across video is the consistency problem in its purest form, and Lynx was one of the more serious swings at it - the research release drew real attention for "high-fidelity personalized video generation" from one image. If you've been fighting to keep a character's face stable across shots, single-image face-IP is exactly the tool aimed at that.
How it works
Under the hood Lynx derives a facial embedding from your image using ArcFace (the standard face-recognition embedding), then a Perceiver Resampler compresses that into a compact set of identity tokens the model can condition on. This node runs that pathway: it takes your face image plus the Lynx resampler and outputs the identity embedding (LYNXIP) that the downstream Wan sampler uses to keep the generated face faithful to your subject.
The inputs and output that matter
resampler(LYNXRESAMPLER, required) - the loaded Lynx resampler model (the Perceiver Resampler that turns face features into identity tokens), from its loader node.ip_image(IMAGE, required) - the face photo. This is your identity source; a clean, well-lit, front-ish face crop gives the best embedding.
The output is lynx_face_embeds (LYNXIP) - wire it into the Wan/Lynx conditioning path so the generation adopts the identity.
How to install it
ComfyUI Manager: search ComfyUI-WanVideoWrapper, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper
pip install -r ComfyUI-WanVideoWrapper/requirements.txt
then restart. Lynx needs model downloads: the Lynx adapters/resampler weights, and it relies on ArcFace face embeddings - so you'll need the face-analysis models present too (InsightFace/ArcFace). Note InsightFace's own license is non-commercial; that's on the face-recognition dependency, worth knowing if this is for anything paid. Missing these is the usual first-run failure.
Common issues & troubleshooting
No face detected / bad embedding. ArcFace needs to actually find a face in ip_image. A tiny, side-profile, obscured, or very low-res face gives a weak or failed detection. Feed a clear, reasonably frontal, decently-sized face crop.
Identity is close but not exact. Single-image identity transfer is strong but not magic - Lynx is aimed at high face resemblance, not a perfect clone, and video generation adds its own drift. A better, sharper source image is the biggest lever. For hard cases, some people combine identity conditioning with a character LoRA.
Missing-model errors on load. Because Lynx layers several pieces (the adapters, the resampler, ArcFace/InsightFace), a first-run failure is usually one of those not downloaded or not in the expected folder. Confirm each is present and your WanVideoWrapper is up to date - Lynx support arrived in a specific update, so an old install won't have it.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| resampler | LYNXRESAMPLER | lynx resampler model | |
| ip_image | IMAGE | Input images for the model |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| lynx_face_embeds | LYNXIP | — |