makaron-cli 0.14.3 → 0.14.5
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/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +10 -6
- package/bin/makaron.mjs +124 -37
- package/package.json +1 -1
- package/skills/makaron/SKILL.md +6 -5
- package/skills/makaron/references/nsfw.md +8 -7
package/README.md
CHANGED
|
@@ -384,15 +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,
|
|
387
|
+
# 3b. Native SeeDance, Wan 3.0, MiniMax H3, or H3 Max 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
|
|
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
|
|
390
392
|
|
|
391
393
|
# 3c. Edit a video from a local file or public URL
|
|
392
394
|
npx makaron-cli video create --script "make it funny" --video input.mp4 --duration 5 --video-model seedance-fast
|
|
393
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
|
|
394
|
-
npx makaron-cli video create --script "turn the light warm gold but preserve the action" --video input.mp4 --video-model grok --operation edit
|
|
395
|
-
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
|
|
396
398
|
|
|
397
399
|
# 4. Check status
|
|
398
400
|
npx makaron-cli video status <taskId>
|
|
@@ -404,13 +406,15 @@ For project/timeline video editing, use:
|
|
|
404
406
|
npx makaron-cli chat --project <id|auto> --video input.mp4 -b "make it funny"
|
|
405
407
|
```
|
|
406
408
|
|
|
407
|
-
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-
|
|
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
|
+
|
|
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.
|
|
408
412
|
|
|
409
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.
|
|
410
414
|
|
|
411
|
-
Wan 3.0:
|
|
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.
|
|
412
416
|
|
|
413
|
-
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.
|
|
414
418
|
|
|
415
419
|
### `music` — Music generation
|
|
416
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 Near-real-time T2V or one-start-image I2V; 5/10/15s;
|
|
1929
|
+
480p default or 768p; 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 --video-resolution 480p
|
|
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 Near-real-time H3 Max (480p 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"
|
|
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
|
|
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
|
|
1924
|
-
makaron chat --project <id> "
|
|
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 480p to make a 5-second 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,25 +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
|
-
|
|
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')
|
|
2157
|
+
else if (subtopic === 'create') printVideoCreateHelp();
|
|
2058
2158
|
else if (subtopic === 'status') console.log('Usage: makaron video status <taskId> | --snapshot <snapshotId> [--wait]');
|
|
2059
|
-
else
|
|
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-pro Wan 3.0 Pro super-resolution via MuleRouter
|
|
2064
|
-
video create --script "..." --video-model minimax-h3 MiniMax H3 text-to-video (default 768P)
|
|
2065
|
-
video create --script "..." --image <url> [--duration 10] Submit video task
|
|
2066
|
-
video create --script "..." --video <file|url> --video-model grok [--operation edit|extend] Edit or extend one MP4 with Grok
|
|
2067
|
-
video create --script "Use the supplied audio" --video <url> --audio <url> --video-model sync-lipsync-v3 Lip-sync exact replacement audio
|
|
2068
|
-
video status <taskId> Check video status
|
|
2069
|
-
video status --snapshot <snapshotId> [--wait] Check v2 video snapshot
|
|
2070
|
-
`);
|
|
2159
|
+
else printVideoHelp();
|
|
2071
2160
|
} else if (topic === 'music') {
|
|
2072
2161
|
if (subtopic === 'create') console.log('Usage: makaron music create [--vocals] [--style "genre"] "description"');
|
|
2073
2162
|
else if (subtopic === 'status') console.log('Usage: makaron music status <taskId>');
|
|
@@ -2907,21 +2996,24 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
|
|
|
2907
2996
|
}
|
|
2908
2997
|
else if (args[i] === '--wait') wait = true;
|
|
2909
2998
|
}
|
|
2910
|
-
const selectedVideoModel = ['
|
|
2999
|
+
const selectedVideoModel = ['h3 max', 'h3-max', 'h3max', 'minimax-h3max'].includes(videoModel)
|
|
3000
|
+
? 'minimax-h3-max'
|
|
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)
|
|
2911
3002
|
? 'wan-3.0'
|
|
2912
|
-
: ['wan3-
|
|
2913
|
-
? 'wan-3.0-
|
|
3003
|
+
: ['wan3-prime', 'wan3.0-prime', 'wan30-prime', 'wan-3-prime', 'w3.0-video-prime', 'w3.0-video-prime-pro', 'wan-3.0-prime-pro', 'prime'].includes(videoModel)
|
|
3004
|
+
? 'wan-3.0-prime'
|
|
2914
3005
|
: (videoModel || 'seedance-fast');
|
|
2915
3006
|
const isSeedance25 = selectedVideoModel === 'seedance-2.5';
|
|
2916
|
-
const isWan30 = selectedVideoModel === 'wan-3.0' || selectedVideoModel === 'wan-3.0-
|
|
3007
|
+
const isWan30 = selectedVideoModel === 'wan-3.0' || selectedVideoModel === 'wan-3.0-prime';
|
|
2917
3008
|
const isSeedanceModel = selectedVideoModel === 'seedance-fast' || selectedVideoModel === 'seedance-mini' || selectedVideoModel === 'seedance' || isSeedance25;
|
|
2918
3009
|
const isMinimaxH3 = selectedVideoModel === 'minimax-h3';
|
|
3010
|
+
const isFalH3Max = selectedVideoModel === 'minimax-h3-max';
|
|
2919
3011
|
const isGrok = selectedVideoModel === 'grok';
|
|
2920
3012
|
const isGoogleOmni = selectedVideoModel === 'google-omni';
|
|
2921
3013
|
const isSyncLipsync = selectedVideoModel === 'sync-lipsync-v3';
|
|
2922
|
-
const supportsNativeTextToVideo = isSeedanceModel || isWan30 || isMinimaxH3 || isGrok || isGoogleOmni;
|
|
3014
|
+
const supportsNativeTextToVideo = isSeedanceModel || isWan30 || isMinimaxH3 || isFalH3Max || isGrok || isGoogleOmni;
|
|
2923
3015
|
if (!script || (!images.length && !videos.length && !audios.length && !referenceVoices.length && !supportsNativeTextToVideo)) {
|
|
2924
|
-
console.error('Usage: makaron video create --script "..." [--image <url>] [--video <file|url>] [--audio <file|url>] [--duration 30] [--video-model seedance-2.5|wan-3.0|wan-3.0-
|
|
3016
|
+
console.error('Usage: makaron video create --script "..." [--image <url>] [--video <file|url>] [--audio <file|url>] [--duration 30] [--video-model seedance-2.5|wan-3.0|wan-3.0-prime|minimax-h3|minimax-h3-max]');
|
|
2925
3017
|
process.exit(1);
|
|
2926
3018
|
}
|
|
2927
3019
|
if (isSeedance25 && images.length > 30) { console.error('Seedance 2.5 supports at most 30 image references.'); process.exit(1); }
|
|
@@ -2933,6 +3025,10 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
|
|
|
2933
3025
|
if (isMinimaxH3 && images.length > 9) { console.error('MiniMax H3 supports at most 9 image references.'); process.exit(1); }
|
|
2934
3026
|
if (isMinimaxH3 && videos.length > 3) { console.error('MiniMax H3 supports at most 3 video references.'); process.exit(1); }
|
|
2935
3027
|
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); }
|
|
2936
3032
|
if (isGrok && images.length > 7) { console.error('Grok Imagine Video 1.5 supports at most 7 image references.'); process.exit(1); }
|
|
2937
3033
|
if (isGrok && videos.length > 1) { console.error('Grok video edit/extend accepts exactly one source video.'); process.exit(1); }
|
|
2938
3034
|
if (isGrok && referenceVoices.length > 3) { console.error('Grok Imagine Video 1.5 supports at most 3 preset voices.'); process.exit(1); }
|
|
@@ -3021,6 +3117,8 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
|
|
|
3021
3117
|
? { script, images, videoUrls, audioUrls, referenceVoiceIds: referenceVoices, videoModel: selectedVideoModel, videoResolution, operation: resolvedOperation, extendDirection, outputFormat, generateAudio, contentFilter, webSearch }
|
|
3022
3118
|
: isMinimaxH3
|
|
3023
3119
|
? { script, images, videoUrls, audioUrls, videoModel: selectedVideoModel, videoResolution }
|
|
3120
|
+
: isFalH3Max
|
|
3121
|
+
? { script, images, videoModel: selectedVideoModel, videoResolution }
|
|
3024
3122
|
: videoUrls[0]
|
|
3025
3123
|
? { videoUrl: videoUrls[0], editPrompt: script, images, videoModel: selectedVideoModel, videoResolution, referType: isSeedanceModel ? 'feature' : 'base' }
|
|
3026
3124
|
: { script, images, videoModel: selectedVideoModel, videoResolution };
|
|
@@ -3070,18 +3168,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
|
|
|
3070
3168
|
}
|
|
3071
3169
|
|
|
3072
3170
|
} else {
|
|
3073
|
-
|
|
3074
|
-
video script --image <file> [--image <file>] "direction" Write video script
|
|
3075
|
-
video create --script "..." --video-model seedance-fast Native text-to-video (no image required)
|
|
3076
|
-
video create --script "..." --video-model wan-3.0 Wan 3.0 Standard via MuleRouter
|
|
3077
|
-
video create --script "..." --video-model wan-3.0-pro Wan 3.0 Pro super-resolution via MuleRouter
|
|
3078
|
-
video create --script "..." --video-model minimax-h3 MiniMax H3 text-to-video (default 768P)
|
|
3079
|
-
video create --script "..." --image <url> [--duration 10] Submit video task
|
|
3080
|
-
video create --script "..." --video <file|url> --video-model grok [--operation edit|extend] Edit or extend one MP4 with Grok
|
|
3081
|
-
video create --script "Use the supplied audio" --video <url> --audio <url> --video-model sync-lipsync-v3 Lip-sync exact replacement audio
|
|
3082
|
-
video status <taskId> Check video status
|
|
3083
|
-
video status --snapshot <snapshotId> [--wait] Check v2 video snapshot
|
|
3084
|
-
`);
|
|
3171
|
+
printVideoHelp();
|
|
3085
3172
|
}
|
|
3086
3173
|
|
|
3087
3174
|
} else if (command === 'music') {
|
package/package.json
CHANGED
package/skills/makaron/SKILL.md
CHANGED
|
@@ -319,9 +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,
|
|
322
|
+
# 3b. Native SeeDance, Wan 3.0, MiniMax H3, or H3 Max 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
326
|
|
|
326
327
|
# 3c. Edit a video from a local file or public URL
|
|
327
328
|
npx makaron-cli video create --script "make it funny" --video input.mp4 --duration 5 --video-model seedance-fast
|
|
@@ -337,15 +338,15 @@ npx makaron-cli video status <taskId>
|
|
|
337
338
|
npx makaron-cli chat --project <id|auto> --video input.mp4 -b "make it funny"
|
|
338
339
|
```
|
|
339
340
|
|
|
340
|
-
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-
|
|
341
|
+
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 uses 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. H3 Max accepts native text-to-video or exactly one start image for image-to-video, exact 5/10/15s duration, and 480p/768p; it does not accept reference video/audio or multiple images. `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 text-only generation supports 480p/720p/1080p; 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. Gemini Omni image-only generation always uses `reference_to_video`, including one image, with up to 6 images when no video reference is provided.
|
|
341
342
|
|
|
342
|
-
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.
|
|
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.
|
|
343
344
|
|
|
344
345
|
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.
|
|
345
346
|
|
|
346
|
-
Wan 3.0
|
|
347
|
+
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.
|
|
347
348
|
|
|
348
|
-
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
|
|
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 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.
|
|
349
350
|
|
|
350
351
|
### `music` — Music generation
|
|
351
352
|
|
|
@@ -12,7 +12,7 @@ If adult intent is ambiguous, ask one short question before choosing this lane.
|
|
|
12
12
|
|---|---|
|
|
13
13
|
| Agent-driven work or a persistent Makaron project | `makaron chat` with Agent model `grok-4.6` |
|
|
14
14
|
| Standalone image generation or editing | `makaron edit` with image model `qwen` |
|
|
15
|
-
| Standalone video generation | `makaron video create` with video model `wan-3.0` |
|
|
15
|
+
| Standalone video generation | `makaron video create` with video model `wan-3.0-prime` |
|
|
16
16
|
|
|
17
17
|
For project-based work, keep the complete request in one `chat` job. Because
|
|
18
18
|
`chat` accepts only the Agent-model flag, put the image/video preferences in the
|
|
@@ -20,25 +20,26 @@ brief:
|
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
22
|
npx makaron-cli chat --project <id|auto> --agent-model grok-4.6 --json \
|
|
23
|
-
-b "<complete adult request; use qwen for still images and wan-3.0 for video>"
|
|
23
|
+
-b "<complete adult request; use qwen for still images and wan-3.0-prime for video>"
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
For explicit raw-tool work without a project timeline:
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
29
|
npx makaron-cli edit --image-model qwen --image <file-or-url> --out <path> "<prompt>"
|
|
30
|
-
npx makaron-cli video create --video-model wan-3.0 --script "<shot script>" --duration <seconds>
|
|
30
|
+
npx makaron-cli video create --video-model wan-3.0-prime --script "<shot script>" --duration <seconds>
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
## Keep the exception scoped
|
|
34
34
|
|
|
35
|
-
- Do not force SFW jobs onto Grok, Qwen, or Wan 3.0.
|
|
36
|
-
- Never put `qwen` or `wan-3.0` in `--agent-model`.
|
|
35
|
+
- Do not force SFW jobs onto Grok, Qwen, or Wan 3.0 Prime.
|
|
36
|
+
- Never put `qwen` or `wan-3.0-prime` in `--agent-model`.
|
|
37
37
|
- Do not pass `--image-model` or `--video-model` to `makaron chat`; it rejects
|
|
38
38
|
those flags. State those preferences in the chat brief or use the standalone
|
|
39
39
|
commands.
|
|
40
40
|
- Keep this routing for adult follow-ups and rerolls in the same job.
|
|
41
|
-
-
|
|
42
|
-
|
|
41
|
+
- Wan exposes `wan-3.0` and `wan-3.0-prime`; there is no separate Pro product
|
|
42
|
+
model. Resolution uses the same `--video-resolution` option as every other
|
|
43
|
+
video service.
|
|
43
44
|
- If a selected provider rejects the request, surface the rejection. Do not
|
|
44
45
|
silently remove the adult intent or switch to an unspecified model.
|