@docyrus/animaguru 0.11.0 → 0.14.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 +82 -3
- package/dist/animaguru.js +1993 -1462
- package/package.json +1 -1
- package/skills/animaguru/SKILL.md +21 -74
- package/skills/animaguru/references/avatars.md +22 -0
- package/skills/animaguru/references/cloud.md +19 -0
- package/skills/animaguru/references/sharing.md +33 -0
- package/skills/animaguru/references/sprites.md +29 -0
- package/skills/animaguru-advertising/SKILL.md +2 -2
- package/skills/animaguru-analog-film-tape/SKILL.md +1 -0
- package/skills/animaguru-animated-data-visualization/SKILL.md +1 -0
- package/skills/animaguru-art-deco-motion/SKILL.md +1 -0
- package/skills/animaguru-ascii-crt/SKILL.md +1 -0
- package/skills/animaguru-blueprint-drafting/SKILL.md +1 -0
- package/skills/animaguru-brand-kit/SKILL.md +1 -1
- package/skills/animaguru-cartoon-character-animation/SKILL.md +1 -0
- package/skills/animaguru-cutout-animation/SKILL.md +1 -0
- package/skills/animaguru-dark-tech-stage/SKILL.md +2 -1
- package/skills/animaguru-dark-tech-stage/references/recipe.md +10 -0
- package/skills/animaguru-diagram-formula-motion/SKILL.md +1 -0
- package/skills/animaguru-engraved-relief-print/SKILL.md +1 -0
- package/skills/animaguru-flat-vector-motion/SKILL.md +1 -0
- package/skills/animaguru-generative-light-signal/SKILL.md +1 -0
- package/skills/animaguru-glass-mosaic/SKILL.md +1 -0
- package/skills/animaguru-halftone-editorial/SKILL.md +1 -0
- package/skills/animaguru-holographic-scan/SKILL.md +1 -0
- package/skills/animaguru-interface-motion/SKILL.md +1 -0
- package/skills/animaguru-isometric-worlds/SKILL.md +1 -0
- package/skills/animaguru-kinetic-typography/SKILL.md +1 -0
- package/skills/animaguru-miniature-diorama/SKILL.md +1 -0
- package/skills/animaguru-painterly-depth-animation/SKILL.md +1 -0
- package/skills/animaguru-paper-popup/SKILL.md +1 -0
- package/skills/animaguru-photo-footage-editorial/SKILL.md +1 -0
- package/skills/animaguru-pixel-art-animation/SKILL.md +1 -0
- package/skills/animaguru-portal-zoom/SKILL.md +1 -0
- package/skills/animaguru-risograph-print/SKILL.md +1 -0
- package/skills/animaguru-sand-drawing/SKILL.md +1 -0
- package/skills/animaguru-shadow-theatre/SKILL.md +1 -0
- package/skills/animaguru-silkscreen-poster/SKILL.md +1 -0
- package/skills/animaguru-stop-motion-objects/SKILL.md +1 -0
- package/skills/animaguru-studio-product-reveal/SKILL.md +1 -0
- package/skills/animaguru-video/SKILL.md +33 -5
- package/skills/animaguru-video/references/short-form-ad.md +57 -0
- package/skills/animaguru-whiteboard-line-drawing/SKILL.md +1 -0
- package/templates/video/AGENTS.md +2 -1
- package/templates/video/WORKSPACE-AGENTS.md +6 -2
- package/templates/video/package.json +7 -1
- package/templates/video/scripts/audio-mix.mjs +101 -0
- package/templates/video/scripts/audio-music.mjs +175 -0
- package/templates/video/scripts/audio-tools.mjs +241 -0
- package/templates/video/scripts/audio-vo.mjs +158 -0
- package/templates/video/scripts/dev.mjs +1 -1
- package/templates/video/scripts/export-mp4.mjs +8 -1
- package/templates/video/scripts/frames.mjs +81 -0
- package/templates/video/scripts/headless-browser.mjs +90 -0
- package/templates/video/scripts/review-analysis.mjs +71 -1
- package/templates/video/scripts/review-audio.mjs +2 -1
- package/templates/video/scripts/review.mjs +11 -3
- package/templates/video/scripts/site-inspect.mjs +128 -0
- package/templates/video/scripts/starter-film.sha256 +1 -1
- package/templates/video/scripts/workspace-plugin.mjs +2 -1
- package/templates/video/shared/safe-areas.json +7 -0
- package/templates/video/src/film.ts +97 -125
- package/templates/video/src/kit/components.ts +95 -0
- package/templates/video/src/kit/dark-stage.ts +55 -0
- package/templates/video/src/kit/film-base.ts +108 -0
- package/templates/video/src/kit/fonts.ts +29 -0
- package/templates/video/src/kit/index.ts +11 -0
- package/templates/video/src/kit/layout.ts +40 -0
- package/templates/video/src/kit/motion.ts +37 -0
- package/templates/video/src/kit/shapes.ts +68 -0
- package/templates/video/src/kit/text.ts +34 -0
- package/templates/video/src/kit/textures.ts +42 -0
- package/templates/video/src/kit/timing.ts +48 -0
- package/templates/video/src/player-types.ts +7 -1
- package/templates/video/src/player.ts +3 -5
- package/templates/video/src/review.ts +2 -0
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ The npm package requires Node.js 24+. Its default registry is https://registry.n
|
|
|
29
29
|
|
|
30
30
|
From this repository, `npm ci && npm run cli:build` builds the CLI and `npm run cli -- --help` runs it. `npm run cli:release` prepares the npm tarball and public Mac downloads. `npm run cli:publish` publishes that reviewed release under the Docyrus organization; publishing requires a logged-in npm account with organization access and any required 2FA. Each release needs a new version in `cli/package.json`; the CLI version is read from that file. `npm run deploy` builds release downloads before uploading the site.
|
|
31
31
|
|
|
32
|
-
The command `animaguru schema` returns the Crust command schema, and `animaguru catalog` lists supported art styles, actions, asset types, models, video profiles and speech voices. Shell completions: `animaguru completion zsh` (also bash and fish).
|
|
32
|
+
The command `animaguru schema` returns the Crust command schema, and `animaguru catalog` lists supported art styles, actions, asset types, models, video profiles and speech voices; `catalog --type music` (or `sprites`, `image`, `video`, `speech`, `sfx`, `avatars`) returns only that part. Shell completions: `animaguru completion zsh` (also bash and fish).
|
|
33
33
|
|
|
34
34
|
## Create an animation video project
|
|
35
35
|
|
|
@@ -162,7 +162,7 @@ animaguru assets download PROJECT_ID ASSET_ID --output welcome.wav
|
|
|
162
162
|
animaguru files export PROJECT_ID --output adventure-assets.zip
|
|
163
163
|
```
|
|
164
164
|
|
|
165
|
-
Use the returned job id with `jobs wait
|
|
165
|
+
Use the returned job id with `jobs wait`, or add `--wait` to wait in the same command and `--download PATH` to also save the result (see below). For `--reference`, use an image asset's `file` SHA from `assets list`, or a character's `art` SHA from `projects get`, from the same project. Video duration, resolution and mode must match its provider's profile in `catalog`; omitted video options use five seconds and that model's first supported resolution and mode. Standalone assets use their type's default model when `--model` is omitted; sprite project model defaults continue to apply to sprite commands.
|
|
166
166
|
|
|
167
167
|
CLI 0.5.0 adds ElevenLabs speech and SFX:
|
|
168
168
|
|
|
@@ -220,7 +220,71 @@ animaguru assets submit PROJECT_ID --file speech.json --dry-run
|
|
|
220
220
|
animaguru assets submit PROJECT_ID --file speech.json --model gemini-3.8-flash-tts --yes
|
|
221
221
|
```
|
|
222
222
|
|
|
223
|
-
`--model` overrides the file's model. Unrelated type-specific flags are rejected rather than ignored
|
|
223
|
+
`--model` overrides the file's model. Unrelated type-specific flags are rejected rather than ignored, and the error lists the flags that type accepts.
|
|
224
|
+
|
|
225
|
+
`assets generate` and `assets submit` accept `--wait` to block until the job finishes (failing if generation fails) and `--download PATH` to wait and then save the result; `--timeout` sets the wait in seconds (default 600). A `PATH` that is an existing folder or ends in `/` receives `NAME.EXT`, named after the asset and its type (`.wav`, `.mp3`, `.png`…). The JSON output adds `job`, `asset` (`id`, `name`, `type`, `mimeType`) and `download` (`path`, `size`) to the submission receipt.
|
|
226
|
+
|
|
227
|
+
```sh
|
|
228
|
+
animaguru assets generate PROJECT_ID --type speech --name vo-01-hook \
|
|
229
|
+
--prompt "Four channel reports." --voice Kore --download production/audio/vo/ --yes
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
`assets batch` submits several requests from one file. The file is a JSON list of asset requests, or `{"defaults": {...}, "assets": [...]}` with the defaults merged under each item, so voiceover lines can share their type, model, voice and delivery:
|
|
233
|
+
|
|
234
|
+
```json
|
|
235
|
+
{"defaults":{"type":"speech","model":"gemini-3.8-flash-tts","voice":"Kore","delivery":"Confident keynote announcer"},
|
|
236
|
+
"assets":[{"name":"vo-01-hook","prompt":"Four channel reports."},{"name":"vo-02-problem","prompt":"Your data lives apart."}]}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
```sh
|
|
240
|
+
animaguru assets batch PROJECT_ID --file vo-lines.json --dry-run
|
|
241
|
+
animaguru assets batch PROJECT_ID --file vo-lines.json --download production/audio/vo --yes
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
Every item is validated before anything is sent, names must be distinct, and a batch holds up to 50 items. `--dry-run` returns each item's estimate and the total. Items are submitted one at a time; if a submission fails, the batch stops and prints `items` (already queued, with their job ids), `notSubmitted` and `error`, so nothing is resubmitted blindly. With `--wait` or `--download`, every job is waited on under one `--timeout`, and each result is saved into the folder as `NAME.EXT`. The output is `{ "items": [{ "name", "id", "estimatedCredits", "job", "asset", "download" }], "estimatedCredits" }`; an item that failed or timed out carries its own `error`, and the command exits non-zero after printing the list. Individual downloads and complete ZIP exports refuse to overwrite existing files. Generated files are saved in the project's `assets/<id>/` directory and are shared with the web Assets workspace.
|
|
245
|
+
|
|
246
|
+
## HeyGen avatars
|
|
247
|
+
|
|
248
|
+
CLI 0.13.0 adds `avatars` for HeyGen's avatar API. A group is a character; its looks are outfits, poses or styles, and a look ID is what HeyGen renders with. Any project can browse HeyGen's public catalog. An avatar you create belongs to the project that created it: only that project lists, changes or deletes it.
|
|
249
|
+
|
|
250
|
+
```sh
|
|
251
|
+
animaguru avatars list PROJECT_ID --limit 10
|
|
252
|
+
animaguru avatars looks PROJECT_ID --avatar-type studio_avatar
|
|
253
|
+
animaguru avatars list PROJECT_ID --ownership private
|
|
254
|
+
|
|
255
|
+
# A synthetic character from a description.
|
|
256
|
+
animaguru avatars create PROJECT_ID --type prompt --name "Ada" \
|
|
257
|
+
--prompt "Woman in her early 30s, warm smile, navy blazer, bright studio, soft key light" \
|
|
258
|
+
--aspect-ratio 16:9 --dry-run
|
|
259
|
+
# A new outfit or setting for one of the project's avatars.
|
|
260
|
+
animaguru avatars create PROJECT_ID --type prompt --name "Ada, keynote" \
|
|
261
|
+
--look LOOK_ID --prompt "On a conference stage under a spotlight" --yes
|
|
262
|
+
# A photo avatar from a saved image, an HTTPS URL or a local file.
|
|
263
|
+
animaguru avatars create PROJECT_ID --type photo --name "Sam" \
|
|
264
|
+
--file portrait.jpg --subject-consent --yes
|
|
265
|
+
animaguru avatars wait PROJECT_ID LOOK_ID
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
`create` and `add-looks` return the new look IDs. Looks start `processing`; `avatars wait` polls until HeyGen finishes (`completed`) or fails. `--file` and `--reference-images` take a project image's SHA (from `assets list`, or a character's `art`), an HTTPS URL HeyGen downloads (up to 32 MB), or a local file sent inline (up to 8 MB). Photos and footage show a real person: pass `--subject-consent` only when that person agreed to become an avatar.
|
|
269
|
+
|
|
270
|
+
A digital twin trains on footage of a real person (about two minutes of natural talking: a project video SHA, a URL or a local file) and clones their voice. It renders only after that person records consent on camera:
|
|
271
|
+
|
|
272
|
+
```sh
|
|
273
|
+
animaguru avatars create PROJECT_ID --type digital_twin --name "Sam" \
|
|
274
|
+
--file https://example.com/sam-footage.mp4 --subject-consent --yes
|
|
275
|
+
animaguru avatars consent PROJECT_ID GROUP_ID # a 24-hour link for that person
|
|
276
|
+
animaguru avatars get PROJECT_ID --group GROUP_ID # consentStatus: pending, accepted or rejected
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
Look Packs dress one of the project's looks in a themed set of five looks; a single template makes two. `avatars templates` lists their IDs, each in a female and a male variant:
|
|
280
|
+
|
|
281
|
+
```sh
|
|
282
|
+
animaguru avatars templates
|
|
283
|
+
animaguru avatars add-looks PROJECT_ID --look LOOK_ID \
|
|
284
|
+
--template 5a8e6be843ee4321a014946bf62aa322 --aspect-ratio 9:16 --yes
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Credits are charged once HeyGen accepts a request: 132 for a photo or prompt avatar, 213 for a digital twin, and 132 for each generated look (a Look Pack makes five). `--dry-run` validates and estimates offline; the server checks files, avatar ownership and credits before calling HeyGen. Paid requests carry a retry key, so a retried request is not charged twice. `avatars rename PROJECT_ID LOOK_ID --name NAME` and `avatars voice PROJECT_ID GROUP_ID --voice VOICE_ID` change the project's own avatars. `avatars delete PROJECT_ID --group GROUP_ID --yes` (or `--look LOOK_ID`) deletes for good; deleting an avatar's last look deletes the avatar. The server needs `AI_PROVIDER_KEY_HEYGEN`.
|
|
224
288
|
|
|
225
289
|
## Typed job files
|
|
226
290
|
|
|
@@ -260,6 +324,21 @@ New workspaces offer Explainer, Advertisement and General Video independently of
|
|
|
260
324
|
|
|
261
325
|
Twenty original procedural 2.5D studies are bundled. In an untouched project, `npm run example -- risograph-print` installs a runnable study, with starter backups and refusal to replace an authored film. `npm run review` prints a local browser URL and saves text-bound checks, deterministic seek comparisons and frames to `production/review/`. Review moving playback and audio too. Physically rendered 3D is deferred.
|
|
262
326
|
|
|
327
|
+
## Motion library
|
|
328
|
+
|
|
329
|
+
CLI 0.14.0 adds `animaguru motion`. Search ready-made motion design examples (PixiJS scenes built on the video film kit) by describing the motion, then install one into a film. Search uses natural language and keywords together; it needs `animaguru auth login` and spends no credits.
|
|
330
|
+
|
|
331
|
+
```sh
|
|
332
|
+
animaguru motion categories
|
|
333
|
+
animaguru motion search word slam on a beat --category kinetic-typography
|
|
334
|
+
animaguru motion search swipe to delete list --labels mobile --limit 3
|
|
335
|
+
animaguru motion get skeleton-list-swipe # beats, options, usage and code
|
|
336
|
+
animaguru motion get skeleton-list-swipe --write src/scenes # writes the scene and its lib/ modules
|
|
337
|
+
animaguru motion get skeleton-list-swipe --write animations/launch/src/scenes # workspace: imports runtime/kit
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
Then call the entry function from `Film.build()`, for example `skeletonListSwipe(this, { at: 4 })`. `--write` refuses to replace an existing scene (pass `--force`) and keeps shared modules that already exist.
|
|
341
|
+
|
|
263
342
|
## Submit and share videos
|
|
264
343
|
|
|
265
344
|
Run `animaguru auth login`, then submit from a finished AnimaGuru video workspace:
|