Captionator is a web application for automatically generating captions (subtitles) for videos using AI-powered transcription. Built with Next.js, it enables users to upload videos, transcribe speech to text, and generate downloadable SRT caption files. The app uses AWS Transcribe for high-accuracy speech recognition and stores results in AWS S3.
- Upload and process videos in major formats (MP4, MOV, AVI, WebM; max size 500MB)
- Automatic transcription of video audio using AWS Transcribe (98%+ accuracy for clear audio)
- Download captions as SRT files
- Edit and refine captions in a user-friendly editor
- Status tracking for transcription jobs
- Secure and scalable cloud storage on AWS S3
- Frontend: Next.js (React), Tailwind CSS
- Backend: Next.js API routes
- Cloud & Storage: AWS S3, AWS Transcribe
- Media Processing: FFmpeg, fluent-ffmpeg, ffmpeg-static
- Other: Vercel (deployment), next/font, Geist font, AWS SDK, uuid, dotenv
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.js. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
Make sure to set the following environment variables for AWS integration:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_REGION(default:ap-south-1)S3_BUCKET_NAME(default:pzwl-captionator)
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out Next.js deployment documentation for more details.
MIT
Support: For questions or support, contact the repository owner.