3edf87da85
docs/PROVIDERS.md covers all 12+ providers: step-by-step key setup, free tier limits, paid pricing tables, VRAM requirements for local tools, cost-optimized setup order, and capability coverage matrix.
405 lines
16 KiB
Markdown
405 lines
16 KiB
Markdown
<p align="center">
|
|
<img src="assets/logo.png" alt="OpenMontage" width="200">
|
|
</p>
|
|
|
|
<h1 align="center">OpenMontage</h1>
|
|
|
|
<p align="center"><strong>The first open-source, agentic video production system.</strong></p>
|
|
|
|
OpenMontage turns your AI coding assistant into a full video production studio. Tell it what you want — a 60-second explainer, a cinematic brand teaser, a batch of TikTok clips from your podcast — and your agent handles the entire pipeline: research, scripting, asset generation, editing, and final composition.
|
|
|
|
No video editing experience required. No complex UI to learn. Just describe your vision in plain language.
|
|
|
|
Works with **Claude Code, Cursor, Copilot, Windsurf, Codex** — any AI coding assistant that can read files and run code.
|
|
|
|
---
|
|
|
|
## Why OpenMontage?
|
|
|
|
Most AI video tools give you a single clip from a prompt. OpenMontage gives you an **end-to-end production pipeline** — the same structured process a real production team follows, automated by your AI agent.
|
|
|
|
Edit your own talking-head footage. Generate a fully animated explainer from scratch. Cut a 2-hour podcast into a dozen social clips. Translate and dub your content into 10 languages. Build a cinematic brand teaser from stock footage and AI-generated scenes. **If a production team can make it, OpenMontage can orchestrate it.**
|
|
|
|
- **11 production pipelines** — explainers, talking heads, screen demos, cinematic trailers, animations, podcasts, localization, and more
|
|
- **49 production tools** — spanning video generation, image creation, text-to-speech, music, audio mixing, subtitles, enhancement, and analysis
|
|
- **Live web research built in** — before writing a single word of script, the agent runs 15-25+ web searches across YouTube, Reddit, news sites, and academic sources to ground your video in real, current data
|
|
- **Both free/local AND cloud providers** — every capability supports open-source local alternatives alongside premium APIs. Use what you have.
|
|
- **No vendor lock-in** — swap providers freely. The selector pattern auto-routes to whatever's available on your machine.
|
|
- **Budget governance built in** — cost estimation before execution, spend caps, per-action approval thresholds. No surprise bills.
|
|
|
|
---
|
|
|
|
## Supported Providers
|
|
|
|
> **Detailed setup instructions, pricing, and free tiers for every provider:** [`docs/PROVIDERS.md`](docs/PROVIDERS.md)
|
|
|
|
### Video Generation (12 providers)
|
|
| Provider | Type | Notes |
|
|
|----------|------|-------|
|
|
| **Kling** | Cloud API | High quality, fast |
|
|
| **Runway Gen-4** | Cloud API | Cinematic quality |
|
|
| **Google Veo 3** | Cloud API | Long-form, cinematic. Via fal.ai or HeyGen. |
|
|
| **MiniMax** | Cloud API | Cost-effective |
|
|
| **HeyGen** | Cloud API | Multi-model gateway |
|
|
| **WAN 2.1** | Local GPU | Free, 1.3B and 14B variants |
|
|
| **Hunyuan** | Local GPU | Free, high quality |
|
|
| **CogVideo** | Local GPU | Free, 2B and 5B variants |
|
|
| **LTX-Video** | Local GPU / Modal | Free locally, or self-hosted cloud |
|
|
| **Pexels** | Stock | Free stock footage |
|
|
| **Pixabay** | Stock | Free stock footage |
|
|
|
|
### Image Generation (8 providers)
|
|
| Provider | Type | Notes |
|
|
|----------|------|-------|
|
|
| **FLUX** | Cloud API | State-of-the-art quality |
|
|
| **Google Imagen** | Cloud API | Imagen 4 — high-quality, multiple aspect ratios |
|
|
| **DALL-E 3** | Cloud API | OpenAI's image model |
|
|
| **Recraft** | Cloud API | Design-focused generation |
|
|
| **Local Diffusion** | Local GPU | Stable Diffusion, free |
|
|
| **Pexels** | Stock | Free stock images |
|
|
| **Pixabay** | Stock | Free stock images |
|
|
| **ManimCE** | Local | Mathematical animations |
|
|
|
|
### Text-to-Speech (4 providers)
|
|
| Provider | Type | Notes |
|
|
|----------|------|-------|
|
|
| **ElevenLabs** | Cloud API | Premium voice quality |
|
|
| **Google TTS** | Cloud API | 700+ voices, 50+ languages — best for localization |
|
|
| **OpenAI TTS** | Cloud API | Fast, affordable |
|
|
| **Piper** | Local | Completely free, offline |
|
|
|
|
### Music & Sound
|
|
| Provider | Type | Notes |
|
|
|----------|------|-------|
|
|
| **Suno AI** | Cloud API | Full song generation with vocals, lyrics, any genre. Up to 8 minutes. |
|
|
| **ElevenLabs Music** | Cloud API | AI music generation |
|
|
| **ElevenLabs SFX** | Cloud API | Sound effect generation |
|
|
|
|
### Post-Production (always available, always free)
|
|
| Tool | What It Does |
|
|
|------|-------------|
|
|
| **FFmpeg** | Video composition, encoding, subtitle burn-in, audio muxing |
|
|
| **Video Stitch** | Multi-clip assembly, crossfades, picture-in-picture, spatial layouts |
|
|
| **Video Trimmer** | Precision cutting and extraction |
|
|
| **Audio Mixer** | Multi-track mixing, ducking, fades |
|
|
| **Audio Enhance** | Noise reduction, normalization |
|
|
| **Color Grade** | LUT-based color grading |
|
|
| **Subtitle Gen** | SRT/VTT generation from timestamps |
|
|
|
|
### Enhancement
|
|
| Tool | What It Does |
|
|
|------|-------------|
|
|
| **Upscale** | Real-ESRGAN image/video upscaling |
|
|
| **Background Remove** | rembg / U2Net background removal |
|
|
| **Face Enhance** | Face quality enhancement |
|
|
| **Face Restore** | CodeFormer / GFPGAN face restoration |
|
|
|
|
### Analysis
|
|
| Tool | What It Does |
|
|
|------|-------------|
|
|
| **Transcriber** | WhisperX speech-to-text with word-level timestamps |
|
|
| **Scene Detect** | Automatic scene boundary detection |
|
|
| **Frame Sampler** | Intelligent frame extraction |
|
|
| **Video Understand** | CLIP/BLIP-2 vision-language analysis |
|
|
|
|
### Avatar & Lip Sync
|
|
| Tool | What It Does |
|
|
|------|-------------|
|
|
| **Talking Head** | SadTalker / MuseTalk avatar animation |
|
|
| **Lip Sync** | Wav2Lip audio-driven lip synchronization |
|
|
|
|
### Composition Engine
|
|
| Engine | What It Does |
|
|
|--------|-------------|
|
|
| **FFmpeg** | Core video assembly, encoding, subtitle burn |
|
|
| **Remotion** | React-based programmatic video — animated text cards, stat cards, charts, spring physics transitions |
|
|
|
|
---
|
|
|
|
## Pipelines
|
|
|
|
Each pipeline is a complete production workflow, from idea to finished video.
|
|
|
|
| Pipeline | What It Produces | Best For |
|
|
|----------|-----------------|----------|
|
|
| **Animated Explainer** | AI-generated explainer with research, narration, visuals, music | Educational content, tutorials, topic breakdowns |
|
|
| **Animation** | Motion graphics, kinetic typography, animated sequences | Social media, product demos, abstract concepts |
|
|
| **Avatar Spokesperson** | Avatar-driven presenter videos | Corporate comms, training, announcements |
|
|
| **Cinematic** | Trailer, teaser, and mood-driven edits | Brand films, teasers, promotional content |
|
|
| **Clip Factory** | Batch of ranked short-form clips from one long source | Repurposing long content for social media |
|
|
| **Hybrid** | Source footage + AI-generated support visuals | Enhancing existing footage with graphics |
|
|
| **Localization & Dub** | Subtitle, dub, and translate existing video | Multi-language distribution |
|
|
| **Podcast Repurpose** | Podcast highlights to video | Podcast marketing, audiogram videos |
|
|
| **Screen Demo** | Polished software screen recordings and walkthroughs | Product demos, tutorials, documentation |
|
|
| **Talking Head** | Footage-led speaker videos | Presentations, vlogs, interviews |
|
|
|
|
Every pipeline follows the same structured flow:
|
|
|
|
```
|
|
research -> proposal -> script -> scene_plan -> assets -> edit -> compose
|
|
```
|
|
|
|
Each stage has a dedicated **director skill** — a markdown instruction file that teaches the agent exactly how to execute that stage. The agent reads the skill, uses the tools, self-reviews, checkpoints state, and asks for human approval at creative decision points.
|
|
|
|
> **Web research is a first-class stage.** Before writing a single word of script, the agent searches YouTube, Reddit, Hacker News, news sites, and academic sources. It gathers data points, audience questions, trending angles, and visual references — then cites everything in a structured research brief. Your videos are grounded in real, current information, not hallucinated facts.
|
|
|
|
---
|
|
|
|
## How It Works
|
|
|
|
OpenMontage uses an **agent-first architecture**. There is no code orchestrator. Your AI coding assistant IS the orchestrator.
|
|
|
|
```
|
|
You: "Make an explainer video about how black holes form"
|
|
|
|
|
v
|
|
Agent reads pipeline manifest (YAML) -- what stages to run, what tools to use
|
|
|
|
|
v
|
|
Agent reads stage director skill (Markdown) -- HOW to execute each stage
|
|
|
|
|
v
|
|
Agent calls Python tools -- TTS, image gen, video gen, FFmpeg, etc.
|
|
|
|
|
v
|
|
Agent self-reviews using reviewer skill -- quality checks
|
|
|
|
|
v
|
|
Agent checkpoints state (JSON) -- resumable if interrupted
|
|
|
|
|
v
|
|
Agent presents for your approval -- you stay in control
|
|
|
|
|
v
|
|
Final video output
|
|
```
|
|
|
|
**Python provides tools and persistence.** All creative decisions, orchestration logic, review criteria, and quality standards live in readable instruction files (YAML manifests + Markdown skills) that you can inspect and customize.
|
|
|
|
---
|
|
|
|
## Quick Start
|
|
|
|
### 1. Prerequisites
|
|
|
|
Make sure these are installed before you begin:
|
|
|
|
- **Python 3.10+** — [python.org](https://www.python.org/downloads/)
|
|
- **FFmpeg** — `brew install ffmpeg` / `sudo apt install ffmpeg` / [ffmpeg.org](https://ffmpeg.org/download.html)
|
|
- **Node.js 18+** — [nodejs.org](https://nodejs.org/)
|
|
- **An AI coding assistant** — Claude Code, Cursor, Copilot, Windsurf, or Codex
|
|
|
|
### 2. Install
|
|
|
|
```bash
|
|
git clone https://github.com/calesthio/OpenMontage.git
|
|
cd OpenMontage
|
|
make setup
|
|
```
|
|
|
|
That's it. `make setup` installs Python dependencies, the Remotion composer, free offline TTS (Piper), and creates your `.env` file.
|
|
|
|
> **No `make`?** Run the steps manually:
|
|
> ```bash
|
|
> pip install -r requirements.txt
|
|
> cd remotion-composer && npm install && cd ..
|
|
> pip install piper-tts
|
|
> cp .env.example .env
|
|
> ```
|
|
|
|
### 3. Add API Keys (optional)
|
|
|
|
Open `.env` in your editor and add any keys you have. Every key is optional — the more you add, the more providers unlock.
|
|
|
|
```bash
|
|
# .env — add your keys here
|
|
|
|
# Best bang for buck — one key unlocks 5 tools:
|
|
FAL_KEY=your-key # FLUX images + Google Veo, Kling, MiniMax video + Recraft images
|
|
|
|
# Free stock media:
|
|
PEXELS_API_KEY=your-key # Free — stock footage and images
|
|
PIXABAY_API_KEY=your-key # Free — stock footage and images
|
|
|
|
# Music:
|
|
SUNO_API_KEY=your-key # Suno AI — full songs, instrumentals, any genre
|
|
|
|
# Voice & images:
|
|
ELEVENLABS_API_KEY=your-key # Premium TTS, AI music, sound effects
|
|
OPENAI_API_KEY=your-key # OpenAI TTS, DALL-E 3 images
|
|
GOOGLE_API_KEY=your-key # Google Imagen images, Google TTS (700+ voices)
|
|
|
|
# More video providers:
|
|
HEYGEN_API_KEY=your-key # HeyGen — VEO, Sora, Runway, Kling via single gateway
|
|
RUNWAY_API_KEY=your-key # Runway Gen-4 direct
|
|
```
|
|
|
|
**Have a GPU?** Unlock free local video and image generation:
|
|
```bash
|
|
make install-gpu
|
|
|
|
# Then add to .env:
|
|
VIDEO_GEN_LOCAL_ENABLED=true
|
|
VIDEO_GEN_LOCAL_MODEL=wan2.1-1.3b # or wan2.1-14b, hunyuan-1.5, ltx2-local, cogvideo-5b
|
|
```
|
|
|
|
### 4. Run
|
|
|
|
Open the project in your AI coding assistant and tell it what you want:
|
|
|
|
```
|
|
"Make a 60-second animated explainer about how neural networks learn"
|
|
```
|
|
|
|
The agent will:
|
|
1. Run preflight to discover your available tools and show you what's configured
|
|
2. Research the topic with live web searches — grounding the script in real data
|
|
3. Present you with concept directions, a production plan, and cost estimates
|
|
4. Execute the pipeline stage by stage, checkpointing as it goes
|
|
5. Ask for your approval at creative decision points
|
|
6. Deliver the final composed video
|
|
|
|
---
|
|
|
|
## Architecture
|
|
|
|
```
|
|
OpenMontage/
|
|
├── tools/ # 48 Python tools (the agent's hands)
|
|
│ ├── video/ # 12 video gen providers + compose, stitch, trim
|
|
│ ├── audio/ # 4 TTS providers + Suno/ElevenLabs music, mixing, enhancement
|
|
│ ├── graphics/ # 8 image gen providers + diagrams, code snippets, math
|
|
│ ├── enhancement/ # Upscale, bg remove, face enhance, color grade
|
|
│ ├── analysis/ # Transcription, scene detect, frame sampling
|
|
│ ├── avatar/ # Talking head, lip sync
|
|
│ └── subtitle/ # SRT/VTT generation
|
|
│
|
|
├── pipeline_defs/ # 11 YAML pipeline manifests (the agent's playbook)
|
|
├── skills/ # 124 Markdown skill files (the agent's knowledge)
|
|
│ ├── pipelines/ # Per-pipeline stage director skills
|
|
│ ├── creative/ # Creative technique skills
|
|
│ ├── core/ # Core tool skills
|
|
│ └── meta/ # Reviewer, checkpoint protocol
|
|
│
|
|
├── schemas/ # 15 JSON Schemas (contract validation)
|
|
├── styles/ # Visual style playbooks (YAML)
|
|
├── remotion-composer/ # React/Remotion video composition engine
|
|
├── lib/ # Core infrastructure (config, checkpoints, pipeline loader)
|
|
└── tests/ # Contract tests, QA integration tests, eval harness
|
|
```
|
|
|
|
### Three-Layer Knowledge Architecture
|
|
|
|
```
|
|
Layer 1: tools/ + pipeline_defs/ "What exists" — executable capabilities + orchestration
|
|
Layer 2: skills/ "How to use it" — OpenMontage conventions and quality bars
|
|
Layer 3: .agents/skills/ "How it works" — 47 external technology knowledge packs
|
|
```
|
|
|
|
Each tool declares which Layer 3 skills it relies on. The agent reads Layer 1 to know what's available, Layer 2 to know how OpenMontage wants it used, and Layer 3 for deep technical knowledge when needed.
|
|
|
|
---
|
|
|
|
## Style System
|
|
|
|
Style playbooks define the visual language for your productions:
|
|
|
|
| Playbook | Best For |
|
|
|----------|----------|
|
|
| **Clean Professional** | Corporate, educational, SaaS |
|
|
| **Flat Motion Graphics** | Social media, TikTok, startups |
|
|
| **Minimalist Diagram** | Technical deep-dives, architecture |
|
|
|
|
Playbooks control typography, color palettes, motion styles, audio profiles, and quality rules. The agent reads the playbook and applies it consistently across all generated assets.
|
|
|
|
---
|
|
|
|
## Platform Output Profiles
|
|
|
|
Built-in render profiles for every major platform:
|
|
|
|
| Profile | Resolution | Aspect Ratio |
|
|
|---------|-----------|--------------|
|
|
| YouTube Landscape | 1920x1080 | 16:9 |
|
|
| YouTube 4K | 3840x2160 | 16:9 |
|
|
| YouTube Shorts | 1080x1920 | 9:16 |
|
|
| Instagram Reels | 1080x1920 | 9:16 |
|
|
| Instagram Feed | 1080x1080 | 1:1 |
|
|
| TikTok | 1080x1920 | 9:16 |
|
|
| LinkedIn | 1920x1080 | 16:9 |
|
|
| Cinematic | 2560x1080 | 21:9 |
|
|
|
|
---
|
|
|
|
## Budget Governance
|
|
|
|
Every paid API call goes through the cost tracker:
|
|
|
|
- **Estimate** before execution — see what it will cost
|
|
- **Reserve** budget — lock funds before the call
|
|
- **Reconcile** after — record actual spend
|
|
- **Configurable modes** — `observe` (track only), `warn` (log overruns), `cap` (hard limit)
|
|
- **Per-action approval** — pause for confirmation above a threshold (default: $0.50)
|
|
- **Total budget cap** — default $10, fully configurable
|
|
|
|
No surprise bills. The agent tells you what it will cost before it spends.
|
|
|
|
---
|
|
|
|
## Agent Compatibility
|
|
|
|
OpenMontage works with any AI coding assistant that can read files and execute Python. Dedicated instruction files are included for:
|
|
|
|
| Platform | Config File |
|
|
|----------|------------|
|
|
| **Claude Code** | `CLAUDE.md` |
|
|
| **Cursor** | `CURSOR.md` + `.cursor/rules/` |
|
|
| **GitHub Copilot** | `COPILOT.md` + `.github/copilot-instructions.md` |
|
|
| **Codex** | `CODEX.md` |
|
|
| **Windsurf** | `.windsurfrules` |
|
|
|
|
All platform files point to the shared `AGENT_GUIDE.md` (operating guide and agent contract) and `PROJECT_CONTEXT.md` (architecture reference).
|
|
|
|
---
|
|
|
|
## Contributing
|
|
|
|
OpenMontage is built to be extended. The two most common contributions:
|
|
|
|
### Adding a New Tool
|
|
|
|
1. Create a Python file in the appropriate `tools/` subdirectory
|
|
2. Inherit from `BaseTool` and implement the tool contract
|
|
3. The registry auto-discovers it — no manual registration needed
|
|
4. Add a skill file if the tool needs usage guidance
|
|
|
|
### Adding a New Pipeline
|
|
|
|
1. Create a YAML manifest in `pipeline_defs/`
|
|
2. Create stage director skills in `skills/pipelines/<your-pipeline>/`
|
|
3. Reference existing tools — or add new ones if needed
|
|
|
|
See `docs/ARCHITECTURE.md` for the full technical reference, `docs/PROVIDERS.md` for the complete provider guide (setup, pricing, free tiers), and `AGENT_GUIDE.md` for the agent contract.
|
|
|
|
---
|
|
|
|
## Testing
|
|
|
|
```bash
|
|
# Run contract tests (no API keys needed)
|
|
make test-contracts
|
|
|
|
# Run all tests
|
|
make test
|
|
```
|
|
|
|
---
|
|
|
|
## License
|
|
|
|
[GNU AGPLv3](LICENSE)
|
|
|
|
---
|
|
|
|
**OpenMontage** — Production-grade video, orchestrated by your AI assistant.
|