makaron-cli 0.15.2 → 0.15.4

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.15.2",
3
+ "version": "0.15.4",
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.15.2",
3
+ "version": "0.15.4",
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
@@ -246,7 +246,7 @@ npx makaron-cli composition export --project <projectId> --snapshot <snapshotId>
246
246
  npx makaron-cli composition status <jobId> --wait
247
247
  ```
248
248
 
249
- `materialize` is the preferred high-level command for Remotion-to-MP4. It defaults to `--wait`, `--publish`, and the `fast_720p` profile (short side 720, no upscale), so the completed MP4 is also added back to the project timeline like CUI. Use `--no-publish` only when you need a file URL without a new timeline video. Use `--profile source` only when full source resolution is required.
249
+ `materialize` is the preferred high-level command for Remotion-to-MP4. It defaults to `--wait`, `--publish`, and the `source` profile, preserving the composition's dimensions when the MP4 is added back to the project timeline. Use `--no-publish` when you need only a file URL. Use `--profile fast_720p` only when a 720-short-side export is acceptable.
250
250
 
251
251
  For a run that produced an animated composition, materialize before picking the video URL:
252
252
 
@@ -262,7 +262,7 @@ npx makaron-cli materialize --project <projectId> --design-json composition.json
262
262
  cat composition.json | npx makaron-cli materialize --project <projectId> --design-json - --pick url
263
263
  ```
264
264
 
265
- This JSON-to-MP4 path uses the same defaults as timeline materialize: `--wait`, `--publish`, and `fast_720p`. Add `--no-publish` only when another agent needs the MP4 URL but should not add a timeline video.
265
+ This JSON-to-MP4 path uses the same defaults as timeline materialize: `--wait`, `--publish`, and `source`. Add `--no-publish` when another agent needs the MP4 URL without adding a timeline video.
266
266
 
267
267
  The completed export reports `duration_seconds`, `render_seconds`, and `realtime_ratio` so agents can compare video length against export time. Do not apply provider-video ETA rules to Remotion materialize; with a warm exporter it is often near video length to tens of seconds, while cold starts can be longer.
268
268
 
@@ -384,7 +384,7 @@ npx makaron-cli edit --image photo.jpg --out result.jpg "make it dramatic"
384
384
  npx makaron-cli edit --image-model gpt-image-2.5-flare --background transparent --out sticker.png "a magenta star sticker"
385
385
  ```
386
386
 
387
- Options: `--image`, `--image-model gemini|gemini-lite|qwen|qwen-spicy|openai|gpt-image-2.5-flare|gpt-image-2.5-sunburst|wan2.7-image|pony|wai`, `--ref <file>` (up to 3), `--aspect <ratio>`, `--background auto|opaque|transparent`, `--out <path>`. Qwen Spicy is an independent 1–3 image editor; `qwen` remains the existing self-hosted model. Transparent output routes strictly to GPT Image 2.5 Flare and is returned only when the provider supplies real PNG/WebP alpha.
387
+ Options: `--image`, `--image-model gemini|gemini-lite|qwen-spicy|openai|gpt-image-2.5-flare|gpt-image-2.5-sunburst|wan2.7-image`, `--ref <file>` (up to 3), `--aspect <ratio>`, `--background auto|opaque|transparent`, `--out <path>`. Qwen Spicy supports 0–3 input images; legacy `qwen` requests map to it. Pony and WAI are retired. Transparent output routes strictly to GPT Image 2.5 Flare and is returned only when the provider supplies real PNG/WebP alpha.
388
388
 
389
389
  `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."`
390
390
 
package/bin/makaron.mjs CHANGED
@@ -1160,7 +1160,7 @@ async function exportComposition(baseUrl, headers, opts = {}) {
1160
1160
  designPath: opts.designPath,
1161
1161
  design: opts.design,
1162
1162
  outputType: opts.outputType || 'video',
1163
- renderProfile: opts.renderProfile || 'fast_720p',
1163
+ renderProfile: opts.renderProfile || 'source',
1164
1164
  publish: opts.publish === true,
1165
1165
  name: opts.name,
1166
1166
  };
