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 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