makaron-cli 0.14.6 → 0.14.8
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 +13 -3
- package/README.md +9 -5
- package/bin/makaron.mjs +19 -9
- package/package.json +1 -1
- package/skills/makaron/SKILL.md +7 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "makaron-cli",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.8",
|
|
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",
|
|
@@ -9,7 +9,14 @@
|
|
|
9
9
|
},
|
|
10
10
|
"homepage": "https://www.makaron.app/agent",
|
|
11
11
|
"license": "MIT",
|
|
12
|
-
"keywords": [
|
|
12
|
+
"keywords": [
|
|
13
|
+
"creative-production",
|
|
14
|
+
"image-editing",
|
|
15
|
+
"video-generation",
|
|
16
|
+
"music",
|
|
17
|
+
"agent",
|
|
18
|
+
"cli"
|
|
19
|
+
],
|
|
13
20
|
"skills": "./skills/",
|
|
14
21
|
"interface": {
|
|
15
22
|
"displayName": "Makaron Creative Studio",
|
|
@@ -17,7 +24,10 @@
|
|
|
17
24
|
"longDescription": "Pass any complete creative request and source media to Makaron Chat. Makaron plans and produces images, video, music, and motion design in a persistent project that a human can continue editing in makaron.app.",
|
|
18
25
|
"developerName": "Versa AI",
|
|
19
26
|
"category": "Creative Tools",
|
|
20
|
-
"capabilities": [
|
|
27
|
+
"capabilities": [
|
|
28
|
+
"Read",
|
|
29
|
+
"Write"
|
|
30
|
+
],
|
|
21
31
|
"websiteURL": "https://www.makaron.app/agent",
|
|
22
32
|
"privacyPolicyURL": "https://www.makaron.app/privacy",
|
|
23
33
|
"defaultPrompt": [
|
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,7 +386,7 @@ 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
|
|
389
|
+
# 3b. Native SeeDance, Wan 3.0, MiniMax H3, or fal H3 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
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
|
|
@@ -406,9 +408,9 @@ For project/timeline video editing, use:
|
|
|
406
408
|
npx makaron-cli chat --project <id|auto> --video input.mp4 -b "make it funny"
|
|
407
409
|
```
|
|
408
410
|
|
|
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 `
|
|
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|fal-h3-max|sync-lipsync-v3`, `--video-resolution auto|480p|720p|768p|1080p|2k|4k`. Default model is FAL H3 Max (`fal-h3-max`) at 768p (480p/1080p optional): native text-to-video or image/video/audio reference-to-video, integer 5-15s, up to 9 images + 3 videos + 3 audios (12 total). 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
|
-
|
|
413
|
+
fal H3 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
|
|
|
@@ -530,7 +532,7 @@ send_message "All done!"
|
|
|
530
532
|
- One project = one conversation thread. All history is preserved.
|
|
531
533
|
- One active Agent Run at a time per project. A new message received while it is active is appended to that same Agent Run and processed at a durable work-unit boundary; it does not interrupt the execution or create a second owner for an in-progress Studio workflow.
|
|
532
534
|
- Multi-image: `create --image a.jpg --image b.jpg` or `chat --image ref.jpg`.
|
|
533
|
-
-
|
|
535
|
+
- Video timing depends on the selected model: fal H3 Turbo and fal H3 Max usually finish in tens of seconds; Max with video references may take around 1-2 minutes. Queue and saving time can vary; other providers may take 3-5 minutes; current Grok generation/edit probes are usually around 15-60 seconds; Gemini Omni is usually around 30-70 seconds plus Storage handoff. Remotion compositions should be converted with `materialize` / `responses get --materialize`, and timing should be read from `duration_seconds`, `render_seconds`, and `realtime_ratio`.
|
|
534
536
|
- Music takes ~60 seconds. Appears in output when done.
|
|
535
537
|
- Images are typically ready in 15-30 seconds.
|
|
536
538
|
- stdout is always machine-readable JSON/text. Human-friendly logs go to stderr.
|
|
@@ -652,3 +654,5 @@ npx makaron-cli admin fetch-skill https://www.makaron.app/s/4c4cbd57
|
|
|
652
654
|
- 16:9 images will be severely cropped — resize or stack two 16:9 images vertically
|
|
653
655
|
- Video covers (`.mp4`) are supported — auto-play in the card
|
|
654
656
|
- Before photo should match the person in the cover (hair, clothing, accessories)
|
|
657
|
+
|
|
658
|
+
FAL video models: **fal H3 Turbo** uses `minimax-h3-max` for single-start-frame I2V/T2V. **FAL H3 Max** uses the new selector `fal-h3-max`: native T2V or image/video/audio reference-to-video, default 768p, optional 480p/1080p, integer 5–15s; at most 9 images / 3 videos / 3 audios / 12 total. Reference video/audio each 2–15s and each modality totals at most 15s. Source-video modifications use generation with feature references, not typed edit/extend. Reference input tokens are billed in addition to output video; query current pricing.
|
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.
|
|
@@ -1910,7 +1914,7 @@ Inputs:
|
|
|
1910
1914
|
Generation options:
|
|
1911
1915
|
--video-model <id> seedance-fast, seedance-mini, seedance, seedance-2.5,
|
|
1912
1916
|
wan-3.0, wan-3.0-prime, kling, grok, google-omni,
|
|
1913
|
-
minimax-h3, minimax-h3-max, or sync-lipsync-v3.
|
|
1917
|
+
minimax-h3, minimax-h3-max, fal-h3-max, or sync-lipsync-v3.
|
|
1914
1918
|
--duration <seconds> Output duration supported by the selected model.
|
|
1915
1919
|
--video-resolution <res> auto, 480p, 720p, 768p, 1080p, 2k, or 4k.
|
|
1916
1920
|
--aspect <ratio> 9:16, 16:9, 1:1, or another supported ratio.
|
|
@@ -1925,7 +1929,9 @@ Generation options:
|
|
|
1925
1929
|
--help, -h Show this help.
|
|
1926
1930
|
|
|
1927
1931
|
Recent model choices:
|
|
1928
|
-
|
|
1932
|
+
fal-h3-max FAL H3 Max (default, 768p) reference-to-video: images, videos and audio;
|
|
1933
|
+
integer 5–15s, 480p/768p/1080p, default 768p. Reference inputs cost extra.
|
|
1934
|
+
minimax-h3-max fal H3 Turbo faster-than-real-time T2V or one-start-image I2V;
|
|
1929
1935
|
5/10/15s; native 768p default or 480p; no video/audio/multi-image references.
|
|
1930
1936
|
wan-3.0-prime Faster Wan 3.0 tier; 2-30s; 480p through 4k; multimodal refs.
|
|
1931
1937
|
wan-3.0 Wan standard tier with the same public duration/resolution range.
|
|
@@ -2924,7 +2930,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
|
|
|
2924
2930
|
else promptParts.push(args[i]);
|
|
2925
2931
|
}
|
|
2926
2932
|
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); }
|
|
2933
|
+
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
2934
|
process.stderr.write('🎨 Generating...\n');
|
|
2929
2935
|
const result = await callMcpTool(baseUrl, headers, 'makaron_edit_image', editArgs);
|
|
2930
2936
|
saveMcpImage(result, outputPath);
|
|
@@ -2996,26 +3002,30 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
|
|
|
2996
3002
|
}
|
|
2997
3003
|
else if (args[i] === '--wait') wait = true;
|
|
2998
3004
|
}
|
|
2999
|
-
const selectedVideoModel = ['h3 max', 'h3-max', 'h3max', 'h3 max turbo', 'h3-max-turbo', 'h3maxturbo', 'minimax-h3max', 'minimax-h3-max-turbo'].includes(videoModel)
|
|
3005
|
+
const selectedVideoModel = ['fal h3 turbo', 'h3 max', 'h3-max', 'h3max', 'h3 max turbo', 'h3-max-turbo', 'h3maxturbo', 'minimax-h3max', 'minimax-h3-max-turbo'].includes(videoModel)
|
|
3000
3006
|
? 'minimax-h3-max'
|
|
3007
|
+
: ['fal h3 max'].includes(videoModel) ? 'fal-h3-max'
|
|
3001
3008
|
: ['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
3009
|
? 'wan-3.0'
|
|
3003
3010
|
: ['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
3011
|
? 'wan-3.0-prime'
|
|
3005
|
-
: (videoModel || '
|
|
3012
|
+
: (videoModel || 'fal-h3-max');
|
|
3006
3013
|
const isSeedance25 = selectedVideoModel === 'seedance-2.5';
|
|
3007
3014
|
const isWan30 = selectedVideoModel === 'wan-3.0' || selectedVideoModel === 'wan-3.0-prime';
|
|
3008
3015
|
const isSeedanceModel = selectedVideoModel === 'seedance-fast' || selectedVideoModel === 'seedance-mini' || selectedVideoModel === 'seedance' || isSeedance25;
|
|
3009
3016
|
const isMinimaxH3 = selectedVideoModel === 'minimax-h3';
|
|
3010
3017
|
const isFalH3Max = selectedVideoModel === 'minimax-h3-max';
|
|
3018
|
+
const isFalReference = selectedVideoModel === 'fal-h3-max';
|
|
3011
3019
|
const isGrok = selectedVideoModel === 'grok';
|
|
3012
3020
|
const isGoogleOmni = selectedVideoModel === 'google-omni';
|
|
3013
3021
|
const isSyncLipsync = selectedVideoModel === 'sync-lipsync-v3';
|
|
3014
|
-
const supportsNativeTextToVideo = isSeedanceModel || isWan30 || isMinimaxH3 || isFalH3Max || isGrok || isGoogleOmni;
|
|
3022
|
+
const supportsNativeTextToVideo = isSeedanceModel || isWan30 || isMinimaxH3 || isFalH3Max || isFalReference || isGrok || isGoogleOmni;
|
|
3015
3023
|
if (!script || (!images.length && !videos.length && !audios.length && !referenceVoices.length && !supportsNativeTextToVideo)) {
|
|
3016
3024
|
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]');
|
|
3017
3025
|
process.exit(1);
|
|
3018
3026
|
}
|
|
3027
|
+
if (isFalReference && (images.length > 9 || videos.length > 3 || audios.length > 3 || images.length + videos.length + audios.length > 12)) { console.error('FAL H3 Max accepts at most 9 images, 3 videos, 3 audios, 12 total.'); process.exit(1); }
|
|
3028
|
+
if (isFalReference && duration != null && (!Number.isInteger(duration) || duration < 5 || duration > 15)) { console.error('FAL H3 Max output duration must be an integer from 5 to 15 seconds.'); process.exit(1); }
|
|
3019
3029
|
if (isSeedance25 && images.length > 30) { console.error('Seedance 2.5 supports at most 30 image references.'); process.exit(1); }
|
|
3020
3030
|
if (isSeedance25 && videos.length > 10) { console.error('Seedance 2.5 supports at most 10 video references.'); process.exit(1); }
|
|
3021
3031
|
if (isSeedance25 && audios.length > 10) { console.error('Seedance 2.5 supports at most 10 audio references.'); process.exit(1); }
|
|
@@ -3115,7 +3125,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
|
|
|
3115
3125
|
? { script, images, videoUrls, audioUrls, videoModel: selectedVideoModel, videoResolution }
|
|
3116
3126
|
: isSeedance25 || isWan30 || isGrok
|
|
3117
3127
|
? { script, images, videoUrls, audioUrls, referenceVoiceIds: referenceVoices, videoModel: selectedVideoModel, videoResolution, operation: resolvedOperation, extendDirection, outputFormat, generateAudio, contentFilter, webSearch }
|
|
3118
|
-
: isMinimaxH3
|
|
3128
|
+
: isMinimaxH3 || isFalReference
|
|
3119
3129
|
? { script, images, videoUrls, audioUrls, videoModel: selectedVideoModel, videoResolution }
|
|
3120
3130
|
: isFalH3Max
|
|
3121
3131
|
? { script, images, videoModel: selectedVideoModel, videoResolution }
|
|
@@ -3127,7 +3137,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
|
|
|
3127
3137
|
if (effectiveDuration) vArgs.duration = effectiveDuration;
|
|
3128
3138
|
if (aspectRatio) vArgs.aspectRatio = aspectRatio;
|
|
3129
3139
|
if (keepOriginalSound && videoUrls.length && !isSeedance25) vArgs.keepOriginalSound = true;
|
|
3130
|
-
const result = await callMcpTool(baseUrl, headers, videoUrls.length && !isSeedance25 && !isWan30 && !isGrok && !isMinimaxH3 && !isSyncLipsync ? 'makaron_edit_video' : 'makaron_create_video', vArgs);
|
|
3140
|
+
const result = await callMcpTool(baseUrl, headers, videoUrls.length && !isSeedance25 && !isWan30 && !isGrok && !isMinimaxH3 && !isFalReference && !isSyncLipsync ? 'makaron_edit_video' : 'makaron_create_video', vArgs);
|
|
3131
3141
|
const text = result?.content?.find(c => c.type === 'text')?.text;
|
|
3132
3142
|
if (text) {
|
|
3133
3143
|
console.log(text);
|
package/package.json
CHANGED
package/skills/makaron/SKILL.md
CHANGED
|
@@ -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,7 +319,7 @@ 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
|
|
322
|
+
# 3b. Native SeeDance, Wan 3.0, MiniMax H3, or fal H3 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
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
|
|
@@ -338,11 +338,11 @@ npx makaron-cli video status <taskId>
|
|
|
338
338
|
npx makaron-cli chat --project <id|auto> --video input.mp4 -b "make it funny"
|
|
339
339
|
```
|
|
340
340
|
|
|
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 `
|
|
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|fal-h3-max|sync-lipsync-v3`, `--video-resolution auto|480p|720p|768p|1080p|2k|4k`. Default model is FAL H3 Max (`fal-h3-max`) at 768p (480p/1080p optional): native text-to-video or image/video/audio reference-to-video, integer 5-15s, up to 9 images + 3 videos + 3 audios (12 total). 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. fal H3 Turbo (`minimax-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.
|
|
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
|
-
|
|
345
|
+
fal H3 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
346
|
|
|
347
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.
|
|
348
348
|
|
|
@@ -482,9 +482,11 @@ send_message "All done!"
|
|
|
482
482
|
- One project = one conversation thread. All history is preserved.
|
|
483
483
|
- One active Agent Run at a time per project. A new message received while it is active is appended to that same Agent Run and processed at a durable work-unit boundary; it does not interrupt the execution or create a second owner for an in-progress Studio workflow.
|
|
484
484
|
- Multi-image: `create --image a.jpg --image b.jpg` or `chat --image ref.jpg`.
|
|
485
|
-
-
|
|
485
|
+
- Video timing depends on the selected model: fal H3 Turbo and fal H3 Max usually finish in tens of seconds; Max with video references may take around 1-2 minutes. Queue and saving time can vary; other providers may take 3-5 minutes; current Grok generation/edit probes are usually around 15-60 seconds; Gemini Omni is usually around 30-70 seconds plus Storage handoff. Remotion compositions should be converted with `materialize` / `responses get --materialize`, and timing should be read from `duration_seconds`, `render_seconds`, and `realtime_ratio`.
|
|
486
486
|
- Music takes ~60 seconds. Appears in output when done.
|
|
487
487
|
- Images are typically ready in 15-30 seconds.
|
|
488
488
|
- stdout is always machine-readable JSON/text. Human-friendly logs go to stderr.
|
|
489
489
|
- Always use `chat` as the primary interface — even for single image edits.
|
|
490
490
|
- `edit`/`video`/`music` are fallback tools for when `chat` is unavailable or you need raw model access without project context.
|
|
491
|
+
|
|
492
|
+
FAL video models: **fal H3 Turbo** uses `minimax-h3-max` for single-start-frame I2V/T2V. **FAL H3 Max** uses the new selector `fal-h3-max`: native T2V or image/video/audio reference-to-video, default 768p, optional 480p/1080p, integer 5–15s; at most 9 images / 3 videos / 3 audios / 12 total. Reference video/audio each 2–15s and each modality totals at most 15s. Source-video modifications use generation with feature references, not typed edit/extend. Reference input tokens are billed in addition to output video; query current pricing.
|