makaron-cli 0.14.4 → 0.14.6

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "makaron-cli",
3
- "version": "0.14.4",
3
+ "version": "0.14.6",
4
4
  "description": "Give Claude Code a creative agent. Pass complete creative requests and source media to Makaron Chat.",
5
5
  "author": {
6
6
  "name": "Versa AI",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "makaron-cli",
3
- "version": "0.14.4",
3
+ "version": "0.14.6",
4
4
  "description": "Give Codex a creative agent. Pass complete creative requests and source media to Makaron Chat.",
5
5
  "author": {
6
6
  "name": "Versa AI",
package/README.md CHANGED
@@ -384,17 +384,17 @@ npx makaron-cli video create --script "Shot 1 (5s): <<<image_1>>> slow cinematic
384
384
  npx makaron-cli video create --script "Keep both subjects recognizable as they enter the same studio" --image https://...jpg --image https://...webp --duration 5 --video-model grok --video-resolution 720p
385
385
  npx makaron-cli video create --script "Shot 1 (15s): <<<image_1>>> and <<<image_2>>> build a neon one-person studio" --image https://...jpg --image https://...webp --duration 15 --video-model seedance-mini --video-resolution 480p --aspect 9:16
386
386
 
387
- # 3b. Native SeeDance, Wan 3.0, MiniMax H3, or H3 Max text-to-video (no image required)
387
+ # 3b. Native SeeDance, Wan 3.0, MiniMax H3, or H3 Max Turbo text-to-video (no image required)
388
388
  npx makaron-cli video create --script "Shot 1 (5s): A neon one-person studio wakes at dawn" --duration 5 --video-model seedance-fast --aspect 16:9
389
389
  npx makaron-cli video create --script "Shot 1 (15s): A premium creative editor comes alive" --duration 15 --video-model minimax-h3 --aspect 16:9
390
- npx makaron-cli video create --script "Shot 1 (5s): A tiny robot runs through a sunlit studio" --duration 5 --video-model minimax-h3-max --video-resolution 480p
390
+ npx makaron-cli video create --script "Shot 1 (5s): A tiny robot runs through a sunlit studio" --duration 5 --video-model minimax-h3-max
391
391
  npx makaron-cli video create --script "Shot 1 (5s): <<<media_1>>> turns toward camera" --image https://...jpg --duration 5 --video-model minimax-h3-max --video-resolution 768p
392
392
 
393
393
  # 3c. Edit a video from a local file or public URL
394
394
  npx makaron-cli video create --script "make it funny" --video input.mp4 --duration 5 --video-model seedance-fast
395
395
  npx makaron-cli video create --script "make it warmer and cinematic" --video https://example.com/input.mp4 --duration 5 --video-model seedance --video-resolution 1080p
396
- npx makaron-cli video create --script "turn the light warm gold but preserve the action" --video input.mp4 --video-model grok --operation edit
397
- npx makaron-cli video create --script "continue the camera move into the next beat" --video input.mp4 --video-model grok --operation extend --duration 4
396
+ npx makaron-cli video create --script "turn the light warm gold but preserve the action" --video input.mp4 --video-model grok --video-operation edit
397
+ npx makaron-cli video create --script "continue the camera move into the next beat" --video input.mp4 --video-model grok --video-operation extend --duration 4
398
398
 
399
399
  # 4. Check status
400
400
  npx makaron-cli video status <taskId>
@@ -406,15 +406,15 @@ For project/timeline video editing, use:
406
406
  npx makaron-cli chat --project <id|auto> --video input.mp4 -b "make it funny"
407
407
  ```
408
408
 
409
- Options for `video create`: `--script "..."`, `--script-file <path>`, `--image <url>` (repeatable, up to the selected model limit), `--video <file|url>` and `--audio <file|url>` (repeatable where supported), `--voice <xai-preset-id>` (repeatable, Grok only), `--duration <seconds>`, `--aspect 9:16|16:9|1:1`, `--video-model seedance-fast|seedance-mini|seedance|seedance-2.5|wan-3.0|wan-3.0-prime|kling|grok|google-omni|minimax-h3|sync-lipsync-v3`, `--video-resolution auto|480p|720p|768p|1080p|2k|4k`. Default model is `seedance-fast`. SeeDance accepts native text-to-video with no image and integer output duration 4-15s (default 5s); every Seedance image input is submitted through reference-to-video, including one image. `seedance-mini` supports 480p/720p and is best for cheaper drafts/multi-size tests. Wan 3.0 and Wan 3.0 Prime both expose 480p/720p/1080p/2K/4K; 2K/4K automatically use the matching FlashVSR endpoint. MiniMax H3 accepts native text-to-video, 4-15s output, public 768p/2k resolution, and up to 9 image, up to 3 video, and up to 3 audio feature references through Makaron Agent/chat; a single image keeps the `reference_image` role. `sync-lipsync-v3` requires exactly one video plus one MP3/WAV and preserves that replacement audio while aligning the mouth. H3 defaults to 768p; request 2k explicitly for maximum/final quality. Kling supports 5-15s. Grok generation uses `grok-imagine-video-1.5`: text-only generation supports 480p/720p/1080p, while any 1-7 image or preset voice input uses reference-to-video and is capped at 720p. Grok edit/extend uses `grok-imagine-video` internally under the same `grok` selector. Gemini Omni supports 3-10s fast image/video generation and editing with native generated audio; every image-only generation request uses `reference_to_video`, including a single image, with up to 6 images when no video reference is provided.
409
+ Options for `video create`: `--script "..."`, `--script-file <path>`, `--image <url>` (repeatable, up to the selected model limit), `--video <file|url>` and `--audio <file|url>` (repeatable where supported), `--voice <xai-preset-id>` (repeatable, Grok only), `--duration <seconds>`, `--aspect 9:16|16:9|1:1`, `--video-model seedance-fast|seedance-mini|seedance|seedance-2.5|wan-3.0|wan-3.0-prime|kling|grok|google-omni|minimax-h3|minimax-h3-max|sync-lipsync-v3`, `--video-resolution auto|480p|720p|768p|1080p|2k|4k`. Default model is `seedance-fast`. SeeDance accepts native text-to-video with no image and integer output duration 4-15s (default 5s); every Seedance image input is submitted through reference-to-video, including one image. `seedance-mini` supports 480p/720p and is best for cheaper drafts/multi-size tests. Wan 3.0 and Wan 3.0 Prime both expose 480p/720p/1080p/2K/4K; 2K/4K automatically use the matching FlashVSR endpoint. MiniMax H3 accepts native text-to-video, 4-15s output, public 768p/2k resolution, and up to 9 image, up to 3 video, and up to 3 audio feature references through Makaron Agent/chat; a single image keeps the `reference_image` role. `sync-lipsync-v3` requires exactly one video plus one MP3/WAV and preserves that replacement audio while aligning the mouth. H3 defaults to 768p; request 2k explicitly for maximum/final quality. Kling supports 5-15s. Grok generation uses `grok-imagine-video-1.5`: text-only generation supports 480p/720p/1080p, while any 1-7 image or preset voice input uses reference-to-video and is capped at 720p. Grok edit/extend uses `grok-imagine-video` internally under the same `grok` selector. Gemini Omni supports 3-10s fast image/video generation and editing with native generated audio; every image-only generation request uses `reference_to_video`, including a single image, with up to 6 images when no video reference is provided.
410
410
 
411
- MiniMax H3 Max: use `--video-model minimax-h3-max` for near-real-time generation. It supports exactly 5/10/15 seconds at 480p/768p, with no image for T2V or exactly one `--image` for I2V. It does not accept reference video/audio or multiple images.
411
+ MiniMax H3 Max Turbo: use `--video-model minimax-h3-max` for faster-than-real-time generation. It supports exactly 5/10/15 seconds at 480p/768p and defaults to native 768p, with no image for T2V or exactly one `--image` for I2V. It does not accept reference video/audio or multiple images.
412
412
 
413
413
  Seedance 2.5: use `--video-model seedance-2.5` for 4-30 second output at 480p/720p. `--image` accepts local files or URLs (up to 30), while repeatable `--video` and `--audio` accept up to 10 each. Use `--video-operation generate|edit|extend`, `--extend-direction forward|backward`, `--output-format mp4|mov`, `--web-search`, `--generated-audio` / `--no-generated-audio`, and `--relaxed-content-filter`. Edit/extend require a video reference. The Evolink route does not currently expose 4K output.
414
414
 
415
415
  Wan 3.0: choose `--video-model wan-3.0` or the faster `--video-model wan-3.0-prime`. Both support 2-30 second generation, 480p/720p/1080p/2K/4K, and up to 10 images, 5 videos, and 5 audio references. Pass `--video-resolution 2k|4k` to use the matching FlashVSR/Pro endpoint automatically; Pro is not a separate model selector. Use generation mode with feature references; typed edit/extend and `--relaxed-content-filter` are not supported.
416
416
 
417
- Video edit model behavior: `--video-model kling --video` uses Kling base/direct edit internally; `--video-model seedance-fast --video`, `--video-model seedance-mini --video`, or `--video-model seedance --video` uses the SeeDance video-reference path and requires target <=15s, <=50MB, width/height 300-6000px, aspect ratio 0.4-2.5, and frame pixels 409,600-2,086,876. `--video-model minimax-h3 --video` uses H3 feature/reference mode: up to 3 video references totaling <=15s, each <=50MB with width/height 256-5760px and aspect ratio 0.4-2.5. `--video-model google-omni --video` uses Gemini Omni direct video editing and accepts one reference video in Makaron. Output duration is clamped to 3-10s. `--video-model grok --video --operation edit` accepts one MP4 up to 8.7s, retains duration/aspect, and caps output at 720p. `--operation extend` accepts one 2-15s MP4 and adds 2-10s (default 6s); the returned result includes the original plus extension.
417
+ Video edit model behavior: `--video-model kling --video` uses Kling base/direct edit internally; `--video-model seedance-fast --video`, `--video-model seedance-mini --video`, or `--video-model seedance --video` uses the SeeDance video-reference path and requires target <=15s, <=50MB, width/height 300-6000px, aspect ratio 0.4-2.5, and frame pixels 409,600-2,086,876. `--video-model minimax-h3 --video` uses H3 feature/reference mode: up to 3 video references totaling <=15s, each <=50MB with width/height 256-5760px and aspect ratio 0.4-2.5. `--video-model google-omni --video` uses Gemini Omni direct video editing and accepts one reference video in Makaron. Output duration is clamped to 3-10s. `--video-model grok --video --video-operation edit` accepts one MP4 up to 8.7s, retains duration/aspect, and caps output at 720p. `--video-operation extend` accepts one 2-15s MP4 and adds 2-10s (default 6s); the returned result includes the original plus extension.
418
418
 
419
419
  ### `music` — Music generation
420
420
 
package/bin/makaron.mjs CHANGED
@@ -1866,6 +1866,104 @@ function hasHelpFlag(values) {
1866
1866
  return values.includes('--help') || values.includes('-h');
1867
1867
  }
1868
1868
 
1869
+ function printEditHelp() {
1870
+ console.log(`Makaron edit — generate or edit an image directly
1871
+
1872
+ Usage:
1873
+ makaron edit [options] "prompt"
1874
+
1875
+ Options:
1876
+ --image <file|url> Base image to edit. Omit for text-to-image.
1877
+ --ref <file|url> Additional reference image. Repeatable, up to 3.
1878
+ --image-model <id> gemini, gemini-lite, qwen, openai, pony, or wai.
1879
+ --skill <id> enhance, creative, wild, or captions.
1880
+ --aspect <ratio> Output aspect ratio, for example 1:1, 16:9, or 9:16.
1881
+ --background <mode> auto, opaque, or transparent.
1882
+ --out <file> Save the generated image to this path.
1883
+ --help, -h Show this help.
1884
+
1885
+ Notes:
1886
+ Model selection is optional. Transparent output routes strictly to GPT Image 2
1887
+ and fails instead of returning an opaque fallback.
1888
+
1889
+ Examples:
1890
+ makaron edit --image portrait.jpg --image-model qwen --out result.jpg "cinematic warm light"
1891
+ makaron edit --image product.jpg --ref style.png --aspect 1:1 "use this visual style"
1892
+ makaron edit --image-model openai --background transparent --out sticker.png "a magenta star sticker"
1893
+ `);
1894
+ }
1895
+
1896
+ function printVideoCreateHelp() {
1897
+ console.log(`Makaron video create — call a video model directly
1898
+
1899
+ Usage:
1900
+ makaron video create --script "..." [media options] [generation options]
1901
+
1902
+ Inputs:
1903
+ --script <text> Video prompt or shot script.
1904
+ --script-file <file> Read the script from a UTF-8 file.
1905
+ --image <file|url> Image input. Repeatable where the model supports it.
1906
+ --video <file|url> Video input. Repeatable where the model supports it.
1907
+ --audio <file|url> Audio input. Repeatable where the model supports it.
1908
+ --voice <preset-id> Grok preset voice. Repeatable, up to 3.
1909
+
1910
+ Generation options:
1911
+ --video-model <id> seedance-fast, seedance-mini, seedance, seedance-2.5,
1912
+ wan-3.0, wan-3.0-prime, kling, grok, google-omni,
1913
+ minimax-h3, minimax-h3-max, or sync-lipsync-v3.
1914
+ --duration <seconds> Output duration supported by the selected model.
1915
+ --video-resolution <res> auto, 480p, 720p, 768p, 1080p, 2k, or 4k.
1916
+ --aspect <ratio> 9:16, 16:9, 1:1, or another supported ratio.
1917
+ --video-operation <mode> generate, edit, or extend (Seedance 2.5 / Grok).
1918
+ --extend-direction <dir> forward or backward.
1919
+ --output-format <format> mp4 or mov.
1920
+ --generated-audio Ask the provider to generate audio.
1921
+ --no-generated-audio Disable provider-generated audio.
1922
+ --keep-original-sound Preserve source-video sound where supported.
1923
+ --web-search Enable Seedance 2.5 web search.
1924
+ --relaxed-content-filter Seedance 2.5 only.
1925
+ --help, -h Show this help.
1926
+
1927
+ Recent model choices:
1928
+ minimax-h3-max H3 Max Turbo faster-than-real-time T2V or one-start-image I2V;
1929
+ 5/10/15s; native 768p default or 480p; no video/audio/multi-image references.
1930
+ wan-3.0-prime Faster Wan 3.0 tier; 2-30s; 480p through 4k; multimodal refs.
1931
+ wan-3.0 Wan standard tier with the same public duration/resolution range.
1932
+ seedance-2.5 4-30s; 480p/720p; generate/edit/extend and multimodal refs.
1933
+ minimax-h3 4-15s; 768p default or 2k; image/video/audio feature refs.
1934
+ grok T2V/reference generation plus typed edit/extend.
1935
+ sync-lipsync-v3 Exactly one video plus one MP3/WAV replacement track.
1936
+
1937
+ Examples:
1938
+ makaron video create --script "A tiny robot runs through a sunlit studio" --duration 5 --video-model minimax-h3-max
1939
+ makaron video create --script "The subject turns toward camera" --image start.jpg --duration 5 --video-model minimax-h3-max --video-resolution 768p
1940
+ makaron video create --script "A crystal city wakes at dawn" --duration 5 --video-model wan-3.0-prime --video-resolution 4k
1941
+ makaron video create --script "Continue the camera move" --video clip.mp4 --duration 4 --video-model grok --video-operation extend
1942
+ makaron video create --script "Use the supplied audio" --video talk.mp4 --audio voice.wav --video-model sync-lipsync-v3
1943
+
1944
+ This command returns a provider task ID and does not write to a project timeline.
1945
+ Use "makaron chat --project <id|auto> ..." for Agent-routed project work, then
1946
+ "makaron responses get <runId> --wait" to collect the result.
1947
+ `);
1948
+ }
1949
+
1950
+ function printVideoHelp() {
1951
+ console.log(`Video commands:
1952
+ video script --image <file> [--image <file>] "direction" Write video script
1953
+ video create --script "..." --video-model minimax-h3-max H3 Max Turbo (native 768p default)
1954
+ video create --script "..." --video-model wan-3.0-prime Fast Wan tier, up to 4k
1955
+ video create --script "..." --video-model seedance-2.5 4-30s multimodal generation/edit/extend
1956
+ video create --script "..." --video <file|url> --video-model grok --video-operation extend
1957
+ Edit or extend one MP4 with Grok
1958
+ video create --script "..." --video <url> --audio <url> --video-model sync-lipsync-v3
1959
+ Lip-sync exact replacement audio
1960
+ video status <taskId> Check video status
1961
+ video status --snapshot <snapshotId> [--wait] Check v2 video snapshot
1962
+
1963
+ Run "makaron video create --help" for every model, option, example, and limit.
1964
+ `);
1965
+ }
1966
+
1869
1967
  function printRootHelp() {
1870
1968
  console.log(`Makaron CLI — Talk to Makaron Agent from the terminal
1871
1969
 
@@ -1888,6 +1986,7 @@ Commands:
1888
1986
  create --title "name" Create empty project (text-to-image)
1889
1987
 
1890
1988
  chat --project <id> "message" Chat (non-blocking, polls for result)
1989
+ chat --project <id> --image <file> Attach an image or visual reference
1891
1990
  chat --project <id> --skill <id> Use a built-in or marketplace skill
1892
1991
  chat --project <id> --agent-model <id> "message"
1893
1992
  Select only the Agent LLM (strict allowlist)
@@ -1911,17 +2010,18 @@ Commands:
1911
2010
  abort <runId> Abort a running Agent
1912
2011
  skills list|search|show|install Browse built-in and marketplace skills
1913
2012
 
1914
- edit [--image <file>] "prompt" AI image edit / text-to-image
2013
+ edit [--image <file>] "prompt" Image edit, text-to-image, or transparent PNG
1915
2014
  analyze --video <file|url> Analyze video content
1916
- video script|create|status Video generation
2015
+ video script|create|status H3 Max, Wan, Seedance, Grok, lip-sync, and more
1917
2016
  music create|status Music generation
1918
2017
 
1919
2018
  admin Admin commands (skills, credits, upload, set-admin)
1920
2019
 
1921
2020
  Examples:
1922
- makaron chat --project auto "plan a launch poster"
1923
- makaron chat --project <id> "make it cinematic"
1924
- makaron chat --project <id> "turn this into a short video"
2021
+ makaron chat --project auto --image product.jpg "plan a launch poster"
2022
+ makaron chat --project <id> --skill "Football Captain" "make this cinematic"
2023
+ makaron chat --project <id> "use H3 Max Turbo to make a 5-second 768p video"
2024
+ makaron edit --background transparent --out sticker.png "a magenta star sticker"
1925
2025
 
1926
2026
  Run makaron <command> --help for command-specific options.
1927
2027
  Chat defaults the Agent LLM automatically; --agent-model can select an exact
@@ -2049,27 +2149,14 @@ Not sure which built-in skill to use? Start with:
2049
2149
  composition status <jobId> [--wait] [--json]
2050
2150
  `);
2051
2151
  } else if (topic === 'edit') {
2052
- console.log('Usage: makaron edit [--image <file|url>] [--image-model gemini|gemini-lite|qwen|openai|pony|wai] [--skill enhance|creative|wild|captions] [--ref <file>] [--aspect <ratio>] [--background auto|opaque|transparent] [--out <file>] "prompt"');
2152
+ printEditHelp();
2053
2153
  } else if (topic === 'analyze') {
2054
2154
  console.log('Usage: makaron analyze --video <file|url> ["question"]');
2055
2155
  } else if (topic === 'video') {
2056
2156
  if (subtopic === 'script') console.log('Usage: makaron video script --image <file> [--image <file>] [--lang en|zh] "direction"');
2057
- else if (subtopic === 'create') console.log('Usage: makaron video create --script "..." [--image <url> ...] [--video <url> ...] [--audio <url> ...] [--voice <xai-preset-id> ...] [--duration 10] [--aspect 9:16] [--video-model seedance-fast|seedance-mini|seedance|seedance-2.5|wan-3.0|wan-3.0-prime|kling|grok|google-omni|minimax-h3|minimax-h3-max|sync-lipsync-v3] [--operation generate|edit|extend] [--video-resolution auto|480p|720p|768p|1080p|2k|4k] [--keep-original-sound]');
2157
+ else if (subtopic === 'create') printVideoCreateHelp();
2058
2158
  else if (subtopic === 'status') console.log('Usage: makaron video status <taskId> | --snapshot <snapshotId> [--wait]');
2059
- else console.log(`Video commands:
2060
- video script --image <file> [--image <file>] "direction" Write video script
2061
- video create --script "..." --video-model seedance-fast Native text-to-video (no image required)
2062
- video create --script "..." --video-model wan-3.0 Wan 3.0 Standard via MuleRouter
2063
- video create --script "..." --video-model wan-3.0-prime Wan 3.0 Prime fast tier via MuleRouter
2064
- video create --script "..." --video-model wan-3.0 --video-resolution 4k Wan 3.0 with FlashVSR
2065
- video create --script "..." --video-model minimax-h3 MiniMax H3 text-to-video (default 768P)
2066
- video create --script "..." --video-model minimax-h3-max H3 Max near-real-time text-to-video (default 480P)
2067
- video create --script "..." --image <url> [--duration 10] Submit video task
2068
- video create --script "..." --video <file|url> --video-model grok [--operation edit|extend] Edit or extend one MP4 with Grok
2069
- video create --script "Use the supplied audio" --video <url> --audio <url> --video-model sync-lipsync-v3 Lip-sync exact replacement audio
2070
- video status <taskId> Check video status
2071
- video status --snapshot <snapshotId> [--wait] Check v2 video snapshot
2072
- `);
2159
+ else printVideoHelp();
2073
2160
  } else if (topic === 'music') {
2074
2161
  if (subtopic === 'create') console.log('Usage: makaron music create [--vocals] [--style "genre"] "description"');
2075
2162
  else if (subtopic === 'status') console.log('Usage: makaron music status <taskId>');
@@ -2909,7 +2996,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
2909
2996
  }
2910
2997
  else if (args[i] === '--wait') wait = true;
2911
2998
  }
2912
- const selectedVideoModel = ['h3 max', 'h3-max', 'h3max', 'minimax-h3max'].includes(videoModel)
2999
+ const selectedVideoModel = ['h3 max', 'h3-max', 'h3max', 'h3 max turbo', 'h3-max-turbo', 'h3maxturbo', 'minimax-h3max', 'minimax-h3-max-turbo'].includes(videoModel)
2913
3000
  ? 'minimax-h3-max'
2914
3001
  : ['wan3', 'wan3.0', 'wan30', 'wan-3', 'wan3-pro', 'wan3.0-pro', 'wan30-pro', 'wan-3-pro', 'berry-1.0-pro', 'w3.0-video-pro'].includes(videoModel)
2915
3002
  ? 'wan-3.0'
@@ -2938,10 +3025,10 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
2938
3025
  if (isMinimaxH3 && images.length > 9) { console.error('MiniMax H3 supports at most 9 image references.'); process.exit(1); }
2939
3026
  if (isMinimaxH3 && videos.length > 3) { console.error('MiniMax H3 supports at most 3 video references.'); process.exit(1); }
2940
3027
  if (isMinimaxH3 && audios.length > 3) { console.error('MiniMax H3 supports at most 3 audio references.'); process.exit(1); }
2941
- if (isFalH3Max && images.length > 1) { console.error('MiniMax H3 Max supports at most one start image.'); process.exit(1); }
2942
- if (isFalH3Max && (videos.length || audios.length)) { console.error('MiniMax H3 Max currently supports only text-to-video or one-image-to-video; remove video/audio references.'); process.exit(1); }
2943
- if (isFalH3Max && duration != null && ![5, 10, 15].includes(duration)) { console.error('MiniMax H3 Max duration must be 5, 10, or 15 seconds.'); process.exit(1); }
2944
- if (isFalH3Max && videoResolution && !['auto', '480p', '768p'].includes(videoResolution.toLowerCase())) { console.error('MiniMax H3 Max resolution must be auto, 480p, or 768p.'); process.exit(1); }
3028
+ if (isFalH3Max && images.length > 1) { console.error('MiniMax H3 Max Turbo supports at most one start image.'); process.exit(1); }
3029
+ if (isFalH3Max && (videos.length || audios.length)) { console.error('MiniMax H3 Max Turbo currently supports only text-to-video or one-image-to-video; remove video/audio references.'); process.exit(1); }
3030
+ if (isFalH3Max && duration != null && ![5, 10, 15].includes(duration)) { console.error('MiniMax H3 Max Turbo duration must be 5, 10, or 15 seconds.'); process.exit(1); }
3031
+ if (isFalH3Max && videoResolution && !['auto', '480p', '768p'].includes(videoResolution.toLowerCase())) { console.error('MiniMax H3 Max Turbo resolution must be auto, 480p, or 768p.'); process.exit(1); }
2945
3032
  if (isGrok && images.length > 7) { console.error('Grok Imagine Video 1.5 supports at most 7 image references.'); process.exit(1); }
2946
3033
  if (isGrok && videos.length > 1) { console.error('Grok video edit/extend accepts exactly one source video.'); process.exit(1); }
2947
3034
  if (isGrok && referenceVoices.length > 3) { console.error('Grok Imagine Video 1.5 supports at most 3 preset voices.'); process.exit(1); }
@@ -3081,20 +3168,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
3081
3168
  }
3082
3169
 
3083
3170
  } else {
3084
- console.log(`Video commands:
3085
- video script --image <file> [--image <file>] "direction" Write video script
3086
- video create --script "..." --video-model seedance-fast Native text-to-video (no image required)
3087
- video create --script "..." --video-model wan-3.0 Wan 3.0 Standard via MuleRouter
3088
- video create --script "..." --video-model wan-3.0-prime Wan 3.0 Prime fast tier via MuleRouter
3089
- video create --script "..." --video-model wan-3.0 --video-resolution 4k Wan 3.0 with FlashVSR
3090
- video create --script "..." --video-model minimax-h3 MiniMax H3 text-to-video (default 768P)
3091
- video create --script "..." --video-model minimax-h3-max H3 Max near-real-time text-to-video (default 480P)
3092
- video create --script "..." --image <url> [--duration 10] Submit video task
3093
- video create --script "..." --video <file|url> --video-model grok [--operation edit|extend] Edit or extend one MP4 with Grok
3094
- video create --script "Use the supplied audio" --video <url> --audio <url> --video-model sync-lipsync-v3 Lip-sync exact replacement audio
3095
- video status <taskId> Check video status
3096
- video status --snapshot <snapshotId> [--wait] Check v2 video snapshot
3097
- `);
3171
+ printVideoHelp();
3098
3172
  }
3099
3173
 
3100
3174
  } else if (command === 'music') {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "makaron-cli",
3
- "version": "0.14.4",
3
+ "version": "0.14.6",
4
4
  "description": "Talk to Makaron Agent from the terminal — create projects, edit images, generate videos",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -319,10 +319,10 @@ npx makaron-cli analyze --video input.mp4 "describe the key actions and pacing"
319
319
  npx makaron-cli video create --script "Shot 1 (5s): <<<image_1>>> ..." --image https://...jpg --duration 5 --video-model kling
320
320
  npx makaron-cli video create --script "Shot 1 (15s): <<<image_1>>> and <<<image_2>>> build a neon one-person studio" --image https://...jpg --image https://...webp --duration 15 --video-model seedance-mini --video-resolution 480p --aspect 9:16
321
321
 
322
- # 3b. Native SeeDance, Wan 3.0, MiniMax H3, or H3 Max text-to-video (no image required)
322
+ # 3b. Native SeeDance, Wan 3.0, MiniMax H3, or H3 Max Turbo text-to-video (no image required)
323
323
  npx makaron-cli video create --script "Shot 1 (5s): A neon one-person studio wakes at dawn" --duration 5 --video-model seedance-fast --aspect 16:9
324
324
  npx makaron-cli video create --script "Shot 1 (15s): A premium creative editor comes alive" --duration 15 --video-model minimax-h3 --aspect 16:9
325
- npx makaron-cli video create --script "Shot 1 (5s): A tiny robot runs through a sunlit studio" --duration 5 --video-model minimax-h3-max --video-resolution 480p
325
+ npx makaron-cli video create --script "Shot 1 (5s): A tiny robot runs through a sunlit studio" --duration 5 --video-model minimax-h3-max
326
326
 
327
327
  # 3c. Edit a video from a local file or public URL
328
328
  npx makaron-cli video create --script "make it funny" --video input.mp4 --duration 5 --video-model seedance-fast
@@ -342,11 +342,13 @@ Options for `video create`: `--script "..."`, `--script-file <path>`, `--image <
342
342
 
343
343
  Provider integration contract: every image passed to video generation is a feature reference by default, even when there is exactly one image. Never infer image-to-video/first-frame mode from image count. The sole current exception is explicitly selected `minimax-h3-max`, whose declared capability maps exactly one selected image to native image-to-video; it does not accept reference video/audio or multiple images.
344
344
 
345
+ MiniMax H3 Max Turbo uses the `minimax-h3-max` selector, supports exactly 5/10/15 seconds at 480p/768p, and defaults to native 768p for faster-than-real-time T2V or one-start-image I2V.
346
+
345
347
  Seedance 2.5 uses `--video-model seedance-2.5` and supports 4-30s at 480p/720p, up to 30 images + 10 videos + 10 audios, repeatable local/URL references, `--video-operation generate|edit|extend`, `--extend-direction`, `--output-format mp4|mov`, and `--web-search`. The Evolink route does not currently expose 4K output.
346
348
 
347
349
  Wan 3.0 exposes two model choices: `--video-model wan-3.0` and the faster `--video-model wan-3.0-prime`. Both support 2-30s generation, native audio, up to 10 images + 5 videos + 5 audios, and 480p/720p/1080p/2K/4K. Pass `--video-resolution 2k|4k` to select the matching FlashVSR/Pro endpoint automatically; Pro is not a separate model selector. Use generation mode with feature references; typed edit/extend and the relaxed content-filter flag are not supported.
348
350
 
349
- Video edit model behavior: `--video-model kling --video` uses Kling base/direct edit internally; `--video-model seedance-fast --video`, `--video-model seedance-mini --video`, or `--video-model seedance --video` uses the SeeDance video-reference path and requires target <=15s, <=50MB, width/height 300-6000px, aspect ratio 0.4-2.5, and frame pixels 409,600-2,086,876. `--video-model minimax-h3 --video` uses H3 feature/reference mode: up to 3 video references totaling <=15s, each <=50MB with width/height 256-5760px and aspect ratio 0.4-2.5. `--video-model google-omni --video` uses Gemini Omni direct video editing and accepts one reference video in Makaron. `--video-model grok --video --operation edit` accepts one MP4 up to 8.7s and caps output at 720p; `--operation extend` accepts one 2-15s MP4 and adds 2-10s.
351
+ Video edit model behavior: `--video-model kling --video` uses Kling base/direct edit internally; `--video-model seedance-fast --video`, `--video-model seedance-mini --video`, or `--video-model seedance --video` uses the SeeDance video-reference path and requires target <=15s, <=50MB with width/height 300-6000px, aspect ratio 0.4-2.5, and frame pixels 409,600-2,086,876. `--video-model minimax-h3 --video` uses H3 feature/reference mode: up to 3 video references totaling <=15s, each <=50MB with width/height 256-5760px and aspect ratio 0.4-2.5. `--video-model google-omni --video` uses Gemini Omni direct video editing and accepts one reference video in Makaron. `--video-model grok --video --video-operation edit` accepts one MP4 up to 8.7s and caps output at 720p; `--video-operation extend` accepts one 2-15s MP4 and adds 2-10s.
350
352
 
351
353
  ### `music` — Music generation
352
354