@mrgoonie/multix 0.11.0 → 0.13.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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mrgoonie/multix",
3
- "version": "0.11.0",
4
- "description": "AI multimodal CLI — OpenAI, Gemini, MiniMax, OpenRouter, Leonardo, BytePlus, ElevenLabs, fal.ai, Atlas Cloud, ffmpeg, ImageMagick, doc-to-md",
3
+ "version": "0.13.0",
4
+ "description": "AI multimodal CLI — OpenAI, Gemini, MiniMax, OpenRouter, Leonardo, BytePlus, ElevenLabs, fal.ai, Atlas Cloud, Replicate, HeyGen, ffmpeg, ImageMagick, doc-to-md",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "multix": "./dist/cli.js"
@@ -50,6 +50,10 @@
50
50
  "fal",
51
51
  "fal-ai",
52
52
  "atlascloud",
53
+ "replicate",
54
+ "heygen",
55
+ "ai-avatar",
56
+ "video-translation",
53
57
  "ffmpeg",
54
58
  "imagemagick",
55
59
  "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, 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, Atlas Cloud, video generation, text-to-video, image-to-video, i2v, ElevenLabs voice cloning, updating/upgrading multix, or asks for batch media optimization.
4
- version: 0.11.0 # x-release-please-version
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, Replicate 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, Replicate direct API models incl. P-Video, HeyGen Video Agent and scripted avatar videos), video translation and lipsync (HeyGen), 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, Atlas Cloud, Replicate, replicate.com models, Replicate predictions, HeyGen, avatar video, talking head, Video Agent, video translation, dubbing, lipsync, video generation, text-to-video, image-to-video, i2v, ElevenLabs voice cloning, updating/upgrading multix, or asks for batch media optimization.
4
+ version: 0.13.0 # x-release-please-version
5
5
  ---
6
6
 
7
7
  # multix — AI Multimodal CLI
@@ -23,6 +23,8 @@ Activate this skill when the user asks to:
23
23
  - Optimize, resize, batch-convert, or split video/audio/image files
24
24
  - Run any fal.ai model (generic queue-API runner), or fal.ai's default image/video models
25
25
  - Run any Atlas Cloud model (image, image edit, video, TTS/STT, 3D) with schema-validated inputs and resumable async predictions
26
+ - Run any Replicate model (official or versioned) via the direct API, generate Replicate images/video, or resume/cancel a Replicate prediction by id
27
+ - Make HeyGen avatar videos from a prompt (Video Agent) or an exact script, translate/lipsync videos, HeyGen TTS
26
28
  - Update multix itself to the latest (or a given dist-tag) npm version
27
29
 
28
30
  ## Self-update
@@ -45,6 +47,8 @@ BYTEPLUS_API_KEY # BytePlus / Volcengine ARK (Seedream/Seedance/Hyper3D)
45
47
  ELEVENLABS_API_KEY # ElevenLabs (TTS, cloning, STT, music, dubbing)
46
48
  FAL_KEY # fal.ai (generic queue-API model runner, image/video)
47
49
  ATLASCLOUD_API_KEY # Atlas Cloud (any model: image, edit, video, audio, 3D)
50
+ REPLICATE_API_TOKEN # Replicate direct API (REPLICATE_API_KEY accepted as fallback)
51
+ HEYGEN_API_KEY # HeyGen v3 (avatar video, Video Agent, translation); API billed separately from web plans
48
52
  CLOUDFLARE_ACCOUNT_ID # Cloudflare Workers AI / AI Gateway account
49
53
  CLOUDFLARE_API_TOKEN # Cloudflare Workers AI / AI Gateway token
50
54
  # Video additionally requires CLOUDFLARE_AI_GATEWAY_ID and REPLICATE_API_TOKEN.
@@ -82,6 +86,7 @@ multix check [--verbose]
82
86
  | Cloudflare | `multix cloudflare generate --prompt "<text>" [--steps 1-8] [--seed <n>]` | Workers AI FLUX.1 Schnell only |
83
87
  | 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 |