@@ -1936,7 +1936,7 @@ Usage:
1936
1936
  Options:
1937
1937
  --image <file|url> Base image to edit. Omit for text-to-image.
1938
1938
  --ref <file|url> Additional reference image. Repeatable, up to 3.
1939
- --image-model <id> gemini, gemini-lite, qwen, qwen-spicy, openai, gpt-image-2.5-flare, gpt-image-2.5-sunburst, wan2.7-image, pony, or wai.
1939
+ --image-model <id> gemini, gemini-lite, qwen-spicy, openai, gpt-image-2.5-flare, gpt-image-2.5-sunburst, or wan2.7-image. Legacy qwen maps to qwen-spicy.
1940
1940
  --skill <id> enhance, creative, wild, or captions.
1941
1941
  --aspect <ratio> Output aspect ratio, for example 1:1, 16:9, or 9:16.
1942
1942
  --background <mode> auto, opaque, or transparent.
@@ -1948,7 +1948,7 @@ Notes:
1948
1948
  and fails instead of returning an opaque fallback.
1949
1949
 
1950
1950
  Examples:
1951
- makaron edit --image portrait.jpg --image-model qwen --out result.jpg "cinematic warm light"
1951
+ makaron edit --image portrait.jpg --image-model qwen-spicy --out result.jpg "cinematic warm light"
1952
1952
  makaron edit --image product.jpg --ref style.png --aspect 1:1 "use this visual style"
1953
1953
  makaron edit --image-model gpt-image-2.5-flare --background transparent --out sticker.png "a magenta star sticker"
1954
1954
  `);
@@ -2799,7 +2799,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
2799
2799
  await listProjects(baseUrl, headers);
2800
2800
  } else if (command === 'materialize') {
2801
2801
  const { headers, baseUrl } = getAuth();
2802
- const opts = { wait: true, publish: true, json: false, outputType: 'video', renderProfile: 'fast_720p', pick: null, quiet: false };
2802
+ const opts = { wait: true, publish: true, json: false, outputType: 'video', renderProfile: 'source', pick: null, quiet: false };
2803
2803
  for (let i = 1; i < args.length; i++) {
2804
2804
  if (args[i] === '--project' && args[i + 1]) opts.projectId = args[++i];
2805
2805
  else if (args[i] === '--media' && args[i + 1]) opts.mediaIndex = Number(args[++i]);
@@ -2827,7 +2827,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
2827
2827
  const { headers, baseUrl } = getAuth();
2828
2828
  const sub = args[1];
2829
2829
  if (sub === 'export') {
2830
- const opts = { wait: false, publish: false, json: false, outputType: 'video', renderProfile: 'fast_720p', pick: null, quiet: false };
2830
+ const opts = { wait: false, publish: false, json: false, outputType: 'video', renderProfile: 'source', pick: null, quiet: false };
2831
2831
  for (let i = 2; i < args.length; i++) {
2832
2832
  if (args[i] === '--project' && args[i + 1]) opts.projectId = args[++i];
2833
2833
  else if (args[i] === '--media' && args[i + 1]) opts.mediaIndex = Number(args[++i]);
@@ -3043,7 +3043,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
3043
3043
  else promptParts.push(args[i]);
3044
3044
  }
3045
3045
  editArgs.editPrompt = promptParts.join(' ');
3046
- if (!editArgs.editPrompt) { console.error('Usage: makaron edit [--image <file|url>] [--image-model gemini|gemini-lite|qwen|qwen-spicy|openai|gpt-image-2.5-flare|gpt-image-2.5-sunburst|wan2.7-image|pony|wai] [--ref <file>] [--aspect <ratio>] [--background auto|opaque|transparent] [--out <file>] "prompt"'); process.exit(1); }
3046
+ if (!editArgs.editPrompt) { console.error('Usage: makaron edit [--image <file|url>] [--image-model gemini|gemini-lite|qwen-spicy|openai|gpt-image-2.5-flare|gpt-image-2.5-sunburst|wan2.7-image] [--ref <file>] [--aspect <ratio>] [--background auto|opaque|transparent] [--out <file>] "prompt"'); process.exit(1); }
3047
3047
  process.stderr.write('🎨 Generating...\n');
3048
3048
  const result = await callMcpTool(baseUrl, headers, 'makaron_edit_image', editArgs);
3049
3049
  saveMcpImage(result, outputPath);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "makaron-cli",
3
- "version": "0.15.2",
3
+ "version": "0.15.4",
4
4
  "description": "Talk to Makaron Agent from the terminal — create projects, edit images, generate videos",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -315,7 +315,7 @@ npx makaron-cli edit --image photo.jpg --out result.jpg "make it dramatic"
315
315
  npx makaron-cli edit --image-model gpt-image-2.5-flare --background transparent --out sticker.png "a magenta star sticker"
316
316
  ```
