aivee 0.1.0-alpha.0 โ 0.1.0-dev.59872e1
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/CHANGELOG.md +34 -0
- package/LICENSE +21 -21
- package/README.md +120 -118
- package/docs/architecture.md +401 -401
- package/docs/aspect-ratio-presets.md +72 -72
- package/docs/releasing.md +19 -19
- package/docs/usage.md +1193 -1193
- package/package.json +52 -52
- package/requirements-otio.txt +1 -1
- package/src/capabilities.mjs +307 -307
- package/src/cli.mjs +646 -646
- package/src/doctor.mjs +133 -133
- package/src/edits/analysis-to-edl.mjs +43 -43
- package/src/edits/detect-silence.mjs +51 -51
- package/src/edits/find-mistake-candidates.mjs +42 -42
- package/src/edits/plan-shot-placements.mjs +105 -105
- package/src/edits/plan-silence-cuts.mjs +49 -49
- package/src/edits/retime-transcript.mjs +105 -105
- package/src/files.mjs +80 -80
- package/src/index.mjs +44 -44
- package/src/interchange/otio.mjs +204 -204
- package/src/interchange/otio_bridge.py +521 -521
- package/src/media/analysis-provider.mjs +75 -75
- package/src/media/compatibility.mjs +45 -45
- package/src/media/ffmpeg-capabilities.mjs +129 -129
- package/src/media/frame-rate.mjs +58 -58
- package/src/media/frame-time.mjs +22 -22
- package/src/media/preview-assets.mjs +350 -350
- package/src/media/probe.mjs +149 -149
- package/src/media/render-cuts.mjs +90 -90
- package/src/media/scene-detection.mjs +107 -107
- package/src/media/scene-review.mjs +205 -205
- package/src/project/assets.mjs +1194 -1194
- package/src/project/create.mjs +100 -100
- package/src/project/presets.mjs +44 -44
- package/src/render/checkpoints.mjs +192 -192
- package/src/render/formats.mjs +163 -163
- package/src/render/hyperframes.mjs +590 -590
- package/src/render/process.mjs +111 -111
- package/src/render/progress.mjs +46 -46
- package/src/render/timeline-control.mjs +53 -53
- package/src/timeline/assemble.mjs +119 -119
- package/src/timeline/audio-effects.mjs +75 -75
- package/src/timeline/audio-mastering.mjs +236 -236
- package/src/timeline/audio-mix.mjs +105 -105
- package/src/timeline/audio-track-effects.mjs +139 -139
- package/src/timeline/audio-volume.mjs +63 -63
- package/src/timeline/background.mjs +8 -8
- package/src/timeline/blend-mode.mjs +34 -34
- package/src/timeline/caption-layouts.mjs +62 -61
- package/src/timeline/captions.mjs +80 -80
- package/src/timeline/edit.mjs +965 -965
- package/src/timeline/fingerprint.mjs +6 -6
- package/src/timeline/from-edl.mjs +31 -31
- package/src/timeline/history-store.mjs +281 -281
- package/src/timeline/history.mjs +69 -69
- package/src/timeline/inspect.mjs +117 -117
- package/src/timeline/keyframes.mjs +158 -158
- package/src/timeline/layers.mjs +18 -18
- package/src/timeline/mask.mjs +53 -53
- package/src/timeline/project.mjs +52 -52
- package/src/timeline/render.mjs +759 -759
- package/src/timeline/sidechain-render.mjs +209 -209
- package/src/timeline/source-fit.mjs +15 -15
- package/src/timeline/speech-bubble.mjs +26 -26
- package/src/timeline/speed-ramp.mjs +188 -188
- package/src/timeline/track-state.mjs +22 -22
- package/src/timeline/transition.mjs +34 -34
- package/src/timeline/validate.mjs +322 -322
- package/src/transcript/corrections.mjs +21 -21
- package/src/transcript/normalize.mjs +17 -17
- package/src/transcript/provider.mjs +42 -42
- package/src/transcript/subtitles.mjs +57 -57
- package/src/transcript/validate.mjs +39 -39
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## [0.1.0] - 2026-11-09
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- add speech bubble caption preset (#10)
|
|
16
|
+
- prepare AIVEE CLI and dual-registry releases (#7)
|
|
17
|
+
- build generic video editing engine capabilities (#1)
|
|
18
|
+
- add the AI video editing engine and project handoff
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- use build flow action v1.0.2
|
|
23
|
+
- fix artifacts and caption preset (#14)
|
|
24
|
+
- publish build flow artifacts on all triggers (#13)
|
|
25
|
+
- use npm trusted publishing (#12)
|
|
26
|
+
- fix Build Flow permissions and setup
|
|
27
|
+
- clarify npm token setup (#9)
|
|
28
|
+
- use NPM_TOKEN for initial publish (#8)
|
|
29
|
+
- optimize README with banner and support status (#3)
|
|
30
|
+
|
|
31
|
+
### Removed
|
|
32
|
+
|
|
33
|
+
- move character tools to Studio
|
|
34
|
+
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Waren Gonzaga
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Waren Gonzaga
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,118 +1,120 @@
|
|
|
1
|
-
# AIVEE
|
|
2
|
-
|
|
3
|
-
<p align="center">
|
|
4
|
-
<img src="https://ghrb.waren.build/render/banner?header=AIVEE&subheader=AI%20Video%20Editing%20Engine%20for%20AI%20workflows&bg=0D1117-1B2B4B&color=F0F6FC&subheadercolor=C7D2E5&headerfont=Inter&subheaderfont=Inter" alt="AIVEE โ AI Video Editing Engine for AI workflows">
|
|
5
|
-
</p>
|
|
6
|
-
|
|
7
|
-
<p align="center">
|
|
8
|
-
<strong>A local-first video editing CLI and API for AI workflows.</strong><br>
|
|
9
|
-
Build timelines, review edits, compose layers, and render with Node.js.
|
|
10
|
-
</p>
|
|
11
|
-
|
|
12
|
-
## โจ Features
|
|
13
|
-
|
|
14
|
-
- **Generic timeline:** editable video, audio, and overlay tracks with validated clips, transitions, keyframes, masks, speech-bubble captions, and other overlays.
|
|
15
|
-
- **Media workflow:** register and verify assets, create proxies and previews, inspect scenes, and plan reviewable B-roll edits.
|
|
16
|
-
- **Audio and transcripts:** retime word-level transcripts, mix and master audio, apply fades and ducking, and export subtitle files.
|
|
17
|
-
- **Rendering:** render MP4, WebM, MOV, GIF, or PNG sequences with progress, cancellation, output checks, and resumable capture checkpoints.
|
|
18
|
-
- **Interchange and animation:** optional OpenTimelineIO support, generic timed image layers, and keyframes. Avatar art and speech-driven character animation are owned by consuming studios such as [Explainer Studio](https://github.com/warengonzaga/explainer-studio).
|
|
19
|
-
- **AI-ready interfaces:** use the same versioned timeline through the CLI or JavaScript API; proposed content cuts remain reviewable before application.
|
|
20
|
-
|
|
21
|
-
## ๐ฅ๏ธ Platform Support
|
|
22
|
-
|
|
23
|
-
Windows and Linux are supported. Windows has a local test and render-smoke
|
|
24
|
-
baseline. Linux passed all 137 tests, the full render smoke, and the production
|
|
25
|
-
dependency audit in a Debian Bookworm Docker container with Node.js 22, FFmpeg,
|
|
26
|
-
and the HyperFrames headless browser. Container rendering used software
|
|
27
|
-
graphics.
|
|
28
|
-
|
|
29
|
-
macOS is not officially supported yet. The repository has a manual macOS
|
|
30
|
-
workflow option, but native Mac validation is still required. Follow
|
|
31
|
-
[issue #2](https://github.com/warengonzaga/ai-video-editing-engine/issues/2) for
|
|
32
|
-
that work.
|
|
33
|
-
|
|
34
|
-
## ๐ Getting Started
|
|
35
|
-
|
|
36
|
-
### Requirements
|
|
37
|
-
|
|
38
|
-
- Node.js 22 or newer
|
|
39
|
-
- FFmpeg and ffprobe
|
|
40
|
-
- HyperFrames browser runtime for rendering
|
|
41
|
-
- Python and OpenTimelineIO only for timeline interchange
|
|
42
|
-
|
|
43
|
-
### Install and check the local toolchain
|
|
44
|
-
|
|
45
|
-
```sh
|
|
46
|
-
npm install
|
|
47
|
-
npm run doctor
|
|
48
|
-
node src/cli.mjs capabilities
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Create a project and list the supported canvas presets:
|
|
52
|
-
|
|
53
|
-
```sh
|
|
54
|
-
npm run new-video -- vertical-video 1080x1920 30 15
|
|
55
|
-
node src/cli.mjs presets list
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
After the first release, install the CLI from npm with:
|
|
59
|
-
|
|
60
|
-
```sh
|
|
61
|
-
npm install --global aivee
|
|
62
|
-
aivee doctor
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
The CLI command is `aivee`. The release workflow publishes the unscoped npm
|
|
66
|
-
package `aivee` and the owner-scoped GitHub Packages package
|
|
67
|
-
`@warengonzaga/aivee`.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
## ๐ Usage
|
|
73
|
-
|
|
74
|
-
Start with the [Video Editing Usage Guide](docs/usage.md) for project creation,
|
|
75
|
-
media registration, editing operations, rendering, transcripts, and
|
|
76
|
-
OpenTimelineIO interchange.
|
|
77
|
-
|
|
78
|
-
Related references:
|
|
79
|
-
|
|
80
|
-
- [Aspect ratio presets](docs/aspect-ratio-presets.md)
|
|
81
|
-
- [Architecture and API boundaries](docs/architecture.md)
|
|
82
|
-
|
|
83
|
-
## ๐งช Development and Validation
|
|
84
|
-
|
|
85
|
-
Run the automated checks from the repository root:
|
|
86
|
-
|
|
87
|
-
```sh
|
|
88
|
-
npm test
|
|
89
|
-
npm run test:render-smoke
|
|
90
|
-
npm audit --omit=dev
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
1
|
+
# AIVEE
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="https://ghrb.waren.build/render/banner?header=AIVEE&subheader=AI%20Video%20Editing%20Engine%20for%20AI%20workflows&bg=0D1117-1B2B4B&color=F0F6FC&subheadercolor=C7D2E5&headerfont=Inter&subheaderfont=Inter" alt="AIVEE โ AI Video Editing Engine for AI workflows">
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<strong>A local-first video editing CLI and API for AI workflows.</strong><br>
|
|
9
|
+
Build timelines, review edits, compose layers, and render with Node.js.
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
## โจ Features
|
|
13
|
+
|
|
14
|
+
- **Generic timeline:** editable video, audio, and overlay tracks with validated clips, transitions, keyframes, masks, speech-bubble captions, and other overlays.
|
|
15
|
+
- **Media workflow:** register and verify assets, create proxies and previews, inspect scenes, and plan reviewable B-roll edits.
|
|
16
|
+
- **Audio and transcripts:** retime word-level transcripts, mix and master audio, apply fades and ducking, and export subtitle files.
|
|
17
|
+
- **Rendering:** render MP4, WebM, MOV, GIF, or PNG sequences with progress, cancellation, output checks, and resumable capture checkpoints.
|
|
18
|
+
- **Interchange and animation:** optional OpenTimelineIO support, generic timed image layers, and keyframes. Avatar art and speech-driven character animation are owned by consuming studios such as [Explainer Studio](https://github.com/warengonzaga/explainer-studio).
|
|
19
|
+
- **AI-ready interfaces:** use the same versioned timeline through the CLI or JavaScript API; proposed content cuts remain reviewable before application.
|
|
20
|
+
|
|
21
|
+
## ๐ฅ๏ธ Platform Support
|
|
22
|
+
|
|
23
|
+
Windows and Linux are supported. Windows has a local test and render-smoke
|
|
24
|
+
baseline. Linux passed all 137 tests, the full render smoke, and the production
|
|
25
|
+
dependency audit in a Debian Bookworm Docker container with Node.js 22, FFmpeg,
|
|
26
|
+
and the HyperFrames headless browser. Container rendering used software
|
|
27
|
+
graphics.
|
|
28
|
+
|
|
29
|
+
macOS is not officially supported yet. The repository has a manual macOS
|
|
30
|
+
workflow option, but native Mac validation is still required. Follow
|
|
31
|
+
[issue #2](https://github.com/warengonzaga/ai-video-editing-engine/issues/2) for
|
|
32
|
+
that work.
|
|
33
|
+
|
|
34
|
+
## ๐ Getting Started
|
|
35
|
+
|
|
36
|
+
### Requirements
|
|
37
|
+
|
|
38
|
+
- Node.js 22 or newer
|
|
39
|
+
- FFmpeg and ffprobe
|
|
40
|
+
- HyperFrames browser runtime for rendering
|
|
41
|
+
- Python and OpenTimelineIO only for timeline interchange
|
|
42
|
+
|
|
43
|
+
### Install and check the local toolchain
|
|
44
|
+
|
|
45
|
+
```sh
|
|
46
|
+
npm install
|
|
47
|
+
npm run doctor
|
|
48
|
+
node src/cli.mjs capabilities
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Create a project and list the supported canvas presets:
|
|
52
|
+
|
|
53
|
+
```sh
|
|
54
|
+
npm run new-video -- vertical-video 1080x1920 30 15
|
|
55
|
+
node src/cli.mjs presets list
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
After the first release, install the CLI from npm with:
|
|
59
|
+
|
|
60
|
+
```sh
|
|
61
|
+
npm install --global aivee
|
|
62
|
+
aivee doctor
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The CLI command is `aivee`. The release workflow publishes the unscoped npm
|
|
66
|
+
package `aivee` and the owner-scoped GitHub Packages package
|
|
67
|
+
`@warengonzaga/aivee`. npm publishing uses trusted publishing through GitHub
|
|
68
|
+
Actions OIDC, so no `NPM_TOKEN` secret is needed. Package artifacts are also
|
|
69
|
+
published for pull requests, `dev` pushes, and manual workflow runs. See the
|
|
70
|
+
[release guide](docs/releasing.md) for the one-time setup.
|
|
71
|
+
|
|
72
|
+
## ๐ Usage
|
|
73
|
+
|
|
74
|
+
Start with the [Video Editing Usage Guide](docs/usage.md) for project creation,
|
|
75
|
+
media registration, editing operations, rendering, transcripts, and
|
|
76
|
+
OpenTimelineIO interchange.
|
|
77
|
+
|
|
78
|
+
Related references:
|
|
79
|
+
|
|
80
|
+
- [Aspect ratio presets](docs/aspect-ratio-presets.md)
|
|
81
|
+
- [Architecture and API boundaries](docs/architecture.md)
|
|
82
|
+
|
|
83
|
+
## ๐งช Development and Validation
|
|
84
|
+
|
|
85
|
+
Run the automated checks from the repository root:
|
|
86
|
+
|
|
87
|
+
```sh
|
|
88
|
+
npm test
|
|
89
|
+
npm run test:render-smoke
|
|
90
|
+
npm audit --omit=dev
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Build Flow runs on pull requests targeting `dev` or `main`, pushes to `dev` or
|
|
94
|
+
`main`, and manual dispatch. Its package artifacts publish on pull requests,
|
|
95
|
+
`dev` pushes, and manual runs. The separate platform-validation workflow is
|
|
96
|
+
manual-trigger only; use its selector for Linux, Windows, macOS, or the full
|
|
97
|
+
matrix. A native macOS run is still required before claiming Mac support.
|
|
98
|
+
|
|
99
|
+
## ๐ค Contributing
|
|
100
|
+
|
|
101
|
+
Use short-lived feature branches from `dev` and open pull requests targeting
|
|
102
|
+
`dev`. Follow the repository's Clean Commit format and keep changes focused. Do
|
|
103
|
+
not create a `dev`-to-`main` pull request without a release decision.
|
|
104
|
+
|
|
105
|
+
## ๐ Issues & Support
|
|
106
|
+
|
|
107
|
+
Report defects, request capabilities, or track platform validation through
|
|
108
|
+
[GitHub Issues](https://github.com/warengonzaga/ai-video-editing-engine/issues).
|
|
109
|
+
See [issue #2](https://github.com/warengonzaga/ai-video-editing-engine/issues/2)
|
|
110
|
+
for native macOS support validation.
|
|
111
|
+
|
|
112
|
+
## ๐ License
|
|
113
|
+
|
|
114
|
+
AIVEE (AI Video Editing Engine) is licensed under the [MIT License](LICENSE). Third-party
|
|
115
|
+
dependencies retain their respective licenses.
|
|
116
|
+
|
|
117
|
+
## ๐ฅ Authors & Contributors
|
|
118
|
+
|
|
119
|
+
Created and maintained by [Waren Gonzaga](https://github.com/warengonzaga) and
|
|
120
|
+
contributors.
|