tandryukha/aidemo Demo Video
Re-render a narrated, captioned product-demo MP4 in CI from a committed storyboard. Deterministic replay, no API key, ~$0.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| demos | Demo directories to (re-)render, space- or newline-separated. Shell globs are expanded (e.g. "demos/*"). Each dir must contain generated/storyboard.json. | yes | — |
| command | aidemo pipeline command: render (default, full pipeline) | probe (selector dry-run) | record | compose | voice | captions | gif. | no | render |
| tts | Voice backend. "local" runs Kokoro-82M in-process (no key, captions fall back to offline script timing); "openai" needs openai-api-key. | no | local |
| gif | Also export output/final-demo.gif (applies to render and compose). | no | false |
| headless | Run Chrome headless (required on CI runners, which have no display). | no | true |
| dtype | Kokoro quantization for local TTS: q8 (default, ~90 MB) | fp32 | fp16 | q4 | q4f16. Passed through as AIDEMO_TTS_MODEL_DTYPE. | no | q8 |
| engine-ref | Engine git ref to install from github:tandryukha/aidemo (tag, branch or SHA). Defaults to the moving "stable" release pointer. | no | stable |
| engine-path | Use an already-checked-out engine at this path instead of installing from GitHub. Its dependencies must already be installed (e.g. `npm ci`), and for tts=local kokoro-js must be resolvable from it. Mainly for the engine's own self-test; leave empty for consumer use. | no | "" |
| openai-api-key | OpenAI API key — only used when tts=openai. Pass it from a repository secret via the caller's `with:` block; never hard-code it. | no | "" |
| working-directory | Directory to resolve the demo paths from. | no | . |
Outputs
| name | description |
|---|---|
| media | Newline-separated list of rendered media files (mp4/gif). |
| engine-bin | Absolute path to the aidemo CLI entry the action ran. |