🚀 VidForge Pro
VidForge Pro is an AI-powered framework that turns simple JSON scripts into fully-edited viral short-form videos. It automatically handles fetching high-quality background media (via Pexels), generating lifelike AI voiceovers (via edge-tts), syncing subtitles dynamically, and applying aesthetic text styles—all in a single click or command.
Whether you are a developer looking to automate content pipelines or a creator who wants a sleek visual editor to craft YouTube Shorts, TikToks, and Reels, VidForge has you covered.
✨ Features
- Automated Media Scraping: Fetches hyper-relevant 4K/HD videos or images from Pexels based on the scene context.
- AI Voiceovers (TTS): Built-in integration with
edge-ttsfeaturing dozens of realistic voices across multiple languages (English, Hindi, Spanish, French, German, Japanese, etc.). - Voice Tuning: Customize TTS speed (rate) and voice tone (pitch) for highly engaging narrations.
- Dynamic Subtitling: Automatically generates word-by-word synced subtitles using Vosk speech recognition.
- Visual Scene Editor: A sleek, aesthetic Web UI built with Glassmorphism for easily adding scenes, tuning visuals, and previewing scripts without touching code.
- Two-Way JSON Sync: Edit visually using cards or directly manipulate the raw JSON script.
- Format Agnostic Output: Generates vertical
.mp4files perfectly formatted for Shorts/Reels.
⚙️ Installation & Setup
1. System Requirements
VidForge relies on MoviePy, which requires external system dependencies:
- FFmpeg: Required for all video/audio processing.
- ImageMagick: Required for generating subtitle text overlays.
On macOS (Homebrew):
brew install ffmpeg imagemagick
On Windows:
Download and install FFmpeg and ImageMagick. Make sure both are added to your system's PATH.
2. Python Setup
Requires Python 3.9+. It is highly recommended to use a virtual environment.
# Clone or navigate to the directory
cd vidforge
# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install the package and all dependencies
pip install -e .
3. Pexels API Key
You will need a free Pexels API key to fetch background videos and images.
- Go to Pexels API
- Create a free account and generate an API key.
🎨 Method 1: The Web UI (Recommended for Creators)
VidForge comes with a beautiful, responsive, and intuitive web application that makes generating videos incredibly easy.
- Start the web server:
python app.py - Open your browser and navigate to:
http://localhost:8080 - Configure: Enter your Pexels API Key (it will automatically save to your browser for next time!). Choose your voice, text color, media type (videos vs. images), and advanced voice pitch/rate settings.
- Create: Use the Visual "Scene Editor" to add scenes, write your narration, and set background keywords.
- Generate: Click "Generate Viral Video". The server will render it in the background and present you with a playable
.mp4and a download button!
💻 Method 2: The CLI (Recommended for Automation)
You can run VidForge entirely from the terminal for headless automation.
CLI Usage
vidforge --script examples/script.json --pexels YOUR_API_KEY --output final_short.mp4
CLI Arguments
| Argument | Description | Default |
|---|---|---|
--script |
Path to the JSON script file (Required) | None |
--pexels |
Your Pexels API Key (Required) | None |
--output |
The name of the final rendered video file | output.mp4 |
--voice |
The edge-tts voice ID to use (e.g. en-US-ChristopherNeural) |
en-US-ChristopherNeural |
--font-color |
The hex code for the subtitle text color | yellow |
--fps |
The frames per second for the output video | 30 |
📄 Script File Format (JSON)
VidForge reads your video structure from a simple JSON array of "scenes".
Example (script.json):
{
"scenes": [
{
"keyword": "3d glowing brain scan",
"text": "Never drink coffee within the first ninety minutes of waking up."
},
{
"keyword": "3d cinematic clock time",
"text": "When you wake up, your brain is filled with adenosine, the chemical that makes you tired."
}
]
}
keyword: Used to search Pexels for a highly relevant 4K/HD background video or image.text: The actual narration the AI Voice will read aloud, which will also be automatically timed and converted into on-screen subtitles.
🛠️ Project Structure
vidforge/: The core framework containing theMediaScraper,VTTSyncEngine, andRenderingEngine.app.py: The Flask web server.templates/&static/: HTML, CSS, and JS for the Web UI.vidforge/cli.py: The Command Line Interface entry point.
📝 License
MIT License. Feel free to use and modify.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vidforge-0.3.0.tar.gz.
File metadata
- Download URL: vidforge-0.3.0.tar.gz
- Upload date:
- Size: 27.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa65dd18d67f9f82975651211c9958c7e3f7004bcabb899f18d3cdd42dcfb261
|
|
| MD5 |
d305f78ffdd0d952e59013b0d6f9b9b2
|
|
| BLAKE2b-256 |
8ba0dc16d4e5c217e67f751552134316df28386ac9d41060b14ef5b60b59caf1
|
File details
Details for the file vidforge-0.3.0-py3-none-any.whl.
File metadata
- Download URL: vidforge-0.3.0-py3-none-any.whl
- Upload date:
- Size: 27.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbc7c27347209cda3a97291338d953d50d05848a8177a14642f1d52efe8bf54c
|
|
| MD5 |
2f769e903b8f6780a8dc31a01ed45da0
|
|
| BLAKE2b-256 |
a919fb8f412f952cbb5bbd8f7696a8c85592662904395a582740fcd47ed48a15
|