@mrgoonie/multix 0.6.0 → 0.7.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 +8 -0
- package/README.md +49 -4
- package/dist/cli.js +952 -233
- package/package.json +4 -2
- package/skill/SKILL.md +50 -3
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mrgoonie/multix",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "AI multimodal CLI — OpenAI, Gemini, MiniMax, OpenRouter, Leonardo, BytePlus, ElevenLabs, ffmpeg, ImageMagick, doc-to-md",
|
|
3
|
+
"version": "0.7.0",
|
|
4
|
+
"description": "AI multimodal CLI — OpenAI, Gemini, MiniMax, OpenRouter, Leonardo, BytePlus, ElevenLabs, fal.ai, ffmpeg, ImageMagick, doc-to-md",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"multix": "./dist/cli.js"
|
|
@@ -47,6 +47,8 @@
|
|
|
47
47
|
"openrouter",
|
|
48
48
|
"leonardo",
|
|
49
49
|
"leonardo-ai",
|
|
50
|
+
"fal",
|
|
51
|
+
"fal-ai",
|
|
50
52
|
"ffmpeg",
|
|
51
53
|
"imagemagick",
|
|
52
54
|
"media",
|
package/skill/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: multix
|
|
3
|
-
description: AI multimodal CLI — generate and edit images (OpenAI, Codex driver, Gemini Nano Banana, Imagen, MiniMax, OpenRouter, Leonardo, BytePlus Seedream, Cloudflare Workers AI FLUX.1 Schnell), generate video (Gemini Veo, MiniMax Hailuo, OpenRouter via Veo/Seedance/Kling, Leonardo via Motion/Veo/Kling/Hailuo/Seedance/LTX, BytePlus Seedance, Cloudflare AI Gateway via Replicate), TTS/STT/music (OpenAI, Gemini Flash TTS, MiniMax, Cloudflare Workers AI MeloTTS, ElevenLabs), 3D models (BytePlus Hyper3D/Hitem3d), analyze/transcribe media, convert documents to Markdown, optimize media via ffmpeg/ImageMagick. Use whenever the user wants to create, edit, or transform images/video/audio/3D/documents from a CLI, mentions any of: OpenAI, Codex image driver, image-to-image, i2i, image edit, watercolor/cyberpunk style transfer, reference image, OpenRouter, Nano Banana, Flux, Seedream, Veo, Hailuo, Seedance, Kling, Cloudflare Workers AI, AI Gateway, video generation, text-to-video, image-to-video, i2v, ElevenLabs voice cloning, or asks for batch media optimization.
|
|
4
|
-
version: 0.
|
|
3
|
+
description: AI multimodal CLI — generate and edit images (OpenAI, Codex driver, Gemini Nano Banana, Imagen, MiniMax, OpenRouter, Leonardo, BytePlus Seedream, Cloudflare Workers AI FLUX.1 Schnell, fal.ai FLUX), generate video (Gemini Veo, MiniMax Hailuo, OpenRouter via Veo/Seedance/Kling, Leonardo via Motion/Veo/Kling/Hailuo/Seedance/LTX, BytePlus Seedance, Cloudflare AI Gateway via Replicate, fal.ai queue models), TTS/STT/music (OpenAI, Gemini Flash TTS incl. Gemini 3.8 with delivery-style control, MiniMax, Cloudflare Workers AI MeloTTS, ElevenLabs), 3D models (BytePlus Hyper3D/Hitem3d), analyze/transcribe media, convert documents to Markdown, optimize media via ffmpeg/ImageMagick, and self-update the CLI. Use whenever the user wants to create, edit, or transform images/video/audio/3D/documents from a CLI, mentions any of: OpenAI, Codex image driver, image-to-image, i2i, image edit, watercolor/cyberpunk style transfer, reference image, OpenRouter, Nano Banana, Flux, Seedream, Veo, Hailuo, Seedance, Kling, Cloudflare Workers AI, AI Gateway, fal.ai, video generation, text-to-video, image-to-video, i2v, ElevenLabs voice cloning, updating/upgrading multix, or asks for batch media optimization.
|
|
4
|
+
version: 0.7.0 # x-release-please-version
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# multix — AI Multimodal CLI
|
|
@@ -21,6 +21,16 @@ Activate this skill when the user asks to:
|
|
|
21
21
|
- Analyze, transcribe, or extract structured data from media/docs
|
|
22
22
|
- Convert PDFs / DOCX / images to Markdown
|
|
23
23
|
- Optimize, resize, batch-convert, or split video/audio/image files
|
|
24
|
+
- Run any fal.ai model (generic queue-API runner), or fal.ai's default image/video models
|
|
25
|
+
- Update multix itself to the latest (or a given dist-tag) npm version
|
|
26
|
+
|
|
27
|
+
## Self-update
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
multix update [--check] [--tag <tag>] [--dry-run] [-v]
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Detects whether `multix` was installed via npm, pnpm, yarn, or bun global install (from the running binary's path) and runs the matching install command, e.g. `npm i -g @mrgoonie/multix@latest`. `--check` only compares versions against the npm registry without installing. `--tag <tag>` installs a dist-tag such as `beta`, always installing that tag regardless of the current version (skipping the "already up to date" comparison used by the default `latest` flow). `--dry-run` prints the command instead of running it.
|
|
24
34
|
|
|
25
35
|
## Required env (set at least one provider key)
|
|
26
36
|
|
|
@@ -32,6 +42,7 @@ MINIMAX_API_KEY # MiniMax (image/video/speech/music)
|
|
|
32
42
|
LEONARDO_API_KEY # Leonardo.Ai (image/video/upscale)
|
|
33
43
|
BYTEPLUS_API_KEY # BytePlus / Volcengine ARK (Seedream/Seedance/Hyper3D)
|
|
34
44
|
ELEVENLABS_API_KEY # ElevenLabs (TTS, cloning, STT, music, dubbing)
|
|
45
|
+
FAL_KEY # fal.ai (generic queue-API model runner, image/video)
|
|
35
46
|
CLOUDFLARE_ACCOUNT_ID # Cloudflare Workers AI / AI Gateway account
|
|
36
47
|
CLOUDFLARE_API_TOKEN # Cloudflare Workers AI / AI Gateway token
|
|
37
48
|
# Video additionally requires CLOUDFLARE_AI_GATEWAY_ID and REPLICATE_API_TOKEN.
|
|
@@ -67,6 +78,7 @@ multix check [--verbose]
|
|
|
67
78
|
| Leonardo | `multix leonardo generate "<text>" [-w 1024 -h 1024] [--alchemy] [--ultra] [--quality HIGH]` | Polls until done, downloads automatically |
|
|
68
79
|
| BytePlus | `multix byteplus generate --prompt "<text>" [--model seedream-4-0-250828] [--size 2K] [--aspect-ratio 16:9] [-n N] [--input-image <path\|url>]` | Sync |
|
|
69
80
|
| Cloudflare | `multix cloudflare generate --prompt "<text>" [--steps 1-8] [--seed <n>]` | Workers AI FLUX.1 Schnell only |
|
|
81
|
+
| fal.ai | `multix fal image "<text>" [-m <model>] [--image-size square_hd] [-n N] [--seed <n>]` | Default `fal-ai/flux/schnell`; also `multix fal run <model> --input <json\|@file>` for any fal model |
|
|
70
82
|
|
|
71
83
|
Aspect ratios (most providers): `1:1 2:3 3:2 3:4 4:3 4:5 5:4 9:16 16:9 21:9`.
|
|
72
84
|
|
|
@@ -95,6 +107,27 @@ multix cloudflare video-status <predictionId> \
|
|
|
95
107
|
|
|
96
108
|
Video follows Cloudflare's documented [Replicate AI Gateway route](https://developers.cloudflare.com/ai-gateway/usage/providers/replicate/). `generate-video` returns a prediction ID unless `--wait` or `--download` is passed; either waits, saves the completed MP4, and prints its local path. For `video-status`, `--wait` reports the terminal status and `--download` implies waiting plus saves the MP4. No Cloudflare video command prints the provider output URL.
|
|
97
109
|
|
|
110
|
+
## fal.ai
|
|
111
|
+
|
|
112
|
+
Auth is `Authorization: Key $FAL_KEY`; base URL is `https://queue.fal.run`. All fal jobs are async (submit → poll status → fetch result); `run`/`image`/`video` handle this automatically and download any media URL found in the result.
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# Generic runner — works with any fal model id
|
|
116
|
+
multix fal run fal-ai/flux/schnell --input '{"prompt":"a cyberpunk cat"}' [--no-download] [--wait-timeout 480000] [-v]
|
|
117
|
+
multix fal run <model> --input @input.json
|
|
118
|
+
|
|
119
|
+
# Text-to-image (default fal-ai/flux/schnell)
|
|
120
|
+
multix fal image "a cyberpunk cat" [-m <model>] [--image-size square_hd] [-n 1] [--seed <n>] [--negative-prompt <text>] [--output <path>] [-v]
|
|
121
|
+
|
|
122
|
+
# Text-to-video (default fal-ai/kling-video/v1.6/standard/text-to-video), or
|
|
123
|
+
# image-to-video with --image-url (default switches to fal-ai/kling-video/v1.6/standard/image-to-video when -m is omitted)
|
|
124
|
+
multix fal video "a dancer under neon lights" [-m <model>] [--image-url <https-url>] [--duration <n>] [--aspect-ratio 16:9] [--seed <n>] [-v]
|
|
125
|
+
|
|
126
|
+
# Inspect a request submitted any other way
|
|
127
|
+
multix fal status <model> <requestId>
|
|
128
|
+
multix fal result <model> <requestId> [--download]
|
|
129
|
+
```
|
|
130
|
+
|
|
98
131
|
## Image-to-image (edit existing image with a prompt)
|
|
99
132
|
|
|
100
133
|
Every supported provider exposes `image-to-image` and the alias `i2i`. Refs accept local file path OR URL.
|
|
@@ -221,7 +254,10 @@ User wants to generate a video?
|
|
|
221
254
|
```bash
|
|
222
255
|
# TTS
|
|
223
256
|
multix openai generate-speech --text "Hello world" [--voice alloy] [--output-format mp3]
|
|
224
|
-
multix gemini generate-speech --text "
|
|
257
|
+
multix gemini generate-speech --text "Have a wonderful day!" --voice Kore
|
|
258
|
+
# Gemini 3.8 models (default gemini-3.8-flash-lite-tts) read text verbatim and take delivery
|
|
259
|
+
# direction via --style instead of embedding it in the text:
|
|
260
|
+
multix gemini generate-speech --text "Have a wonderful day!" --model gemini-3.8-flash-tts --style "cheerful and friendly" --voice Kore
|
|
225
261
|
multix minimax generate-speech --text "..." --voice <id> --emotion neutral
|
|
226
262
|
multix elevenlabs tts --text "Hello world" [--voice <voiceId>] [--model eleven_multilingual_v2]
|
|
227
263
|
|
|
@@ -279,6 +315,9 @@ Requires `cwebp` (libwebp: `brew install webp`, `apt install webp`) on `PATH`.
|
|
|
279
315
|
| `LEONARDO_DEFAULT_MODEL` / `LEONARDO_VIDEO_MODEL` | Leonardo model defaults |
|
|
280
316
|
| `BYTEPLUS_IMAGE_MODEL` / `BYTEPLUS_VIDEO_MODEL` / `BYTEPLUS_3D_MODEL` | BytePlus model defaults |
|
|
281
317
|
| `BYTEPLUS_VIDEO_PARAMS_MODE` | `flags` (default) or `structured` |
|
|
318
|
+
| `FAL_BASE_URL` | Override fal queue base (default `https://queue.fal.run`) |
|
|
319
|
+
| `FAL_IMAGE_MODEL` / `FAL_VIDEO_MODEL` | fal.ai default model ids (default `fal-ai/flux/schnell`, `fal-ai/kling-video/v1.6/standard/text-to-video`) |
|
|
320
|
+
| `GEMINI_TTS_MODEL` / `TTS_MODEL` | Override Gemini TTS model (default `gemini-3.8-flash-lite-tts`) |
|
|
282
321
|
| `CLOUDFLARE_ACCOUNT_ID` / `CLOUDFLARE_API_TOKEN` | Required for Cloudflare Workers AI image/speech and AI Gateway video |
|
|
283
322
|
| `CLOUDFLARE_AI_GATEWAY_ID` | Optional for native Cloudflare image/speech; required for Cloudflare video |
|
|
284
323
|
| `CLOUDFLARE_AI_GATEWAY_COLLECT_LOG_PAYLOAD` | Set `true` to explicitly opt in to AI Gateway request-payload collection; defaults to `false` |
|
|
@@ -319,6 +358,14 @@ multix media split --input long-video.mp4 --chunk-duration 600
|
|
|
319
358
|
|
|
320
359
|
# Convert document to markdown
|
|
321
360
|
multix doc convert --input report.pdf --auto-name
|
|
361
|
+
|
|
362
|
+
# fal.ai
|
|
363
|
+
multix fal image "A sunset over mountains"
|
|
364
|
+
multix fal run fal-ai/flux/schnell --input '{"prompt":"A sunset over mountains"}'
|
|
365
|
+
|
|
366
|
+
# Self-update
|
|
367
|
+
multix update --check
|
|
368
|
+
multix update
|
|
322
369
|
```
|
|
323
370
|
|
|
324
371
|
## Security & scope
|