Skip to content

Latest commit

 

History

1,142 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenTake

OpenTake

Agent-Native Video Production Engine
エージェントネイティブな動画制作エンジン
Agent 原生的视频制作引擎

Platforms License Stars Discord EN Discord CN CI

中文  |  日本語

Source version: 1.0.0-beta.6. Published versions and downloads are maintained in GitHub Releases. See the execution plan, version notes and documentation/source review.

The source includes multiple media preview tabs, folder/flat/grouped media views, temporal compositor routing, transparent Motion publishing and ProRes 4444 export. The Text panel adds text clips; the Effect panel applies presets to one selected visual clip while preserving existing effects. Sticker supports project image/Lottie assets, local import, selection/preview and placement on the timeline. Focused tests and macOS package GUI checks are recorded in the validation report; provider and platform coverage remains tied to the corresponding evidence.

Semantic search uses fixed-revision assets (about 1.5 GB) with checksum validation and offline installation. Real image/text embedding and ranking passed on macOS and Windows; Windows uses fixed input facts with the locked Tract engine. The macOS package also passed actual model download, indexing and Chinese visual queries. A model installation is required before use; see the semantic model audit.

Table of Contents


📖 About

OpenTake is a cross-platform video production engine built on Rust + Tauri 2, targeting macOS / Windows / Linux, designed to deeply integrate AI Agents into professional video editing workflows.

🌟 Core Innovation: Instead of making the Agent parse lengthy skill documents, OpenTake actively pushes editing guidance (Context Signal) to the Agent — telling it exactly what each track does, how each clip should be cut, and what rules apply at every stage.

Positioning

OpenTake is not a replacement for CapCut / DaVinci Resolve / Final Cut Pro — it's a video engine designed for AI Agent workflows. Traditional editors are built for humans; OpenTake is built for humans and Agents, with its timeline, preview, and keyframe systems natively controllable via the MCP protocol.


🎯 Why OpenTake

Pain Point Traditional Approach OpenTake Approach
Agent doesn't know how to edit Agent reads skill docs on its own Software pushes Context Signal — "this track is A-roll, cut with talking-head rhythm"
Cross-platform needs 3 codebases macOS: Swift/AVFoundation, Windows: C++/DirectShow Single Rust codebase, FFmpeg + wgpu, platform-specific validation
I want to use AI directly Locked into vendor cloud services Official Codex / ChatGPT sign-in for Agent, plus BYOK for fal.ai / Replicate / OpenAI
Agent can chat but can't act CLI agent reads text output Capability-filtered MCP Server — Agent directly runs add_clips / split_clip / set_keyframes
Rewriting prompts for every video type "You are editing a product review..." every time Workflow Plugin System: review/tutorial/gaming/wedding, each pre-packaged with methodology
Steep learning curve for new tools Complex UI, long onboarding Agent operates for you — just say "edit this interview into a 3-minute highlight"

⚡ Competitive Edge

OpenTake combines a Rust-owned timeline, command-based undo, authenticated MCP, Context Signal and local/BYOK media workflows. The capability ledger tracks implementation and evidence; it does not imply feature parity with other editors.


✨ Features

🧠 Agent Context Signal System

The software pushes editing guidance to the Agent, instead of making the Agent parse documentation.

Every MCP tool response carries a context_signal:

  • Auto Genre Detection: talking-head / vlog / montage / interview / short-drama / long-form
  • Track Role Annotation: A-roll / B-roll / voiceover / BGM / SFX / text
  • Real-time Rule Checking: breathing-point rules, B-roll five cautions, clock theory, peak-detection pacing

Knowledge source: ClipSkills — 12-volume professional editing knowledge base (MIT-licensed).

📖 Context Signal Design

🔌 Agent Tool Surface

OpenTake exposes compatible Agent tools, filtered at runtime so unavailable media, generation, or provider capabilities fail closed instead of being advertised:

Group Key Tools
Read / Introspect get_timeline, get_media, inspect_media, search_media
Timeline Edit add_clips, split_clip, set_clip_properties, set_keyframes, ripple_delete_ranges
Generate / Import generate_video, generate_image, generate_audio, import_media
Library create_folder, move_to_folder, rename_media
Resources models/video, models/image

Official Codex / ChatGPT turns use an authenticated per-turn loopback endpoint bound to the current project. Beta 5 also introduced explicit pairing for external MCP clients, with credentials, revocation and persistent client configuration. The old unauthenticated endpoint remains disabled; see MCP behavior.

Built-in Agent chat panel shares tool definitions and system prompt with MCP. It can use direct OpenAI/Anthropic BYOK or the user-installed official Codex CLI's ChatGPT sign-in; OpenTake never reads or stores the Codex credential.

🎬 Cross-Platform Media Engine

