⭐ Drop a star if you like the project!
A powerful web application that generates subtitles for videos using AI. Visit the live demo at free-subtitle-ai.yashchauhan.dev
Watch our demo video on YouTube:
Captune AI leverages open ai whisper model to accurately transcribe spoken words into text, making it easier for users to create subtitles for their videos. Whether you're a content creator, educator, or business professional, this tool simplifies the process of adding subtitles, enhancing accessibility and engagement for your audience. With support for multiple languages and customizable subtitle options, Captune AI is designed to meet diverse user needs.
All processing is done on the client side, so you can rest assured that your data is secure.
- 🎥 Video upload and processing
- 🤖 AI-powered subtitle generation
- 📝 Subtitle editing and customization
- 🌐 Multi-language support
- 🔒 User authentication
- 📱 Responsive design
- 🎨 Modern UI with dark/light mode
- Frontend: Next.js 15, React 19, TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI
- Authentication: NextAuth.js
- Database: MongoDB with Mongoose
- Video Processing: FFmpeg
- Form Handling: React Hook Form with Zod validation
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher)
- MongoDB
- FFmpeg WebAssembly (WASM) (for video processing)
-
Clone the repository:
git clone https://github.com/iyashjayesh/captune-ai.git cd captune-ai
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.env
file in the root directory with the following variables:# Database MONGODB_URI=your_mongodb_uri # Authentication NEXTAUTH_SECRET=your_nextauth_secret NEXTAUTH_URL=http://localhost:3000 # Google Authentication AUTH_GOOGLE_ID=your_google_client_id AUTH_GOOGLE_SECRET=your_google_client_secret # Hugging Face API HF_API_KEY=your_huggingface_api_key
To set up Google Authentication:
- Go to the Google Cloud Console
- Create a new project or select an existing one
- Enable the Google+ API
- Go to Credentials → Create Credentials → OAuth Client ID
- Set up the OAuth consent screen
- Add authorized redirect URIs:
http://localhost:3000/api/auth/callback/google
(for development)https://free-subtitle-ai.yashchauhan.dev/api/auth/callback/google
(for production)
- Copy the Client ID and Client Secret to your
.env
file
To set up Hugging Face API:
- Create an account on Hugging Face
- Go to your profile settings → Access Tokens
- Create a new token with read access
- Copy the token to your
.env
file
Note: You can also run the model locally if you prefer. In that case, you'll need to set up the model files and update the configuration accordingly.
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
npm run dev
- Start the development servernpm run build
- Build the production applicationnpm run start
- Start the production servernpm run lint
- Run ESLint for code linting
captune-ai/
├── src/
│ ├── app/ # Next.js app directory
│ ├── components/ # React components
│ ├── lib/ # Utility functions and configurations
│ └── types/ # TypeScript type definitions
├── public/ # Static assets
└── ...config files
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors who have helped shape this project
- Special thanks to the open-source community for the amazing tools and libraries
If you encounter any issues or have questions, please open an issue in the GitHub repository.
Made with ❤️ by Yash Chauhan (@iyashjayesh)
Below are the architecture diagrams for the Captune AI application: