makaron-cli 0.12.0 → 0.12.2
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/README.md +4 -4
- package/bin/makaron.mjs +8 -8
- package/package.json +1 -1
- package/skills/makaron/SKILL.md +4 -4
package/README.md
CHANGED
|
@@ -280,7 +280,7 @@ npx makaron-cli edit --image photo.jpg --ref style.jpg "match this style"
|
|
|
280
280
|
npx makaron-cli edit --image photo.jpg --out result.jpg "make it dramatic"
|
|
281
281
|
```
|
|
282
282
|
|
|
283
|
-
Options: `--image`, `--model gemini|qwen|openai|pony|wai`, `--ref <file>` (up to 3), `--aspect <ratio>`, `--out <path>`
|
|
283
|
+
Options: `--image`, `--model gemini|gemini-lite|qwen|openai|pony|wai`, `--ref <file>` (up to 3), `--aspect <ratio>`, `--out <path>`
|
|
284
284
|
|
|
285
285
|
### `video` — Standalone video tools (no project timeline)
|
|
286
286
|
|
|
@@ -310,9 +310,9 @@ For project/timeline video editing, use:
|
|
|
310
310
|
npx makaron-cli chat --project <id|auto> --video input.mp4 -b "make it funny"
|
|
311
311
|
```
|
|
312
312
|
|
|
313
|
-
Options for `video create`: `--script "..."`, `--script-file <path>`, `--image <url>` (repeatable, up to 7), `--video <file|url>`, `--duration <seconds>`, `--aspect 9:16|16:9|1:1`, `--model seedance-fast|seedance-mini|seedance|kling|grok`, `--video-resolution auto|480p|720p|1080p|4k`. Default model is `seedance-fast`. SeeDance accepts integer output duration 4-15s (default 5s); `seedance-mini` supports 480p/720p and is best for cheaper drafts/multi-size tests; Kling supports 5-15s; Grok 1.5 supports 1-15s single-image-to-video only. For `--model grok`, forced `--aspect` is ignored to avoid xAI stretching the source image; pad/create the image at the target shape first or use another model.
|
|
313
|
+
Options for `video create`: `--script "..."`, `--script-file <path>`, `--image <url>` (repeatable, up to 7), `--video <file|url>`, `--duration <seconds>`, `--aspect 9:16|16:9|1:1`, `--model seedance-fast|seedance-mini|seedance|kling|grok|google-omni`, `--video-resolution auto|480p|720p|1080p|4k`. Default model is `seedance-fast`. SeeDance accepts integer output duration 4-15s (default 5s); `seedance-mini` supports 480p/720p and is best for cheaper drafts/multi-size tests; Kling supports 5-15s; Grok 1.5 supports 1-15s single-image-to-video only; Gemini Omni supports 3-10s fast 720p image/video generation and editing with native generated audio. For `--model grok`, forced `--aspect` is ignored to avoid xAI stretching the source image; pad/create the image at the target shape first or use another model.
|
|
314
314
|
|
|
315
|
-
Video edit model behavior: `--model kling --video` uses Kling base/direct edit internally; `--model seedance-fast --video`, `--model seedance-mini --video`, or `--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.
|
|
315
|
+
Video edit model behavior: `--model kling --video` uses Kling base/direct edit internally; `--model seedance-fast --video`, `--model seedance-mini --video`, or `--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. `--model google-omni --video` uses Gemini Omni direct video editing and accepts one reference video in Makaron. Output duration is clamped to 3-10s. Grok does not support video references.
|
|
316
316
|
|
|
317
317
|
### `music` — Music generation
|
|
318
318
|
|
|
@@ -427,7 +427,7 @@ send_message "All done!"
|
|
|
427
427
|
- One project = one conversation thread. All history is preserved.
|
|
428
428
|
- One run at a time per project. New message interrupts previous run.
|
|
429
429
|
- Multi-image: `create --image a.jpg --image b.jpg` or `chat --image ref.jpg`.
|
|
430
|
-
- Provider-generated videos can take 3-5 minutes; Grok is usually around 30-40 seconds. Remotion compositions should be converted with `materialize` / `responses get --materialize`, and timing should be read from `duration_seconds`, `render_seconds`, and `realtime_ratio`.
|
|
430
|
+
- Provider-generated videos can take 3-5 minutes; Grok is usually around 30-40 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`.
|
|
431
431
|
- Music takes ~60 seconds. Appears in output when done.
|
|
432
432
|
- Images are typically ready in 15-30 seconds.
|
|
433
433
|
- stdout is always machine-readable JSON/text. Human-friendly logs go to stderr.
|
package/bin/makaron.mjs
CHANGED
|
@@ -278,7 +278,7 @@ Options:
|
|
|
278
278
|
--audio <file|url> Attach a song, beat, or voice reference. MP3/WAV, repeatable.
|
|
279
279
|
--skill <id|label|name> Use an installed skill or auto-install a matched marketplace skill.
|
|
280
280
|
--model <name> Preferred image/model route.
|
|
281
|
-
--video-model <name> Preferred video model: seedance-fast, seedance-mini, seedance, kling, or
|
|
281
|
+
--video-model <name> Preferred video model: seedance-fast, seedance-mini, seedance, kling, grok, or google-omni.
|
|
282
282
|
--video-resolution <res> Video resolution: auto, 480p, 720p, 1080p, or 4k.
|
|
283
283
|
--background, -b Submit and print a runId.
|
|
284
284
|
--json Output structured JSON.
|
|
@@ -1660,17 +1660,17 @@ Use with chat:
|
|
|
1660
1660
|
composition status <jobId> [--wait] [--json]
|
|
1661
1661
|
`);
|
|
1662
1662
|
} else if (topic === 'edit') {
|
|
1663
|
-
console.log('Usage: makaron edit [--image <file|url>] [--model gemini|qwen|openai] [--skill enhance|creative|wild|captions] [--ref <file>] [--out <file>] "prompt"');
|
|
1663
|
+
console.log('Usage: makaron edit [--image <file|url>] [--model gemini|gemini-lite|qwen|openai|pony|wai] [--skill enhance|creative|wild|captions] [--ref <file>] [--out <file>] "prompt"');
|
|
1664
1664
|
} else if (topic === 'analyze') {
|
|
1665
1665
|
console.log('Usage: makaron analyze --video <file|url> ["question"]');
|
|
1666
1666
|
} else if (topic === 'video') {
|
|
1667
1667
|
if (subtopic === 'script') console.log('Usage: makaron video script --image <file> [--image <file>] [--lang en|zh] "direction"');
|
|
1668
|
-
else if (subtopic === 'create') console.log('Usage: makaron video create --script "..." (--image <url> | --video <public-url>) [--duration 10] [--aspect 9:16] [--model seedance-fast|seedance-mini|seedance|kling|grok] [--video-resolution auto|480p|720p|1080p|4k] [--keep-original-sound]');
|
|
1668
|
+
else if (subtopic === 'create') console.log('Usage: makaron video create --script "..." (--image <url> | --video <public-url>) [--duration 10] [--aspect 9:16] [--model seedance-fast|seedance-mini|seedance|kling|grok|google-omni] [--video-resolution auto|480p|720p|1080p|4k] [--keep-original-sound]');
|
|
1669
1669
|
else if (subtopic === 'status') console.log('Usage: makaron video status <taskId> | --snapshot <snapshotId> [--wait]');
|
|
1670
1670
|
else console.log(`Video commands:
|
|
1671
1671
|
video script --image <file> [--image <file>] "direction" Write video script
|
|
1672
1672
|
video create --script "..." --image <url> [--duration 10] Submit video task
|
|
1673
|
-
video create --script "..." --video <public-url> [--model seedance-fast|seedance-mini|seedance|kling] Edit a video (standalone; Grok does not support video refs)
|
|
1673
|
+
video create --script "..." --video <public-url> [--model seedance-fast|seedance-mini|seedance|kling|google-omni] Edit a video (standalone; Grok does not support video refs)
|
|
1674
1674
|
video status <taskId> Check video status
|
|
1675
1675
|
video status --snapshot <snapshotId> [--wait] Check v2 video snapshot
|
|
1676
1676
|
`);
|
|
@@ -2249,7 +2249,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
|
|
|
2249
2249
|
else promptParts.push(args[i]);
|
|
2250
2250
|
}
|
|
2251
2251
|
editArgs.editPrompt = promptParts.join(' ');
|
|
2252
|
-
if (!editArgs.editPrompt) { console.error('Usage: makaron edit [--image <file|url>] [--model gemini|qwen|openai] [--ref <file>] [--out <file>] "prompt"'); process.exit(1); }
|
|
2252
|
+
if (!editArgs.editPrompt) { console.error('Usage: makaron edit [--image <file|url>] [--model gemini|gemini-lite|qwen|openai|pony|wai] [--ref <file>] [--out <file>] "prompt"'); process.exit(1); }
|
|
2253
2253
|
process.stderr.write('🎨 Generating...\n');
|
|
2254
2254
|
const result = await callMcpTool(baseUrl, headers, 'makaron_edit_image', editArgs);
|
|
2255
2255
|
saveMcpImage(result, outputPath);
|
|
@@ -2305,7 +2305,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
|
|
|
2305
2305
|
else if (args[i] === '--wait') wait = true;
|
|
2306
2306
|
}
|
|
2307
2307
|
if ((!images.length && !video) || !script) {
|
|
2308
|
-
console.error('Usage: makaron video create --script "..." (--image <url> | --video <public-url>) [--duration 10] [--aspect 9:16] [--model seedance-fast|seedance-mini|seedance|kling|grok] [--video-resolution auto|480p|720p|1080p|4k] [--keep-original-sound]');
|
|
2308
|
+
console.error('Usage: makaron video create --script "..." (--image <url> | --video <public-url>) [--duration 10] [--aspect 9:16] [--model seedance-fast|seedance-mini|seedance|kling|grok|google-omni] [--video-resolution auto|480p|720p|1080p|4k] [--keep-original-sound]');
|
|
2309
2309
|
process.exit(1);
|
|
2310
2310
|
}
|
|
2311
2311
|
|
|
@@ -2318,7 +2318,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
|
|
|
2318
2318
|
let inputVideoMeta = null;
|
|
2319
2319
|
const selectedVideoModel = videoModel || 'seedance-fast';
|
|
2320
2320
|
if (videoUrl) {
|
|
2321
|
-
process.stderr.write(`📹 Assuming public video URL already matches provider reference limits. Seedance requires ≤${MAX_VIDEO_PROVIDER_REFERENCE_DURATION}s, ≤50MB, sides 300-6000px, frame pixels 409,600-${MAX_VIDEO_FRAME_PIXELS}; Kling requires ≤200MB and ≤2K
|
|
2321
|
+
process.stderr.write(`📹 Assuming public video URL already matches provider reference limits. Seedance requires ≤${MAX_VIDEO_PROVIDER_REFERENCE_DURATION}s, ≤50MB, sides 300-6000px, frame pixels 409,600-${MAX_VIDEO_FRAME_PIXELS}; Kling requires ≤200MB and ≤2K; Google Omni accepts one reference video in Makaron; Grok does not support video references.\n`);
|
|
2322
2322
|
}
|
|
2323
2323
|
if (video && !videoUrl) {
|
|
2324
2324
|
const valid = validateVideoFile(video, {
|
|
@@ -2392,7 +2392,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
|
|
|
2392
2392
|
console.log(`Video commands:
|
|
2393
2393
|
video script --image <file> [--image <file>] "direction" Write video script
|
|
2394
2394
|
video create --script "..." --image <url> [--duration 10] Submit video task
|
|
2395
|
-
video create --script "..." --video <public-url> [--model seedance-fast|seedance-mini|seedance|kling] Edit a video (standalone; Grok does not support video refs)
|
|
2395
|
+
video create --script "..." --video <public-url> [--model seedance-fast|seedance-mini|seedance|kling|google-omni] Edit a video (standalone; Grok does not support video refs)
|
|
2396
2396
|
video status <taskId> Check video status
|
|
2397
2397
|
video status --snapshot <snapshotId> [--wait] Check v2 video snapshot
|
|
2398
2398
|
`);
|
package/package.json
CHANGED
package/skills/makaron/SKILL.md
CHANGED
|
@@ -238,7 +238,7 @@ npx makaron-cli edit --image photo.jpg --ref style.jpg "match this style"
|
|
|
238
238
|
npx makaron-cli edit --image photo.jpg --out result.jpg "make it dramatic"
|
|
239
239
|
```
|
|
240
240
|
|
|
241
|
-
Options: `--image`, `--model gemini|qwen|openai|pony|wai`, `--ref <file>` (up to 3), `--aspect <ratio>`, `--out <path>`
|
|
241
|
+
Options: `--image`, `--model gemini|gemini-lite|qwen|openai|pony|wai`, `--ref <file>` (up to 3), `--aspect <ratio>`, `--out <path>`
|
|
242
242
|
|
|
243
243
|
### `video` — Standalone video tools (no project timeline)
|
|
244
244
|
|
|
@@ -267,9 +267,9 @@ npx makaron-cli video status <taskId>
|
|
|
267
267
|
npx makaron-cli chat --project <id|auto> --video input.mp4 -b "make it funny"
|
|
268
268
|
```
|
|
269
269
|
|
|
270
|
-
Options for `video create`: `--script "..."`, `--script-file <path>`, `--image <url>` (repeatable, up to 7), `--video <file|url>`, `--duration <seconds>`, `--aspect 9:16|16:9|1:1`, `--model seedance-fast|seedance-mini|seedance|kling|grok`, `--video-resolution auto|480p|720p|1080p|4k`. Default model is `seedance-fast`. SeeDance accepts integer output duration 4-15s (default 5s); `seedance-mini` supports 480p/720p and is best for cheaper drafts/multi-size tests; Kling supports 5-15s; Grok 1.5 supports 1-15s single-image-to-video only. For `--model grok`, forced `--aspect` is ignored to avoid xAI stretching the source image; pad/create the image at the target shape first or use another model.
|
|
270
|
+
Options for `video create`: `--script "..."`, `--script-file <path>`, `--image <url>` (repeatable, up to 7), `--video <file|url>`, `--duration <seconds>`, `--aspect 9:16|16:9|1:1`, `--model seedance-fast|seedance-mini|seedance|kling|grok|google-omni`, `--video-resolution auto|480p|720p|1080p|4k`. Default model is `seedance-fast`. SeeDance accepts integer output duration 4-15s (default 5s); `seedance-mini` supports 480p/720p and is best for cheaper drafts/multi-size tests; Kling supports 5-15s; Grok 1.5 supports 1-15s single-image-to-video only; Gemini Omni supports 3-10s fast 720p image/video generation and editing with native generated audio. For `--model grok`, forced `--aspect` is ignored to avoid xAI stretching the source image; pad/create the image at the target shape first or use another model.
|
|
271
271
|
|
|
272
|
-
Video edit model behavior: `--model kling --video` uses Kling base/direct edit internally; `--model seedance-fast --video`, `--model seedance-mini --video`, or `--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.
|
|
272
|
+
Video edit model behavior: `--model kling --video` uses Kling base/direct edit internally; `--model seedance-fast --video`, `--model seedance-mini --video`, or `--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. `--model google-omni --video` uses Gemini Omni direct video editing and accepts one reference video in Makaron. Output duration is clamped to 3-10s. Grok does not support video references.
|
|
273
273
|
|
|
274
274
|
### `music` — Music generation
|
|
275
275
|
|
|
@@ -402,7 +402,7 @@ send_message "All done!"
|
|
|
402
402
|
- One project = one conversation thread. All history is preserved.
|
|
403
403
|
- One run at a time per project. New message interrupts previous run.
|
|
404
404
|
- Multi-image: `create --image a.jpg --image b.jpg` or `chat --image ref.jpg`.
|
|
405
|
-
- Provider-generated videos can take 3-5 minutes; Grok is usually around 30-40 seconds. Remotion compositions should be converted with `materialize` / `responses get --materialize`, and timing should be read from `duration_seconds`, `render_seconds`, and `realtime_ratio`.
|
|
405
|
+
- Provider-generated videos can take 3-5 minutes; Grok is usually around 30-40 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`.
|
|
406
406
|
- Music takes ~60 seconds. Appears in output when done.
|
|
407
407
|
- Images are typically ready in 15-30 seconds.
|
|
408
408
|
- stdout is always machine-readable JSON/text. Human-friendly logs go to stderr.
|