makaron-cli 0.14.5 → 0.14.7

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.5",
3
+ "version": "0.14.7",
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.5",
3
+ "version": "0.14.7",
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
@@ -367,7 +367,9 @@ npx makaron-cli edit --image photo.jpg --out result.jpg "make it dramatic"
367
367
  npx makaron-cli edit --image-model openai --background transparent --out sticker.png "a magenta star sticker"
368
368
  ```
369
369
 
370
- Options: `--image`, `--image-model gemini|gemini-lite|qwen|openai|pony|wai`, `--ref <file>` (up to 3), `--aspect <ratio>`, `--background auto|opaque|transparent`, `--out <path>`. Transparent output routes strictly to GPT Image 2 and is returned only when the provider supplies real PNG/WebP alpha.
370
+ Options: `--image`, `--image-model gemini|gemini-lite|qwen|openai|wan2.7-image|pony|wai`, `--ref <file>` (up to 3), `--aspect <ratio>`, `--background auto|opaque|transparent`, `--out <path>`. Transparent output routes strictly to GPT Image 2 and is returned only when the provider supplies real PNG/WebP alpha.
371
+
372
+ `wan2.7-image` uses Alibaba international for fast, approximately 1K generation and editing (default 6 credits/image). Failed or timed-out Wan requests are not automatically retried or switched to another model. Face identity can change. Example: `makaron edit --image portrait.jpg --image-model wan2.7-image --aspect 16:9 --out stadium.jpg "Place this woman in a baseball stadium, preserving her face."`
371
373
 
372
374
  ### `video` — Standalone video tools (no project timeline)
373
375
 
@@ -384,10 +386,10 @@ npx makaron-cli video create --script "Shot 1 (5s): <<<image_1>>> slow cinematic
384
386
  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
387
  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
388
 
387
- # 3b. Native SeeDance, Wan 3.0, MiniMax H3, or H3 Max text-to-video (no image required)
389
+ # 3b. Native SeeDance, Wan 3.0, MiniMax H3, or H3 Max Turbo text-to-video (no image required)
388
390
  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
391
  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
392
+ 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
393
  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
394
 
393
395
  # 3c. Edit a video from a local file or public URL
@@ -408,7 +410,7 @@ npx makaron-cli chat --project <id|auto> --video input.mp4 -b "make it funny"
408
410
 
409
411
  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
412
 
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.
413
+ 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
414
 
413
415
  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
416
 
package/bin/makaron.mjs CHANGED
@@ -1468,6 +1468,10 @@ async function callMcpTool(baseUrl, headers, toolName, args) {
1468
1468
  if (!res.ok) { console.error(`MCP error ${res.status}:`, await res.text()); process.exit(1); }
1469
1469
  const data = await res.json();
1470
1470
  if (data.error) { console.error(`MCP error:`, data.error.message); process.exit(1); }
1471
+ if (data.result?.isError) {
1472
+ console.error('MCP tool failed:', data.result.content?.filter(c => c.type === 'text').map(c => c.text).join('\n') || 'Unknown tool error');
1473
+ process.exit(1);
1474
+ }
1471
1475
  return data.result;
1472
1476
  }
1473
1477
 
@@ -1875,7 +1879,7 @@ Usage:
1875
1879
  Options:
1876
1880
  --image <file|url> Base image to edit. Omit for text-to-image.
1877
1881
  --ref <file|url> Additional reference image. Repeatable, up to 3.
1878
- --image-model <id> gemini, gemini-lite, qwen, openai, pony, or wai.
1882
+ --image-model <id> gemini, gemini-lite, qwen, openai, wan2.7-image, pony, or wai.
1879
1883
  --skill <id> enhance, creative, wild, or captions.
1880
1884
  --aspect <ratio> Output aspect ratio, for example 1:1, 16:9, or 9:16.
1881
1885
  --background <mode> auto, opaque, or transparent.
@@ -1925,8 +1929,8 @@ Generation options:
1925
1929
  --help, -h Show this help.
1926
1930
 
1927
1931
  Recent model choices:
1928
- minimax-h3-max Near-real-time T2V or one-start-image I2V; 5/10/15s;
1929
- 480p default or 768p; no video/audio/multi-image references.
1932
+ minimax-h3-max H3 Max Turbo faster-than-real-time T2V or one-start-image I2V;
1933
+ 5/10/15s; native 768p default or 480p; no video/audio/multi-image references.
1930
1934
  wan-3.0-prime Faster Wan 3.0 tier; 2-30s; 480p through 4k; multimodal refs.
1931
1935
  wan-3.0 Wan standard tier with the same public duration/resolution range.
1932
1936
  seedance-2.5 4-30s; 480p/720p; generate/edit/extend and multimodal refs.
@@ -1935,7 +1939,7 @@ Recent model choices:
1935
1939
  sync-lipsync-v3 Exactly one video plus one MP3/WAV replacement track.
1936
1940
 
1937
1941
  Examples:
1938
- makaron video create --script "A tiny robot runs through a sunlit studio" --duration 5 --video-model minimax-h3-max --video-resolution 480p
1942
+ makaron video create --script "A tiny robot runs through a sunlit studio" --duration 5 --video-model minimax-h3-max
1939
1943
  makaron video create --script "The subject turns toward camera" --image start.jpg --duration 5 --video-model minimax-h3-max --video-resolution 768p
1940
1944
  makaron video create --script "A crystal city wakes at dawn" --duration 5 --video-model wan-3.0-prime --video-resolution 4k
1941
1945
  makaron video create --script "Continue the camera move" --video clip.mp4 --duration 4 --video-model grok --video-operation extend
@@ -1950,7 +1954,7 @@ Use "makaron chat --project <id|auto> ..." for Agent-routed project work, then
1950
1954
  function printVideoHelp() {
1951
1955
  console.log(`Video commands:
