AI-powered reel generator that transforms your images into engaging Instagram reels with natural-sounding voiceovers.
- AI Voice Generation: Convert text descriptions into natural-sounding voiceovers using ElevenLabs
- Automatic Video Creation: Smart algorithm combines images with generated audio
- Mobile Optimized: Perfect 9:16 aspect ratio for social media
- Professional Quality: High-resolution output with smooth transitions
- Easy Sharing: Download and share reels instantly
- Modern UI: Beautiful dark theme with gradient effects
- Backend: Flask (Python)
- Frontend: HTML, CSS, JavaScript, Bootstrap 5
- AI: ElevenLabs API for text-to-speech
- Video Processing: FFmpeg
- Styling: Custom CSS with modern design system
-
Clone the repository
git clone https://github.com/manik3160/VidSnap-AI.git cd VidSnap-AI -
Install dependencies
pip install -r requirements.txt
-
Set up environment variables
# Create .env file ELEVENLABS_API_KEY=your_api_key_here CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name CLOUDINARY_API_KEY=your_cloudinary_api_key CLOUDINARY_API_SECRET=your_cloudinary_api_secret SECRET_KEY=your_secret_key_here -
Run the application
python main.py
-
Initialize database (first time only)
# Visit http://localhost:5001/init-db -
Open your browser Navigate to
http://localhost:5001
- Upload Images: Select 2-5 photos for your reel
- Write Description: Add compelling text that will be converted to voice
- Generate Reel: Click create and wait for processing
- View Gallery: Browse, play, download, and share your reels
Get your ElevenLabs API key:
- Visit elevenlabs.io
- Sign up for an account
- Go to your profile settings
- Copy your API key
- Add it to your
.envfile - Set environment variables in Heroku dashboard
VidSnap-AI/
├── main.py # Flask application
├── generate_process.py # Background video processor
├── config.py # API configuration
├── requirements.txt # Python dependencies
├── Procfile # Deployment configuration
├── templates/ # HTML templates
│ ├── base.html
│ ├── index.html
│ ├── create.html
│ └── gallery.html
├── static/ # Static assets
│ ├── css/
│ ├── reels/ # Generated videos
│ └── songs/ # Background music
└── user_uploads/ # User uploaded files
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is open source and available under the MIT License.
If you have any questions or need help, feel free to:
- Open an issue on GitHub
- Contact us at maniksingh3606@gmail.com
Made with ❤️ by Manik