aivee 0.1.0-alpha.0 โ†’ 0.1.0-dev.d34a6ba

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.
Files changed (73) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +120 -118
  3. package/docs/architecture.md +401 -401
  4. package/docs/aspect-ratio-presets.md +72 -72
  5. package/docs/releasing.md +19 -19
  6. package/docs/usage.md +1193 -1193
  7. package/package.json +52 -52
  8. package/requirements-otio.txt +1 -1
  9. package/src/capabilities.mjs +307 -307
  10. package/src/cli.mjs +646 -646
  11. package/src/doctor.mjs +133 -133
  12. package/src/edits/analysis-to-edl.mjs +43 -43
  13. package/src/edits/detect-silence.mjs +51 -51
  14. package/src/edits/find-mistake-candidates.mjs +42 -42
  15. package/src/edits/plan-shot-placements.mjs +105 -105
  16. package/src/edits/plan-silence-cuts.mjs +49 -49
  17. package/src/edits/retime-transcript.mjs +105 -105
  18. package/src/files.mjs +80 -80
  19. package/src/index.mjs +44 -44
  20. package/src/interchange/otio.mjs +204 -204
  21. package/src/interchange/otio_bridge.py +521 -521
  22. package/src/media/analysis-provider.mjs +75 -75
  23. package/src/media/compatibility.mjs +45 -45
  24. package/src/media/ffmpeg-capabilities.mjs +129 -129
  25. package/src/media/frame-rate.mjs +58 -58
  26. package/src/media/frame-time.mjs +22 -22
  27. package/src/media/preview-assets.mjs +350 -350
  28. package/src/media/probe.mjs +149 -149
  29. package/src/media/render-cuts.mjs +90 -90
  30. package/src/media/scene-detection.mjs +107 -107
  31. package/src/media/scene-review.mjs +205 -205
  32. package/src/project/assets.mjs +1194 -1194
  33. package/src/project/create.mjs +100 -100
  34. package/src/project/presets.mjs +44 -44
  35. package/src/render/checkpoints.mjs +192 -192
  36. package/src/render/formats.mjs +163 -163
  37. package/src/render/hyperframes.mjs +590 -590
  38. package/src/render/process.mjs +111 -111
  39. package/src/render/progress.mjs +46 -46
  40. package/src/render/timeline-control.mjs +53 -53
  41. package/src/timeline/assemble.mjs +119 -119
  42. package/src/timeline/audio-effects.mjs +75 -75
  43. package/src/timeline/audio-mastering.mjs +236 -236
  44. package/src/timeline/audio-mix.mjs +105 -105
  45. package/src/timeline/audio-track-effects.mjs +139 -139
  46. package/src/timeline/audio-volume.mjs +63 -63
  47. package/src/timeline/background.mjs +8 -8
  48. package/src/timeline/blend-mode.mjs +34 -34
  49. package/src/timeline/caption-layouts.mjs +62 -61
  50. package/src/timeline/captions.mjs +80 -80
  51. package/src/timeline/edit.mjs +965 -965
  52. package/src/timeline/fingerprint.mjs +6 -6
  53. package/src/timeline/from-edl.mjs +31 -31
  54. package/src/timeline/history-store.mjs +281 -281
  55. package/src/timeline/history.mjs +69 -69
  56. package/src/timeline/inspect.mjs +117 -117
  57. package/src/timeline/keyframes.mjs +158 -158
  58. package/src/timeline/layers.mjs +18 -18
  59. package/src/timeline/mask.mjs +53 -53
  60. package/src/timeline/project.mjs +52 -52
  61. package/src/timeline/render.mjs +759 -759
  62. package/src/timeline/sidechain-render.mjs +209 -209
  63. package/src/timeline/source-fit.mjs +15 -15
  64. package/src/timeline/speech-bubble.mjs +26 -26
  65. package/src/timeline/speed-ramp.mjs +188 -188
  66. package/src/timeline/track-state.mjs +22 -22
  67. package/src/timeline/transition.mjs +34 -34
  68. package/src/timeline/validate.mjs +322 -322
  69. package/src/transcript/corrections.mjs +21 -21
  70. package/src/transcript/normalize.mjs +17 -17
  71. package/src/transcript/provider.mjs +42 -42
  72. package/src/transcript/subtitles.mjs +57 -57
  73. package/src/transcript/validate.mjs +39 -39
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&amp;subheader=AI%20Video%20Editing%20Engine%20for%20AI%20workflows&amp;bg=0D1117-1B2B4B&amp;color=F0F6FC&amp;subheadercolor=C7D2E5&amp;headerfont=Inter&amp;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`. Neither package has been published yet. The first release
68
- requires a repository `NPM_TOKEN` with npm publish access and GitHub Actions
69
- package-write permission.
70
- See the [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
- GitHub Actions are manual-trigger only. Use the platform selector for Linux,
94
- Windows, macOS, or the full matrix. A native macOS run is still required before
95
- claiming Mac support.
96
-
97
- ## ๐Ÿค Contributing
98
-
99
- Use short-lived feature branches from `dev` and open pull requests targeting
100
- `dev`. Follow the repository's Clean Commit format and keep changes focused. Do
101
- not create a `dev`-to-`main` pull request without a release decision.
102
-
103
- ## ๐Ÿ› Issues & Support
104
-
105
- Report defects, request capabilities, or track platform validation through
106
- [GitHub Issues](https://github.com/warengonzaga/ai-video-editing-engine/issues).
107
- See [issue #2](https://github.com/warengonzaga/ai-video-editing-engine/issues/2)
108
- for native macOS support validation.
109
-
110
- ## ๐Ÿ“„ License
111
-
112
- AIVEE (AI Video Editing Engine) is licensed under the [MIT License](LICENSE). Third-party
113
- dependencies retain their respective licenses.
114
-
115
- ## ๐Ÿ‘ฅ Authors & Contributors
116
-
117
- Created and maintained by [Waren Gonzaga](https://github.com/warengonzaga) and
118
- contributors.
1
+ # AIVEE
2
+
3
+ <p align="center">
4
+ <img src="https://ghrb.waren.build/render/banner?header=AIVEE&amp;subheader=AI%20Video%20Editing%20Engine%20for%20AI%20workflows&amp;bg=0D1117-1B2B4B&amp;color=F0F6FC&amp;subheadercolor=C7D2E5&amp;headerfont=Inter&amp;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.