Vynaro
Desktop AI video narration editor: 7-step pipeline from raw clips to narrated, subtitled vertical videos with CapCut draft export.
Introduction
Vynaro (Chinese name 叙影, roughly "shadow narration") is an open-source desktop AI video narration and explanation editor built on Tauri 2, Rust, and React 19. It is designed for short-drama clip breakdowns, movie commentary, and self-media storytelling, automatically transforming film or drama segments into finished, high-retention vertical videos through a 7-step card pipeline.
The project is hosted on GitHub at github.com/Agions/vynaro. It is released under the MIT License at version 1.0.0, with a modular Rust workspace of ten crates covering everything from media probing to CapCut draft generation.
The full workflow chains: material import, smart clipping, AI monologue script, TTS dubbing with voice cloning, VAD subtitle alignment, audio-video mixing, then multi-platform and CapCut draft export. Everything runs locally on the desktop, with 11 mainstream LLM providers and multiple TTS engines available through a single settings panel.
Key Features
- 7-step fully automated pipeline - import, clip, script, voice, subtitle, mix, and export in one flow
- FFmpeg smart clipping - scene-cut detection with emotion peak snapping and keyframe serialized indexing
- AI first-person monologue - 4 narration styles (protagonist monologue, film review, commentary) across 11 LLM providers
- TTS dubbing with voice cloning - Edge-TTS, OpenAI-TTS, and GPT-SoVITS zero-shot cloning, plus a real-time golden waveform
- VAD subtitle alignment - FFmpeg silencedetect endpoint detection that auto-generates SRT, VTT, and ASS subtitles
- Multi-track audio-video mixing - millisecond-level timeline alignment, BGM background noise reduction, and
amixvolume balancing - CapCut draft native export - generates re-editable
.draftproject files plus 1080P vertical 9:16 final videos - Local-first desktop app - Tauri 2 shell with SQLite/JSON storage, no cloud dependency for the editing flow
The 7-Step Pipeline
Vynaro organizes production into seven ordered steps. Each step is a self-contained module in the Rust workspace, orchestrated by a state machine and DAG executor in the compose crate:
Import ──> Smart Clipping ──> AI Monologue ──> TTS & Clone ──> VAD Subtitles ──> Mixing ──> Export
| Step | Module | What It Does |
|---|---|---|
Step 1 | Material Import | Local, fast extraction of audio/video stream metadata (resolution, FPS, codec) with automatic thumbnail generation |
Step 2 | Smart Clipping | FFmpeg scene-cut detection with emotion peak snapping and keyframe serialized indexing |
Step 3 | AI Monologue Script | Generates first-person narration in 4 styles using 11 LLM providers |
Step 4 | TTS & Cloning | Edge-TTS, OpenAI-TTS, or GPT-SoVITS zero-shot voice cloning with a real-time golden waveform |
Step 5 | VAD Subtitle Alignment | FFmpeg silencedetect voice endpoint detection; auto-generates SRT, VTT, and ASS subtitles |
Step 6 | Audio-Video Mixing | Multi-track timeline alignment at millisecond precision, BGM noise reduction, and amix volume ratio balancing |
Step 7 | Export | Native CapCut (Jianying) re-editable .draft export plus 1080P vertical 9:16 final videos |
LLM and TTS Engine Support
The script engine ships with clients for 11 mainstream LLM providers, covering cloud and local models. All providers are configured from a single settings form inside the app.
| Provider | Example Models |
|---|---|
| Qwen (Alibaba) | qwen3.8-max |
| DeepSeek | deepseek-v4-pro, deepseek-v4-flash |
| OpenAI | gpt-5.6-sol |
| Claude (Anthropic) | claude-sonnet-5 |
| Gemini (Google) | gemini-3.6-flash, gemini-3.1-pro |
| Kimi (Moonshot) | kimi-k3 |
| GLM (Zhipu) | glm-5.2 |
| Doubao (ByteDance) | doubao-seed-2-1-pro |
| Hunyuan (Tencent) | hunyuan-pro |
| Local Models | Ollama / LM Studio (llama3.2, qwen2.5) |
TTS Engines
- Edge-TTS - free neural voices from Microsoft Edge, good for fast draft narration
- OpenAI-TTS - high-quality natural voices for polished final narration
- GPT-SoVITS - zero-shot voice cloning so the narration matches a target voice, with a local service probe for running the clone server
Architecture
Vynaro is a Tauri 2 desktop application: a React 19 + TypeScript frontend driving a Rust backend. The Rust side is split into a workspace of focused crates, one per domain concern:
vynaro/
├── src/ # React 19 + TypeScript frontend
├── src-tauri/ # Tauri 2.0 desktop app entry (Rust)
├── crates/
│ ├── vynaro-core # Core types (AppContext / VynaroError)
│ ├── vynaro-domain # Domain models (Project / Timeline / MediaFile)
│ ├── vynaro-detect # FFmpeg probe, scene split, audio-video mixing
│ ├── vynaro-script # 11 LLM clients and monologue script engine
│ ├── vynaro-voice # Edge-TTS / OpenAI-TTS / GPT-SoVITS
│ ├── vynaro-subtitle # FFmpeg silencedetect VAD and subtitle generation
│ ├── vynaro-compose # 7-step pipeline state machine and DAG executor
│ ├── vynaro-export # CapCut draft (.draft) generator and platform presets
│ ├── vynaro-storage # Local SQLite / JSON storage
│ └── vynaro-update # App auto-update engine
└── Makefile # Common build and test commands
The separation keeps media processing, LLM calls, voice synthesis, subtitle detection, and export logic independent, so each pipeline stage can be tested and replaced without touching the others.
Installation and Setup
From Source
Vynaro requires Rust 1.85+, Node.js with pnpm, and a Tauri 2 toolchain (including platform dependencies for webkit2gtk on Linux or the Windows WebView2 runtime on Windows):
# 1. Clone the repository
git clone https://github.com/Agions/vynaro.git
cd vynaro
# 2. Install frontend dependencies
pnpm install
# 3. Start the Tauri 2 development desktop app
pnpm tauri dev
# 4. Type checking and code validation
cargo check --workspace
npx tsc --noEmit
FFmpeg is a core dependency for clipping, VAD detection, and mixing. The Makefile in the repo root provides common build and test targets.
Getting Started
- Import material - drag film or short-drama clips into the asset library; metadata and thumbnails are extracted locally
- Configure models - pick an LLM provider and a TTS engine (including a cloned voice) from the settings form
- Run the pipeline - launch the 7-step production workspace and let the state machine process the clips
- Review and adjust - inspect the generated script, narration waveform, and subtitle timing at each stage
- Export - produce a CapCut
.draftfor secondary editing or export the final 1080P 9:16 video directly
Typical use cases: short-drama clip breakdown channels, movie commentary accounts, storytelling creators, and any self-media workflow that needs consistent voiceover, subtitles, and vertical output at scale.
Comparison with Alternatives
Vynaro competes with AI auto-editing services, traditional NLEs, and text-to-video tools from a different angle: it is a local, open-source, narration-first pipeline.
| Criteria | Vynaro | Auto-Editing Services | Traditional NLEs | Text-to-Video Generators |
|---|---|---|---|---|
| Input | Existing film/drama clips | Existing clips (cloud upload) | Existing footage | Text prompt |
| Narration pipeline | Built-in 7-step, 11 LLMs + TTS cloning | Template-based or limited AI | Manual voiceover workflow | None |
| Subtitles | Auto VAD-aligned SRT/VTT/ASS | Auto captions usually included | Manual or plugin-based | Not applicable |
| CapCut draft export | Native .draft re-editable | Rarely supported | NLE-native project formats | No |
| Open source | Yes, MIT | Proprietary, subscription | Mixed (free and paid) | Proprietary services |
| Data privacy | Local-first desktop | Cloud processing | Local | Cloud processing |
| Output format | 1080P vertical 9:16 + draft | Platform presets | Any | Rendered video clips |
Vynaro vs Auto-Editing Services: cloud services (such as Opus Clip or CapCut auto-captions) are fast and require no setup, but process your footage remotely and offer limited control over the narration. Vynaro runs the whole pipeline locally, lets you pick from 11 LLM providers and cloned voices, and exports a native CapCut draft for fine-tuning.
Vynaro vs Traditional NLEs: editors like Premiere Pro or DaVinci Resolve give total manual control, which professionals need for complex timelines. Vynaro trades that freedom for automation: it is aimed at high-volume commentary and clip-breakdown production where script, voice, and subtitles are the product.
Vynaro vs Text-to-Video Generators: generators create footage from prompts but cannot re-narrate clips you already have. Vynaro does the opposite: it turns existing film and drama footage into narrated, subtitled vertical videos, so the two approaches can be combined (generate B-roll, then narrate it with Vynaro).
License and Community
Vynaro is open source under the MIT License, free for personal and commercial use. The project is developed by Agions and is powered by Tauri 2, Rust, and React 19.
The repository is built around the Tauri and React ecosystems: tauri.app for the desktop shell, rust-lang.org for the backend crates, and react.dev for the frontend. Release binaries and version history are published on the GitHub releases page.