@mrgoonie/multix 1.0.2 → 1.0.4

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 CHANGED
@@ -5,6 +5,20 @@ 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
+ ## [1.0.4](https://github.com/mrgoonie/multix-cli/compare/v1.0.3...v1.0.4) (2026-10-11)
9
+
10
+
11
+ ### Fixed
12
+
13
+ * **core:** do not retry deterministic fetch failures ([#111](https://github.com/mrgoonie/multix-cli/issues/111)) ([8d2aa9b](https://github.com/mrgoonie/multix-cli/commit/8d2aa9baa3533cf199adc038911c9ea485b40083))
14
+
15
+ ## [1.0.3](https://github.com/mrgoonie/multix-cli/compare/v1.0.2...v1.0.3) (2026-10-11)
16
+
17
+
18
+ ### Fixed
19
+
20
+ * **atlascloud:** harden output downloads and base URL handling ([#100](https://github.com/mrgoonie/multix-cli/issues/100)) ([46288a2](https://github.com/mrgoonie/multix-cli/commit/46288a2e60a8a2784cfe0bd959c7dc757f03e801))
21
+
8
22
  ## [1.0.2](https://github.com/mrgoonie/multix-cli/compare/v1.0.1...v1.0.2) (2026-10-11)
9
23
 
10
24
 
package/README.md CHANGED
@@ -74,7 +74,7 @@ Set at least one provider key. Add to `.env` in your project root or `~/.multix/
74
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]` |
75
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`) |
76
76
  | `ATLASCLOUD_API_KEY` | For Atlas Cloud | [Atlas Cloud](https://www.atlascloud.ai/console/api-keys) |
77
- | `ATLASCLOUD_BASE_URL` | No | Override Atlas Cloud media API base (default `https://api.atlascloud.ai/api/v1`) |
77
+ | `ATLASCLOUD_BASE_URL` | No | Override Atlas Cloud media API base (default `https://api.atlascloud.ai/api/v1`; `https://` required, `http://` only for localhost) |
78
78
  | `ATLASCLOUD_IMAGE_MODEL` / `ATLASCLOUD_IMAGE_EDIT_MODEL` | No | Atlas image defaults (`black-forest-labs/flux-schnell`, `openai/gpt-image-1-mini/edit`) |
79
79
  | `ATLASCLOUD_VIDEO_MODEL` / `ATLASCLOUD_IMAGE_TO_VIDEO_MODEL` | No | Atlas video defaults (`bytedance/seedance-v1-pro-fast/text-to-video`, `.../image-to-video`) |
80
80
  | `ATLASCLOUD_TTS_MODEL` / `ATLASCLOUD_STT_MODEL` | No | Atlas audio defaults (`xai/tts-v1`, `bytedance/seed-asr-2.0`) |
@@ -98,7 +98,7 @@ Set at least one provider key. Add to `.env` in your project root or `~/.multix/
98
98
  | `CLOUDFLARE_AI_IMAGE_MODEL` | No | Image model setting; only `@cf/black-forest-labs/flux-1-schnell` is accepted |
99
99
  | `CLOUDFLARE_AI_TTS_MODEL` | No | Speech model setting; only `@cf/myshell-ai/melotts` is accepted |
100
100
  | `MULTIX_OUTPUT_DIR` | No | Override default output dir (`./multix-output`) |
101
- | `MULTIX_MAX_DOWNLOAD_MB` | No | Size limit per downloaded Replicate output file (default `2048`) |
101
+ | `MULTIX_MAX_DOWNLOAD_MB` | No | Size limit per downloaded Replicate or Atlas Cloud output file (default `2048`) |
102
102
  | `MULTIX_UPLOAD_MIN_KBPS` | No | Slowest Gemini Files API upload speed to allow for, in KB/s (default `1000`); lower it on slow links |
103
103
  | `MULTIX_IMAGE_FORMAT` | No | `webp` (default) or `original` to keep provider image format/quality |
104
104
  | `OPENROUTER_IMAGE_MODEL` | No | Default OpenRouter model |
@@ -527,12 +527,13 @@ multix atlas upload ./photo.png
527
527
  ```
528
528
 
529
529
  **Notes:**
530
- - Auth is `Authorization: Bearer $ATLASCLOUD_API_KEY`; the media API base is `https://api.atlascloud.ai/api/v1`.
531
- - Generation commands and `run` accept `--async`, `--wait-timeout <ms>`, `--output <path>`, `--no-download` and `--no-validate`. By default the command waits, then downloads to `MULTIX_OUTPUT_DIR` as `atlas-<idprefix>-NN.<ext>`.
530
+ - Auth is `Authorization: Bearer $ATLASCLOUD_API_KEY`; the media API base is `https://api.atlascloud.ai/api/v1`. An `ATLASCLOUD_BASE_URL` override must use `https://`; plain `http://` is accepted only for `localhost`, `127.0.0.1` or `[::1]`.
531
+ - Generation commands and `run` accept `--async`, `--wait-timeout <ms>`, `--output <path>`, `--no-download` and `--no-validate`. By default the command waits, then downloads to `MULTIX_OUTPUT_DIR` (or a directory `--output`) as `atlas-<prediction id>-NN.<ext>`. These names are fixed per output, so a retry with `multix atlas status <id> --wait --download` keeps the files already saved (whatever their extension, e.g. after WebP conversion) and downloads only the missing ones. An explicit single-file `--output` is overwritten as asked; the `<name>-NN.<ext>` files from a multi-output `--output` never overwrite an existing file (a `-1`, `-2`, ... suffix is added). A `.part` file reserves a name while it downloads, so a concurrent run of the same output stops with an error instead of writing it twice; a `.part` left by a run that stopped (Ctrl+C, crash) is taken over automatically on the next run.
532
+ - Output and thumbnail downloads use `https://` only and refuse `localhost` and loopback, private, link-local, or other special-purpose IP literals (hostnames are not resolved), including on redirects. Inline `data:` outputs are still saved. Each file is capped at `MULTIX_MAX_DOWNLOAD_MB` (default 2048). A video thumbnail is taken only from the prediction's outputs, never from echoed request input such as a reference image.
532
533
  - Inputs are model-specific. multix reads each model's published schema, maps flags onto that model's field names, and rejects unsupported flags or invalid values before submitting. Use `--no-validate` to skip this check.
533
534
  - `--async` prints only the prediction id on stdout and `upload` prints only the URL; progress goes to stderr, so `id=$(multix atlas video "waves" --async)` works.
534
535
  - `--ref` takes one value per flag; repeat it for several references. Local `--ref` / `--audio` files are uploaded first: only image, video and audio files, up to 200 MB (`ATLASCLOUD_MAX_UPLOAD_MB`).
535
- - Text outputs (transcripts, lyrics) are printed instead of downloaded. A failed prediction, or a download where some outputs fail, exits non-zero with the resume command. Atlas Cloud has no cancel endpoint.
536
+ - Text outputs (transcripts, lyrics) are printed instead of downloaded. A failed prediction, or a download where some outputs fail, exits non-zero with the resume command (including your `--output`). Atlas Cloud has no cancel endpoint.
536
537
  - `run --no-validate` skips the schema, so pass `--type` with it.
537
538
 
538
539
  ### `multix replicate`