Capability Technology
Codec FFmpeg (ffmpeg-next) — battle-tested Rust bindings
Compositor wgpu custom compositor — multi-track layering + per-frame property sampling + affine/crop/blend
Audio Playback cpal
Transcription whisper-rs (requires installed model)
Semantic Search SigLIP2; fixed-revision model installation and real macOS Rust inference validated

Playback routing is capability-based. Ordinary media uses WebKit playback; timelines that require supported compositing use the Rust compositor; and timelines with unsupported authored combinations fail closed instead of being shown with missing effects. Rust frames are published through a session-scoped exact /frame endpoint guarded by PublicationGate, then handed off through a two-slot retained-frame buffer. Media poster, preview, waveform, and filmstrip prewarm/cache work is project- and source-identity scoped. See the dated playback/cache QA record for the reviewed 2026-07-10/11 evidence and its artifact boundaries.

🌐 BYOK AI Generation

Bring Your Own Key: Direct connection to fal.ai / Replicate / OpenAI. Zero backend, zero operational cost. Optional self-hosted proxy.

📋 Workflow Plugin System

Community-authored JSON + Markdown plugins per video genre — review / tutorial / gaming / wedding / talking-head — each encapsulating professional editing methodology. Agent activates, methodology loads.

📖 Workflow Plugin System Design


🖥️ Platforms

Platform Evidence boundary
macOS Primary development platform; dated native/package evidence is linked from release notes. Intel and Apple Silicon artifacts require their own validation.
Windows Build/installer target; candidate CI and native installer/UI evidence are required before claiming a verified distribution.
Linux Build target; no new Linux distribution or native GUI verification is claimed here.
Headless core Rust library APIs and tests can run without the desktop UI; media/GPU/browser capabilities still have runtime requirements.

🦀 Rust Workspace

crates/
├── opentake-process-tree # Cross-platform child-process lifecycle
├── opentake-domain     # Timeline / Track / Clip / Keyframe — pure value semantics
├── opentake-ops        # OverwriteEngine / RippleEngine / SnapEngine — edit algorithm layer
├── opentake-project    # Project persistence / bundle / archive / export
├── opentake-media      # FFmpeg codec / thumbnails / waveform / transcription / semantic search
├── opentake-render     # wgpu compositor + text rasterizer
├── opentake-motion     # Motion rendering, RGBA cache and transparent publishing
├── opentake-agent      # MCP Server + Agent chat + context signal system
├── opentake-gen        # Generative AI clients (fal.ai / Replicate / OpenAI)
├── opentake-core       # Session management / DI / event bus
└── src-tauri           # Tauri 2 desktop shell

Motion Canvas plugin (implemented constrained runner):

plugins/
└── motion-canvas-studio # Motion Canvas (MIT) fork/plugin for AI animation video output
> cargo build --workspace   # Build all crates
> cargo test --workspace    # Test all crates (≥80% coverage target)

🏗️ Architecture

┌──────────────────────────────────────────────────────┐
│ React + TypeScript Frontend                          │
│ TimelineView · Preview · Inspector · MediaPanel      │
│ Zustand: read-only Timeline mirror + UI-only state   │
└────────────────────┬─────────────────────────────────┘
                     │ Tauri invoke + event
┌────────────────────▼─────────────────────────────────┐
│ 🦀 Rust Core — Source of Truth                       │
│                                                      │
│  opentake-domain    Timeline / Track / Clip / KF     │
│  opentake-ops       EditCommand apply / Undo         │
│  opentake-project   Bundle / Archive / Export         │
│  opentake-render    wgpu Compositor + Text Raster    │
│  opentake-media     FFmpeg / Waveform / Transcribe   │
│  opentake-agent     MCP Server + Chat + Signals      │
│  opentake-gen       fal.ai / Replicate / OpenAI      │
│  opentake-core      Session / DI / Events             │
│                                                      │
│         ▲                          │                 │
│   Authenticated per-turn MCP invokes ▼               │
│   In-app Agent Chat   FFmpeg + wgpu + cpal + whisper │
└──────────────────────────────────────────────────────┘

📖 Architecture Docs


📚 Docs

Document Content
ARCHITECTURE.md Target architecture, layering, crate layout, command layer, render pipeline
ROADMAP.md Phase 0–10 roadmap with verification criteria and risk register
MODULE-PORT-MAP.md 20 upstream module port specs with core algorithms
AGENT-CONTEXT-SIGNAL.md Agent Context Signal system design
WORKFLOW-PLUGIN-SYSTEM.md Workflow Plugin System (JSON + Markdown)
ADVANCED-FEATURES.md Advanced features vs CapCut
CAPCUT-GAP.md 33-item gap analysis vs CapCut
DECISIONS.md Tech stack / license / branding ADRs
PORT-1TO1-GAP.md 1:1 port gap analysis


🔗 Upstream Reference

When porting editing logic, compare against the original Palmier Pro Swift source:

# Clone upstream alongside OpenTake (sibling directory)
cd ..
git clone https://github.com/palmier-io/palmier-pro.git palmier-pro-upstream
cd OpenTake-generation

Expected layout:

PRIMARY-CN/
├── OpenTake-generation/       # This repo
└── palmier-pro-upstream/      # Upstream Swift source (GPL-3.0)

Key files for comparison:

Module Upstream (Swift) OpenTake (Rust/TS)
Timeline models Sources/PalmierPro/Models/Timeline.swift crates/opentake-domain/src/timeline.rs
Clip model Sources/PalmierPro/Models/Timeline.swift (Clip struct) crates/opentake-domain/src/clip.rs
Clip renderer Sources/PalmierPro/Timeline/ClipRenderer.swift web/src/components/timeline/clipRenderer.ts
Timeline geometry Sources/PalmierPro/Timeline/TimelineGeometry.swift web/src/lib/geometry.ts
Snap engine Sources/PalmierPro/Timeline/SnapEngine.swift web/src/lib/snap.ts
Edit operations Sources/PalmierPro/Editor/ViewModel/EditorViewModel+ClipMutations.swift crates/opentake-ops/src/ops/
MCP tools Sources/PalmierPro/Agent/Tools/ToolExecutor+Timeline.swift crates/opentake-agent/src/tools/

The upstream directory is gitignored from OpenTake — each collaborator clones it independently.

🚀 Quick Start

Prerequisites

  • Rust ≥ 1.96 (via rustup)
  • Node.js ≥ 20 + pnpm
  • FFmpeg ≥ 6.0 (brew install ffmpeg / winget install ffmpeg / apt install ffmpeg)

Build

git clone https://github.com/appergb/OpenTake.git
cd OpenTake

# Rust core
cargo build
cargo test
cargo clippy

# Frontend
cd web && pnpm install && pnpm build
cd ..

# Launch Tauri dev mode
cargo tauri dev

The sibling directory palmier-pro-upstream/ contains upstream Swift sources for reference during porting.


📋 Version History

Version Date Milestone
0.1.0-dev 2026-06 Phase 0+1: Cargo workspace + Domain models + Edit ops + Tauri scaffold
1.0.0-beta.1 2026-08-01 First installable Beta: end-to-end local editor, Agent, Motion and reviewed AI workflows
1.0.0-beta.2 2026-08-08 Hardened Beta: official Codex login, atomic timeline gestures, secure MCP and interaction polish
1.0.0-beta.3 2026-08-09 Playback Beta: app-wide Space transport, native HEVC source preview and release-pipeline hardening
1.0.0-beta.4 2026-08-10 Release candidate: timing and transition persistence, export consistency, signed updater and Windows tract security upgrade
1.0.0-beta.5 2026-08-14 Agent workflow Beta: persistent authenticated MCP, ordered inline tools, Motion Studio, project previews and interface polish
1.0.0-beta.6 Version record Transparent Motion, ProRes 4444, preview tabs, media views, text/effects/stickers and verified semantic search
(planned) 1.0.0 TBD Phase 10: Full release — CapCut parity + deep Agent integration

📖 Full Roadmap


🌍 Community

Discord (English) Discord (Chinese) WeChat
Discord EN Discord CN TBD

Stars Forks Issues

Contributing

Discussions and suggestions welcome at Issues.


Acknowledgments

OpenTake stands on the shoulders of these excellent open-source projects.

Project License Usage
Palmier Pro GPL-3.0 Edit logic and domain models originate from this community fork
ClipSkills MIT 12-volume editing knowledge base, internalized as Agent Context Signal system
FFmpeg LGPL-2.1+ / GPL-2.0+ Media codec engine
Tauri MIT / Apache 2.0 Cross-platform desktop app framework
wgpu MIT / Apache 2.0 GPU rendering engine
whisper.cpp MIT Transcription inference engine
rmcp MIT Rust MCP server SDK

"Palmier" / "Palmier Pro" are names/trademarks of their respective owners, used here only for nominative fair use to describe OpenTake's origin.


📜 License

Copyright (C) 2026 OpenTake contributors

OpenTake is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 (GPLv3) or (at your option) any later version.

OpenTake is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

This program is based on Palmier Pro (Copyright (C) 2026 Palmier, Inc.), also distributed under GPLv3. See NOTICE.


Built with 🦀 Rust + 💙 Open Source

About

Cross-platform, open-source AI video editor — a GPL-3.0 community fork of Palmier Pro. Rust core + Tauri 2 + React, FFmpeg + wgpu.

Resources

Contributing

Stars

40 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages