AIEraDev / Clypra
- среда, 15 июля 2026 г. в 00:00:02
A modern video editor built with Tauri, React, and TypeScript. Focus on building free capabilities of premium capcut functionalities
Professional video editing—free and open source forever.
A modern video editor built on Tauri v2, React 19, and Rust. Hardware-accelerated processing, cross-platform (desktop + mobile), with optional AI-powered features.
Features • Architecture • Installation • Development • Contributing • Open Core
Clypra is a free, open-source video editor (MIT License) with professional-grade features. The core editor, effects engine, and all UI components are free forever—no watermarks, no feature limits, no subscriptions required.
Want AI superpowers? Optional Pro features add natural language editing, auto-captions, smart reframing, and more.
Clypra is architected as a native desktop and mobile application with clear separation between frontend UI and backend processing.
Frontend
Backend
Mobile
┌─────────────────────────────────────────────────────────────┐
│ Frontend (React/TS) │
│ ┌──────────────┐ ┌──────────────┐ ┌─────────────────┐ │
│ │ Timeline UI │ │ Preview Canvas│ │ Filmstrip Cache │ │
│ └──────┬───────┘ └──────┬────────┘ └────────┬────────┘ │
│ │ │ │ │
│ └─────────────────┴─────────────────────┘ │
│ │ │
│ Tauri IPC Layer │
│ │ │
└───────────────────────────┼─────────────────────────────────┘
│
┌───────────────────────────┼─────────────────────────────────┐
│ Backend (Rust/FFmpeg) │
│ ┌─────────────────┴──────────────────┐ │
│ │ Decoder Pool (LRU, size=20) │ │
│ │ ┌──────────────────────────────┐ │ │
│ │ │ Hardware Decoder Context │ │ │
│ │ │ (VideoToolbox/D3D11/VAAPI) │ │ │
│ │ └──────────────────────────────┘ │ │
│ └─────────────┬────────────────────┬─┘ │
│ │ │ │
│ ┌─────────────▼────────┐ ┌────────▼──────────┐ │
│ │ Frame Decoder │ │ Export Pipeline │ │
│ │ (seek + decode) │ │ (encode + mux) │ │
│ └──────────────────────┘ └───────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Decoder Prewarming
Thumbnail Generation
Batch Processing
Sequential Decode Optimization
For detailed performance metrics and optimization roadmap, see PERFORMANCE-DESKTOP-ROADMAP.md.
Pre-built binaries are available for all supported platforms. Download from the latest release.
Recommended: Homebrew Installation
brew install AIEraDev/tap/clypraThis method automatically handles Gatekeeper authorization and updates.
Alternative: Direct Download
Clypra-universal.dmg from releases/ApplicationsSupported: macOS 11+ (Big Sur and later), both Apple Silicon and Intel
Clypra-x64.msi from releasesSupported: Windows 10 (version 1809+) and Windows 11
Clypra-x86_64.AppImage from releaseschmod +x Clypra-x86_64.AppImage./Clypra-x86_64.AppImageSupported: Ubuntu 20.04+, Fedora 35+, Debian 11+, and derivatives
Required
Platform-Specific
xcode-select --install)macOS
brew install ffmpegUbuntu/Debian
sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswscale-devWindows (Chocolatey)
choco install ffmpegWindows (Manual)
C:\ffmpegC:\ffmpeg\bin to system PATH# Clone repository
git clone https://github.com/AIEraDev/clypra.git
cd clypra
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env and add your Clypra API key (required for text effects)
# Development mode with hot reload
npm run tauri dev
# Production build
npm run build
npm run tauri buildThe codebase is organized by domain with clear separation of concerns:
src/
├── components/ # React components
│ ├── editor/ # Core editor UI (Timeline, Preview, Filmstrip)
│ ├── screens/ # Full-screen views (Launch, Settings)
│ └── ui/ # Reusable UI primitives (Modals, Icons, Buttons)
├── store/ # Zustand state stores (by domain)
│ ├── timelineStore.ts # Timeline structure (tracks, clips, gaps)
│ ├── playbackStore.ts # Playback state and AV sync
│ ├── projectStore.ts # Project metadata and media assets
│ └── ... # uiStore, settingsStore, historyStore
├── core/ # Core engine logic
│ ├── runtime/ # ProjectSession and lifecycle management
│ ├── scheduler/ # Frame scheduler for preview rendering
│ ├── resources/ # PreviewMediaPool (video/audio elements)
│ ├── render/ # Canvas rasterization and compositing
│ └── timeline/ # Timeline calculations and utilities
├── lib/ # Shared utilities
│ ├── platform/ # Tauri IPC wrappers
│ ├── monitoring/ # Performance monitoring
│ ├── workers/ # Web worker pool
│ └── ... # Audio, video, filmstrip utilities
├── hooks/ # Custom React hooks
├── types/ # TypeScript type definitions
└── App.tsx # Application entry point
src-tauri/
├── src/
│ ├── commands/ # Tauri command handlers
│ │ ├── thumbnail.rs # Video decode commands
│ │ ├── export.rs # Export pipeline
│ │ └── ...
│ ├── thumbnail_engine/# FFmpeg decoder pool
│ │ ├── decoder.rs # Hardware-accelerated decoder
│ │ ├── cache.rs # LRU caching
│ │ └── ...
│ └── lib.rs # Tauri application setup
└── Cargo.toml # Rust dependencies
Clypra uses the Clypra API for text effects and templates. To enable these features:
Copy .env.example to .env:
cp .env.example .envAdd your API key to .env:
VITE_CLYPRA_API_KEY=your_api_key_here
Important: Never commit .env to version control (already in .gitignore)
The API provides:
# Run all tests
npm test
# Run Rust tests
cd src-tauri && cargo test
# Run specific test suite
npm test -- src/lib/__tests__/timelineUtils.test.ts
# Run with coverage
npm test -- --coverage# TypeScript type checking
npx tsc --noEmit
# Rust linting
cd src-tauri && cargo clippy -- -D warnings
# Format code
npm run format
cd src-tauri && cargo fmtClypra uses Zustand with domain-separated stores to maintain clear ownership boundaries:
Each store owns its domain and exposes actions. Cross-store communication happens through explicit calls, not shared mutable state.
The application includes comprehensive performance monitoring:
Access metrics in development via window.__performanceMonitor.
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
git checkout -b feature/amazing-feature)npm test && cd src-tauri && cargo test)feat:, fix:, docs:, etc.)cargo fmt + cargo clippy (no warnings)This project is licensed under the MIT License - see the LICENSE file for details.
Clypra uses FFmpeg for video processing. FFmpeg is licensed under:
Binary releases include FFmpeg under LGPL. If you build with GPL components, ensure GPL compliance.
Clypra uses an Open Core business model:
✅ Core Video Editor - Multi-track timeline, frame-accurate editing, hardware-accelerated processing
✅ Effects Engine - Professional video effects, transitions, filters (via @clypra-studio/engine)
✅ Audio Tools - Waveform visualization, volume control, AV sync
✅ Export Pipeline - H.264, H.265, ProRes export with FFmpeg
✅ Text Overlays - Custom fonts, styles, and animations
✅ All UI Components - Full source code, no proprietary dependencies
No watermarks. No feature limits. No subscriptions. Forever.
🎯 Natural Language Editing - "Remove all pauses", "Add captions", "Make this shorter"
🎯 Auto-Captioning - Transcription with speaker detection and customizable styles
🎯 Smart Reframe - Auto-crop for Instagram Stories, TikTok, YouTube Shorts
🎯 Scene Detection - AI-powered scene splitting and B-roll suggestions
🎯 Audio Enhancement - Noise removal, EQ, compression
🎯 Voice Cloning - Match narrator voice across clips (coming soon)
🎯 Multi-language Dubbing - Translate and dub with lip sync (coming soon)
Pricing: Free tier (100 AI calls/month) • Pro ($10/month, unlimited) • Enterprise (custom)
Learn more about Pro features →
We believe professional video editing should be free and accessible to everyone. Open source ensures:
The Pro AI features fund full-time development on the open source core. Everyone wins.
See PERFORMANCE-DESKTOP-ROADMAP.md for upcoming performance improvements.
Planned features:
Pro Roadmap (AI features):