Skip to content

Latest commit

 

History

41 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ai-media-editor — Video · Audio · Podcast, local

Version 0.2.3 CI Status Tests passed Python 3.10+ Platforms Privacy: Local-First Security: Non-Elevation Security SLA Code Style: Ruff Ecosystem: ellmos-ai Umbrella: open-bricks LLM Ready Level 1 SBOM Text Attribution: NOTICE Last Checked License: MIT

English · Deutsch

ai-media-editor — local AI media editor (Video · Audio · Podcast)

Note

AI / Agent Native Integration: ai-media-editor is specifically engineered for autonomous coding agents (Claude Code, Gemini/Antigravity, Codex). It provides deterministic project preparation, Scribe JSON schema generation, and timestamped frame contact-sheets so LLMs can visually inspect and cut media locally without third-party SaaS dependencies.

Quick Navigation

# Section Description
01 Key Capabilities Core orchestrator capabilities, local STT routing, and agent tooling stack
02 Visual Architecture Flowchart 5-tier system topology diagram from raw media intake to deterministic export
03 End-to-End Execution Lifecycle Sequence Sequence diagram detailing preflight, STT, frame contact sheets, and cut execution
04 Target Personas & Discoverability 4 core user profiles ([PERSONA-01]–[PERSONA-04]) and high-intent SEO queries
05 Comparative Matrix vs. Alternatives 10-dimension feature matrix vs Cloud SaaS, Heavy NLEs, Raw CLI, and Hosted APIs
06 The 8 Production Usecases Comprehensive matrix of audio, video, explainer, and advertising workflows
07 Getting Started & Setup Prerequisites, <TOOLS_ROOT> configuration, and environment initialization
08 CLI Reference & Commands Step-by-step CLI commands for doctor, modes, prepare, and frames
09 Motion Graphics & Music Synthesis Hyperframes styling and offline NumPy waveform storyline scoring
10 Governance & Runtime Invariants 10 non-negotiable architectural guarantees (INV-LOCAL-01 to INV-SLA-10)
11 Security & Privacy SLA 100% local-first zero-egress posture, 48h initial response, and 5-day triage SLA
12 Sibling Projects & Ecosystem Matrix 16 federated tools across ellmos-ai, dev-bricks, file-bricks, and open-bricks
13 Quality Gates & Testing Automated test suite, Ruff linting, compileall, and console window suppression
14 Machine-Readable Context (llms.txt) LLM crawler manifest, search indexing keywords, and agent ingestion rules
15 Repository Structure Detailed folder taxonomy across code, tools, stt, tests, and projects
16 Changelog & Releases Release history, version milestones, and Pfad B discoverability updates
17 Level 1 SBOM & Third-Party Licenses Permissive open-source inventory, RunAsInvoker guarantee, and Level 1 SBOM
18 Statutory Notice & Liability Limitation MIT license, § 521 BGB Gefälligkeitsrecht disclaimer, and liability limits
19 Sister Project: clip-storyboard-director The Director half of the Director/Cutter duo, bundled as a pinned optional dependency

1. Key Capabilities

Use an AI coding agent (e.g. Claude Code, Gemini, Codex) as a video/podcast editor — with local transcription instead of ElevenLabs Scribe. The orchestrator (editor.py) handles deterministic preparation (routing to the optimal STT engine/compute, producing schema-valid Scribe JSON, and packing takes); creative cutting, animation, and composition work is driven by the agent.

A three-tool stack:

  • video-use — cuts based on word-level transcripts (removes pauses/stumbles).
  • Hyperframes — HTML/CSS/JS → MP4 animations and motion graphics.
  • frontend-design skill — generates motion graphics / branding assets.

…with ElevenLabs Scribe transcription replaced by local engines. The default is faster-whisper plus text-based LLM speaker assignment for conversations; WhisperX is an optional acoustic-diarization engine. Compute is local by default, with optional remote-host-primary, local-fallback routing. The replacement writes the exact Scribe fields used by video-use, so downstream helpers run completely unpatched.


2. Visual Architecture Flowchart

flowchart TB
    subgraph Intake ["Layer 1: Input Channels & Media Intake"]
        V["Raw Video Recording (.mp4/.mov)"]
        A["Raw Audio Recording (.wav/.m4a)"]
        S["Storyline JSON (Narrative & Emotion)"]
    end

    subgraph Preflight ["Layer 2: Orchestrator & Preflight Inspection"]
        DOC["editor.py doctor<br/>Environment & Tooling Verification"]
        MODES["editor.py modes<br/>8 Specialized Media Use Cases"]
        PREP["editor.py prepare<br/>Project Staging & Metadata Contract"]
    end

    subgraph Engines ["Layer 3: Processing & Synthesis Engines"]
        FW["faster-whisper / WhisperX<br/>100% Local STT & Word Alignment"]
        DIAR["ai_media_editor/stt/diarize_llm.py<br/>Text-based Multi-Speaker Diarization"]
        MUSIC["ai_media_editor/tools/compose_music.py<br/>Procedural NumPy Waveform Synthesis"]
        HF["Hyperframes & hide-windows.cjs<br/>HTML/CSS/JS -> MP4 Motion Graphics"]
    end

    subgraph Agentic ["Layer 4: Agentic Interaction Layer"]
        SCRIBE["Scribe JSON Schema<br/>Word-level Timing for video-use"]
        FRAMES["ai_media_editor/tools/frame_view.py<br/>Timestamped Contact-Sheets"]
        CUTS["ai_media_editor/tools/cut_view.py<br/>Pause & Inflection Cut Candidates"]
        LLM["AI Coding Agent<br/>(Claude Code / Gemini / Codex)"]
    end

    subgraph Export ["Layer 5: Deterministic Export & Artefacts"]
        OUT_V["Rendered Master Video (.mp4)"]
        OUT_A["Clean Speaker-Separated Audio (.wav)"]
        OUT_M["Standard MIDI File (.mid) & Score"]
    end

    Intake --> Preflight
    Preflight --> Engines
    Engines --> Agentic
    Agentic --> Export
Loading

3. End-to-End Execution Lifecycle Sequence

sequenceDiagram
    autonumber
    actor Dev as User / AI Agent
    participant Orch as Orchestrator (editor.py)
    participant STT as Local STT Engine
    participant FS as Local Filesystem (projects/)
    participant Visual as Frame View & Cut View
    participant Render as Hyperframes & ffmpeg

    Dev->>Orch: editor.py doctor
    Orch-->>Dev: Preflight verified (ffmpeg, venv, Node)
    Dev->>Orch: editor.py prepare "<media>" --mode <1-8>
    Orch->>STT: Stream audio track (faster-whisper / WhisperX)
    STT-->>Orch: Word-level timestamps & speaker segments
    Orch->>FS: Write schema-valid Scribe JSON & packed takes
    Dev->>Orch: editor.py frames <project> --contact-sheet
    Orch->>Visual: Sample video at regular keyframes
    Visual->>FS: Generate timestamped contact-sheet PNGs
    Dev->>Visual: cut_view.py (find speech pauses & stumbles)
    Visual-->>Dev: Return pause cut candidate intervals
    Dev->>Render: Formulate cut list & motion graphics
    Render->>FS: Render final clean MP4 / WAV with zero network egress
    FS-->>Dev: Deliver production media artifact
Loading

4. Target Personas & Discoverability

ai-media-editor solves key workflow bottlenecks for modern AI media automation across four distinct profiles:

[PERSONA-01] Autonomous AI Coding Agent Developers & Swarm Architects

  • Profile: Software engineers designing multi-agent workflows (Claude Code, Gemini/Antigravity, Codex CLI, Kimi Code) for autonomous media production.
  • Pain Point: Proprietary cloud STT services impose API rate limits, require brittle browser automation, and leak confidential unreleased media to external vendors.
  • Solution: Pure CLI orchestration with deterministic Scribe JSON schema generation, pause cut candidates, and timestamped contact sheets directly ingestible by multimodal LLMs.
  • High-Intent Query: "agent driven video editor with local transcription"

[PERSONA-02] Local-First Podcasters & Content Creators

  • Profile: Independent podcasters, interviewers, and creators managing weekly audio/video releases.
  • Pain Point: Exorbitant monthly subscription costs for cloud editing SaaS (Descript, Riverside) and slow upload times for multi-gigabyte recordings.
  • Solution: 100% offline faster-whisper transcription, speaker-separated audio tracks, automated pause trimming, and procedural animated cover video generation.
  • High-Intent Query: "local first podcast editing AI agent workflow"

[PERSONA-03] AI Video & Motion Graphics Engineers

  • Profile: Front-end developers and motion designers automating branded visual video assets.
  • Pain Point: Traditional NLEs (Premiere, After Effects) lack clean programmatic interfaces and cannot render animations directly from CSS/HTML design tokens.
  • Solution: Direct Hyperframes integration converting HTML/CSS/JavaScript components into 60fps MP4 motion graphics with suppressed Windows console flashing.
  • High-Intent Query: "Hyperframes motion graphics podcast editor"

[PERSONA-04] Enterprise Media Security & Compliance Officers

  • Profile: Compliance and information security officers in regulated industries (healthcare, legal, banking).
  • Pain Point: Legal prohibitions (GDPR Art. 28, HIPAA, confidential M&A data) against uploading proprietary company recordings to cloud-hosted transcription providers.
  • Solution: Verifiable zero-network-egress guarantee (INV-LOCAL-01), unprivileged RunAsInvoker non-elevation (INV-RUNAS-02), Level 1 SBOM, and a formal 48-hour vulnerability response SLA.
  • High-Intent Query: "zero egress video transcription and cutting"

5. Comparative Matrix vs. Alternatives

The following 10-dimension matrix compares ai-media-editor against legacy and competing approaches mapped to our non-negotiable runtime invariants:

Dimension & Invariant ai-media-editor Cloud SaaS (Descript / ElevenLabs) Commercial NLEs (Premiere / DaVinci) Raw CLI / Shell (FFmpeg) Hosted APIs (Whisper API / Google STT)
1. Local-First & Zero Egress (INV-LOCAL-01) ✅ 100% Offline Local ❌ Mandatory Cloud Upload ⚠️ Local (Proprietary Telemetry) ✅ 100% Offline Local ❌ External Cloud Processing
2. Unprivileged User-Mode (INV-RUNAS-02) ✅ RunAsInvoker Standard ⚠️ Browser / Helper App ⚠️ Admin Installer / Daemon ✅ User Privileges ✅ API Client Level
3. Non-Destructive Source Safety (INV-PREV-03) ✅ Read-Only Media Input ⚠️ Cloud Media Duplication ✅ Non-Destructive Projects ⚠️ Easy Overwrite Accident ✅ Input Media Preserved
4. Deterministic Synthesis (INV-DETERM-04) ✅ Scribe JSON & Seeded Score ❌ Stochastic Cloud Drift ⚠️ Complex Project State ⚠️ Unstructured Outputs ❌ Non-Deterministic Latency
5. Anti-Traversal Containment (INV-BOUNDARY-05) ✅ Strict Project Jail ⚠️ Hosted Cloud Bucket ⚠️ Arbitrary Filesystem ❌ No Path Validation ✅ Cloud Tenant Boundary
6. Window Flashing Suppression (INV-SUBPROC-06) ✅ windowsHide Preloaded ➖ N/A (Web UI) ➖ N/A (Desktop GUI) ❌ Disruptive Console Bursts ➖ N/A (HTTP Requests)
7. Cross-Platform Parity (INV-PARITY-07) ✅ Windows, Linux, macOS ⚠️ Browser-Dependent ❌ OS-Specific Features ✅ POSIX / Windows ✅ Cross-Platform HTTP
8. Multi-Agent Concurrency (INV-SYNC-08) ✅ Lock Discipline & Clean Git ❌ Single-User SaaS Session ❌ Single-Editor Project Locks ⚠️ Concurrency Conflicts ⚠️ Rate Limiting Bottlenecks
9. Agent & LLM Readability (INV-DOCS-09) ✅ Scribe JSON, Contact Sheets, llms.txt ❌ Closed Binary / HTML DOM ❌ Complex Binary Project Files ⚠️ Raw Text stdout/stderr ⚠️ Text Transcripts Only
10. Coordinated Security SLA (INV-SLA-10) ✅ 48h Response / 5d Triage ⚠️ Enterprise Support Queue ⚠️ Quarterly Commercial Updates ➖ Unmaintained Scripts ⚠️ Standard Cloud SLA

Detailed marketing analysis, search keywords, and discovery log: MARKETING-LOG.txt.


6. The 8 Production Usecases

# Input Speakers Output Typical Workflow
1 Audio 1 Audio podcast, cut Single-speaker speech cleaning and pause trimming
2 Audio multiple Audio podcast, speaker-separated Diarized multi-track dialogue cleaning
3 Video (A+V) 1 Video cut + animations Talking-head cut with automated Hyperframes lower-thirds
4 Video (A+V) multiple Video + animations + speaker tracking Multi-speaker interview video with dynamic speaker cards
5 Video → audio only 1/multiple Audio podcast (video discarded) Extraction of pristine audio podcast from video footage
6 Audio 1/multiple Fully generated explainer video Voice track with AI-orchestrated motion graphics visuals
7 Audio 1 Audio + animated cover Podcast track wrapped in an animated vinyl/waveform loop
8 Audio/brief 1 Ad clip (15–60 s, 16:9 + 9:16) Fast short-form clip factory via Hyperframes

For complete step-by-step guides for each mode, refer to docs/USECASES.md.


7. Getting Started & Setup

  1. Create config: Copy config/settings.example.json → config/settings.json and configure local compute options (local/mac, engines, paths.*).
  2. Tools Directory (<TOOLS_ROOT>): paths.tools_root in your settings.json specifies the root for heavy tools (video-use, ffmpeg, Node ≥ 22). Do not locate this inside a cloud-synchronized folder.
  3. External Prerequisites:
    • Local: ffmpeg, Node.js >= 22 (for Hyperframes), Python 3.10–3.13 venv.
    • Optional Remote Host: faster-whisper + WhisperX on a remote machine reachable via SSH.
    • HuggingFace Token: Only required when engines.multi_speaker is set to whisperx.
  4. Optional: install as a package. pip install -e . (or -e ".[storyboard]" to also pull in clip-storyboard-director) registers the ai-media-editor console script, equivalent to running python editor.py below.

8. CLI Reference & Commands

# Set Python venv path
VENV="<TOOLS_ROOT>/.venv/Scripts/python.exe"

# 1. Environment & toolchain verification
PYTHONIOENCODING=utf-8 "$VENV" editor.py doctor

# 2. Display supported operational use cases
PYTHONIOENCODING=utf-8 "$VENV" editor.py modes

# 3. Prepare a media project (deterministic transcription + take packing)
PYTHONIOENCODING=utf-8 "$VENV" editor.py prepare "/path/to/recording.mp4" --mode 3 --project my-video

# 4. Generate timestamped frame contact-sheets for visual LLM inspection
PYTHONIOENCODING=utf-8 "$VENV" editor.py frames my-video --contact-sheet

# 5. Extract detailed frame interval
PYTHONIOENCODING=utf-8 "$VENV" editor.py frames my-video --from 30 --to 45 --step 0.25

9. Motion Graphics & Music Synthesis

Offline Video-Synced Score (compose_music.py)

ai_media_editor.tools.compose_music composes background music following a video storyline — 100% local with zero cloud services. Input is a storyline JSON defining sections with exact time windows, emotions, and intensity levels:

# Compose music from storyline JSON
python -m ai_media_editor.tools.compose_music docs/examples/storyline-roshambo.json -o projects/<name>/assets/score

# Generate storyline template
python -m ai_media_editor.tools.compose_music --init

# Run deterministic synthesis selftest
python -m ai_media_editor.tools.compose_music --selftest

Output: Stereo WAV + MP3 + <name>.notes.json + <name>.mid (Standard MIDI File Type 1).

MIDI Export & High-Fidelity Rendering

The MIDI export enables lossless rendering through professional soundfonts:

  • Path A — SoundFont (local, free): FluidSynth (winget install FluidSynth) + GeneralUser GS / MuseScore_General: fluidsynth -ni soundfont.sf2 out.mid -F out.wav -r 44100
  • Path B — Orchestral Libraries: VSCO 2 Community Edition or Salamander Grand Piano.

10. Governance & Runtime Invariants

The architecture enforces 10 strict runtime guarantees across all operating modes:

Invariant ID Operational Domain Guarantee & Enforcement Rule Verification Mechanism
INV-LOCAL-01 Privacy & Data Egress 100% Local-First Execution: Raw media, transcripts, and embeddings never leave localhost. Zero cloud calls by default. tests/test_core.py, no cloud sockets in core pipeline
INV-RUNAS-02 Privilege & Sandbox Unprivileged User-Mode (RunAsInvoker): Zero administrative or elevated privileges required. Standard user execution across all scripts
INV-PREV-03 Storage & Immutability Preview-Safe & Non-Destructive Source Media: Input files are strictly read-only; all artifacts write to projects/<name>/. Isolation checks in tests/test_core.py
INV-DETERM-04 Reproducibility Deterministic Synthesis & Schema Stability: Fixed seed for procedural audio and rigid adherence to Scribe JSON schema. tests/test_compose_music.py, ai_media_editor/stt/scribe_schema.py
INV-BOUNDARY-05 File Traversal Safety Anti-Traversal & Project Containment: Filenames and project stems cannot escape the project boundaries. test_project_names_cannot_escape_projects
INV-SUBPROC-06 Process Sanitation Clean Lifecycle & Window Suppression: Preloaded wrappers suppress console window flashing on Windows. ai_media_editor/tools/hf.cmd, ai_media_editor/tools/hide-windows.cjs
INV-PARITY-07 Multi-OS Support Cross-Platform OS Parity: Identical execution and path handling across Windows, Linux, and macOS. Multi-OS GitHub Actions CI matrix
INV-SYNC-08 Concurrency & Locks Cloud-Sync & Multi-Agent Lock Discipline: Heavy tools and projects excluded from cloud sync conflicts. .gitignore conflict & lock filter rules
INV-DOCS-09 Accessibility & Discovery Multimodal LLM Readiness & Bilingual Parity: Frame contact sheets for vision LLMs; full EN/DE documentation parity. llms.txt, README.md, README_de.md contract tests
INV-SLA-10 Security & Incident Response 48h Security Response & 5-Day Triage SLA: Formal vulnerability reporting via GitHub Advisories and maintainer emails. SECURITY.md, test_security_policy_bilingual_parity

11. Security & Privacy SLA

  • Local-First Privacy: Transcription, frame extraction, and cut calculation run entirely offline on local hardware.
  • Sensitive Media Containment: Source recordings and project output reside strictly within projects/ (gitignored).
  • Vulnerability Response Commitment:
    • Initial Response SLA: Within 48 hours for confirmation of submitted vulnerability reports.
    • Technical Triage SLA: Within 5 business days with severity assessment.
    • Reporting Channel: GitHub Security Advisories or direct email to security@open-bricks.org, security@ellmos.ai, support@lukasgeiger.com, and lukas@open-bricks.org.
    • For full details, see SECURITY.md.

12. Sibling Projects & Ecosystem Matrix

ai-media-editor operates as a specialized multimedia orchestration engine within the open-bricks and ellmos-ai ecosystem:

Repository Organization Domain / Purpose Ecosystem Interoperability
clip-storyboard-director ellmos-ai Generative storyboard and scene director Scene sequence generation for video usecases
assistant-core ellmos-ai Conversational supervision & agent runtime Orchestrating autonomous media editing tasks
decision-clicker ellmos-ai Interactive user review gateway Reviewing candidate cuts and edit decisions
lock-master ellmos-ai Fail-closed multi-agent locking framework Protecting concurrent project files and render locks
clutch ellmos-ai Process supervisor and task scheduler Supervising long-running rendering & STT jobs
system-explorer ellmos-ai Local hardware & capability discovery Detecting GPU, CUDA, and hardware acceleration
roblox-studio-core ellmos-ai Headless 3D studio capture and automation 3D visual assets and animation frames
usb-podcast-studio entertain-and-more USB audio hardware capture & broadcast High-fidelity recording source for podcast modes
BattleStage entertain-and-more Server-authoritative physics simulation Game footage and replay video processing
DevCenter dev-bricks Developer environment & workspace manager Managing local tools and development venvs
MethodenAnalyser dev-bricks Static Python code metrics & method audit Code quality analysis of media editor modules
ExplorerPro file-bricks High-speed desktop file manager (PySide6) Visual project browsing and media file organization
ProFiler file-bricks Deep directory analysis and inspection Media assets indexing and cache analysis
CloudLockFixer file-bricks Multi-host synchronization conflict fixer Cleaning lock files and cloud conflict copies
FormularErstellen doc-bricks Dynamic PDF & document layout generator Generating project reports and production summaries
open-bricks open-bricks Umbrella open-source standards organization Canonical ecosystem governance & license parity

13. Quality Gates & Testing

Run fast quality checks locally without external STT models or heavy media files:

# Run complete test suite
python -m pytest -ra -v

# Run lint checks
ruff check .

# Validate bytecode compilation
python -m compileall -q .

# Verify CLI modes
python editor.py modes

Windows Console Window Suppression

Hyperframes and Node subprocesses run through ai_media_editor/tools/hf.cmd and ai_media_editor/tools/hide-windows.cjs to enforce windowsHide: true, eliminating distracting console window flashing during rendering. Background details: docs/WINDOWS-KONSOLENFENSTER.md.


14. Machine-Readable Context (llms.txt)

LLM crawlers, code assistants, and automated indexing agents can parse repository context directly via llms.txt.

Key Search Phrases:

ellmos-ai/ai-media-editor
local AI media editor video podcast transcription
agent driven video editor with local transcription
Claude Code video podcast editor Hyperframes
faster-whisper WhisperX Scribe JSON video-use
transcript based video cutting local first
Hyperframes motion graphics podcast editor
offline procedural music synthesis storyline numpy
zero egress video transcription and cutting

15. Repository Structure

ai-media-editor/                  (code/docs/projects)
├── CLAUDE.md                     ← agent guide (editor workflow, German)
├── README.md                     ← English overview & 18-point visual architecture
├── README_de.md                  ← German documentation (1:1 anchor parity)
├── editor.py                     ← compatibility shim for documented direct calls
├── ai_media_editor/editor.py     ← orchestrator (prepare / frames / modes / doctor)
├── ai_media_editor/tools/
│   ├── cut_view.py               ← pauses as explicit cut candidates
│   ├── frame_view.py             ← video → timestamped frames ("video-scatterer", UC3/4/8)
│   ├── compose_cover.py          ← UC7: loop a cover over audio
│   ├── compose_music.py          ← storyline JSON → video-synced score (NumPy waveform synthesis)
│   ├── hf.cmd / hf-hidden.vbs    ← Windows console window suppression wrappers
│   └── hide-windows.cjs          ← Node.js preload script enforcing windowsHide: true
├── ai_media_editor/stt/
│   ├── scribe_schema.py          ← Scribe-JSON format (contract with video-use)
│   ├── transcribe_local.py       ← faster-whisper + WhisperX → Scribe-JSON
│   ├── diarize_llm.py            ← token-free text-based speaker assignment
│   └── mac_remote.py             ← compute routing (remote primary, local fallback)
├── config/settings.example.json  ← template: compute, engines, models, paths, HF token
├── brand/design-tokens.css       ← branding tokens for generated animations
├── docs/USECASES.md              ← step-by-step per mode
├── production/                   ← optional generative workflows (cloud gates apply)
├── tests/
│   ├── test_core.py              ← dependency-free regression suite
│   ├── test_compose_music.py     ← storyline & waveform synthesis tests
│   └── test_metadata.py          ← automated contract tests for manifests & discoverability
├── SECURITY.md                   ← private vulnerability reporting and security scope
├── THIRD_PARTY_LICENSES.md       ← Level 1 SBOM and third-party license inventory
├── MARKETING-LOG.txt             ← discoverability, personas, matrix & architecture audit
└── projects/<name>/edit/         ← per project: transcripts/, takes_packed.md, … (gitignored)

<TOOLS_ROOT>/                     (NOT a cloud folder — venv/tools)
├── .venv/                        ← Python venv (faster-whisper, video-use, …)
└── video-use/                    ← cloned browser-use/video-use (unpatched)

16. Changelog & Releases

See CHANGELOG.md for full version history.

  • Version 0.2.3 (2026-09-20): Pfad B visual architecture & discoverability overhaul, 18-point dual-navigation parity, 10-dimension comparative matrix vs 4 alternatives, 4 formalized target personas ([PERSONA-01] to [PERSONA-04]), Level 1 SBOM Invariant Cross-Reference Table in THIRD_PARTY_LICENSES.md, RunAsInvoker non-elevation certification, and § 521 BGB statutory notice.
  • Version 0.2.2 (2026-09-12): Pfad A technical hygiene pass, CI runner timeout guardrails (timeout-minutes: 15), automated stale issues/PRs lifecycle management, hardened .gitignore, and optional dependency groups in pyproject.toml.
  • Version 0.2.1 (2026-09-11): Discoverability pass, dedicated third-party license audit, PEP 621 extended URLs, and initial contract test suite.
  • Version 0.2.0 (2026-09-09): Hardened local-first pipeline, automated contract tests, multi-OS CI matrix, bilingual parity, dual-mermaid diagrams, and 10 governance invariants.

17. Level 1 SBOM & Third-Party Licenses

ai-media-editor is engineered with an uncompromising commitment to open-source transparency, non-elevation, and offline reproducibility:

  • 100% Permissive Open-Source: All integrated libraries, engines, and runtimes are licensed under permissive open-source licenses (MIT, Apache-2.0, BSD, PSFL) or dynamically linked media utilities (FFmpeg LGPL). There are zero proprietary runtime locks or closed telemetry spyware.
  • Zero Runtime Cloud Dependencies (INV-LOCAL-01): All transcription, frame extraction, pause detection, and procedural music synthesis execute 100% offline on your hardware.
  • Unprivileged User Execution (INV-RUNAS-02): All components execute strictly under standard unprivileged user accounts (RunAsInvoker) with zero administrative or root elevation required.
  • Level 1 SBOM & Governance Mapping: Upstream sources, maintainers, license texts, and governing invariants are cataloged in THIRD_PARTY_LICENSES.md.
  • Core Project License: MIT License © 2026 ellmos-ai / open-bricks.

18. Statutory Notice & Liability Limitation

This software is provided free of charge under the MIT License as open-source software. Under German statutory law (§ 521 BGB - Gefälligkeitsrecht / gratuitous contracts), liability in the case of gratuitous provision of software is limited to intent (Vorsatz) and gross negligence (grobe Fahrlässigkeit). In particular, no warranties are provided for fitness for a particular purpose, merchantability, or absence of defects.


19. Sister Project: clip-storyboard-director

clip-storyboard-director is the Director to this editor's Cutter in a two-agent media production model: it handles pre-production (script breakdown, shot timing, AI video-generator prompting via CDP browser automation, 4D persistence/continuity buffers) and hands off an assembled rough cut for ai-media-editor to finish (non-linear editing, color grading, transitions, audio ducking, final render). Each tool is standalone and does not require the other to function.

It is declared as the storyboard optional dependency in this project's pyproject.toml, pinned to a specific reviewed commit for reproducibility. Install both together with the ai-media-editor console script in one step:

pip install -e ".[storyboard]"
ai-media-editor modes
clip-director --version

clip-storyboard-director is MIT-licensed, same as this project; see its own THIRD_PARTY_LICENSES.md for its component inventory.

Releases

Packages

Contributors

Languages