1952
1956
  video script --image <file> [--image <file>] "direction" Write video script
1953
- video create --script "..." --video-model minimax-h3-max Near-real-time H3 Max (480p default)
1957
+ video create --script "..." --video-model minimax-h3-max H3 Max Turbo (native 768p default)
1954
1958
  video create --script "..." --video-model wan-3.0-prime Fast Wan tier, up to 4k
1955
1959
  video create --script "..." --video-model seedance-2.5 4-30s multimodal generation/edit/extend
1956
1960
  video create --script "..." --video <file|url> --video-model grok --video-operation extend
@@ -2020,7 +2024,7 @@ Commands:
2020
2024
  Examples:
2021
2025
  makaron chat --project auto --image product.jpg "plan a launch poster"
2022
2026
  makaron chat --project <id> --skill "Football Captain" "make this cinematic"
2023
- makaron chat --project <id> "use H3 Max 480p to make a 5-second video"
2027
+ makaron chat --project <id> "use H3 Max Turbo to make a 5-second 768p video"
2024
2028
  makaron edit --background transparent --out sticker.png "a magenta star sticker"
2025
2029
 
2026
2030
  Run makaron <command> --help for command-specific options.
@@ -2924,7 +2928,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
2924
2928
  else promptParts.push(args[i]);
2925
2929
  }
2926
2930
  editArgs.editPrompt = promptParts.join(' ');
2927
- if (!editArgs.editPrompt) { console.error('Usage: makaron edit [--image <file|url>] [--image-model gemini|gemini-lite|qwen|openai|pony|wai] [--ref <file>] [--aspect <ratio>] [--background auto|opaque|transparent] [--out <file>] "prompt"'); process.exit(1); }
2931
+ if (!editArgs.editPrompt) { console.error('Usage: makaron edit [--image <file|url>] [--image-model gemini|gemini-lite|qwen|openai|wan2.7-image|pony|wai] [--ref <file>] [--aspect <ratio>] [--background auto|opaque|transparent] [--out <file>] "prompt"'); process.exit(1); }
2928
2932
  process.stderr.write('🎨 Generating...\n');
