This is a full-stack, self-hosted clone of ElevenLabs β your all-in-one AI audio generation playground. π₯ Instead of relying on external APIs, we host our own cutting-edge models for:
- π Text-to-Speech (TTS) with StyleTTS2
- π Voice Conversion with Seed-VC
- π΅ Text-to-Audio with Make-An-Audio
All models are fine-tuned for custom voices, containerized via Docker π³, and exposed through blazing-fast FastAPI endpoints β‘. The frontend is powered by Next.js and the T3 Stack, offering a modern, responsive UI with voice selection, audio history, and full user management. Auth.js handles authentication, credits are managed dynamically, and Inngest keeps your AI infra from getting overwhelmed π‘οΈ.
- π StyleTTS2 for lifelike text-to-speech
- π Seed-VC for seamless voice cloning
- π΅ Make-An-Audio for creative audio generation
- π§ Fine-tuning for unique voice identities
- π³ Dockerized AI stack for easy deployment
- βοΈ FastAPI backend with scalable endpoints
- πͺ User credit system
- π Inngest queue to manage workload
- βοΈ AWS S3 integration for audio file storage
- π₯ Multiple pre-trained voice models
- π₯οΈ Fully responsive UI with Next.js + Tailwind CSS
- π Secure authentication with Auth.js
- ποΈ Voice picker component
- π Audio history tracking
| Purpose | Model Name |
|---|---|
| Voice-to-Voice | seed-vc |
| Fine-tuned TTS | StyleTTS2FineTune |
| Text-to-Speech | StyleTTS2 |
| Text-to-SFX / Audio | Make-an-audio |
git clone https://github.com/BernieTv/ElevenLabs-Clone.gitcd elevenlabs-cloneEnsure Python 3.10 is installed. If not, download it here:
π Download Python
Note: Create a virtual environment for each model folder except
elevenlabs-clone-frontend.
cd elevenlabs-clone-frontend
npm installcd seed-vc # example
pip install -r requirements.txtYou'll need two IAM entities to handle S3 and EC2 integration:
Purpose: Upload & fetch audio files from S3
Custom Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject", "s3:ListBucket"],
"Resource": [
"arn:aws:s3:::elevenlabs-clone",
"arn:aws:s3:::elevenlabs-clone/*"
]
}
]
}Purpose: EC2 access to S3 + ECR
Attach Permissions:
AmazonEC2ContainerRegistryFullAccessAmazonS3FullAccess
Custom Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject", "s3:ListBucket"],
"Resource": [
"arn:aws:s3:::elevenlabs-clone",
"arn:aws:s3:::elevenlabs-clone/*"
]
}
]
}