Skip to main content

🚀 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-tts featuring 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 .mp4 files 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.

  1. Go to Pexels API
  2. 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.

  1. Start the web server:
    python app.py
    
  2. Open your browser and navigate to: http://localhost:8080
  3. 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.
  4. Create: Use the Visual "Scene Editor" to add scenes, write your narration, and set background keywords.
  5. Generate: Click "Generate Viral Video". The server will render it in the background and present you with a playable .mp4 and 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 the MediaScraper, VTTSyncEngine, and RenderingEngine.
  • 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

vidforge-0.3.0.tar.gz (27.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vidforge-0.3.0-py3-none-any.whl (27.8 MB view details)

Uploaded Python 3

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

Hashes for vidforge-0.3.0.tar.gz
Algorithm Hash digest
SHA256 fa65dd18d67f9f82975651211c9958c7e3f7004bcabb899f18d3cdd42dcfb261
MD5 d305f78ffdd0d952e59013b0d6f9b9b2
BLAKE2b-256 8ba0dc16d4e5c217e67f751552134316df28386ac9d41060b14ef5b60b59caf1

See more details on using hashes here.

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

Hashes for vidforge-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cbc7c27347209cda3a97291338d953d50d05848a8177a14642f1d52efe8bf54c
MD5 2f769e903b8f6780a8dc31a01ed45da0
BLAKE2b-256 a919fb8f412f952cbb5bbd8f7696a8c85592662904395a582740fcd47ed48a15

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page