@mrgoonie/multix 0.12.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/CHANGELOG.md +19 -0
- package/README.md +50 -3
- package/dist/cli.js +2242 -279
- package/package.json +5 -2
- package/skill/SKILL.md +31 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.14.0](https://github.com/mrgoonie/multix-cli/compare/v0.13.0...v0.14.0) (2026-10-11)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
* **doc:** read convert input from piped stdin ([#84](https://github.com/mrgoonie/multix-cli/issues/84)) ([4596f7f](https://github.com/mrgoonie/multix-cli/commit/4596f7f09da2e8e7a95582296c220f4e007e3171))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
* **heygen:** harden base URL, output downloads and multi-output paths ([#83](https://github.com/mrgoonie/multix-cli/issues/83)) ([fea7a95](https://github.com/mrgoonie/multix-cli/commit/fea7a950bdf37836a5344301829b028efe4c9a6d))
|
|
19
|
+
|
|
20
|
+
## [0.13.0](https://github.com/mrgoonie/multix-cli/compare/v0.12.0...v0.13.0) (2026-10-11)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
* **heygen:** add HeyGen v3 provider ([#69](https://github.com/mrgoonie/multix-cli/issues/69)) ([fc04037](https://github.com/mrgoonie/multix-cli/commit/fc0403765d15d82e60d5bc533a728b6f30bd9bc5))
|
|
26
|
+
|
|
8
27
|
## [0.12.0](https://github.com/mrgoonie/multix-cli/compare/v0.11.0...v0.12.0) (2026-10-11)
|
|
9
28
|
|
|
10
29
|
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ AI multimodal CLI — generate images/video/speech/music, analyze and transcribe
|
|
|
4
4
|
|
|
5
5
|

|
|
6
6
|
|
|
7
|
-
Supports **OpenAI** (image, image edits, TTS, STT, optional Codex image driver), **Gemini** (analyze, transcribe, generate, Veo video, Flash TTS), **MiniMax** (image, video, speech, music), **OpenRouter** (image generation), **Leonardo.Ai** (image, video, upscale), **BytePlus** (Seedream image, Seedance video, Hyper3D / Hitem3d 3D), **Cloudflare** (Workers AI image and speech; AI Gateway-routed Replicate video), **ElevenLabs** (TTS, voice cloning, STT, voice changer, SFX, music, dubbing, isolation, alignment), **fal.ai** (generic model runner, image, video via the fal queue API), and **Atlas Cloud** (any model: image, image edit, video, audio, 3D, with resumable async predictions), **Replicate** (generic model runner, image, video, async prediction status/cancel via the direct Replicate API).
|
|
7
|
+
Supports **OpenAI** (image, image edits, TTS, STT, optional Codex image driver), **Gemini** (analyze, transcribe, generate, Veo video, Flash TTS), **MiniMax** (image, video, speech, music), **OpenRouter** (image generation), **Leonardo.Ai** (image, video, upscale), **BytePlus** (Seedream image, Seedance video, Hyper3D / Hitem3d 3D), **Cloudflare** (Workers AI image and speech; AI Gateway-routed Replicate video), **ElevenLabs** (TTS, voice cloning, STT, voice changer, SFX, music, dubbing, isolation, alignment), **fal.ai** (generic model runner, image, video via the fal queue API), and **Atlas Cloud** (any model: image, image edit, video, audio, 3D, with resumable async predictions), **Replicate** (generic model runner, image, video, async prediction status/cancel via the direct Replicate API), **HeyGen** (v3 Video Agent prompt-to-video, scripted avatar videos, video translation, lipsync, TTS).
|
|
8
8
|
|
|
9
9
|
## Documentation
|
|
10
10
|
|
|
@@ -70,6 +70,8 @@ Set at least one provider key. Add to `.env` in your project root or `~/.multix/
|
|
|
70
70
|
| `FAL_BASE_URL` | No | Override fal queue base (default `https://queue.fal.run`) |
|
|
71
71
|
| `FAL_IMAGE_MODEL` | No | Default fal image model (default `fal-ai/flux/schnell`) |
|
|
72
72
|
| `FAL_VIDEO_MODEL` | No | Default fal text-to-video model (default `fal-ai/kling-video/v1.6/standard/text-to-video`) |
|
|
73
|
+
| `HEYGEN_API_KEY` | For HeyGen | [HeyGen API settings](https://app.heygen.com/developers/api). API usage is billed separately from HeyGen web plans |
|
|
74
|
+
| `HEYGEN_BASE_URL` | No | Override the HeyGen API base (default `https://api.heygen.com`; proxies/tests). Must be `https://`, except `http://` on `localhost`/`127.0.0.1`/`[::1]` |
|
|
73
75
|
| `FAL_VIDEO_IMAGE_MODEL` | No | Default fal image-to-video model, used when `--image-url` is passed without `-m` (default `fal-ai/kling-video/v1.6/standard/image-to-video`) |
|
|
74
76
|
| `ATLASCLOUD_API_KEY` | For Atlas Cloud | [Atlas Cloud](https://www.atlascloud.ai/console/api-keys) |
|
|
75
77
|
| `ATLASCLOUD_BASE_URL` | No | Override Atlas Cloud media API base (default `https://api.atlascloud.ai/api/v1`) |
|
|
@@ -560,6 +562,47 @@ multix replicate cancel <prediction-id>
|
|
|
560
562
|
- `replicate image` converts images to WebP by default; `--image-format original`, `--no-webp`, `MULTIX_IMAGE_FORMAT=original`, an explicit `--output-format`, or a non-`.webp` `--output` extension keeps the provider format.
|
|
561
563
|
- Local files (`--image`, `--file key=path`) up to 256 KB are inlined as data URIs; larger files (< 100 MB) are uploaded via the Replicate Files API.
|
|
562
564
|
|
|
565
|
+
### `multix heygen`
|
|
566
|
+
|
|
567
|
+
[HeyGen](https://www.heygen.com) v3 API (`X-Api-Key` auth, base `https://api.heygen.com`). Two ways to make an avatar video:
|
|
568
|
+
|
|
569
|
+
- **Video Agent** (`video-agent`): prompt-to-video. Describe the video; the agent writes the script and chooses avatar, voice, scenes, and B-roll.
|
|
570
|
+
- **Scripted avatar video** (`video`): you pick the avatar look and voice, and the avatar speaks your exact script (or lip-syncs `--audio`).
|
|
571
|
+
|
|
572
|
+
```bash
|
|
573
|
+
# Prompt-to-video (Video Agent); waits, then downloads MP4 + thumbnail
|
|
574
|
+
multix heygen video-agent "45-second explainer for our note app, upbeat" [--avatar <look-id>] [--voice <voice-id>] [--style <style-id>] [--orientation landscape|portrait] [--file <ref>]...
|
|
575
|
+
|
|
576
|
+
# Scripted avatar video
|
|
577
|
+
multix heygen avatars [--type studio_avatar|digital_twin|photo_avatar] [--limit 50] [--cursor <token>]
|
|
578
|
+
multix heygen voices [--language English] [--gender female]
|
|
579
|
+
multix heygen video "Hi, I'm Anna." --avatar <look-id> [--voice <voice-id>] [--aspect-ratio 9:16] [--resolution 1080p] [--engine avatar_iv|avatar_v|avatar_iii] [--burn-captions] [--captions]
|
|
580
|
+
multix heygen video --avatar <look-id> --audio ./voiceover.mp3
|
|
581
|
+
|
|
582
|
+
# Translation (one job per language; all are downloaded), lipsync, TTS
|
|
583
|
+
multix heygen languages
|
|
584
|
+
multix heygen translate ./talk.mp4 --languages "Spanish, Chinese (Cantonese, Traditional)" [--mode speed|precision] [--output <dir|dub.mp4>] # dub.mp4 -> dub-Spanish.mp4, ...
|
|
585
|
+
multix heygen lipsync --video <ref> --audio <ref>
|
|
586
|
+
multix heygen tts "Welcome to the show." --voice <voice-id> [--output hello.mp3]
|
|
587
|
+
|
|
588
|
+
# HeyGen Video model (5-15 s cinematic clip, not an avatar), templates, raw v3 payloads
|
|
589
|
+
multix heygen model-video "drone shot over a misty forest" [--duration 8] [--resolution 1080p]
|
|
590
|
+
multix heygen template <template-id> --input @vars.json
|
|
591
|
+
multix heygen run video --input @payload.json # video-agent | video | video-translation | lipsync | model-video | speech
|
|
592
|
+
|
|
593
|
+
# Resume / inspect any job (agent takes a session_id)
|
|
594
|
+
multix heygen status <id> --type agent|video|translation|lipsync|model-video [--wait] [--download]
|
|
595
|
+
multix heygen me
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
**Notes:**
|
|
599
|
+
- API usage is billed separately from HeyGen web/app plans; `multix heygen me` shows the API balance. A 402 means the API account needs credits.
|
|
600
|
+
- Media `<ref>` values accept `https://` URLs, `asset:<asset_id>`, or a local file. Local files upload via `POST /v3/assets` (max 32 MB).
|
|
601
|
+
- Generation commands wait and download by default. Use `--async` to print IDs plus a resume command, `--no-download` to print the signed URL (included as `output_url` with `--json`), and `--wait-timeout` / `--poll-interval` to tune polling (default 30 min / 10 s, backing off to 30 s). `--burn-captions` downloads the captioned render and fails if HeyGen returns none.
|
|
602
|
+
- Failed, cancelled, or input-blocked jobs exit non-zero with HeyGen's `failure_code`/message. When several jobs run, every success is still downloaded before the command exits non-zero. 429 `Retry-After` is honoured, and `Idempotency-Key` is sent only on endpoints that document it.
|
|
603
|
+
- `--callback-url` webhooks are signed with HMAC-SHA256 of the raw body (hex, `signature` header). The npm package does not export a verifier; copy `src/providers/heygen/webhook.ts` or the Node snippet in the [HeyGen docs](https://multix.zuey.me/commands/heygen/#webhooks).
|
|
604
|
+
- Digital-twin creation and voice cloning are out of scope. Full reference: [HeyGen commands](https://multix.zuey.me/commands/heygen/).
|
|
605
|
+
|
|
563
606
|
### `multix media`
|
|
564
607
|
|
|
565
608
|
Requires `ffmpeg` (video/audio) and `magick` (images) on PATH.
|
|
@@ -581,13 +624,17 @@ multix media batch --input-dir <dir> --output-dir <dir> [--quality 85] [--max-wi
|
|
|
581
624
|
### `multix doc`
|
|
582
625
|
|
|
583
626
|
```bash
|
|
584
|
-
multix doc convert --input <files...> [--output <path>] [--auto-name] [--model gemini-3.6-flash] [--prompt <str>] [-v]
|
|
627
|
+
multix doc convert --input <files...> [--output <path>] [--auto-name] [--stdin-ext <ext>] [--model gemini-3.6-flash] [--prompt <str>] [-v]
|
|
628
|
+
|
|
629
|
+
# Read piped stdin with "-" (PDF, images and text auto-detected; else pass --stdin-ext, e.g. pdf; "-" only once, ./- for a file named -)
|
|
630
|
+
cat report.pdf | multix doc convert --input - --output report.md
|
|
585
631
|
```
|
|
586
632
|
|
|
587
633
|
Converts PDFs, DOCX/XLSX/PPTX, images, and HTML/text files to Markdown via Gemini.
|
|
588
634
|
Multiple inputs are concatenated with `---` separators into a single output.
|
|
635
|
+
Piped stdin is labelled `<stdin>` in the output and error messages; its temp file is removed when the command ends.
|
|
589
636
|
|
|
590
|
-
**Default output:** `./multix-output/document-extraction.md`
|
|
637
|
+
**Default output:** `./multix-output/document-extraction.md` (with `--auto-name`: `<input-basename>-extraction.md`, or `stdin-extraction.md` for piped input)
|
|
591
638
|
|
|
592
639
|
## Output
|
|
593
640
|
|