ComfyUI lab 4: Build a talking character pipeline
Generate a portrait and voice, then drive an open LiveAvatar deployment while keeping consent and identity provenance explicit.
Listen to this article
On-device voiceUses the voice built into your browser; no article text leaves this page.
Audio narration is not supported by this browser.
A talking character is four systems joined together: a portrait establishes identity, speech establishes timing and performance, the animation model maps audio to motion, and video encoding packages the result. Debug those boundaries separately.
Build a portrait the animator can read
Use one front-facing subject, visible shoulders, an unobstructed mouth, simple lighting, and a background that does not merge with hair or clothing. Extreme profiles, tiny faces, hands over the mouth, and multiple characters create ambiguity before animation starts. The first prompt-composer node separates character facts from composition and visual style, so you can change the renderer without rewriting identity.
The TTS output connects directly to LiveAvatar as AUDIO. The LiveAvatar node converts the image and waveform to portable data inputs, submits the configured Cog, polls its prediction, and saves the returned MP4. The cog_id is intentionally exposed: deploy the Apache-2.0 LiveAvatar template in your account and use its actual id rather than depending on a hidden global service.
Evaluate motion, not just lip closure
Check identity drift, lip timing on plosives, blink cadence, head-motion scale, shoulder stability, background warping, and the first/last frames. Test ten seconds before rendering minutes. A locked camera and conservative motion prompt establish a baseline; add gesture energy only after the face remains stable.
Use only characters and voices you own or have permission to animate. Keep portrait source, voice provenance, script, and model version with the artifact.
Run the lab
- Open this graph in Comfy Studio
- Download the exact API-format workflow
- CLI:
app comfy download liveavatar-talking-character
Record the graph JSON, input assets, seed where relevant, model or service version, custom-node commit, and final artifact together. That bundle—not a screenshot—is the reproducible creative unit.
Open-source map
- LiveAvatar app.nz — Apache-2.0 runtime used by the graph
- LivePortrait — Open portrait-animation reference
- EchoMimic — Audio-driven portrait research and code
Creative Systems Labs: 4 of 12. Previous: Create clean narration and reusable voices Next: Turn sound into reactive motion