2929
2933
  const result = await callMcpTool(baseUrl, headers, 'makaron_edit_image', editArgs);
2930
2934
  saveMcpImage(result, outputPath);
@@ -2996,7 +3000,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
2996
3000
  }
2997
3001
  else if (args[i] === '--wait') wait = true;
2998
3002
  }
2999
- const selectedVideoModel = ['h3 max', 'h3-max', 'h3max', 'minimax-h3max'].includes(videoModel)
3003
+ const selectedVideoModel = ['h3 max', 'h3-max', 'h3max', 'h3 max turbo', 'h3-max-turbo', 'h3maxturbo', 'minimax-h3max', 'minimax-h3-max-turbo'].includes(videoModel)
3000
3004
  ? 'minimax-h3-max'
3001
3005
  : ['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)
3002
3006
  ? 'wan-3.0'
@@ -3025,10 +3029,10 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
3025
3029
  if (isMinimaxH3 && images.length > 9) { console.error('MiniMax H3 supports at most 9 image references.'); process.exit(1); }
3026
3030
  if (isMinimaxH3 && videos.length > 3) { console.error('MiniMax H3 supports at most 3 video references.'); process.exit(1); }
3027
3031
  if (isMinimaxH3 && audios.length > 3) { console.error('MiniMax H3 supports at most 3 audio references.'); process.exit(1); }
3028
- if (isFalH3Max && images.length > 1) { console.error('MiniMax H3 Max supports at most one start image.'); process.exit(1); }
3029
- 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); }
3030
- 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); }
3031
- if (isFalH3Max && videoResolution && !['auto', '480p', '768p'].includes(videoResolution.toLowerCase())) { console.error('MiniMax H3 Max resolution must be auto, 480p, or 768p.'); process.exit(1); }
3032
+ if (isFalH3Max && images.length > 1) { console.error('MiniMax H3 Max Turbo supports at most one start image.'); process.exit(1); }
3033
+ 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); }
3034
+ 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); }
3035
+ 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); }
3032
3036
  if (isGrok && images.length > 7) { console.error('Grok Imagine Video 1.5 supports at most 7 image references.'); process.exit(1); }
3033
3037
  if (isGrok && videos.length > 1) { console.error('Grok video edit/extend accepts exactly one source video.'); process.exit(1); }
3034
3038
  if (isGrok && referenceVoices.length > 3) { console.error('Grok Imagine Video 1.5 supports at most 3 preset voices.'); process.exit(1); }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "makaron-cli",
3
- "version": "0.14.5",
3
+ "version": "0.14.7",
4
4
  "description": "Talk to Makaron Agent from the terminal — create projects, edit images, generate videos",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -304,7 +304,7 @@ npx makaron-cli edit --image photo.jpg --out result.jpg "make it dramatic"
304
304
  npx makaron-cli edit --image-model openai --background transparent --out sticker.png "a magenta star sticker"
305
305
  ```
306
306
 
307
- Options: `--image`, `--image-model gemini|gemini-lite|qwen|openai|pony|wai`, `--ref <file>` (up to 3), `--aspect <ratio>`, `--background auto|opaque|transparent`, `--out <path>`. Transparent output routes strictly to GPT Image 2 and fails instead of returning an opaque fallback.
307
+ Options: `--image`, `--image-model gemini|gemini-lite|qwen|openai|wan2.7-image|pony|wai`, `--ref <file>` (up to 3), `--aspect <ratio>`, `--background auto|opaque|transparent`, `--out <path>`. Transparent output routes strictly to GPT Image 2 and fails instead of returning an opaque fallback. Wan 2.7 Image is an explicit fast ~1K route; do not automatically retry failures/timeouts, and do not promise exact face preservation.
308
308
 
309
309
  ### `video` — Standalone video tools (no project timeline)
310
310
 
@@ -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,6 +342,8 @@ 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.