Nova Studio AI is a production-grade, local, and offline non-linear video creation workspace. It orchestrates a modular pipeline of AI Agents (Script, Voice, Storyboard, Timeline Compiler) to convert raw ideas into complete editable video exports.
π Download the Standalone Windows Installer (.exe) from GitHub Releases
- Problem Statement
- Key Features
- System Architecture
- Folder Directory Layout
- Getting Started & Installation
- REST API Documentation
- Plugin SDK Guidelines
- Frequently Asked Questions (FAQ)
- Roadmap
- Contributing & License
Creating engaging short-form video content using AI models typically involves bouncing between multiple disjointed cloud services: LLM script generators, TTS speech synthesizers, image generation interfaces, and traditional NLE timeline editors. This workflow suffers from:
- High Latency & Costs: Relying on expensive cloud APIs.
- Privacy Risks: Storing drafts and inputs on remote servers.
- Disjointed Automation: No smooth path from text script to synced subtitle audio tracks and clips timelines.
Nova Studio AI solves this by packaging the entire pipeline locally, routing calculations offline to local models (Ollama, Kokoro TTS, ComfyUI) inside an integrated non-linear timeline workspace.
- Decoupled Event Bus: Modules publish state changes to a thread-safe broker, enabling custom plugin extensions without touching core logic.
- Non-Linear Editor (NLE): Interactive lanes supporting splits, duplicate clones, ripple deletes, and version history rollback snapshots.
- Vocal Synthesis & Lip Sync: Kokoro TTS engine generating viseme mouth shape mappings and subtitle karaoke grids.
- Database & Cache Auto-optimizer: Reclaim unused SQLite space and scan asset file sizes automatically.
- REST API Gateway: Background daemon HTTP server listening on port 9000 with webhook dispatcher queues.
The studio leverages a fully event-driven architecture to communicate across layers:
graph TD
UI[Streamlit UI Dashboard] -->|1. Triggers Action| GW[APIGateway]
GW -->|2. Broadcasts Event| EB[Event Bus]
EB -->|3. Callback| AUTO[Automation Engine]
EB -->|4. Post JSON| WH[Webhook Dispatcher]
EB -->|5. Push logs| REST[REST API server:9000]
UI -->|6. Maintain state| DB[(SQLite Database)]
UI -->|7. Security layers| SEC[Security key manager]
nova-studio/
βββ core/
β βββ api/ # EventBus, APIGateway, RESTServer, TaskQueue, Webhooks
β βββ comfy/ # ComfyUI Connectors & Workflow Managers
β βββ timeline/ # NLE Timeline cuts, snapshots versions
β βββ generation/ # Structured prompts, characters consistency profile
β βββ audio/ # Subtitle karaoke compilers, sidechain ducking, TTS
β βββ database/ # SQLite storage indexing & tables
β βββ logger/ # Rotating action logger
β βββ plugins/ # swappable provider script loaders
βββ installer/ # One-Click Bootstrap Installer suite for Windows
βββ plugins/ # folder-based SDK plugins (e.g. sample_plugin)
βββ tests/ # unit test suites
βββ app.py # Streamlit dashboard
βββ requirements.txt # dependencies list
βββ README.md # user guide
To compile a single executable wizard (NovaStudioAI_Setup.exe) similar to VS Code:
- Navigate to the
installer_project/folder. - Run the build command:
Requires PyInstaller and Inno Setup 6 compiler.
.\build.bat
If you are on Windows 10 or 11, you can set up the entire project automatically:
- Navigate to the
installer/folder. - Right-click
setup.batand select "Run as administrator". - Once the setup completes, double-click the new "Launch Nova Studio AI" shortcut on your Desktop!
If you prefer a manual setup or are on Linux:
- Python 3.10 or 3.11 installed.
- FFmpeg installed and added to your system environment variables.
Clone the repository and install requirements inside a virtual environment:
git clone https://github.com/<your-username>/nova-studio-ai.git
cd nova-studio-ai
# Set up virtual environment
python -m venv venv
source venv/bin/activate # Or venv\Scripts\activate on Windows
# Install dependencies
pip install -r requirements.txtStart the application server using:
streamlit run app.pyOpen http://localhost:8501 in your browser.
The background daemon HTTP server runs on http://127.0.0.1:9000/api.
| Method | Endpoint | Description | Example Response |
|---|---|---|---|
GET |
/api/system |
Queries OS, GPU, and disk statistics. | {"gpu_name": "NVIDIA RTX 4080", ...} |
GET |
/api/projects |
Lists all project metadata logs. | [{"id": "proj_123", "name": "Untitled"}] |
GET |
/api/history |
Fetches Event Bus dispatched history logs. | [{"id": "evt_abc", "type": "Project Saved"}] |
Developers can register folder-based plugins under plugins/<name>/.
plugin.json: Metadata, categories, and requested sandbox permissions.main.py: SDK subclass implementation.
{
"id": "sample_plugin",
"name": "Sample Transitions",
"version": "1.0.0",
"category": "exporter",
"permissions": {
"filesystem": true,
"network": false
}
}1. Why is ComfyUI status marked offline?
ComfyUI server must be running locally on port 8188. If offline, the studio samplers run in mock simulation fallback.2. How can I optimize the database size?
Go to theSystem Diagnostics tab in the UI sidebar and click Re-Optimize SQLite database to run VACUUM.
- AI Voice Cloning: Integrate local model checkpoints cloning audio inputs.
- AI Lip Sync: Generate mouth-shape transformations matched to dialogue wavs.
- Distributed Rendering: Coordinate multiple rendering nodes across networks.
For guidelines, please check CONTRIBUTING.md.
This project is licensed under the MIT License.