You are the editor; the video-edit-cli CLI is your workbench. It exposes atomic,
deterministic primitives that print one JSON result on stdout. You form the
editorial plan yourself — no command decides what to keep, remove, or highlight.
Run video-edit-cli --help (and --help on any subcommand) for the authoritative
command surface; inside this repository run it as uv run video-edit-cli ….
If video-edit-cli is not on PATH, install it first with
uv tool install video-edit-cli (Apple Silicon transcription:
uv tool install 'video-edit-cli[mlx]'); ffmpeg and ffprobe must already be
installed separately.
Invariants (hold for every task)
- Source media is immutable. Never overwrite, re-encode in place, or delete an
original. Every derived file is new and keeps its
*.provenance.json sidecar.
- Evidence before edits: never act on a range you have not inspected through
metadata, transcript, frames, waveform, or preview.
- Validate before rendering; preview before mastering when edits are material.
- Prefer the cheapest sufficient evidence:
probe and transcript first for
dialogue; targeted visual/audio inspection only where a decision needs it.
Method
- Establish the outcome. Restate what deliverable is requested and what
media exists. Done when you can name the requested outputs and every source
file involved.
- Preflight the workflow. Run
video-edit-cli doctor --workflow base, or
use transcription, vertical-captioned, or audio-restoration when those
capabilities apply.
Resolve failed dependency checks before expensive work.
- Set up a workspace. Read references/workspace.md,
announce the chosen project path, then reuse a matching project or run
video-edit-cli workspace init. Default to
<project-root>/video-edit-projects/YYYY-MM-DD-<source-id-or-slug>/edit/
unless the user specifies another location. Done when workspace.json lists
every source with its hash.
- Inspect the media.
probe every source; gather audio, proxies, frames,
filmstrips, waveforms, or range previews as decisions require. For dialogue
media read references/transcription.md and
transcribe first. Done when you know each source's duration, streams, and
content well enough to justify the plan you are about to form.
- Plan and render. Read references/edit-plan.md
before creating or modifying a plan; author the plan yourself, validate it,
and render a preview. Done when the validated plan renders and its manifest
exists.
- Review and revise. Read references/cut-review.md;
inspect every boundary of any render you produced. Done when each cut passes
or its defect is fixed or explicitly reported.
- Finish the deliverable. Done when every requested output passes technical
validation and the required visual/editorial review.
output validate does
not inspect framing or editorial quality; report those reviews separately.
Branch references (read when the condition applies)
- Audio cleanup/mastering requested, or analysis finds degraded speech →
references/audio-restoration.md
- Packaged deliverable (project profile, subtitles, assets, music, master
render) → references/subtitles-and-assets.md
- Multiple synchronized visual/audio sources →
references/multicamera.md
- Vertical or short-form deliverable →
references/vertical-video.md
1---2name: video-edit-cli3description: Edit, inspect, transcribe, cut, master, or package video and audio media with the headless `video-edit-cli` CLI. Use when the user asks to edit a recording, cut a video, inspect unfamiliar media, extract audio, preview a range, synchronize cameras, make a vertical clip, or produce podcast/episode deliverables.4---56You are the editor; the `video-edit-cli` CLI is your workbench. It exposes atomic,7deterministic primitives that print one JSON result on stdout. You form the8editorial plan yourself — no command decides what to keep, remove, or highlight.910Run `video-edit-cli --help` (and `--help` on any subcommand) for the authoritative11command surface; inside this repository run it as `uv run video-edit-cli …`.12If `video-edit-cli` is not on `PATH`, install it first with13`uv tool install video-edit-cli` (Apple Silicon transcription:14`uv tool install 'video-edit-cli[mlx]'`); `ffmpeg` and `ffprobe` must already be15installed separately.1617## Invariants (hold for every task)1819- Source media is immutable. Never overwrite, re-encode in place, or delete an20 original. Every derived file is new and keeps its `*.provenance.json` sidecar.21- Evidence before edits: never act on a range you have not inspected through22 metadata, transcript, frames, waveform, or preview.23- Validate before rendering; preview before mastering when edits are material.24- Prefer the cheapest sufficient evidence: `probe` and transcript first for25 dialogue; targeted visual/audio inspection only where a decision needs it.2627## Method28291. **Establish the outcome.** Restate what deliverable is requested and what30 media exists. Done when you can name the requested outputs and every source31 file involved.322. **Preflight the workflow.** Run `video-edit-cli doctor --workflow base`, or33 use `transcription`, `vertical-captioned`, or `audio-restoration` when those34 capabilities apply.35 Resolve failed dependency checks before expensive work.363. **Set up a workspace.** Read [references/workspace.md](references/workspace.md),37 announce the chosen project path, then reuse a matching project or run38 `video-edit-cli workspace init`. Default to39 `<project-root>/video-edit-projects/YYYY-MM-DD-<source-id-or-slug>/edit/`40 unless the user specifies another location. Done when `workspace.json` lists41 every source with its hash.424. **Inspect the media.** `probe` every source; gather audio, proxies, frames,43 filmstrips, waveforms, or range previews as decisions require. For dialogue44 media read [references/transcription.md](references/transcription.md) and45 transcribe first. Done when you know each source's duration, streams, and46 content well enough to justify the plan you are about to form.475. **Plan and render.** Read [references/edit-plan.md](references/edit-plan.md)48 before creating or modifying a plan; author the plan yourself, validate it,49 and render a preview. Done when the validated plan renders and its manifest50 exists.516. **Review and revise.** Read [references/cut-review.md](references/cut-review.md);52 inspect every boundary of any render you produced. Done when each cut passes53 or its defect is fixed or explicitly reported.547. **Finish the deliverable.** Done when every requested output passes technical55 validation and the required visual/editorial review. `output validate` does56 not inspect framing or editorial quality; report those reviews separately.5758## Branch references (read when the condition applies)5960- Audio cleanup/mastering requested, or analysis finds degraded speech →61 [references/audio-restoration.md](references/audio-restoration.md)62- Packaged deliverable (project profile, subtitles, assets, music, master63 render) → [references/subtitles-and-assets.md](references/subtitles-and-assets.md)64- Multiple synchronized visual/audio sources →65 [references/multicamera.md](references/multicamera.md)66- Vertical or short-form deliverable →67 [references/vertical-video.md](references/vertical-video.md)