LivePortrait Retargeting
Take control of the eyes and lips
- driving_crop_info
- retargeting_info
Most of the time, LivePortrait copies the driver's whole face - expression, eyes, lips, head pose - all together. That's what you want for "make my photo move like this video." But sometimes you want to break that coupling: make the eyes look at camera while the rest follows, or crank up the lip movement without touching the eyebrows. That's what LivePortraitRetargeting is for, and it's the most "pro control" node in this pack.
The name is the mechanism: retargeting means taking the motion from one face and re-applying it to a different region of the target with a strength you choose. The pack has dedicated retarget networks for eyes and lips (loaded as part of the stitching/retargeting module), and this node is the switchboard that turns them on.
What you feed it
One input, driving_crop_info - a CROPINFO batch. This is the thing people get wrong on the first try: it's not the source crop info, it's the crop info from the driving video. The node reads the driving landmarks out of it, so you need to run the cropper on your driving frames and feed its crop info here. (If you've already got a crop-info wire going to Process, that's the source's - you want a second cropper pass on the driver, or a workflow where the driver is also cropped.)
Then the two pairs of toggles:
- eye_retargeting + eyes_retargeting_multiplier (default 1, up to 10) - reroutes eye motion through the eye retarget network. The multiplier scales how strongly the driving eye motion is applied. Below 1 relaxes it, above exaggerates.
- lip_retargeting + lip_retargeting_multiplier - same idea for the mouth. If you want the face to be otherwise calm but the lips to follow the driver hard (the classic "react to a song" look), this is the pair.
Where it goes
Single output, retargeting_info (RETARGETINGINFO), which wires into LivePortraitProcess as its optional opt_retargeting_info input. Process then sets the eye/lip retargeting flags and multipliers on the pipeline and passes the driving landmarks along. Everything else in Process behaves as normal - retargeting is additive, not a replacement for the main motion path.
When to actually use it
- Eye contact. Driver looks away, you want the subject to keep facing the camera. Retarget eyes to a calm or forward gaze.
- Lip-sync tuning. Driver's mouth is subtle and you want it readable, or too aggressive and you want it tame. The lip multiplier is a much better dial than
delta_multiplierhere, because it doesn't move the whole head. - Exaggerated expressions. Boost eye or lip multipliers past 1 for stylized, over-the-top animation.
Gotchas
- Retargeting needs the driving landmarks to be good. If the driver's face detection is shaky, you'll amplify garbage - a bad crop info gives you twitchy eyes and a flapping mouth. Stabilize the driving video first.
- lip_zero on the Process node only takes effect when eye or lip retargeting is on (the node warns about this explicitly). It's meant to suppress micro lip jitter in an otherwise retargeted face.
- It's a small node with a big effect; multiplier values up near 10 are rarely sensible - start at 1 and move in 0.1 steps.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| driving_crop_info | CROPINFO | — | |
| eye_retargeting | BOOLEAN | false | — |
| eyes_retargeting_multiplier | FLOAT | 1.0000.01–10 | — |
| lip_retargeting | BOOLEAN | false | — |
| lip_retargeting_multiplier | FLOAT | 1.0000.01–10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| retargeting_info | RETARGETINGINFO | — |