๐๏ธ My Podcast Studio
July 16, 2026 ยท View on GitHub
Generate lifelike AI voiceovers and podcast narrations with advanced speech synthesis in seconds. A production-ready, self-hostable Next.js SaaS boilerplate with fine-grained voice controls (speed, pitch, volume), MiniMax Speech 2.6 engine, and built-in Stripe billing. A free open-source alternative to ElevenLabs, Murf AI, Descript, Play.ht, and Listnr โ powered by the MuAPI AI engine.
Tech stack: Next.js 14 (App Router) ยท Prisma ยท PostgreSQL ยท NextAuth (Google OAuth) ยท Stripe ยท Tailwind CSS ยท MuAPI ยท MiniMax Speech 2.6 Use cases: Podcast creators ยท YouTube voiceovers ยท Audiobook narration ยท E-learning content ยท Video ad voiceovers ยท News readers ยท Language learning apps ยท Accessibility tools
https://github.com/user-attachments/assets/b3ebb885-56de-4a80-9138-3370e0f10596
๐ Try the Live Engine
Hosted Demo: my-podcast-iota.vercel.app
Experience the full dark-mode, responsive interface. Sign in with Google to explore the Narration Studio, advanced parameter sliders, 470+ voice selection, and credit tiers directly from your browser.
My Podcast Studio is not just another wrapper โ it's a production-ready, highly-optimized AI web application. Out of the box, it seamlessly manages User Authentication, Credits & Billing, Creations Persistence, and asynchronous AI voice generation using a sleek Next.js (App Router) architecture. It empowers you to build professional-grade AI workflows with built-in mobile optimization, making it the perfect starting point for your next AI SaaS.
Why use My Podcast Studio?
- Production-Ready SaaS โ Complete with Google OAuth and Stripe Checkout workflows built-in.
- Advanced Voice Workstation โ Configure custom voice profiles, adjust speed/pitch/volume sliders, specify formats (MP3/WAV/PCM/FLAC), sample rates, and select emotions.
- Dynamic 470+ Speaker Dropdown โ Custom interactive selector categorized by language, gender, and search filters.
- History Archive & Live Player โ Review previously generated narrations in a unified list, stream them using the custom output player, and download high-quality files.
- Responsive UX โ Dynamic sliding dropdowns, micro-animations, and complete mobile-stacked responsiveness.

