The LivePortrait for Facial Expression workflow is a sophisticated tool designed to animate a still portrait by applying facial expressions from a reference video. This workflow leverages the LivePortrait model, a cutting-edge AI model that excels in transferring facial expressions from video to image. The process begins with the 'LoadImage' node, where a static portrait is uploaded, and the 'VHS_LoadVideo' node, which imports the reference video containing the desired expressions. The 'LivePortraitProcess' node plays a crucial role by analyzing and extracting facial movements from the video, which are then applied to the portrait using the 'LivePortraitComposite' node. To ensure precision, the 'LivePortraitCropper' and 'LivePortraitLoadMediaPipeCropper' nodes are employed to align facial features accurately. The final animated video is compiled using the 'VHS_VideoCombine' node and saved with the 'SaveImage' node.

This workflow is particularly useful for creating dynamic animations from static images, making it invaluable for content creators and marketers looking to enhance visual storytelling. By utilizing nodes like 'DownloadAndLoadLivePortraitModels' and 'ImageResizeKJv2', users can ensure that the models and images are optimized for the best performance and quality. The workflow's integration with custom nodes such as 'comfyui-kjnodes' and 'comfyui-liveportraitkj' further enhances its capability to deliver realistic and expressive animations.

API

Use this workflow from code

Every Comfy workflow is a JSON graph. The payload below is this workflow, exactly as ComfyUI runs it — fetch it from the URL, keep it in version control, or load it in ComfyUI and run it node by node.

templates_liveportrat.app.json
Fetching workflow JSON…

Run it from TypeScript or Python with the Comfy SDK. The same code targets Comfy Cloud or a ComfyUI you host yourself — only the base URL changes.

// Install (beta)
npm i @comfyorg/sdk

// Run this workflow (TypeScript)
import { Comfy } from "@comfyorg/sdk";

const client = new Comfy({ apiKey: "comfyui-..." });
const wf = await client.workflows.fromFile("workflow_api.json");
const job = await client.run(wf);
await job.getOutputs("<output-node-id>")[0].toFile("output.png");

The SDK takes a workflow in API format: open this workflow in ComfyUI and use File → Export Workflow (API).

Comfy Cloud API access requires a plan with an API key.

FAQ

Frequently Asked Questions

View all workflows
Showing 30 of 30 templates