makaron-cli 0.15.1 → 0.15.3

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.1",
3
+ "version": "0.15.3",
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.1",
3
+ "version": "0.15.3",
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
@@ -107,12 +107,12 @@ npx makaron-cli chat --project auto --image photo.jpg --json -b "make it cinemat
107
107
  npx makaron-cli chat --project auto --image img1.jpg --image img2.jpg --json -b "combine these"
108
108
  ```
109
109
 
110
- `chat` routes image and video models automatically, but you may select the Agent LLM with `--agent-model`. Accepted values are `auto`, the base model IDs (`gpt-5.6-terra`, `gpt-5.6-sol`, `gpt-5.6-luna`, `grok-4.6`, `deepseek-v4-pro`, `deepseek-flash`), and the personal-plan routes (`gpt-5.6-terra-codex-subscription`, `gpt-5.6-sol-codex-subscription`, `gpt-5.6-luna-codex-subscription`, `grok-4.6-grok-subscription`). For the configured owner, `auto` resolves to GPT-5.6 Terra through the personal Codex plan. Base GPT-5.6 IDs select Azure API and base `grok-4.6` selects OpenRouter API; the suffixed IDs select the corresponding personal plan explicitly. This flag changes only the reasoning/tool-calling Agent LLM.
110
+ `chat` routes image and video models automatically, but you may select the Agent LLM with `--agent-model`. Accepted values are `auto`, the base model IDs (`gpt-6-luna`, `gpt-6-sol`, `gpt-5.6-terra`, `gpt-5.6-sol`, `gpt-5.6-luna`, `grok-4.6`, `deepseek-v4-pro`, `deepseek-flash`), and the personal-plan routes (`gpt-6-luna-codex-subscription`, `gpt-6-sol-codex-subscription`, `gpt-5.6-terra-codex-subscription`, `gpt-5.6-sol-codex-subscription`, `gpt-5.6-luna-codex-subscription`, `grok-4.6-grok-subscription`). `auto` resolves to GPT-6 Luna through the Codex subscription for eligible accounts (including admins) and through Azure API otherwise. Base GPT-5.6 and GPT-6 IDs select Azure API and base `grok-4.6` selects OpenRouter API; the suffixed IDs explicitly request the corresponding personal plan where authorized. This flag changes only the reasoning/tool-calling Agent LLM.
111
111
 
112
112
  ```bash
113
113
  # Explicit lower-cost Agent LLM for a controlled comparison
114
114
  npx makaron-cli chat --project auto --agent-model deepseek-v4-pro --json -b "make a 20s badminton video"
115
- npx makaron-cli chat --project auto --agent-model gpt-5.6-sol-codex-subscription --json -b "reply with the active model"
115
+ npx makaron-cli chat --project auto --agent-model gpt-6-luna-codex-subscription --json -b "reply with the active model"
116
116
  npx makaron-cli chat --project auto --agent-model grok-4.6-grok-subscription --json -b "reply with the active model"
