Skip to content

Latest commit

 

History

540 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenScript

AI-directed video editing pipeline — raw footage to polished 9:16 reel. Transcription → creative brief → timeline → FFmpeg render → verified output. Rust + Python + TypeScript. 109 MCP tools (verified: 103 static + 6 dynamic in openscript-mcp/src/tools.rs). 9 Rust crates.

Rust LOC Status CI Python TypeScript FFmpeg MCP Tools License

Rust Python TypeScript FFmpeg MCP License


What It Does

Most "AI video" tools generate content from text prompts. OpenScript takes your real raw footage and edits it into a professional vertical video reel. An AI agent acts as the director — selecting b-roll concepts, choosing music mood, placing SFX — while the engine handles the technical execution.

How it compares

Capability OpenScript Descript Runway / Pika Adobe Premiere AI
Edits your raw footage ✅ real MP4/TS → polished 9:16 reel ❌ text-to-video
Agent as director ✅ 109 MCP tools, agent chooses b-roll/music/SFX/cuts ❌ GUI-first ❌ prompt-only
Deterministic EDL ✅ 6-track Edit Decision List (dialogue/vox/captions/b-roll/music/SFX) ⚠️
Post-render verification ✅ audio levels, caption sync, render fidelity checks
Hinglish-optimized transcription ✅ Whisper w/ word-level timestamps ⚠️ ⚠️
Self-hosted / MCP-native ✅ 9 Rust crates, runs headless, agent-driven ❌ SaaS ❌ SaaS ❌ desktop
Music ducking + SFX library ✅ 261 SFX, 16 music tracks, mood search

Descript is a human editor in software; OpenScript is an agent editor with an engine — the AI director plans, the deterministic pipeline executes, and verification gates the render.

The Pipeline

┌─────────────┐    ┌──────────────┐    ┌──────────────────┐    ┌──────────────┐    ┌─────────────┐
│  Raw        │    │  Transcription│    │  Creative Brief  │    │  Multi-Track │    │  Verified    │
│  Footage    │───▶│  (Whisper)   │───▶│  (AI Director)  │───▶│  Timeline   │───▶│  9:16 Reel │
│  (MP4/TS)   │    │  + timestamps │    │  - B-roll picks  │    │  (EDL v2)    │    │  (MP4)     │
│             │    │  Hinglish-    │    │  - Music mood   │    │  6 tracks:   │    │  ✓ Levels   │
│             │    │  optimized    │    │  - SFX timing   │    │  dial/vox/  │    │  ✓ Captions  │
│             │    │               │    │  - Voiceover    │    │  caps/b-roll/│    │  ✓ Sync     │
│             │    │               │    │  - Cut points   │    │  music/sfx   │    │             │
└─────────────┘    └──────────────┘    └──────────────────┘    └──────────────┘    └─────────────┘

Key Features

Feature Details
Apex Transcription Hinglish-optimized Whisper with word-level timestamps
Creative Brief AI agent directs b-roll, music mood, SFX placement — like a human editor
6-Track EDL Dialogue · Voice-over · Captions · B-roll · Music · SFX
Voice-over Engine TTS with voice profile registry and duration estimation
Sound Library 261 indexed SFX + 16 music tracks with mood/role-based search
FFmpeg Rendering Automatic audio ducking, caption burn-in, quality validation
Post-render Verification Audio level checks, caption sync verification, render fidelity audit

Quick Start

# Clone and install
git clone https://github.com/ishan-parihar/openscript.git
cd openscript
pip install -e ".[dev]"

# Register the MCP server
mcp install src/openscript_mcp/server.py

# Create a project from raw footage
openscript new my_video --footage /path/to/raw_footage/
openscript brief my_video --prompt "Short LinkedIn tip about Rust async patterns"
openscript render my_video --preset mobile-9x16
openscript verify my_video  # post-render validation

MCP Tools (109 tools — verified from tools.rs: 103 static + 6 dynamic hf.*)

openscript.list_projects     ━▶ List all video projects
openscript.create_project    ━▶ Initialize new project from raw footage
openscript.ingest_footage    ━▶ Transcribe + index raw clips
openscript.generate_brief    ━▶ AI creative brief for b-roll/music/SFX
openscript.build_timeline    ━▶ Compile EDL from brief + footage
openscript.render            ━▶ FFmpeg render to MP4
openscript.verify            ━▶ Post-render audit (levels, sync, quality)
openscript.search_clips      ━▶ Semantic search across transcribed clips
openscript.search_sfx        ━▶ Search 261 SFX by mood/role
openscript.search_music      ━▶ Search 16 tracks by genre/mood
openscript.set_voice_profile ━▶ Configure TTS voice for voiceovers
openscript.export_edl        ━▶ Export timeline to EDL v2 format
openscript.analyze           ━▶ Spectral analysis of final output
openscript.report            ━▶ Full project status report
[...96 more tools for editing, transitions, captions, audio mixing, TTS, stock, verification, etc.]

Architecture

openscript/
├── crates/
│   ├── openscript-core/       # Core editing state, EDL compiler
│   ├── openscript-mcp/        # MCP server (109 tools)
│   ├── openscript-ffmpeg/     # FFmpeg wrapper, render pipeline
│   ├── openscript-transcribe/ # Whisper transcription, Hinglish model
│   └── openscript-tts/        # Voice-over engine
├── src/                       # Python orchestration + AI agent
├── scripts/                   # Utility scripts
└── pyproject.toml

Tech Stack

Layer Technology
Core Engine Rust (9 crates, musl static binaries)
Orchestration Python 3.11 (crewai-style agent flow)
Transcription Whisper (Hinglish-optimized)
Rendering FFmpeg 6+ with automatic audio ducking
Voice-over Coqui TTS + ElevenLabs voice profiles
Protocol MCP (Model Context Protocol)
Storage SQLite (per-project EDL state)

Project Structure

openscript/
├── crates/
│   ├── openscript-core/         # Core editing state, EDL compiler
│   ├── openscript-mcp/          # MCP server (43 tools)
│   ├── openscript-ffmpeg/       # FFmpeg wrapper, render pipeline
│   ├── openscript-transcribe/   # Whisper transcription, Hinglish model
│   └── openscript-tts/          # Voice-over engine
├── src/                         # Python orchestration + AI agent
│   ├── director/                # AI director (brief generation)
│   ├── editor/                  # Timeline assembly
│   ├── verifier/                # Post-render validation
│   └── assets/                  # 261 SFX + 16 music tracks
├── scripts/                     # Utility scripts
├── tests/                       # Integration tests
└── pyproject.toml

Development

# Run tests
cargo test --workspace

# Run the MCP dev server
mcp dev src/openscript_mcp/server.py

# Build all Rust crates
cargo build --release

License

MIT — see LICENSE.


Developed by Ishan Parihar


☕ Support & Sponsorship

If you find this project useful, consider supporting ongoing development:

Sponsor Donate

Your support funds new features, releases, and infrastructure for the whole ecosystem.

About

AI-directed video editing pipeline — multi-track timeline, TTS, FFmpeg + Remotion rendering, 43 MCP tools, Rust workspace

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages