Problem Video editors often struggle to automate the entire post‑production workflow. Writing code to transcribe, subtitle, re‑frame, or generate motion graphics typically requires multiple tools, manual coordination, and a GUI. The goal of Open‑Edit is to provide a single, agent‑driven command line that receives a natural‑language instruction and returns a finished MP4.
What This Does Open‑Edit is a Node 20+ library written in TypeScript.
cli/src/cli.tsis the public entry point; it parses command‑line arguments and dispatches to command modules undercli/src/commands/*.ts.- The
transcribecommand (cli/src/commands/transcribe.ts) callscli/src/veed/transcript-mapper.tsto route speech‑to‑text through either the VEED API or local WhisperX. generate(cli/src/commands/generate.ts) builds a recipe from a prompt, handing it to the renderer that is downloaded into the user’s app‑data folder.preview(cli/src/preview/page/app.js) spins a lightweight Express server (seecli/src/preview/page/index.html) to show a live preview.- All state is written to a
runs/directory; the final MP4 is emitted there.
How It Is Wired
- Entry point –
cli/src/cli.ts→cli/src/args.ts→cli/src/config.ts. - Command dispatcher –
cli/src/cli.tscalls the relevantcli/src/commands/*.ts. - External calls –
cli/src/veed/api.tsissues HTTPS requests to VEED’s REST surface.cli/src/veed/login-page.tsandcli/src/veed/oauth.tsmanage OAuth tokens, persisting them intoken-store.ts.cli/src/veed/transcript-mapper.tsroutes to eitherveed/api.tsor local WhisperX viacli/src/commands/whisper.ts.- Renderer –
cli/src/engine-release.tsdownloads the binary to~/.local/share/veed/openedit/renderer. - Preview –
cli/src/preview/state.tsholds the preview session state;cli/src/preview/events.tsandcli/src/preview/media.tsserve media to the browser.
The graph is a linear chain with a few side‑channels to external services. No cycles exist; the only hub is cli/src/cli.ts, which has a 1‑to‑many fan‑out. Changing a command module requires touching only that file and its tests.
How To Use It
- Setup ``
sh git clone https://github.com/moses-y/open-edit cd open-edit pnpm install`Node 20+ andffmpeg` are required; the first run will prompt for missing tools.
- Configuration VEED credentials are stored in
~/.veed/token.json. Optional environment variables:OPENEDIT_TRANSCRIPTION=whisperorveed.
- Running ``
sh pnpm run cli -- transcribe --input video.mp4 --output transcript.json`The CLI accepts many sub‑commands;--help` lists them.
Real‑World Use A marketing team can run:
pnpm run cli -- generate --prompt "Create a 20‑sec title sequence in brand colors" --output title.mp4
The command uses cli/src/commands/generate.ts → cli/src/veed/fabric.ts to submit a job to VEED, then streams the MP4 back to runs/.
Code Health & Issues
- 435 source files, 251 TypeScript.
- 85 test files (
cli/tests/*.test.ts), run by GitHub Actions (.github/workflows/merge-gate.yml). - No lint or type‑error failures reported in CI.
- License: Apache‑2.0, no hidden secrets.
No measured issues were found. The repository is well‑structured, with a clear separation between command dispatch, external API interaction, and rendering.
Bottom Line Open‑Edit delivers a practical, agent‑driven editing pipeline that eliminates the need for a UI. Its TypeScript foundation, extensive test suite, and clear command‑line interface make it suitable for developers who want to integrate automated video production into CI/CD or chatbot workflows. The main limitation is the dependency on VEED’s paid tier for high‑volume usage, but the open‑source core remains free to extend.