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 amix volume balancing
  • CapCut draft native export - generates re-editable .draft project 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 1Material ImportLocal, fast extraction of audio/video stream metadata (resolution, FPS, codec) with automatic thumbnail generation
Step 2Smart ClippingFFmpeg scene-cut detection with emotion peak snapping and keyframe serialized indexing
Step 3AI Monologue ScriptGenerates first-person narration in 4 styles using 11 LLM providers
Step 4TTS & CloningEdge-TTS, OpenAI-TTS, or GPT-SoVITS zero-shot voice cloning with a real-time golden waveform
Step 5VAD Subtitle AlignmentFFmpeg silencedetect voice endpoint detection; auto-generates SRT, VTT, and ASS subtitles
Step 6Audio-Video MixingMulti-track timeline alignment at millisecond precision, BGM noise reduction, and amix volume ratio balancing
Step 7ExportNative 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
DeepSeekdeepseek-v4-pro, deepseek-v4-flash
OpenAIgpt-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 ModelsOllama / 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

  1. Import material - drag film or short-drama clips into the asset library; metadata and thumbnails are extracted locally
  2. Configure models - pick an LLM provider and a TTS engine (including a cloned voice) from the settings form
  3. Run the pipeline - launch the 7-step production workspace and let the state machine process the clips
  4. Review and adjust - inspect the generated script, narration waveform, and subtitle timing at each stage
  5. Export - produce a CapCut .draft for 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.

CriteriaVynaroAuto-Editing ServicesTraditional NLEsText-to-Video Generators
InputExisting film/drama clipsExisting clips (cloud upload)Existing footageText prompt
Narration pipelineBuilt-in 7-step, 11 LLMs + TTS cloningTemplate-based or limited AIManual voiceover workflowNone
SubtitlesAuto VAD-aligned SRT/VTT/ASSAuto captions usually includedManual or plugin-basedNot applicable
CapCut draft exportNative .draft re-editableRarely supportedNLE-native project formatsNo
Open sourceYes, MITProprietary, subscriptionMixed (free and paid)Proprietary services
Data privacyLocal-first desktopCloud processingLocalCloud processing
Output format1080P vertical 9:16 + draftPlatform presetsAnyRendered 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.