@spatius/cli 0.1.0-beta.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/LICENSE +21 -0
- package/README.md +67 -0
- package/THIRD_PARTY_NOTICES.md +26 -0
- package/dist/chunk-YILIK7FE.js +479 -0
- package/dist/cli.js +2523 -0
- package/dist/commands.js +10 -0
- package/docs/deployment.md +277 -0
- package/docs/staging-validation.md +46 -0
- package/docs/workflows.md +134 -0
- package/package.json +45 -0
- package/skills/spatius-avatar/SKILL.md +41 -0
- package/skills/spatius-shared/SKILL.md +50 -0
- package/skills/spatius-shared/references/recovery.md +24 -0
- package/skills/spatius-video/SKILL.md +44 -0
- package/skills/spatius-video/references/inputs-and-recovery.md +35 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spatius-video
|
|
3
|
+
description: Render downloadable Spatius avatar videos from audio and optional backgrounds using Spatius CLI. Use for local or URL media preparation, video submission, polling, safe resume, and MP4 download.
|
|
4
|
+
license: MIT
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Render an avatar video
|
|
8
|
+
|
|
9
|
+
Use an existing permitted avatar ID, or create one with the avatar skill. Check
|
|
10
|
+
`spatius auth status` and `spatius schema videos create` before the workflow.
|
|
11
|
+
Studio login and Video API approval are separate requirements.
|
|
12
|
+
|
|
13
|
+
Use the supplied audio and optional background; the CLI does not synthesize
|
|
14
|
+
speech. Local files upload automatically. Supported audio includes WAV, MP3,
|
|
15
|
+
M4A/MP4 audio, AAC, and Ogg, up to 500 MiB. Backgrounds are JPEG, PNG, or WebP up
|
|
16
|
+
to 50 MiB. Raw PCM must first be wrapped correctly in WAV; changing its extension
|
|
17
|
+
does not convert it. For settings and lifetime details, read
|
|
18
|
+
[inputs and recovery](references/inputs-and-recovery.md).
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
spatius videos create --avatar-id 00000000-0000-4000-8000-000000000001 --audio ./speech.wav --background ./background.png --dry-run
|
|
22
|
+
spatius videos create --avatar-id 00000000-0000-4000-8000-000000000001 --audio ./speech.wav --background ./background.png
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Replace the UUID and paths with the actual inputs. Save `operationId` and
|
|
26
|
+
`jobId`. The CLI saves a request UUID and resolved URLs before submission.
|
|
27
|
+
After interruption, use `spatius videos create --resume <operation-id>`;
|
|
28
|
+
do not rerun creation with fresh uploads or a new request UUID.
|
|
29
|
+
|
|
30
|
+
```sh
|
|
31
|
+
spatius videos wait 00000000-0000-4000-8000-000000000001 --timeout 600
|
|
32
|
+
spatius videos download 00000000-0000-4000-8000-000000000001 --output ./video.mp4
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Replace the example job UUID with the returned one. Waiting polls every 15 seconds;
|
|
36
|
+
exit 3 means the job is still pending. Download obtains a fresh link and writes
|
|
37
|
+
the MP4 atomically. It refuses to replace an existing file unless `--force` is
|
|
38
|
+
explicitly supplied.
|
|
39
|
+
|
|
40
|
+
If a successful job's download-link refresh fails, retry the read/download.
|
|
41
|
+
A terminal `failed` or `expired` job does not restart. Explain its error and only
|
|
42
|
+
create another render when that is the intended next action. A saved operation
|
|
43
|
+
whose source URLs expired after an uncertain submission needs reconciliation,
|
|
44
|
+
not replacement inputs under the old request ID.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Inputs, presentation, and recovery
|
|
2
|
+
|
|
3
|
+
| Setting | Default and allowed range |
|
|
4
|
+
| ------------------ | -------------------------------------------------------------- |
|
|
5
|
+
| Width / height | 1024 each; even integers 64–1920, total area ≤2,073,600 pixels |
|
|
6
|
+
| Fit | `crop`; `contain` also supported |
|
|
7
|
+
| Background color | `#000000`; six-digit RGB hex |
|
|
8
|
+
| Background fit | `cover`; `contain` or `stretch` also supported |
|
|
9
|
+
| Lead-in / lead-out | 0; each 0–60 seconds of additional idle time |
|
|
10
|
+
|
|
11
|
+
The service controls encoding. Transitions can make output longer than the
|
|
12
|
+
audio even with zero additional idle time. Audio decoding and duration checks
|
|
13
|
+
happen in the renderer.
|
|
14
|
+
|
|
15
|
+
Temporary uploads are immutable and available for 24 hours after completion.
|
|
16
|
+
External URLs must remain accessible throughout preparation, which can take
|
|
17
|
+
up to 30 minutes. Source hosts must serve a supported media Content-Type, not
|
|
18
|
+
`application/octet-stream`. Public HTTP(S) and signed URLs work; private-network
|
|
19
|
+
URLs and embedded username/password credentials do not.
|
|
20
|
+
|
|
21
|
+
Video retry identity includes its normalized request body. The same UUID with
|
|
22
|
+
different resolved URLs conflicts, even if the underlying local file is the same.
|
|
23
|
+
Resume preserves the exact request. Never refresh or replace those input URLs
|
|
24
|
+
after submission became uncertain. A terminal failure requires an intentional
|
|
25
|
+
new operation, not an automatic retry of the failed job.
|
|
26
|
+
|
|
27
|
+
Output is currently retained seven days after render submission; use the returned
|
|
28
|
+
`job.expiresAt`. Signed output links currently last up to 15 minutes, capped by
|
|
29
|
+
retention. `videos download` refreshes the link. Downloading or refreshing a link
|
|
30
|
+
does not extend output retention.
|
|
31
|
+
|
|
32
|
+
Downloads require a direct HTTPS output link; the CLI does not follow redirects
|
|
33
|
+
or forward Studio/App credentials to storage. For `DOWNLOAD_UNAVAILABLE`, repeat
|
|
34
|
+
`videos download` to request a fresh link. Do not work around a redirect rejection
|
|
35
|
+
by attaching credentials to another host.
|