84
88
  | Atlas Cloud | `multix atlas image "<text>" [-m <model>] [--size <size>] [--aspect-ratio 1:1] [-n N] [--seed <n>]` | Default `black-forest-labs/flux-schnell`; flags are validated against the model's schema |
89
+ | Replicate | `multix replicate image "<text>" [-m <owner/name>] [--aspect-ratio 16:9] [-n N] [--seed <n>]` | Default `black-forest-labs/flux-schnell`; also `multix replicate run <model> --input <json\|@file>` for any model |
85
90
 
86
91
  Aspect ratios (most providers): `1:1 2:3 3:2 3:4 4:3 4:5 5:4 9:16 16:9 21:9`.
87
92
 
@@ -154,6 +159,53 @@ multix atlas status "$id" --wait --download [--output <path>]
154
159
 
155
160
  `--ref` takes one value per flag; repeat it for several references. Local `--ref` and `--audio` files are uploaded first (`multix atlas upload <file>` prints only a temporary URL). Uploads accept only image, video and audio files up to 200 MB (`ATLASCLOUD_MAX_UPLOAD_MB`). `run --no-validate` skips the schema, so pass `--type` with it. Atlas Cloud has no cancel endpoint.
156
161
 
162
+ ## Replicate
163
+
164
+ Direct Replicate API (`Authorization: Bearer $REPLICATE_API_TOKEN`, fallback `REPLICATE_API_KEY`), separate from the Cloudflare AI Gateway route. Official models (`owner/name`) run on the model endpoint; community models need `owner/name:version`, a bare version id, or `--version`. Commands wait with bounded polling by default and download every media output as `replicate-<id8>-NN.<ext>` (first 8 characters of the prediction id). A partial download failure exits non-zero with a `status <id> --download` retry command. `replicate image` converts to WebP unless `--image-format original`/`--no-webp`, an explicit `--output-format`, or a non-`.webp` `--output` is given.
165
+
166
+ ```bash
167
+ # Generic runner (input is passed through unchanged; --file uploads local files into an input key)
168
+ multix replicate run black-forest-labs/flux-schnell --input '{"prompt":"a cyberpunk cat"}'
169
+ multix replicate run owner/model:<version-id> --input @payload.json [--file image=./photo.png]
170
+
171
+ # Image (default black-forest-labs/flux-schnell) and video (default prunaai/p-video; --image for image-to-video)
172
+ multix replicate image "a futuristic city" [-m <owner/name>] [--aspect-ratio 16:9] [-n 1] [--output-format png]
173
+ multix replicate video "a cinematic establishing shot" [--image <path|url>] [--duration 5] [--input '{"draft":true}']
174
+
175
+ # Long jobs: submit async, keep the id, resume or cancel later without re-running
176
+ multix replicate video "a slow pan over mountains" --async
177
+ multix replicate status <prediction-id> --wait --download
178
+ multix replicate cancel <prediction-id>
179
+ ```
180
+
181
+ Shared flags: `--async`, `--wait`, `--prefer-wait [seconds]` (sends `Prefer: wait=N`, still polls if unfinished), `--wait-timeout <ms>`, `--no-download` (print URLs), `--output <path|dir/>`. `failed`/`canceled`/`aborted` predictions exit non-zero. Local files up to 256 KB are inlined as data URIs; larger files (< 100 MB) go through the Replicate Files API.
182
+
183
+ ## HeyGen
184
+
185
+ Auth is `X-Api-Key: $HEYGEN_API_KEY` (v3 API). API credits are billed separately from HeyGen web plans; check with `multix heygen me`.
186
+
187
+ Pick the command by who writes the script:
188
+ - `video-agent "<prompt>"`: **Video Agent**, prompt-to-video. The agent writes the script and picks avatar/voice/scenes. Best for drafts and explainers from a brief.
189
+ - `video "<script>" --avatar <look-id>`: **scripted avatar video**. The avatar speaks your exact words (or lip-syncs `--audio`). Get look IDs from `heygen avatars`, not group IDs.
190
+ - `model-video "<prompt>"`: the HeyGen Video model, a 5-15 s cinematic clip with no avatar.
191
+
192
+ ```bash
193
+ multix heygen video-agent "45-second explainer for a note app" [--avatar <look-id>] [--voice <voice-id>] [--style <style-id>] [--orientation portrait] [--file <ref>]
194
+ multix heygen avatars [--type photo_avatar] [--cursor <token>]
195
+ multix heygen voices [--language English]
196
+ multix heygen video "Hello!" --avatar <look-id> [--voice <id>] [--aspect-ratio 9:16] [--engine avatar_iv|avatar_v|avatar_iii] [--burn-captions]
197
+ multix heygen translate <ref> --languages "Spanish, Chinese (Cantonese, Traditional)" [--output <dir>]
198
+ multix heygen lipsync --video <ref> --audio <ref>
199
+ multix heygen tts "Hello" --voice <voice-id>
200
+ multix heygen template <template-id> --input @vars.json
201
+ multix heygen run <video-agent|video|video-translation|lipsync|model-video|speech> --input @payload.json
202
+ multix heygen status <id> --type agent|video|translation|lipsync|model-video --wait --download
203
+ ```
204
+
205
+ - `<ref>` = `https://` URL, `asset:<asset_id>`, or a local file (uploaded, max 32 MB).
206
+ - Commands wait and download by default. `--async` prints IDs and a resume command; `--type agent` resumes with the Video Agent `session_id`.
207
+ - Failed jobs exit 1 with HeyGen's failure code. 402 means add API credits; 403 means a scope or entitlement is missing.
208
+
157
209
  ## Image-to-image (edit existing image with a prompt)
