- Image
- Generate
Portrait Rig
Purpose
Section titled “Purpose”Portrait Rig animates a source portrait using a motion vector. Relative mode measures changes from a captured baseline. Absolute mode accepts directly authored motion for a puppet controlled by your own patch.
Place Portrait Rig under Generate in the Image view. Connect a portrait to source and Face Track’s motion output to motion.
Begin with Driving Mode set to Relative and Auto Baseline on. Hold the driving face in a neutral pose, then use Capture Baseline when you want that pose to become the new reference.
Inputs and outputs
Section titled “Inputs and outputs”sourcesupplies the portrait.motionsupplies the 74-value motion vector from Face Track or a compatible authored source.outshows the animated crop or the crop composited into the source frame.
Controls
Section titled “Controls”- Driving Mode selects Relative or Absolute.
- Auto Baseline captures the first valid motion. Capture Baseline replaces the reference with the current valid pose.
- Expression Scale, Pose Scale and Translation Scale adjust the corresponding movement.
- Eye Retarget and Lip Retarget act when the driving eye or lip ratios are greater than zero.
- Output selects Crop or Pasteback.
- Source Detector, Source Crop Scale and Source Crop V Offset control acquisition from the portrait. MediaPipe is the default detector; InsightFace requires user-supplied models marked for non-commercial use.
- Reset clears the cached source processing and motion state.
Keep the source portrait stable while driving it. Changing the source requires new face and appearance processing.
For authored Absolute motion, set the first value, valid, to 1. With the motion deltas at zero, the portrait rests at its source pose. An invalid motion vector holds the last accepted motion.
Inputs
-
sourceimage required -
motionimage required
Outputs
-
outimage
Parameters
Section titled “Parameters”Rig
op('portrait_rig').par.Autobaseline - Default:
On- Options:
- Off, On
op('portrait_rig').par.Capturebaseline - Default:
None
op('portrait_rig').par.Expscale - Default:
1- Range:
- 0 to 2.5
op('portrait_rig').par.Posescale - Default:
1- Range:
- 0 to 2
op('portrait_rig').par.Transscale - Default:
1- Range:
- 0 to 2
op('portrait_rig').par.Eyeretarget Scales eye retargeting when the driving eye channels are greater than zero.
- Default:
0- Range:
- 0 to 1
op('portrait_rig').par.Lipretarget Scales lip retargeting when the driving lip channel is greater than zero.
- Default:
0- Range:
- 0 to 1
op('portrait_rig').par.Stitching - Default:
On- Options:
- Off, On
op('portrait_rig').par.Reset - Default:
None
Model
op('portrait_rig').par.Modelpath - Default:
appearance_feature_extractor.safetensors
op('portrait_rig').par.Detthreshold - Default:
0.5- Range:
- 0.05 to 0.95
op('portrait_rig').par.Cropscale - Default:
2.3- Range:
- 1.5 to 4
op('portrait_rig').par.Cropvy - Default:
-0.125- Range:
- -0.5 to 0.5