video-editing 1.3.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -57
- package/dist/chunk-W4IIL2T2.js +2488 -0
- package/dist/cli.js +590 -1435
- package/dist/index.d.ts +1099 -922
- package/dist/index.js +319 -268
- package/package.json +2 -19
- package/skills/video-editing/SKILL.md +170 -235
- package/skills/video-editing/references/adversarial-review.md +3 -43
- package/skills/video-editing/references/cli-reference.md +165 -160
- package/skills/video-editing/references/editing-brief.md +3 -43
- package/skills/video-editing/references/hard-rules.md +3 -37
- package/skills/video-editing/references/scribe-collapse.md +3 -36
- package/skills/video-editing/references/timeline-v2-vocabulary.md +2 -2
- package/dist/assets/DejaVuSansMono.ttf +0 -0
- package/dist/chunk-63HIQBDT.js +0 -4321
- package/dist/chunk-CU3NBKB4.js +0 -307
- package/dist/job-OFCSLPBV.js +0 -25
- package/dist/templates/author-edl.prompt.md +0 -33
- package/dist/templates/fix.prompt.md +0 -23
- package/dist/templates/review.prompt.md +0 -30
package/README.md
CHANGED
|
@@ -1,83 +1,79 @@
|
|
|
1
1
|
# video-editing
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
The [ClipReady](https://github.com/ItayElgazar/clipready) CLI — **agents-first
|
|
4
|
+
AI video editing** for talking-head reels. An AI agent (or you) drops in a raw
|
|
5
|
+
recording; the CLI streams it to the ClipReady cloud, which transcribes and
|
|
6
|
+
screens it and sends back the editorial brief; the agent authors a
|
|
7
|
+
`timeline.json` (cuts, captions, zooms, overlays); the cloud compiles,
|
|
8
|
+
renders, and verifies it.
|
|
7
9
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
**The CLI is a pure API client — everything executable runs in the ClipReady
|
|
11
|
+
cloud.** No ffmpeg, no ffprobe, no rendering tools on your machine.
|
|
10
12
|
|
|
11
13
|
## Requirements
|
|
12
14
|
|
|
13
15
|
- **Node ≥ 20**
|
|
14
|
-
- **
|
|
15
|
-
- An **ElevenLabs API key** (for transcription)
|
|
16
|
+
- A **ClipReady API key** — get one from the ClipReady settings page
|
|
16
17
|
|
|
17
|
-
|
|
18
|
+
That's the whole list.
|
|
19
|
+
|
|
20
|
+
## Install & auth
|
|
18
21
|
|
|
19
22
|
```bash
|
|
20
|
-
npm install -g video-editing
|
|
23
|
+
npm install -g video-editing
|
|
24
|
+
video-editing auth api-key # paste your key once — that's it
|
|
21
25
|
video-editing --help
|
|
22
26
|
```
|
|
23
27
|
|
|
24
|
-
The
|
|
28
|
+
The base URL defaults to the hosted ClipReady cloud; `CLIPREADY_API_KEY` /
|
|
29
|
+
`CLIPREADY_API_BASE` env vars (or `--api-key`/`--api-base`) override when set.
|
|
25
30
|
|
|
26
|
-
|
|
27
|
-
npx skills add ItayElgazar/clipready --skill video-editing
|
|
28
|
-
```
|
|
31
|
+
Every command requires the API key — nothing runs without it.
|
|
29
32
|
|
|
30
|
-
|
|
33
|
+
The companion agent skill (workflow + timeline vocabulary for AI agents):
|
|
31
34
|
|
|
32
35
|
```bash
|
|
33
|
-
video-editing
|
|
34
|
-
# or
|
|
36
|
+
npx skills add ItayElgazar/clipready --skill video-editing
|
|
37
|
+
# or, after installing the CLI:
|
|
38
|
+
video-editing skill install
|
|
35
39
|
```
|
|
36
40
|
|
|
37
41
|
## Workflow
|
|
38
42
|
|
|
39
43
|
```bash
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
#
|
|
44
|
-
video-editing
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
# 4. render the preview (vertical 1080x1920, loudness-normalized)
|
|
51
|
-
video-editing render --job-dir ~/Downloads/edit/job_clip --mode preview
|
|
52
|
-
|
|
53
|
-
# 5. CONTENT-VERIFY: re-transcribes joins, flags duplicated phrases (retake left in) + dead air
|
|
54
|
-
video-editing verify --job-dir ~/Downloads/edit/job_clip # add --full for whole-preview
|
|
55
|
-
|
|
56
|
-
# 6. fix edl.json as needed, re-render, re-verify, then:
|
|
57
|
-
video-editing render --job-dir ~/Downloads/edit/job_clip --mode final
|
|
44
|
+
video-editing init --source "clip.mp4" --job-dir jobs/clip # stream the source up + cloud ingest:
|
|
45
|
+
# probe, transcribe, screen; pulls
|
|
46
|
+
# transcripts, flags, prompts/author-edl.prompt.md
|
|
47
|
+
# read prompts/author-edl.prompt.md (the editorial brief), author jobs/clip/timeline.json
|
|
48
|
+
video-editing timeline compile --job-dir jobs/clip --json # cloud compile → resolved/plan.json + watch link
|
|
49
|
+
video-editing render --job-dir jobs/clip # cloud preview render (waits + downloads)
|
|
50
|
+
video-editing verify --job-dir jobs/clip --json # cloud content-verify of the preview
|
|
51
|
+
video-editing qa frames --join 1 --job-dir jobs/clip # server-rendered QA filmstrips of join 1
|
|
52
|
+
video-editing render --mode final --job-dir jobs/clip
|
|
58
53
|
```
|
|
59
54
|
|
|
60
|
-
## EDL format
|
|
61
|
-
|
|
62
|
-
`<job>/edl.json` — KEEP segments in **source** seconds; the gaps between them are the cuts:
|
|
63
|
-
|
|
64
|
-
```json
|
|
65
|
-
{
|
|
66
|
-
"version": 1,
|
|
67
|
-
"sources": {"SRC": "<job>/vertical_src.mp4"},
|
|
68
|
-
"grade": "none",
|
|
69
|
-
"ranges": [
|
|
70
|
-
{"source": "SRC", "start": 11.35, "end": 14.12, "beat": "HOOK", "quote": "…", "reason": "…"}
|
|
71
|
-
],
|
|
72
|
-
"overlays": [],
|
|
73
|
-
"total_duration_s": 0
|
|
74
|
-
}
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
A retake range must **end at the last clean word before the abandoned attempt**.
|
|
78
|
-
|
|
79
55
|
## Commands
|
|
80
56
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
57
|
+
| Verb | What it does |
|
|
58
|
+
| --- | --- |
|
|
59
|
+
| `init --source <path>` | Stream the source up (chunked, 2GB-safe), create the cloud job, run server-side ingest (probe + transcription + screening), pull transcripts/brief — covers what init+transcribe used to do |
|
|
60
|
+
| `transcribe` | Re-run/pull transcription (init already did it once) |
|
|
61
|
+
| `timeline validate` | Schema/semantic check of your `timeline.json` (local, pure) |
|
|
62
|
+
| `timeline resolve` | Phrase → exact source seconds (anchor resolution) |
|
|
63
|
+
| `timeline compile` | Cloud-compile `timeline.json` → `resolved/plan.json` + diagnostics; prints the watch link |
|
|
64
|
+
| `render` | Cloud render of the compiled plan (preview by default, waits + downloads; `--mode final` for delivery) |
|
|
65
|
+
| `verify` | Fully server-side content-verify of the rendered preview (retakes left in, dead air) |
|
|
66
|
+
| `qa frames` / `qa waveform` | Server-rendered filmstrip / waveform PNG + word-timing sidecar; address by source time, plan join (`--join <i>`), or output time (`--out-start/--out-end`) |
|
|
67
|
+
| `files pull` / `files push` | Sync job artifacts with the cloud job |
|
|
68
|
+
| `review pull` / `review push` | Work a ClipReady review round (live timeline updates, completion) |
|
|
69
|
+
| `cloud render` / `cloud status` | Same render API, legacy spelling + status polling |
|
|
70
|
+
| `skill install` | Install the bundled agent skill into `~/.claude/skills` |
|
|
71
|
+
| `status` | Job state + artifact existence |
|
|
72
|
+
| `config` | Store the API key/base in `~/.config/video-editing/.env` |
|
|
73
|
+
|
|
74
|
+
Run `video-editing <cmd> --help` for flags.
|
|
75
|
+
|
|
76
|
+
## Links
|
|
77
|
+
|
|
78
|
+
- ClipReady + this skill: <https://github.com/ItayElgazar/clipready>
|
|
79
|
+
- Skill install: `npx skills add ItayElgazar/clipready --skill video-editing`
|