Real-time face reenactment with LivePortrait: transfers the head pose and expression of each driving Image frame onto a fixed source face via implicit-keypoint warping with stitching and retargeting, emitting one animated Image per frame.
Typical backends
Reenact the bound source face from a recorded video and publish the animated frames over HTTP for a downstream consumer.
Drive the source face live from a remote video URL and stream the result to a browser viewer.
Caveats
- Hard constraintThe source face is bound once at startup from its configured image input; when that input points at a directory the first image found is used, and changing the driven identity requires a redeploy.
- I/O contractWith the side-by-side option enabled each output frame concatenates the cropped driving face and the animated result; disabling it emits the animation alone at a single consistent frame size whether or not a face was detected.
- I/O contractThe subject option selects the reenactment domain: human (the default) drives a human source face, while animal drives an animal source face using the LivePortrait animal models and an animal-face landmark detector; the animal mode requires the bound model bundle to include the liveportrait_animals weights and, as upstream intends, transfers a human driver's motion onto the animal source.
- CompatibilityThe detector, landmark and warping networks are impractical on CPU, so the automatic device option prefers a GPU and the component effectively requires a GPU host for real-time use.
- LatencyThe full LivePortrait weight set and its detector are downloaded and loaded once at startup, so a fresh container pays that cost before the first frame is animated.
- FallbackWhen no face is detected in a driving frame a placeholder of the same size is emitted, so the output stream dimensions stay stable as detection flickers.