@koda-sl/baker-cli 0.282.0-dev.37d65c47b → 0.282.0-dev.51855d0e5

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.
@@ -1166,6 +1166,7 @@ var OPENROUTER_IMAGE_SIZES = ["0.5K", ...OPENROUTER_IMAGE_SIZE];
1166
1166
  var OPENROUTER_IMAGE_SIZE_EXTENDED = OPENROUTER_IMAGE_SIZES;
1167
1167
  var GEMINI_LITE_IMAGE_SIZE = ["1K"];
1168
1168
  var OPENROUTER_IMAGE_QUALITY = ["auto", "low", "medium", "high"];
1169
+ var OPENROUTER_IMAGE_QUALITY_25 = ["auto", "low", "medium", "high", "xhigh", "max"];
1169
1170
  var RECRAFT_IMAGE_AR = ["1:1", "4:3", "3:4", "16:9", "9:16"];
1170
1171
  var SEEDANCE_DURATIONS = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
1171
1172
  var SEEDANCE_25_DURATIONS = [
@@ -1228,6 +1229,7 @@ var REPLICATE_VIDEO_MIMES = ["video/mp4", "video/webm", "video/quicktime"];
1228
1229
  var DECONSTRUCT_VIDEO_MIMES = ["video/mp4", "video/webm", "video/quicktime"];
1229
1230
  var REPLICATE_AUDIO_MIMES = ["audio/wav", "audio/mpeg", "audio/mp3"];
1230
1231
  var IMAGE_GENERATE_MODELS = [
1232
+ "openai/gpt-image-2.5-sunburst",
1231
1233
  "openai/gpt-image-2",
1232
1234
  "openai/gpt-5.4-image-2",
1233
1235
  "google/gemini-3.1-flash-image-preview",
@@ -1373,6 +1375,20 @@ var MODEL_REGISTRY = {
1373
1375
  // images as a side effect. Notable capability gaps vs the Gemini entries:
1374
1376
  // no `image_size` (OpenAI picks the pixel dimensions from the ratio, and a
1375
1377
  // `resolution` is silently ignored) and the narrower `..._AR_GPT` ratio set.
1378
+ "openai/gpt-image-2.5-sunburst": {
1379
+ // Identical to the gpt-image-2 entry below except for the quality ladder — the
1380
+ // ratio set, the 16-reference ceiling, the missing `image_size` and the reasons
1381
+ // `background` / `output_compression` stay undeclared all carry over unchanged.
1382
+ label: "OpenAI GPT Image 2.5",
1383
+ inputs: [],
1384
+ optional_inputs: [{ kind: "image", mimes: OPENROUTER_IMAGE_MIMES, max: GPT_IMAGE_MAX_REFERENCES }],
1385
+ required: ["prompt"],
1386
+ params: {
1387
+ prompt: { kind: "string", maxLength: GPT_IMAGE_PROMPT_MAX },
1388
+ aspect_ratio: { kind: "string", enum: OPENROUTER_IMAGE_AR_GPT },
1389
+ quality: { kind: "string", enum: OPENROUTER_IMAGE_QUALITY_25 }
1390
+ }
1391
+ },
1376
1392
  "openai/gpt-image-2": {
1377
1393
  // Its live endpoint also advertises `background` (auto|opaque) and
1378
1394
  // `output_compression` (0-100), which we deliberately do not declare. Not an
@@ -2047,6 +2063,19 @@ function maxInputSlot(kind, model, inputKind) {
2047
2063
  function maxInputReferences(kind, model) {
2048
2064
  return maxInputSlot(kind, model, "image");
2049
2065
  }
2066
+ function supportedQualities(kind, model) {
2067
+ const schema = MODEL_REGISTRY[kind]?.[model]?.params.quality;
2068
+ return schema?.kind === "string" ? schema.enum : void 0;
2069
+ }
2070
+ function bestSupportedQuality(kind, model, want) {
2071
+ const supported = supportedQualities(kind, model);
2072
+ if (!supported) return void 0;
2073
+ if (supported.includes(want)) return want;
2074
+ const ladder = supported.filter((step) => step !== "auto");
2075
+ const ceiling = ladder.indexOf(want);
2076
+ const reachable = ceiling === -1 ? ladder : ladder.slice(0, ceiling);
2077
+ return reachable[reachable.length - 1];
2078
+ }
2050
2079
  function supportedAspectRatios(kind, model) {
2051
2080
  const schema = MODEL_REGISTRY[kind]?.[model]?.params.aspect_ratio;
2052
2081
  return schema?.kind === "string" ? schema.enum : void 0;
@@ -3260,9 +3289,14 @@ var GPT_IMAGE_PROFILE = {
3260
3289
  id: "gpt-image",
3261
3290
  constraintPlacement: "last",
3262
3291
  photorealCue: true,
3263
- // OpenRouter forwards `quality`; gpt-image-2 already processes inputs at high
3264
- // fidelity automatically, so we deliberately do NOT send `input_fidelity`.
3265
- paramDefaults: { quality: "high" }
3292
+ // OpenRouter forwards `quality`; gpt-image already processes inputs at high fidelity
3293
+ // automatically, so we deliberately do NOT send `input_fidelity`.
3294
+ //
3295
+ // No `quality` here any more: it is the one default that depends on WHICH gpt-image is
3296
+ // pinned. 2.5 added `xhigh` and `max` above `high`, and the older entries would refuse
3297
+ // them at validate — so callers ask for the step they want through
3298
+ // `bestSupportedQuality` and get the best the chosen model actually has.
3299
+ paramDefaults: {}
3266
3300
  };
3267
3301
  var GEMINI_IMAGE_PROFILE = {
3268
3302
  id: "gemini",
@@ -9304,6 +9338,7 @@ export {
9304
9338
  promptMaxLength,
9305
9339
  maxInputSlot,
9306
9340
  maxInputReferences,
9341
+ bestSupportedQuality,
9307
9342
  nearestSupportedAspectRatio,
9308
9343
  nearestSupportedImageSize,
9309
9344
  estimateVideoCredits,
@@ -9344,4 +9379,4 @@ export {
9344
9379
  defaultRegistry,
9345
9380
  createEngineFromEnv
9346
9381
  };
9347
- //# sourceMappingURL=chunk-6KTKYFT4.js.map
9382
+ //# sourceMappingURL=chunk-LOUE7GTU.js.map