โจ Core Features
- Kinetic Narration Workstation โ Convert script prompts (up to 10,000 characters) into lifelike speech. Choose between Speech 2.6 Turbo (faster, 14 credits/1k chars) and Speech 2.6 HD (studio grade, 26 credits/1k chars) voice models.
- Custom Dropdown Selector โ Browse and filter 470+ unique voices dynamically by language (English, Chinese, Spanish, Portuguese, French, German, Italian, etc.) and gender with real-time search.
- Advanced Voice Tuning โ Precision sliders for speech Speed (0.5x to 2.0x), Volume (0.1x to 10.0x), and Pitch Semitones (-12 to +12), along with custom selectors for Emotion Modes (Happy, Sad, Angry, Fearful, Disgusted, Surprised, Neutral) and English Normalization.
- Studio Creations History โ Persist all generated audio clips to PostgreSQL. View and manage creations in a dedicated history list with options to stream via an integrated output player, download high-res files, and delete entries.
- Credit Tiers & Billing โ Fully integrated Stripe checkout workflows. Top up account credits through flexible, tier-based pricing packs ($1 = 200 credits) to support continuous voice generation.
- Beautiful & Dynamic UI โ Dark-mode glassmorphic dashboard styled using Tailwind CSS and React Icons, complete with smooth animations, custom dropdown overlays, and mobile-ready layouts.
โก Deployment: Vercel & Production
Deploying an instance of My Podcast Studio to the web requires minimal configuration. The architecture is engineered explicitly for Vercel serverless environments.
One-Click Deploy
Pro Tip: Fork this repository, replace
YOUR_GITHUB_USERin the link above, to streamline deployments for your private forks.
๐ Required Environment Variables
To successfully deploy and run, populate the following environment variables in your Vercel project settings:
| Service | Variable | Description & Source |
|---|---|---|
| Database | DATABASE_URL | PostgreSQL connection string (Supabase or Neon) |
DIRECT_URL | Direct DB connection for Prisma migrations | |
| NextAuth / Google | NEXTAUTH_SECRET | Secure random string generated via openssl rand -base64 32 |
NEXTAUTH_URL | Your production domain (e.g. https://my-podcast-iota.vercel.app) | |
GOOGLE_CLIENT_ID | Get from Google Cloud Console | |
GOOGLE_CLIENT_SECRET | Get from Google Cloud Console | |
| Stripe Billing | STRIPE_SECRET_KEY | Get from Stripe Dashboard |
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY | Get from Stripe Dashboard | |
STRIPE_WEBHOOK_SECRET | Webhook secret for resolving credit purchases | |
| AI Generator | MUAPIAPP_API_KEY | Create an account and get key from muapi.ai/access-keys |
๐ Launching on Vercel: Step-by-Step
- Database Provisioning: Create a new Postgres database (via completely free tiers on Vercel Postgres, Supabase, or Neon). Retrieve the pooling connection string (
DATABASE_URL) and direct connection string (DIRECT_URL). - Project Creation: Import your GitHub fork into the Vercel dashboard.
- Configure Environment Variables: Copy the variables above into the Vercel project settings environment tab.
- Deploy: Hit "Deploy". Vercel will automatically run the build steps (
npm run build). - Database Push: Since Prisma does not automatically migrate via Vercel builds by default, you may want to append
npx prisma db push &&to your Vercel build command, or manually run it locally pointing to your production database URL. - Integrations Setup:
- Establish a Google Cloud OAuth app, enabling the callback URL:
https://your-app.vercel.app/api/auth/callback/google - Setup a Stripe Webhook, pointing to
https://your-app.vercel.app/api/stripe/webhookand selecting thecheckout.session.completedevent to grab your webhook signing secret.
- Establish a Google Cloud OAuth app, enabling the callback URL:
๐ ๏ธ Local Development
Ready to iterate locally? Setup is straightforward.
Prerequisites
- Node.js (v18 or higher)
- A local PostgreSQL instance or a free cloud Database URL.
Setup
# 1. Clone the repository
git clone https://github.com/SamurAIGPT/my-podcast
cd my-podcast
# 2. Install dependencies
npm install
# 3. Setup Environment
cp .env.example .env
# Open .env and insert your specific keys. You can use a local DB or your dev cloud DB.
# 4. Initialize Database Schema
npx prisma generate
npx prisma db push
# 5. Start the Development Server
npm run dev
The graphical console should now be heavily responsive on http://localhost:3000.
๐๏ธ Database Setup (Prisma Introspection Cycle)
โ ๏ธ Database Safety Warning: This application shares a single PostgreSQL database instance on Supabase with other applications in this workspace. Follow the cycle below to synchronize models safely:
- Pull all existing tables:
npx prisma db pull(introspects all 20+ active tables) - Declare relation changes: Inject the
PodcastCreationmodel in your localschema.prismaand link it inside theUsermodel. - Push to database: Run
npx prisma db pushto merge changes safely. - Local Schema Cleanup: Strip away other applications' models from your local
schema.prisma, leaving onlyAccount,Session,User,VerificationToken, andPodcastCreation. - Compile local client: Run
npx prisma generateto build your local Prisma client.
๐๏ธ Technical Architecture
This application decouples visually rich UI elements from core business logic layers, emphasizing modularization.
my-podcast/
โโโ prisma/
โ โโโ schema.prisma # Postgres tables: Users, Accounts, Sessions, PodcastCreations
โโโ src/
โ โโโ app/ # Next.js 16 App Router
โ โ โโโ api/ # Backend API Routes (Stripe, MuAPI voice, Auth)
โ โ โ โโโ auth/ # NextAuth credentials handling
โ โ โ โโโ podcast/ # Credit deduction and MuAPI call endpoint
โ โ โ โโโ podcasts/ # GET (fetch history) and DELETE creations endpoints
โ โ โ โโโ stripe/ # Stripe session builder and webhook callback routes
โ โ โโโ dashboard/ # Detailed visual creations page
โ โ โโโ pricing/ # Interactive packaging tier checkout selection page
โ โ โโโ page.js # Main Studio voice generation workstation
โ โโโ components/
โ โ โโโ layout/
โ โ โ โโโ Navbar.jsx # Sticky responsive navigation component
โ โ โโโ Providers.js # NextAuth SessionProvider wrapper
โ โโโ lib/
โ โโโ prisma.js # Shared ORM client singleton
โ โโโ auth.js # NextAuth adapter configuration
โ โโโ config.js # Central config mapping Google, Stripe, MuAPI keys
โ โโโ stripe.js # Stripe instance initializer
โ โโโ voices.js # 472 voice configuration metadata
โ โโโ services/
โ โโโ user.js # Credit management service
โ โโโ billing.js # Stripe checkout and payment webhook parser
โโโ next.config.mjs # Next Configuration
โโโ package.json
๐ Related Templates
Check out other open-source SaaS templates from the same ecosystem:
| Template | Description | GitHub |
|---|---|---|
| TryOn AI | AI Virtual Try-On & Outfit Fitting SaaS | github.com/SamurAIGPT/ai-tryon |
| AI Social Post Generator | High-conversion AI social feed manager | github.com/SamurAIGPT/social-post |
| AI Kissing Video Generator | Photorealistic romance video generator | github.com/SamurAIGPT/ai-kissing-video-generator |
| Nano Banana Generator | Multi-model AI image generator platform | github.com/SamurAIGPT/nano-banana-generator |
๐ License
MIT Licensed. Fork it, brand it, and start earning.
My Podcast Studio: A premium, dark-mode, fully responsive AI narration workstation built for podcast hosts, publishers, and content creators.