ReelsMaker is a Python-based application designed to create captivating faceless videos for social media platforms like TikTok and YouTube. This version focuses on headless functionality with YouTube integration via MCP Composio.
- AI-Powered Content Generation: Automatically generate creative scripts for your video content
- Text-to-Speech: Use TikTok or ElevenLabs voices to add synthetic narration
- Auto Subtitles: Generate professional subtitles with customizable fonts and styling
- Background Videos: Automatically fetch relevant stock videos from Pexels
- Headless Operation: Run without UI for automation and batch processing
- YouTube Integration: Upload generated videos directly to YouTube via MCP Composio
git clone <your-repo-url>
cd reelsmaker
Create a virtual environment and install dependencies:
poetry shell
poetry install
Copy and update the environment file:
cp .env.example .env
Edit .env
with your API keys:
OPENAI_API_KEY="your_openai_api_key_here"
PEXELS_API_KEY="your_pexels_api_key_here"
TOGETHER_API_KEY="your_together_api_key_here"
SENTRY_DSN=""
OPENAI_MODEL_NAME="gpt-4-turbo"
Download required spaCy model:
poetry run python -m spacy download en_core_web_sm
For Subway Surfers background videos, download the gameplay video from:
YouTube Link: https://youtu.be/QPW3XwBoQlw?feature=shared
- Use any YouTube downloader tool (e.g., yt-dlp, online converters)
- Download the video in MP4 format
- Place the downloaded file in your project directory
- The system will automatically use it for background gameplay footage
Note: Ensure the downloaded video file is named appropriately and is accessible in your project directory.
Run the headless script to generate videos:
poetry run python headless_runner.py
-
Go to MCP Composio Dashboard
- Visit: https://mcp.composio.dev
- Sign in to your account
-
Authenticate YouTube
- Go to the dashboard
- Search for "youtube"
- Click on YouTube and authenticate with your Google account
-
Create MCP Server
- After authentication, create a new MCP Server
- Copy the terminal command shown after creation
-
Run MCP Server
- Run the copied terminal command in your terminal
- This will start the MCP server for YouTube integration
-
Use MCP Client
- Use your MCP client to connect to the server
- Upload and post the generated videos directly to YouTube
You can customize video generation by modifying the ReelsMakerConfig
in headless_runner.py
:
prompt
: Content theme for your videoscript_duration
: Target video length in secondsfontsize
: Subtitle font sizefont_name
: Font family for subtitlesstroke_color
/text_color
: Subtitle stylingwatermark_path_or_text
: Custom watermark
- OpenAI: For script generation and content creation
- Pexels: For stock video downloads
- Together AI: For enhanced AI capabilities
- ElevenLabs (optional): For premium voice synthesis
Generated videos are saved in the cache/
directory with the following structure:
- High-quality MP4 format
- 9:16 aspect ratio (optimized for mobile)
- Professional subtitles with custom styling
- Background music support (optional)
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
This project is licensed under the MIT License - see the LICENSE file for details.