whatisgithub

What is fay?

xszyou/fay — explained in plain English

Analysis updated 2026-06-24

12,776PythonAudience · developerComplexity · 3/5LicenseSetup · moderate

In one sentence

A Python framework for building talking AI avatar characters that bridges large language models, speech recognition, and text-to-speech to visual avatar software like Unity, Unreal Engine, or web pages, free for commercial use.

Mindmap

mindmap
  root((repo))
    What it does
      AI digital human
      Voice conversation
      Avatar bridge
    Connections
      OpenAI-compatible LLM
      TTS and ASR modules
      Unity Unreal web
    Modes
      Virtual teacher
      Live streamer
      Agent tool use
    Setup
      Python 3.12
      Web management UI
      Windows macOS Ubuntu
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a virtual live streamer character that listens, responds in real time, and syncs lip movements to a Unity or Unreal Engine avatar

USE CASE 2

Create a virtual teacher that wakes on a keyword, answers domain-specific questions from a custom knowledge base, and speaks with a swappable text-to-speech engine

What is it built with?

PythonOpenAI API

How does it compare?

xszyou/faydbt-labs/dbt-corepypa/pipx
Stars12,77612,76912,786
LanguagePythonPythonPython
Setup difficultymoderatemoderateeasy
Complexity3/53/51/5
Audiencedeveloperdatadeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires Python 3.12, an LLM API endpoint, and separate avatar software such as Unity or a web page to display the character.

Free to use for any purpose, including commercial use, as stated in the project README.

So what is it?

Fay is a Python framework for building AI-powered digital humans: virtual on-screen characters that can speak, listen, and carry on conversations. It acts as a bridge between visual avatar software (2.5D and 3D models, Unity, Unreal Engine, mobile apps, web pages) and the large language models that power the conversation. You set up a character appearance with one system and connect Fay to give it a voice, a personality, and real-time responses. On the language model side, Fay connects to any OpenAI-compatible API, including DeepSeek and locally hosted models, and lets you swap the model out without changing the rest of the setup. Speech recognition and text-to-speech modules are also interchangeable, so you can use different providers depending on quality or cost. The framework streams responses as they are generated, which means the character can begin speaking before the full reply is ready. Built-in modes include a virtual teacher, a virtual live streamer, and a news broadcast reader, where the character delivers prepared or generated content automatically on a schedule. There is also an interactive mode with voice and text input, wake-word detection to start conversations, and an agent mode where the character can call external tools on its own to answer questions or complete tasks. A knowledge base and a custom Q&A file let you shape what the character knows and how it responds. The framework runs on Windows, macOS, and Ubuntu with Python 3.12. A management interface is accessible via a local web page for configuration and control. The project is fully open source, and the README states it is free to use for commercial purposes.

Copy-paste prompts

Prompt 1
Connect Fay to a locally hosted LLM via OpenAI-compatible API, configure wake-word detection, and set up a virtual assistant that streams responses to a browser avatar
Prompt 2
Configure Fay's virtual live streamer mode to send lip-sync and motion data to a Unity 3D character via WebSocket in real time
Prompt 3
Add a custom Q&A knowledge base file to my Fay digital human so it answers domain-specific questions in character without calling the main LLM

Frequently asked questions

What is fay?

A Python framework for building talking AI avatar characters that bridges large language models, speech recognition, and text-to-speech to visual avatar software like Unity, Unreal Engine, or web pages, free for commercial use.

What language is fay written in?

Mainly Python. The stack also includes Python, OpenAI API.

What license does fay use?

Free to use for any purpose, including commercial use, as stated in the project README.

How hard is fay to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is fay for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.