video-editing 1.3.1
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/LICENSE +29 -0
- package/README.md +83 -0
- package/dist/assets/DejaVuSansMono.ttf +0 -0
- package/dist/chunk-63HIQBDT.js +4321 -0
- package/dist/chunk-CU3NBKB4.js +307 -0
- package/dist/cli.js +1594 -0
- package/dist/index.d.ts +3569 -0
- package/dist/index.js +300 -0
- package/dist/job-OFCSLPBV.js +25 -0
- package/dist/templates/author-edl.prompt.md +33 -0
- package/dist/templates/fix.prompt.md +23 -0
- package/dist/templates/review.prompt.md +30 -0
- package/package.json +69 -0
- package/skills/video-editing/SKILL.md +254 -0
- package/skills/video-editing/references/adversarial-review.md +44 -0
- package/skills/video-editing/references/cli-reference.md +181 -0
- package/skills/video-editing/references/editing-brief.md +44 -0
- package/skills/video-editing/references/hard-rules.md +38 -0
- package/skills/video-editing/references/scribe-collapse.md +37 -0
- package/skills/video-editing/references/timeline-v2-vocabulary.md +162 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
ClipReady video-editing License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Itay Elgazar. All rights reserved.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software, the accompanying skill files, and associated documentation
|
|
7
|
+
(the "Software"), to install and use the Software, including for commercial
|
|
8
|
+
purposes, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
1. No redistribution. You may not publish, sublicense, sell, rent, lease, or
|
|
11
|
+
otherwise distribute the Software or any portion of it, except that
|
|
12
|
+
installing the Software through official distribution channels (npm, the
|
|
13
|
+
official GitHub repository) is permitted.
|
|
14
|
+
|
|
15
|
+
2. No modification or derivative works. You may not modify, adapt, translate,
|
|
16
|
+
or create derivative works based on the Software, and you may not reverse
|
|
17
|
+
engineer, decompile, or disassemble it except to the extent permitted by
|
|
18
|
+
applicable law.
|
|
19
|
+
|
|
20
|
+
3. Notices. You may not remove or alter any copyright, license, or attribution
|
|
21
|
+
notices contained in the Software.
|
|
22
|
+
|
|
23
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
24
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
25
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
26
|
+
AUTHOR OR COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
27
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
28
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
29
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# video-editing
|
|
2
|
+
|
|
3
|
+
Standalone CLI for turning a raw talking-head recording into a tight, clean
|
|
4
|
+
vertical (9:16) cut. It transcribes the clip, screens it for retakes, lets you
|
|
5
|
+
author an EDL (the cut), renders a preview/final, and **content-verifies** the
|
|
6
|
+
result by re-transcribing every join to catch retakes left in.
|
|
7
|
+
|
|
8
|
+
You decide the cut (which takes to keep); the CLI does all the execution
|
|
9
|
+
(probe, transcribe, screen, render, QC). No `video-use` repo or other tools needed.
|
|
10
|
+
|
|
11
|
+
## Requirements
|
|
12
|
+
|
|
13
|
+
- **Node ≥ 20**
|
|
14
|
+
- **ffmpeg** and **ffprobe** on your PATH (`brew install ffmpeg`)
|
|
15
|
+
- An **ElevenLabs API key** (for transcription)
|
|
16
|
+
|
|
17
|
+
## Install
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install -g video-editing # or: pnpm add -g video-editing
|
|
21
|
+
video-editing --help
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The companion agent skill:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx skills add ItayElgazar/clipready --skill video-editing
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Set your ElevenLabs key once (stored in `~/.config/video-editing/.env`):
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
video-editing config set-key sk_your_key_here
|
|
34
|
+
# or export ELEVENLABS_API_KEY=sk_... in your shell
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Workflow
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# 1. create a job (probes the clip; prints the job dir)
|
|
41
|
+
video-editing init-job --source "/path/to/clip.mp4" # → ~/Downloads/edit/job_clip
|
|
42
|
+
|
|
43
|
+
# 2. transcribe + screen (writes flags.txt, takes_packed.md, word_dump.txt, coverage.json)
|
|
44
|
+
video-editing transcribe --job-dir ~/Downloads/edit/job_clip
|
|
45
|
+
|
|
46
|
+
# 3. SCREEN: read flags.txt (retakes hide in over-long tokens & repeated phrases),
|
|
47
|
+
# then author <job>/edl.json — KEEP-range segments in source seconds.
|
|
48
|
+
# (`video-editing cut-bad-retakes --job-dir <job>` scaffolds an authoring prompt.)
|
|
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
|
|
58
|
+
```
|
|
59
|
+
|
|
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
|
+
## Commands
|
|
80
|
+
|
|
81
|
+
`init-job`, `transcribe`, `cut-silences`, `cut-bad-retakes`, `render` (`--mode preview|draft|final`),
|
|
82
|
+
`verify` (`--full`, `--window`, `--gap`), `inspect`/`timeline` (`--join <i>` or `--start/--end`),
|
|
83
|
+
`status`, `review`, `config`. Run `video-editing <cmd> --help` for flags.
|
|
Binary file
|