AI Podcast Clipper SaaS
Clipnetic-AI is an end-to-end SaaS platform that transforms long-form podcast videos into viral short-form clips optimized for platforms like YouTube Shorts and TikTok. Powered by cutting-edge AI models, the app automatically transcribes content, detects high-engagement segments, and intelligently crops the clip to focus on the active speaker.
- Frontend: Next.js 15, ShadCN UI, Tailwind CSS
- AI/Backend: Python, Gemini AI model, Modal (serverless GPU)
- Queue System: Inngest for background processing
- Auth: NextAuth.js with JWT & credential providers
- Cloud: AWS S3, ECR, EKS with ALB Ingress Controller
- Payments: Razorpay integration
- Database: Prisma ORM with Neon PostgreSQL
- π¬ Auto-detection of viral moments in podcasts (stories, questions, etc.)
- π Automatically added subtitles on clips
- π Transcription with m-bain/whisperX
- π― Active speaker detection for video cropping with Junhua-Liao/LR-ASD
- π± Clips optimized for vertical platforms (TikTok, YouTube Shorts)
- ποΈ GPU-accelerated video rendering with FFMPEGCV
- π§ LLM-powered viral moment identification with Gemini 2.5 Pro
- π Queue system with Inngest for handling user load
- π³ Credit-based system
- π° Razorpay integration for credit pack purchases
- π€ User authentication system
- π± Responsive Next.js web interface
- ποΈ Dashboard to upload podcasts and see clips
- β±οΈ Inngest for handling long-running processes
- β‘ Serverless GPU processing with Modal
- π FastAPI endpoint for podcast processing
- π¨ Modern UI with Tailwind CSS & Shadcn UI
To crop a video, use the following command:
ffmpeg -ss 00:14:00 -to 00:20:00 -i podcast.mp4 -c copy podcast6min.mp4-
Create a new S3 bucket from AWS Console
-
CORS configuration for S3 bucket
[ { "AllowedHeaders": [ "Content-Type", "Content-Length", "Authorization" ], "AllowedMethods": [ "PUT" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [ "ETag" ], "MaxAgeSeconds": 3600 } ] -
You can create a new folder (
/test1) in that bucket and upload an example video file.
-
Create a new User from IAM Dashboard
-
Provide User name and then Next
-
Attach policies directly > Create policy > Specify permissions in JSON
-
IAM user policy to upload, download and list bucket items:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": "[S3 ARN here]" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "[S3 ARN here]/*" } ] } -
Refresh and search it, add that policy to the new User
- Select that newly created IAM User > Security and Credentials
- Create access key
- Select "Application running outside AWS"
- Copy the "Access key" and "Secret access key"
- Set those two as new secret in Modal
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
Follow these steps to install and set up the project.
git clone --recurse-submodules https://github.com/SuperSection/Clipnetic-AI.gitDownload and install Python if not already installed. Refer to the Official Python Download page for guidance on installation.
Create a virtual environment with Python 3.12. You can use pyenv or pyenv-win to set specific Python version while creating a .venv
-
Navigate to backend folder:
cd clipnetic-ai-backend -
Install dependencies:
pip install -r requirements.txt
-
Clone the LR-ASD repo into the backend folder, and rename the folder as
asd:git clone https://github.com/Junhua-Liao/LR-ASD.git asd
-
Modal setup:
modal setup
-
Run on Modal:
modal run main.py
-
Deploy backend:
modal deploy main.py
Install dependencies:
cd clipnetic-ai-frontend
npm iRun:
npm run devRun the local queue development server with Inngest:
cd clipnetic-ai-frontend
npm run inngest-devAccess Inngest Development UI on: http://localhost:8288
Refer to inngest cloud and follow ther steps to setup function and sync app.
Refer to Razorpay Node.js Integration Docs
Overview of what I implemented:
- GitHub Actions with self-hosted runners
- Multi-stage pipeline: Lint β Test β Security β Build β Deploy
- SonarQube for code quality analysis
- Trivy for vulnerability scanning
- Docker containerization with multi-stage builds
- ECR for container registry
- EKS deployment with Kubernetes manifests
- AWS Load Balancer Controller for ingress
- Automated secret management in K8s
- Slack notifications for deployment status
