An advanced web application that leverages AI to automatically create professional videos by combining AI-generated content, stock footage, and text-to-speech synthesis.
- 🎯 AI-powered content generation using Gemini AI
- 🎥 Professional stock footage integration via Pexels API
- 🗣️ Natural text-to-speech conversion with ElevenLabs
- 🎵 Background music library with volume control
- 📱 Support for both landscape (16:9) and portrait (9:16) formats
- ✨ Modern, user-friendly interface with step-by-step guidance
- Python 3.8 or higher
- Node.js 14 or higher (for development)
- ImageMagick (for video processing)
- Clone the repository:
git clone https://github.com/yourusername/smart-video-creator-pro.git
cd smart-video-creator-pro- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Install ImageMagick:
- On Ubuntu/Debian:
sudo apt-get install imagemagick
- On macOS:
brew install imagemagick
- On Windows: Download and install from ImageMagick Website
- Set up environment variables:
cp .env.example .envEdit .env and add your API keys:
GEMINI_API_KEY=your_gemini_api_key
ELEVENLABS_API_KEY=your_elevenlabs_api_key
PEXELS_API_KEY=your_pexels_api_key
- Start the application:
python app.py- Open your browser and navigate to:
http://localhost:8080
- Follow the step-by-step process:
- Generate content using AI or templates
- Select video footage
- Generate voice narration
- Add background music
- Create final video
- Visit Google AI Studio
- Create a new API key
- Add to
.envasGEMINI_API_KEY
- Sign up at ElevenLabs
- Get your API key from the profile settings
- Add to
.envasELEVENLABS_API_KEY
- Create account at Pexels
- Get your API key
- Add to
.envasPEXELS_API_KEY
auto_create_video/
├── app.py # Main Flask application
├── requirements.txt # Python dependencies
├── .env # Environment variables
├── .env.example # Environment variables example
├── static/
│ ├── css/
│ │ └── style.css # Custom styles
│ ├── js/
│ │ └── main.js # Frontend JavaScript
│ └── music/ # Background music files
└── templates/
└── index.html # Main application template
export FLASK_ENV=development
export FLASK_APP=app.py
flask run --port 8080The project follows PEP 8 style guide. Format code using:
black .
flake8- 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.
- Gemini AI for text generation
- ElevenLabs for text-to-speech
- Pexels for stock footage
- Flask web framework
- MoviePy for video processing