158
210
 
159
211
  Every supported provider exposes `image-to-image` and the alias `i2i`. Refs accept local file path OR URL.
@@ -350,7 +402,10 @@ Requires `cwebp` (libwebp: `brew install webp`, `apt install webp`) on `PATH`.
350
402
  | `CLOUDFLARE_ACCOUNT_ID` / `CLOUDFLARE_API_TOKEN` | Required for Cloudflare Workers AI image/speech and AI Gateway video |
351
403
  | `CLOUDFLARE_AI_GATEWAY_ID` | Optional for native Cloudflare image/speech; required for Cloudflare video |
352
404
  | `CLOUDFLARE_AI_GATEWAY_COLLECT_LOG_PAYLOAD` | Set `true` to explicitly opt in to AI Gateway request-payload collection; defaults to `false` |
353
- | `REPLICATE_API_TOKEN` | Required for Cloudflare AI Gateway video |
405
+ | `REPLICATE_API_TOKEN` | Replicate direct API token (`multix replicate`); also required for Cloudflare AI Gateway video |
406
+ | `REPLICATE_API_KEY` | Fallback for `REPLICATE_API_TOKEN` (direct `multix replicate` only) |
407
+ | `REPLICATE_BASE_URL` | Override Replicate API root (default `https://api.replicate.com/v1`) |
408
+ | `REPLICATE_IMAGE_MODEL` / `REPLICATE_VIDEO_MODEL` | Replicate default models (default `black-forest-labs/flux-schnell`, `prunaai/p-video`) |
354
409
  | `CLOUDFLARE_AI_IMAGE_MODEL` / `CLOUDFLARE_AI_TTS_MODEL` | Fixed-model settings: only `@cf/black-forest-labs/flux-1-schnell` and `@cf/myshell-ai/melotts` respectively are accepted |
355
410
  | `MULTIX_DISABLE_HOME_ENV` | `1` to skip every home-directory env file (`~/.multix/.env`, `~/.claude/...`) |
356
411
  | `MULTIX_LEGACY_CLAUDE_ENV` | `1` to also read legacy `.claude` env files (credential names only) |
@@ -398,6 +453,10 @@ multix fal run fal-ai/flux/schnell --input '{"prompt":"A sunset over mountains"}
398
453
  multix atlas image "A sunset over mountains"
399
454
  multix atlas status "$(multix atlas video "Ocean waves" --async)" --wait --download
400
455
 
456
+ # Replicate
457
+ multix replicate image "A sunset over mountains"
458
+ multix replicate video "A sunset timelapse" --async # then: multix replicate status <id> --wait --download
459
+
401
460
  # Self-update
402
461
  multix update --check
403
462
  multix update