117
117
  ```
118
118
 
@@ -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
 
package/bin/makaron.mjs CHANGED
@@ -30,9 +30,13 @@ const UPDATE_CHECK_TIMEOUT_MS = 400;
30
30
  const AGENT_WAIT_TIMEOUT_SECONDS = Math.max(900, Number(process.env.MAKARON_AGENT_WAIT_TIMEOUT_SECONDS || 10_800));
31
31
  const CHAT_AGENT_MODELS = [
32
32
  'auto',
33
+ 'gpt-6-luna',
34
+ 'gpt-6-sol',
33
35
  'gpt-5.6-terra',
34
36
  'gpt-5.6-sol',
35
37
  'gpt-5.6-luna',
38
+ 'gpt-6-luna-codex-subscription',
39
+ 'gpt-6-sol-codex-subscription',
36
40
  'gpt-5.6-terra-codex-subscription',
37
41
  'gpt-5.6-sol-codex-subscription',
38
42
  'gpt-5.6-luna-codex-subscription',
@@ -508,17 +512,18 @@ Options:
508
512
  --audio <file|url> Attach a song, beat, or voice reference. MP3/WAV, repeatable.
509
513
  --media-manifest <file|-> Import typed image/video media before this run.
510
514
  --skill <id|label|name> Use an installed skill or auto-install a matched marketplace skill.
511
- --agent-model <id> Agent LLM only: auto, gpt-5.6-terra, gpt-5.6-sol,
515
+ --agent-model <id> Agent LLM only: auto, gpt-6-luna, gpt-6-sol, gpt-5.6-terra, gpt-5.6-sol,
512
516
  gpt-5.6-luna, grok-4.6, deepseek-v4-pro, deepseek-flash, or a
513
- gpt-5.6-*-codex-subscription or
517
+ gpt-6-*-codex-subscription, gpt-5.6-*-codex-subscription or
514
518
  grok-4.6-grok-subscription personal-plan route.
515
519
  --background, -b Submit and print a runId.
516
520
  --json Output structured JSON (includes per-run "usage" credits).
517
521
  --stream Legacy live SSE stream.
518
522
  --help, -h Show this help.
519
523
 
520
- Agent LLM defaults to auto (GPT-5.6 Terra; the account owner uses the personal
521
- Codex plan). Base GPT-5.6 ids select Azure API; append -codex-subscription to
524
+ Agent LLM defaults to auto (GPT-6 Luna through the Codex subscription for
525
+ eligible accounts, including admins, or Azure API otherwise). GPT-5.6 and GPT-6
526
+ base ids select Azure API; append -codex-subscription to
522
527
  select the personal plan explicitly. Base grok-4.6 selects OpenRouter API;
523
528
  grok-4.6-grok-subscription selects the personal SuperGrok plan. Image/video
524
529
  model routing stays automatic in chat.
@@ -554,7 +559,7 @@ What you can ask:
554
559
  makaron chat --project auto --agent-model deepseek-v4-pro -b --json "make a 20s badminton video"
555
560
 
556
561
  Force the personal Codex plan
557
- makaron chat --project auto --agent-model gpt-5.6-sol-codex-subscription -b --json "reply with the active model"
562
+ makaron chat --project auto --agent-model gpt-6-luna-codex-subscription -b --json "reply with the active model"
558
563
 
559
564
  Force the personal SuperGrok plan
560
565
  makaron chat --project auto --agent-model grok-4.6-grok-subscription -b --json "reply with the active model"
@@ -1155,7 +1160,7 @@ async function exportComposition(baseUrl, headers, opts = {}) {
1155
1160
  designPath: opts.designPath,
1156
1161
  design: opts.design,
1157
1162
  outputType: opts.outputType || 'video',
1158
- renderProfile: opts.renderProfile || 'fast_720p',
1163
+ renderProfile: opts.renderProfile || 'source',
1159
1164
  publish: opts.publish === true,
1160
1165
  name: opts.name,
1161
1166
  };
@@ -2794,7 +2799,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
2794
2799
  await listProjects(baseUrl, headers);
2795
2800
  } else if (command === 'materialize') {
2796
2801
  const { headers, baseUrl } = getAuth();
2797
- 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 };
2798
2803
  for (let i = 1; i < args.length; i++) {
2799
2804
  if (args[i] === '--project' && args[i + 1]) opts.projectId = args[++i];
2800
2805
  else if (args[i] === '--media' && args[i + 1]) opts.mediaIndex = Number(args[++i]);
@@ -2822,7 +2827,7 @@ if (!command || command === '--help' || command === '-h' || command === 'help')
2822
2827
  const { headers, baseUrl } = getAuth();
2823
2828
  const sub = args[1];
2824
2829
  if (sub === 'export') {
2825
- 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 };
2826
2831
  for (let i = 2; i < args.length; i++) {
2827
2832
  if (args[i] === '--project' && args[i + 1]) opts.projectId = args[++i];
2828
2833
  else if (args[i] === '--media' && args[i + 1]) opts.mediaIndex = Number(args[++i]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "makaron-cli",
3
- "version": "0.15.1",
3
+ "version": "0.15.3",
4
4
  "description": "Talk to Makaron Agent from the terminal — create projects, edit images, generate videos",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -99,11 +99,11 @@ npx makaron-cli chat --project auto --image photo.jpg --json -b "make it cinemat
99
99
  npx makaron-cli chat --project auto --image img1.jpg --image img2.jpg --json -b "combine these"
100
100
  ```
101
101
 
102
- `chat` routes image and video models automatically. Use `--agent-model` only when the user explicitly asks to select or compare the reasoning/tool-calling Agent LLM. Accepted values are `auto`, the base model IDs (`gpt-5.6-terra`, `gpt-5.6-sol`, `gpt-5.6-luna`, `grok-4.6`, `deepseek-v4-pro`, `deepseek-flash`), and the personal-plan routes (`gpt-5.6-terra-codex-subscription`, `gpt-5.6-sol-codex-subscription`, `gpt-5.6-luna-codex-subscription`). For the configured owner, `auto` uses GPT-5.6 Terra through the personal Codex plan; base GPT-5.6 IDs select Azure API, while suffixed IDs explicitly select the personal plan. Never put an image or video model ID in `--agent-model`.
102
+ `chat` routes image and video models automatically. Use `--agent-model` only when the user explicitly asks to select or compare the reasoning/tool-calling Agent LLM. Accepted values are `auto`, the base model IDs (`gpt-6-luna`, `gpt-6-sol`, `gpt-5.6-terra`, `gpt-5.6-sol`, `gpt-5.6-luna`, `grok-4.6`, `deepseek-v4-pro`, `deepseek-flash`), and the personal-plan routes (`gpt-6-luna-codex-subscription`, `gpt-6-sol-codex-subscription`, `gpt-5.6-terra-codex-subscription`, `gpt-5.6-sol-codex-subscription`, `gpt-5.6-luna-codex-subscription`). `auto` uses GPT-6 Luna through the Codex subscription for eligible accounts (including admins) and through Azure API otherwise; base GPT-5.6 and GPT-6 IDs select Azure API, while suffixed IDs explicitly request the personal plan where authorized. Never put an image or video model ID in `--agent-model`.
103
103
 
104
104
  ```bash
105
105
  npx makaron-cli chat --project auto --agent-model deepseek-v4-pro --json -b "make a 20s badminton video"
106
- npx makaron-cli chat --project auto --agent-model gpt-5.6-sol-codex-subscription --json -b "reply with the active model"
106
+ npx makaron-cli chat --project auto --agent-model gpt-6-luna-codex-subscription --json -b "reply with the active model"
107
107
  ```
108
108
 
109
109
  Returns immediately:
@@ -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