Create stunning AI-generated voices and clone your own voice with advanced machine learning technology
π Live Demo β’ πΊοΈ Roadmap β’ π Quick Start β’ β¨ Features β’ π οΈ Tech Stack
- Generate AI voices in multiple languages (English & Spanish)
- Voice selection system with customizable options
- Credit-based usage system
- User authentication and profile management (Google)
- Architecture Overview
SexyVoice.ai is a cutting-edge AI voice generation platform that empowers users to create high-quality, realistic voices and clone their own voice using advanced machine learning technology. Whether you're a content creator, developer, or business professional, this platform provides the tools you need to generate professional-grade audio content with both pre-made voices and custom voice cloning capabilities.
- AI Voice Generation: Create realistic voices powered by state-of-the-art AI models
- Voice Cloning: Clone your own voice with as little as 10 seconds of audio
- Voice Selection System: Choose from a variety of customizable voice options
- Multi-language Support: Generate voices in English, Spanish, and Italian (more languages coming soon)
- Secure Authentication: Multiple login options with Google (more coming soon)
- Credit-based System: Fair usage tracking with transparent pricing
- Profile Management: Personalized dashboard and settings
- Audio History: Track and manage all your generated content
- Responsive Design: Optimized for desktop and mobile devices
- International Support: Full i18n implementation for global accessibility
- Rate Limiting: Fair usage policies to ensure platform stability
- Real-time Updates: Live audio generation with progress tracking
- Next.js 15 - React framework with App Router and TypeScript
- React 19 - Server Components (RSCs), Suspense, and Server Actions
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Modern component library
- Radix UI - Headless component primitives
- Supabase - Authentication and PostgreSQL database with SSR support
- Drizzle ORM - Type-safe database operations (planned)
- Vercel Blob Storage - Scalable audio file storage
- Vercel - Deployment and hosting platform
- Sentry - Error tracking and performance monitoring
- PostHog - Product analytics and feature flags
- Stripe - Payment processing and subscription management
- Biome - Fast linter and formatter
- TypeScript - Type safety and developer experience
- Contentlayer - Type-safe content management
- Husky - Git hooks for automated tasks
- lint-staged - Runs commands on staged files
- Node.js 24+
- pnpm
- Supabase account - https://supabase.com
-
Clone the repository
git clone https://github.com/gianpaj/sexyvoice.git cd sexyvoice -
Install dependencies
pnpm install
-
Set up environment variables
cp .env.example .env.local
Fill in the required environment variables as defined in
.env.example:NEXT_PUBLIC_SUPABASE_URL- Your Supabase project URLNEXT_PUBLIC_SUPABASE_ANON_KEY- Your Supabase anonymous keySUPABASE_SERVICE_ROLE_KEY- For admin access to Supabase (used in Telegram cronjob)KV_REST_API_URL- Your Redis (Upstash) KV REST API URLKV_REST_API_TOKEN- Your Redis (Upstash) KV REST API tokenBLOB_READ_WRITE_TOKEN- Vercel Blob storage tokenREPLICATE_API_TOKEN- Your Replicate API token for AI voice generationFAL_KEY- Your fal.ai API key for voice cloningGOOGLE_GENERATIVE_AI_API_KEY- Your Google Generative AI API key for text-to-speech and enhance text (automatically add emotion tags)STRIPE_SECRET_KEY- Stripe secret key for payment processingSTRIPE_WEBHOOK_SECRET- Stripe webhook secret for payment processingSTRIPE_PRICING_ID- Stripe pricing ID for Pricing tableSTRIPE_PUBLISHABLE_KEY- for Stripe Pricing tableSTRIPE_TOPUP_5_PRICE_IDSTRIPE_TOPUP_10_PRICE_IDSTRIPE_TOPUP_99_PRICE_IDTELEGRAM_WEBHOOK_URL- Telegram cronjob for daily stats notificationsCRON_SECRET- For the Telegram cronjob - See Managing Cron Jobs- Additional optional variables for analytics and monitoring (Crisp, Posthog)
-
Set up Supabase
- Create a new project at Supabase
- Run database migrations:
supabase db push
-
Start the development server
pnpm dev
-
Open your browser Navigate to http://localhost:3000 to see the application.
| Command | Description |
|---|---|
pnpm dev |
Start development server with Turbopack |
pnpm build |
Build production application |
pnpm start |
Start production server |
pnpm test |
Run test suite |
pnpm test:watch |
Run tests in watch mode |
pnpm lint |
Lint codebase with Biome |
pnpm lint:fix |
Fix linting issues automatically |
pnpm typecheck |
Run TypeScript type checking |
pnpm format |
Format code with Biome |
pnpm check-translations |
Validate translation files |
pnpm build:content |
Build content layer |
pnpm clean |
Clean unused dependencies with Knip |
Run the test suite:
pnpm testFor continuous testing during development:
pnpm test:watchGenerate TypeScript types from Supabase Cloud Database:
pnpm run generate-supabase-typesPush schema changes to Supabase:
supabase db pushFetch database migrations:
supabase migration fetchBackup database and schema:
export SUPABASE_DB_URL=postgresql://postgres:[email protected]:5432/postgres
sh ./scripts/db_backups.shGenerate waveform videos for audio files using seewav:
pip3 install seewav
seewav your_audio.mp3 --color '0.8,0.0,0.4'# Convert WAV to MP3 with specific audio settings
# -i input.wav: Input file
# -acodec libmp3lame: Use LAME MP3 encoder
# -q:a 2: Variable bit rate quality (0=highest, 9=lowest)
# -ar 24000: Set audio sample rate to 24kHz
# -ac 1: Set audio channels to mono (1 channel)
# output.mp3: Output file
ffmpeg -i input.wav -acodec libmp3lame -q:a 2 -ar 24000 -ac 1 output.mp3SexyVoice.ai implements multiple security layers:
- Authentication: Secure OAuth integration with Supabase Auth
- Data Protection: Row-level security (RLS) policies in PostgreSQL
- API Security: Rate limiting and request validation
- File Security: Secure blob storage with access controls
- Error Handling: Comprehensive error tracking with Sentry
- Environment Isolation: Separate configurations for development and production
We welcome contributions!
- Report bugs
- Suggest features
- Submit pull requests
This project is licensed under the MIT License.
- Website: sexyvoice.ai
- Roadmap: Feature requests and roadmap
- Documentation: API Documentation (coming soon)
- Support: Contact support or via Chat on the Dashboard
SexyVoice.ai is actively developed and maintained. Check the roadmap for upcoming features and improvements.
- β Core voice generation functionality
- β Voice cloning with custom audio samples
- β User authentication and profiles
- β Credit system and payment processing
- β Website multi-language support (EN/ES)
- π§ API access (coming soon)
- Puck
- Zephyr
- Gacrux
- Kore
- Sulafat
| Language | BCP-47 Code | Language | BCP-47 Code |
|---|---|---|---|
| Arabic (Egyptian) | ar-EG |
German (Germany) | de-DE |
| English (US) | en-US |
Spanish (US) | es-US |
| French (France) | fr-FR |
Hindi (India) | hi-IN |
| Indonesian (Indonesia) | id-ID |
Italian (Italy) | it-IT |
| Japanese (Japan) | ja-JP |
Korean (Korea) | ko-KR |
| Portuguese (Brazil) | pt-BR |
Russian (Russia) | ru-RU |
| Dutch (Netherlands) | nl-NL |
Polish (Poland) | pl-PL |
| Thai (Thailand) | th-TH |
Turkish (Turkey) | tr-TR |
| Vietnamese (Vietnam) | vi-VN |
Romanian (Romania) | ro-RO |
| Ukrainian (Ukraine) | uk-UA |
Bengali (Bangladesh) | bn-BD |
| English (India) | en-IN & hi-IN bundle |
Marathi (India) | mr-IN |
| Tamil (India) | ta-IN |
Telugu (India) | te-IN |
Made with β€οΈ by Gianfranco