Personality-Driven AI Avatar Bot

Jan 1, 2025 · 2 min read

Dec 2023 – Jan 2025

Problem

Group chat applications are text-first. Adding an AI participant that feels like a character rather than a chat completion means giving it a face, a voice, and a consistent personality — and generating all of that fast enough that it can take part in a live conversation rather than replying minutes later.

Approach

I built the avatar generation side of the product: turning a character definition into a speaking AI avatar that could be dropped into a group chat.

The pipeline combines several pieces I had been building in parallel:

  • Identity generation — a consistent visual identity per character, stable across every clip the bot produces.
  • Audio-driven talking head — driving lip-sync and head motion from a single audio stream while preserving the character’s identity, head pose, and facial expression.
  • Expression control — routing the character’s intended emotion (joy, sadness, anger) into the generated video, so the avatar’s delivery matches the tone of what it is saying.
  • Real-time diffusion video — a Stable Diffusion video generation pipeline producing avatar speech video directly from audio input.

The engineering constraint throughout was latency: a conversational avatar that lags is worse than no avatar, so each stage was optimised for real-time or near-real-time throughput rather than best-possible offline quality.

Tech stack

PyTorch · Stable Diffusion · TensorRT · Python · Docker

Outcome

Shipped as the avatar generation component of a group chat application.