317
317
 
318
- Options: `--image`, `--image-model gemini|gemini-lite|qwen|qwen-spicy|openai|gpt-image-2.5-flare|gpt-image-2.5-sunburst|wan2.7-image|pony|wai`, `--ref <file>` (up to 3), `--aspect <ratio>`, `--background auto|opaque|transparent`, `--out <path>`. Qwen Spicy is an independent 1–3 image editor; `qwen` remains the existing self-hosted model. Transparent output routes strictly to GPT Image 2.5 Flare 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.
318
+ Options: `--image`, `--image-model gemini|gemini-lite|qwen-spicy|openai|gpt-image-2.5-flare|gpt-image-2.5-sunburst|wan2.7-image`, `--ref <file>` (up to 3), `--aspect <ratio>`, `--background auto|opaque|transparent`, `--out <path>`. Qwen Spicy supports 0–3 input images; legacy `qwen` requests map to it. Pony and WAI are retired. Transparent output routes strictly to GPT Image 2.5 Flare 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.
319
319
 
320
320
  ### `video` — Standalone video tools (no project timeline)
321
321
 
@@ -452,7 +452,7 @@ npx makaron-cli materialize --project <projectId> --design-json composition.json
452
452
  npx makaron-cli responses get <runId> --materialize --wait --pick first_video_url
453
453
  ```
454
454
 
455
- `materialize` defaults to `--wait`, `--publish`, and `fast_720p`, so the completed MP4 is added back to the timeline like CUI. Use `--no-publish` only when you need a file URL without a new timeline video. The completed export reports `duration_seconds`, `render_seconds`, and `realtime_ratio`; use those metrics instead of provider-video ETA rules.
455
+ `materialize` defaults to `--wait`, `--publish`, and `source`, preserving composition dimensions when the MP4 is added back to the timeline. Use `--no-publish` when you need only a file URL, or `--profile fast_720p` when a 720-short-side export is acceptable. The completed export reports `duration_seconds`, `render_seconds`, and `realtime_ratio`; use those metrics instead of provider-video ETA rules.
456
456
 
457
457
  For JSON-to-MP4, pass a Makaron/Remotion composition JSON with `--design-json`. This is the correct CLI path when another agent already has the composition JSON and only needs the exported video:
458
458
 
@@ -11,7 +11,7 @@ If adult intent is ambiguous, ask one short question before choosing this lane.
11
11
  | Adult request | Route |
12
12
  |---|---|
13
13
  | Agent-driven work or a persistent Makaron project | `makaron chat` with Agent model `grok-4.6` |
14
- | Standalone image generation or editing | `makaron edit` with image model `qwen` |
14
+ | Standalone image generation or editing | `makaron edit` with image model `qwen-spicy` |
15
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
@@ -20,20 +20,20 @@ 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-prime for video>"
23
+ -b "<complete adult request; use qwen-spicy 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
- npx makaron-cli edit --image-model qwen --image <file-or-url> --out <path> "<prompt>"
29
+ npx makaron-cli edit --image-model qwen-spicy --image <file-or-url> --out <path> "<prompt>"
30
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 Prime.
36
- - Never put `qwen` or `wan-3.0-prime` in `--agent-model`.
35
+ - Do not force SFW jobs onto Grok, Qwen Spicy, or Wan 3.0 Prime.
36
+ - Never put `qwen-spicy` 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.