An AI-powered tool that automatically generates video content from news articles and search queries. This project combines web scraping, text summarization, voice generation, image generation, and text-to-speech to create engaging video content.
- Web scraping of recent news articles
- AI-powered text summarization
- Automatic image generation based on content
- Text-to-speech narration
- Automatic video assembly with transitions and effects
- YouTube-ready title and description generation
- Easy-to-use Gradio web interface
Before running this project, make sure you have the following API keys:
- EXA API key (for web scraping)
- Novita AI API key (for LLM and image generation)
- Deepgram API key (for text-to-speech)
- Create a virtual environment:
python -m venv AUTOVIDEOS
source AUTOVIDEOS/bin/activate # On Windows: AUTOVIDEOS\Scripts\activate
- Install required packages:
pip install -r requirements.txt
- Create a
.env
file in the project root with your API keys:
EXA_API_KEY=your_exa_api_key
NOVITA_API_KEY=your_novita_api_key
BASE_URL=your_base_url(this can be found in novita api any model use file)
DG_API_KEY=your_deepgram_api_key
AUTOVIDEOS/
├── audio/ # Generated audio files
├── images/ # Generated image files
├── output/ # Final video and text outputs
└── main.py # Main application file
- Run the application:
python main.py
-
Access the Gradio interface in your browser (typically at http://localhost:7860)
-
Enter a search query (e.g., "Latest News on Robotics")
-
Click "Generate" and wait for the process to complete
- Web Scraping: Fetches recent articles related to your search query
- Text Processing:
- Summarizes the articles into concise, engaging content
- Generates prompts for image creation
- Media Generation:
- Creates images based on the content
- Converts text to speech
- Video Assembly:
- Combines images with audio
- Adds transitions and effects
- Creates final video with subtitles
- Metadata Generation:
- Creates YouTube-ready title and description
- Includes relevant hashtags
web_scrapper()
: Fetches recent articles using the EXA APIgenerate_summary()
: Creates concise summaries using AIgenerate_photo()
: Creates images using Novita AIgenerate_voice()
: Converts text to speech using Deepgramassemble_video()
: Combines all elements into final videogenerate_youtube_description_and_title()
: Creates video metadata
You can customize various aspects of the video generation:
- Image dimensions (default: 1280x720)
- Audio amplification levels
- Video transitions and effects
- Text-to-speech voice settings
- Summary length and style
- Image generation requires stable internet connection
- Processing time varies based on content length
- API rate limits may apply
- Large videos may require significant processing power
This project is open-source. Feel free to use, modify, and distribute as needed.
Contributions are welcome! Please feel free to submit pull requests.
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a pull request
- Novita AI for image generation
- Deepgram for text-to-speech
- EXA for web scraping capabilities
- OpenAI for text processing
- Gradio for the user interface