A real-time interactive 3D avatar chatbot built with React Three Fiber, powered by Google's Gemini API for natural conversations and ElevenLabs for lifelike text-to-speech.
- Real-time 3D character animation
- Natural language processing with Gemini API
- High-quality text-to-speech with ElevenLabs
- Automated lip-sync using Rhubarb Lip Sync
- Dynamic facial expressions and animations
- Clean, modern UI with Tailwind CSS
- Green screen mode for streaming/recording
-
Frontend:
- React
- Three.js
- React Three Fiber
- Tailwind CSS
- Vite
-
Backend:
- Node.js
- Express
- Gemini API
- ElevenLabs API
- Rhubarb Lip Sync
- Install Rhubarb Lip Sync
- Get API keys for:
- Google Gemini
- ElevenLabs
- Clone the repository
- Set up the backend:
cd backend
npm install
# Create .env and add your API keys
npm run dev
- Set up the frontend:
cd frontend
npm install
npm run dev
- Open
http://localhost:5173
in your browser - Type your message in the chat input
- The 3D avatar will respond with:
- Voice output
- Facial expressions
- Lip-sync animation
- Body gestures