@shop-os/modelkit 0.2.8 → 0.2.10
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/CHANGELOG.md +14 -0
- package/dist/catalog.cjs +126 -82
- package/dist/catalog.cjs.map +1 -1
- package/dist/catalog.d.cts +26 -5
- package/dist/catalog.d.ts +26 -5
- package/dist/catalog.js +126 -82
- package/dist/catalog.js.map +1 -1
- package/dist/index.cjs +158 -88
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +26 -5
- package/dist/index.d.ts +26 -5
- package/dist/index.js +152 -88
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/catalog.cjs
CHANGED
|
@@ -24,17 +24,23 @@ __export(catalog_entry_exports, {
|
|
|
24
24
|
Catalog: () => Catalog,
|
|
25
25
|
CatalogModelSchema: () => CatalogModelSchema,
|
|
26
26
|
CatalogSchema: () => CatalogSchema,
|
|
27
|
+
ExposureSchema: () => ExposureSchema,
|
|
27
28
|
IMAGE_MODELS: () => IMAGE_MODELS,
|
|
28
29
|
MODELS: () => MODELS,
|
|
29
30
|
ModelKitError: () => ModelKitError,
|
|
30
31
|
OTHER_MODELS: () => OTHER_MODELS,
|
|
32
|
+
SURFACES: () => SURFACES2,
|
|
33
|
+
SurfaceSchema: () => SurfaceSchema,
|
|
31
34
|
TEXT_MODELS: () => TEXT_MODELS,
|
|
32
35
|
VIDEO_MODELS: () => VIDEO_MODELS,
|
|
33
36
|
compareCatalogOrder: () => compareCatalogOrder,
|
|
37
|
+
isListed: () => isListed,
|
|
38
|
+
isListedOn: () => isListedOn,
|
|
34
39
|
isModelKitError: () => isModelKitError,
|
|
35
40
|
liveCatalog: () => liveCatalog,
|
|
36
41
|
liveState: () => liveState,
|
|
37
42
|
nearestAspectRatio: () => nearestAspectRatio,
|
|
43
|
+
normalizeExposure: () => normalizeExposure,
|
|
38
44
|
primeCatalog: () => primeCatalog,
|
|
39
45
|
resetLiveCatalog: () => resetLiveCatalog,
|
|
40
46
|
resolveAudioOptions: () => resolveAudioOptions,
|
|
@@ -167,6 +173,27 @@ var Catalog = class _Catalog {
|
|
|
167
173
|
}
|
|
168
174
|
};
|
|
169
175
|
|
|
176
|
+
// src/catalog/exposure.ts
|
|
177
|
+
var SURFACES = ["cowork", "space_builder"];
|
|
178
|
+
function normalizeExposure(value) {
|
|
179
|
+
if (value === "catalog") return ["cowork", "space_builder"];
|
|
180
|
+
if (value === "internal") return [];
|
|
181
|
+
if (Array.isArray(value)) {
|
|
182
|
+
if (value.every((entry) => SURFACES.includes(entry))) {
|
|
183
|
+
const present = new Set(value);
|
|
184
|
+
return SURFACES.filter((surface) => present.has(surface));
|
|
185
|
+
}
|
|
186
|
+
return value;
|
|
187
|
+
}
|
|
188
|
+
return value;
|
|
189
|
+
}
|
|
190
|
+
function isListedOn(row, surface) {
|
|
191
|
+
return row.lifecycle === "active" && row.exposure.includes(surface);
|
|
192
|
+
}
|
|
193
|
+
function isListed(row) {
|
|
194
|
+
return row.lifecycle === "active" && row.exposure.length > 0;
|
|
195
|
+
}
|
|
196
|
+
|
|
170
197
|
// src/catalog/image.ts
|
|
171
198
|
var IMAGE_USAGE = { unit: "images" };
|
|
172
199
|
var GEMINI_RATIOS = [
|
|
@@ -217,7 +244,7 @@ var IMAGE_MODELS = [
|
|
|
217
244
|
description: "Create stunning, production-quality visuals with exceptional realism, detail, and typography. Best for campaigns, e-commerce, product photography, and hero creatives.",
|
|
218
245
|
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/192485d2-a76a-4657-9c06-930b2c70badd_compressed.png"
|
|
219
246
|
},
|
|
220
|
-
"
|
|
247
|
+
["cowork", "space_builder"],
|
|
221
248
|
{ images: 14 }
|
|
222
249
|
),
|
|
223
250
|
geminiImage(
|
|
@@ -231,7 +258,7 @@ var IMAGE_MODELS = [
|
|
|
231
258
|
description: "Generate high-quality images at speed. Perfect for brainstorming, moodboards, concept testing, creative exploration, and large batch workflows.",
|
|
232
259
|
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/192485d2-a76a-4657-9c06-930b2c70badd_compressed.png"
|
|
233
260
|
},
|
|
234
|
-
"
|
|
261
|
+
["cowork", "space_builder"],
|
|
235
262
|
{ images: 14 }
|
|
236
263
|
),
|
|
237
264
|
geminiImage(
|
|
@@ -244,7 +271,7 @@ var IMAGE_MODELS = [
|
|
|
244
271
|
description: "The fastest and most affordable image model. Ideal for rapid drafts, bulk exploration, and iterative concept testing at 1K resolution.",
|
|
245
272
|
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/192485d2-a76a-4657-9c06-930b2c70badd_compressed.png"
|
|
246
273
|
},
|
|
247
|
-
"
|
|
274
|
+
["cowork", "space_builder"],
|
|
248
275
|
{ images: 14 }
|
|
249
276
|
),
|
|
250
277
|
// trigger-workflows validates 1K only; pricing seeds 2K/4K rows so allow all three.
|
|
@@ -257,7 +284,7 @@ var IMAGE_MODELS = [
|
|
|
257
284
|
provider: "google",
|
|
258
285
|
description: "Nano Banana (legacy Gemini 2.5 Flash Image) native image generation and editing model for high-volume, low-latency creative workflows."
|
|
259
286
|
},
|
|
260
|
-
|
|
287
|
+
[]
|
|
261
288
|
),
|
|
262
289
|
{
|
|
263
290
|
// Cowork "auto" lets OpenAI pick the size; the canonical equivalent is adaptive.
|
|
@@ -268,7 +295,7 @@ var IMAGE_MODELS = [
|
|
|
268
295
|
adapter: "openai-image",
|
|
269
296
|
providerModelId: "gpt-image-2",
|
|
270
297
|
lifecycle: "active",
|
|
271
|
-
exposure: "
|
|
298
|
+
exposure: ["cowork", "space_builder"],
|
|
272
299
|
constraints: {
|
|
273
300
|
exactSizes: {
|
|
274
301
|
"1:1": "1024x1024",
|
|
@@ -303,7 +330,7 @@ var IMAGE_MODELS = [
|
|
|
303
330
|
adapter: "openai-image",
|
|
304
331
|
providerModelId: "gpt-image-2.5-sunburst",
|
|
305
332
|
lifecycle: "active",
|
|
306
|
-
exposure: "
|
|
333
|
+
exposure: ["cowork", "space_builder"],
|
|
307
334
|
constraints: {
|
|
308
335
|
exactSizes: {
|
|
309
336
|
"1:1": "1024x1024",
|
|
@@ -337,7 +364,7 @@ var IMAGE_MODELS = [
|
|
|
337
364
|
adapter: "openai-image",
|
|
338
365
|
providerModelId: "gpt-image-2.5-flare",
|
|
339
366
|
lifecycle: "active",
|
|
340
|
-
exposure: "
|
|
367
|
+
exposure: ["cowork", "space_builder"],
|
|
341
368
|
constraints: {
|
|
342
369
|
exactSizes: {
|
|
343
370
|
"1:1": "1024x1024",
|
|
@@ -371,7 +398,7 @@ var IMAGE_MODELS = [
|
|
|
371
398
|
adapter: "fal",
|
|
372
399
|
providerModelId: "muse-image-1.0",
|
|
373
400
|
lifecycle: "active",
|
|
374
|
-
exposure: "
|
|
401
|
+
exposure: ["cowork", "space_builder"],
|
|
375
402
|
constraints: {
|
|
376
403
|
aspectRatios: [
|
|
377
404
|
"21:9",
|
|
@@ -406,7 +433,7 @@ var IMAGE_MODELS = [
|
|
|
406
433
|
adapter: "ark",
|
|
407
434
|
providerModelId: "dola-seedream-5-0-pro-260628",
|
|
408
435
|
lifecycle: "active",
|
|
409
|
-
exposure: "
|
|
436
|
+
exposure: ["cowork", "space_builder"],
|
|
410
437
|
constraints: {
|
|
411
438
|
aspectRatios: ["1:1", "4:3", "3:4", "16:9", "9:16", "3:2", "2:3", "21:9", "4:5", "5:4"],
|
|
412
439
|
sizes: ["1K", "2K"],
|
|
@@ -432,7 +459,7 @@ var IMAGE_MODELS = [
|
|
|
432
459
|
adapter: "ark",
|
|
433
460
|
providerModelId: "seedream-4-5-251128",
|
|
434
461
|
lifecycle: "active",
|
|
435
|
-
exposure:
|
|
462
|
+
exposure: [],
|
|
436
463
|
constraints: {
|
|
437
464
|
// 97:30 has no Ark size spelling; the A+ flow pads inputs to 97:30 and
|
|
438
465
|
// omits the ratio instead. Advertise only sizes the adapter can send.
|
|
@@ -469,7 +496,7 @@ var IMAGE_MODELS = [
|
|
|
469
496
|
adapter: "prodia",
|
|
470
497
|
providerModelId: "flux-2-pro",
|
|
471
498
|
lifecycle: "active",
|
|
472
|
-
exposure: "
|
|
499
|
+
exposure: ["cowork", "space_builder"],
|
|
473
500
|
constraints: {
|
|
474
501
|
aspectRatios: ["1:1", "2:3", "3:2", "16:9", "9:16", "4:3", "3:4", "4:5", "5:4", "21:9"],
|
|
475
502
|
sizes: ["1K"],
|
|
@@ -496,7 +523,7 @@ var IMAGE_MODELS = [
|
|
|
496
523
|
adapter: "prodia",
|
|
497
524
|
providerModelId: "inference.gemini-3-pro.img2img.v1",
|
|
498
525
|
lifecycle: "active",
|
|
499
|
-
exposure:
|
|
526
|
+
exposure: [],
|
|
500
527
|
constraints: {
|
|
501
528
|
aspectRatios: ["1:1", "2:3", "3:2", "4:3", "3:4", "4:5", "5:4", "9:16", "16:9", "21:9"],
|
|
502
529
|
sizes: ["1K", "2K", "4K"],
|
|
@@ -521,7 +548,7 @@ var IMAGE_MODELS = [
|
|
|
521
548
|
adapter: "prodia",
|
|
522
549
|
providerModelId: "inference.nano-banana.img2img.v2",
|
|
523
550
|
lifecycle: "active",
|
|
524
|
-
exposure:
|
|
551
|
+
exposure: [],
|
|
525
552
|
constraints: {
|
|
526
553
|
aspectRatios: ["1:1", "2:3", "3:4", "4:3", "9:16", "16:9", "21:9"],
|
|
527
554
|
sizes: ["1K"],
|
|
@@ -547,7 +574,7 @@ var IMAGE_MODELS = [
|
|
|
547
574
|
adapter: "replicate",
|
|
548
575
|
providerModelId: "wan-video/wan-2.7-image-pro",
|
|
549
576
|
lifecycle: "active",
|
|
550
|
-
exposure:
|
|
577
|
+
exposure: [],
|
|
551
578
|
constraints: {
|
|
552
579
|
aspectRatios: ["1:1", "16:9", "9:16", "4:3", "3:4"],
|
|
553
580
|
sizes: ["1K", "2K", "4K"],
|
|
@@ -573,7 +600,7 @@ var IMAGE_MODELS = [
|
|
|
573
600
|
adapter: "replicate",
|
|
574
601
|
providerModelId: "qwen/qwen-image-2-pro",
|
|
575
602
|
lifecycle: "active",
|
|
576
|
-
exposure:
|
|
603
|
+
exposure: [],
|
|
577
604
|
constraints: {
|
|
578
605
|
aspectRatios: ["1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3"],
|
|
579
606
|
sizes: [],
|
|
@@ -599,7 +626,7 @@ var IMAGE_MODELS = [
|
|
|
599
626
|
adapter: "replicate",
|
|
600
627
|
providerModelId: "qwen-edit-apps/qwen-image-edit-plus-lora-skin",
|
|
601
628
|
lifecycle: "active",
|
|
602
|
-
exposure:
|
|
629
|
+
exposure: [],
|
|
603
630
|
constraints: {
|
|
604
631
|
aspectRatios: ["1:1", "16:9", "9:16", "4:3", "3:4"],
|
|
605
632
|
sizes: [],
|
|
@@ -628,7 +655,7 @@ var OTHER_MODELS = [
|
|
|
628
655
|
adapter: "google-genai",
|
|
629
656
|
providerModelId: "lyria-3-clip-preview",
|
|
630
657
|
lifecycle: "active",
|
|
631
|
-
exposure: "
|
|
658
|
+
exposure: ["cowork", "space_builder"],
|
|
632
659
|
constraints: {
|
|
633
660
|
durations: [30],
|
|
634
661
|
references: { images: 10 },
|
|
@@ -652,7 +679,7 @@ var OTHER_MODELS = [
|
|
|
652
679
|
adapter: "google-genai",
|
|
653
680
|
providerModelId: "lyria-3-pro-preview",
|
|
654
681
|
lifecycle: "active",
|
|
655
|
-
exposure: "
|
|
682
|
+
exposure: ["cowork", "space_builder"],
|
|
656
683
|
constraints: {
|
|
657
684
|
references: { images: 10 },
|
|
658
685
|
supports: []
|
|
@@ -675,7 +702,7 @@ var OTHER_MODELS = [
|
|
|
675
702
|
adapter: "replicate",
|
|
676
703
|
providerModelId: "google/lyria-2",
|
|
677
704
|
lifecycle: "active",
|
|
678
|
-
exposure:
|
|
705
|
+
exposure: [],
|
|
679
706
|
constraints: {
|
|
680
707
|
durations: [30],
|
|
681
708
|
supports: ["seed", "negativePrompt"]
|
|
@@ -697,7 +724,7 @@ var OTHER_MODELS = [
|
|
|
697
724
|
adapter: "replicate",
|
|
698
725
|
providerModelId: "zsxkib/mmaudio:62871fb59889b2d7c13777f08deb3b36bdff88f7e1d53a50ad7694548a41b484",
|
|
699
726
|
lifecycle: "active",
|
|
700
|
-
exposure: "
|
|
727
|
+
exposure: ["cowork", "space_builder"],
|
|
701
728
|
constraints: {
|
|
702
729
|
durations: { min: 1, max: 30 },
|
|
703
730
|
requires: ["sourceVideo"],
|
|
@@ -720,7 +747,7 @@ var OTHER_MODELS = [
|
|
|
720
747
|
adapter: "replicate",
|
|
721
748
|
providerModelId: "elevenlabs/music",
|
|
722
749
|
lifecycle: "active",
|
|
723
|
-
exposure:
|
|
750
|
+
exposure: [],
|
|
724
751
|
constraints: {
|
|
725
752
|
durations: { min: 5, max: 300 },
|
|
726
753
|
supports: ["instrumental"]
|
|
@@ -743,7 +770,7 @@ var OTHER_MODELS = [
|
|
|
743
770
|
adapter: "replicate",
|
|
744
771
|
providerModelId: "topazlabs/image-upscale",
|
|
745
772
|
lifecycle: "active",
|
|
746
|
-
exposure: "
|
|
773
|
+
exposure: ["cowork", "space_builder"],
|
|
747
774
|
constraints: {
|
|
748
775
|
references: { images: 1 },
|
|
749
776
|
requires: ["references"],
|
|
@@ -766,7 +793,7 @@ var OTHER_MODELS = [
|
|
|
766
793
|
adapter: "prodia",
|
|
767
794
|
providerModelId: "inference.remove-background.v1",
|
|
768
795
|
lifecycle: "active",
|
|
769
|
-
exposure: "
|
|
796
|
+
exposure: ["cowork", "space_builder"],
|
|
770
797
|
constraints: {
|
|
771
798
|
references: { images: 1 },
|
|
772
799
|
requires: ["references"],
|
|
@@ -805,7 +832,7 @@ function text(id, label, providerModelId, extra) {
|
|
|
805
832
|
adapter: "ai-sdk-text",
|
|
806
833
|
providerModelId,
|
|
807
834
|
lifecycle: "active",
|
|
808
|
-
exposure:
|
|
835
|
+
exposure: [],
|
|
809
836
|
constraints: { supports: [] },
|
|
810
837
|
defaults: {},
|
|
811
838
|
usage: { ...TEXT_USAGE },
|
|
@@ -824,7 +851,7 @@ var OPENAI_REASONING = { openai: { reasoningEffort: "medium", reasoningSummary:
|
|
|
824
851
|
var DEEPSEEK_THINKING = { deepseek: { thinking: { type: "enabled" } } };
|
|
825
852
|
var TEXT_MODELS = [
|
|
826
853
|
text("gpt-4o", "GPT-4o", "gpt-4o", {
|
|
827
|
-
exposure:
|
|
854
|
+
exposure: [],
|
|
828
855
|
display: {
|
|
829
856
|
provider: "openai",
|
|
830
857
|
costTier: 2,
|
|
@@ -833,7 +860,7 @@ var TEXT_MODELS = [
|
|
|
833
860
|
capabilities: { vision: true, contextWindow: 128e3 }
|
|
834
861
|
}),
|
|
835
862
|
text("gpt-4o-mini", "GPT-4o mini", "gpt-4o-mini", {
|
|
836
|
-
exposure:
|
|
863
|
+
exposure: [],
|
|
837
864
|
display: {
|
|
838
865
|
provider: "openai",
|
|
839
866
|
costTier: 1,
|
|
@@ -842,7 +869,7 @@ var TEXT_MODELS = [
|
|
|
842
869
|
capabilities: { vision: true, contextWindow: 128e3 }
|
|
843
870
|
}),
|
|
844
871
|
text("gpt-5.1", "GPT-5.1", "gpt-5.1", {
|
|
845
|
-
exposure: "
|
|
872
|
+
exposure: ["cowork", "space_builder"],
|
|
846
873
|
display: {
|
|
847
874
|
provider: "openai",
|
|
848
875
|
costTier: 3,
|
|
@@ -851,7 +878,7 @@ var TEXT_MODELS = [
|
|
|
851
878
|
capabilities: { vision: true, contextWindow: 4e5 }
|
|
852
879
|
}),
|
|
853
880
|
text("gpt-5.2", "GPT-5.2", "gpt-5.2", {
|
|
854
|
-
exposure: "
|
|
881
|
+
exposure: ["cowork", "space_builder"],
|
|
855
882
|
display: {
|
|
856
883
|
provider: "openai",
|
|
857
884
|
costTier: 3,
|
|
@@ -861,7 +888,7 @@ var TEXT_MODELS = [
|
|
|
861
888
|
}),
|
|
862
889
|
// 1.05M-token context: https://platform.openai.com/docs/models/gpt-5.4
|
|
863
890
|
text("gpt-5.4", "GPT-5.4", "gpt-5.4", {
|
|
864
|
-
exposure:
|
|
891
|
+
exposure: [],
|
|
865
892
|
display: {
|
|
866
893
|
provider: "openai",
|
|
867
894
|
costTier: 3,
|
|
@@ -874,7 +901,7 @@ var TEXT_MODELS = [
|
|
|
874
901
|
}),
|
|
875
902
|
// OpenAI never shipped gpt-5.1-mini or gpt-5.2-mini; callers that still send them get 5.4 mini.
|
|
876
903
|
text("gpt-5.4-mini", "GPT-5.4 mini", "gpt-5.4-mini", {
|
|
877
|
-
exposure: "
|
|
904
|
+
exposure: ["cowork", "space_builder"],
|
|
878
905
|
aliases: ["gpt-5.1-mini", "gpt-5.2-mini"],
|
|
879
906
|
display: {
|
|
880
907
|
provider: "openai",
|
|
@@ -884,7 +911,7 @@ var TEXT_MODELS = [
|
|
|
884
911
|
capabilities: { vision: true, contextWindow: 4e5 }
|
|
885
912
|
}),
|
|
886
913
|
text("gpt-5.5", "GPT-5.5", "gpt-5.5", {
|
|
887
|
-
exposure: "
|
|
914
|
+
exposure: ["cowork", "space_builder"],
|
|
888
915
|
display: {
|
|
889
916
|
provider: "openai",
|
|
890
917
|
costTier: 3,
|
|
@@ -896,7 +923,7 @@ var TEXT_MODELS = [
|
|
|
896
923
|
}
|
|
897
924
|
}),
|
|
898
925
|
text("gpt-5.6-luna", "GPT-5.6 Luna", "gpt-5.6-luna", {
|
|
899
|
-
exposure: "
|
|
926
|
+
exposure: ["cowork", "space_builder"],
|
|
900
927
|
display: {
|
|
901
928
|
chat: { providerOptions: OPENAI_REASONING },
|
|
902
929
|
provider: "openai",
|
|
@@ -910,7 +937,7 @@ var TEXT_MODELS = [
|
|
|
910
937
|
}
|
|
911
938
|
}),
|
|
912
939
|
text("gpt-5.6-terra", "GPT-5.6 Terra", "gpt-5.6-terra", {
|
|
913
|
-
exposure: "
|
|
940
|
+
exposure: ["cowork", "space_builder"],
|
|
914
941
|
display: {
|
|
915
942
|
chat: { providerOptions: OPENAI_REASONING },
|
|
916
943
|
provider: "openai",
|
|
@@ -924,7 +951,7 @@ var TEXT_MODELS = [
|
|
|
924
951
|
}
|
|
925
952
|
}),
|
|
926
953
|
text("gpt-5.6-sol", "GPT-5.6 Sol", "gpt-5.6-sol", {
|
|
927
|
-
exposure: "
|
|
954
|
+
exposure: ["cowork", "space_builder"],
|
|
928
955
|
display: {
|
|
929
956
|
chat: { providerOptions: OPENAI_REASONING },
|
|
930
957
|
provider: "openai",
|
|
@@ -939,7 +966,7 @@ var TEXT_MODELS = [
|
|
|
939
966
|
}),
|
|
940
967
|
// Library key "claude-sonnet-4.5" maps to the SDK id "claude-sonnet-4-5".
|
|
941
968
|
text("claude-sonnet-4-5", "Claude Sonnet 4.5", "claude-sonnet-4-5", {
|
|
942
|
-
exposure:
|
|
969
|
+
exposure: [],
|
|
943
970
|
aliases: ["claude-sonnet-4.5", "claude-sonnet-4-5-20250929"],
|
|
944
971
|
display: {
|
|
945
972
|
provider: "anthropic",
|
|
@@ -950,7 +977,7 @@ var TEXT_MODELS = [
|
|
|
950
977
|
}),
|
|
951
978
|
// Anthropic retired the dated 4.0 ids; callers that still send them get 4.6.
|
|
952
979
|
text("claude-sonnet-4-6", "Claude Sonnet 4.6", "claude-sonnet-4-6", {
|
|
953
|
-
exposure: "
|
|
980
|
+
exposure: ["cowork", "space_builder"],
|
|
954
981
|
aliases: [
|
|
955
982
|
"claude-sonnet-4.6",
|
|
956
983
|
"claude-sonnet-4",
|
|
@@ -970,7 +997,7 @@ var TEXT_MODELS = [
|
|
|
970
997
|
}
|
|
971
998
|
}),
|
|
972
999
|
text("claude-sonnet-5", "Claude Sonnet 5", "claude-sonnet-5", {
|
|
973
|
-
exposure: "
|
|
1000
|
+
exposure: ["cowork", "space_builder"],
|
|
974
1001
|
display: {
|
|
975
1002
|
chat: { providerOptions: ANTHROPIC_ADAPTIVE },
|
|
976
1003
|
provider: "anthropic",
|
|
@@ -984,7 +1011,7 @@ var TEXT_MODELS = [
|
|
|
984
1011
|
}
|
|
985
1012
|
}),
|
|
986
1013
|
text("claude-opus-4-8", "Claude Opus 4.8", "claude-opus-4-8", {
|
|
987
|
-
exposure: "
|
|
1014
|
+
exposure: ["cowork", "space_builder"],
|
|
988
1015
|
aliases: ["claude-opus-4.8", "claude-opus-4", "claude-opus-4.0", "claude-opus-4-20250514"],
|
|
989
1016
|
display: {
|
|
990
1017
|
chat: { providerOptions: ANTHROPIC_ADAPTIVE },
|
|
@@ -999,7 +1026,7 @@ var TEXT_MODELS = [
|
|
|
999
1026
|
}
|
|
1000
1027
|
}),
|
|
1001
1028
|
text("claude-haiku-4-5", "Claude Haiku 4.5", "claude-haiku-4-5", {
|
|
1002
|
-
exposure: "
|
|
1029
|
+
exposure: ["cowork", "space_builder"],
|
|
1003
1030
|
aliases: ["claude-haiku-4.5", "claude-haiku-4-5-20251001", "claude-haiku-4"],
|
|
1004
1031
|
display: {
|
|
1005
1032
|
chat: { providerOptions: ANTHROPIC_THINKING },
|
|
@@ -1014,7 +1041,7 @@ var TEXT_MODELS = [
|
|
|
1014
1041
|
}
|
|
1015
1042
|
}),
|
|
1016
1043
|
text("claude-opus-5", "Claude Opus 5", "claude-opus-5", {
|
|
1017
|
-
exposure:
|
|
1044
|
+
exposure: [],
|
|
1018
1045
|
aliases: ["claude-opus-5.0"],
|
|
1019
1046
|
display: {
|
|
1020
1047
|
provider: "anthropic",
|
|
@@ -1027,7 +1054,7 @@ var TEXT_MODELS = [
|
|
|
1027
1054
|
}
|
|
1028
1055
|
}),
|
|
1029
1056
|
text("claude-fable-5", "Claude Fable 5", "claude-fable-5", {
|
|
1030
|
-
exposure:
|
|
1057
|
+
exposure: [],
|
|
1031
1058
|
display: {
|
|
1032
1059
|
provider: "anthropic",
|
|
1033
1060
|
costTier: 3,
|
|
@@ -1039,7 +1066,7 @@ var TEXT_MODELS = [
|
|
|
1039
1066
|
}
|
|
1040
1067
|
}),
|
|
1041
1068
|
text("gemini-2.5-flash", "Gemini 2.5 Flash", "gemini-2.5-flash", {
|
|
1042
|
-
exposure:
|
|
1069
|
+
exposure: [],
|
|
1043
1070
|
display: {
|
|
1044
1071
|
provider: "google",
|
|
1045
1072
|
costTier: 1,
|
|
@@ -1051,7 +1078,7 @@ var TEXT_MODELS = [
|
|
|
1051
1078
|
}
|
|
1052
1079
|
}),
|
|
1053
1080
|
text("gemini-2.5-pro", "Gemini 2.5 Pro", "gemini-2.5-pro", {
|
|
1054
|
-
exposure:
|
|
1081
|
+
exposure: [],
|
|
1055
1082
|
display: {
|
|
1056
1083
|
provider: "google",
|
|
1057
1084
|
costTier: 2,
|
|
@@ -1063,7 +1090,7 @@ var TEXT_MODELS = [
|
|
|
1063
1090
|
}
|
|
1064
1091
|
}),
|
|
1065
1092
|
text("gemini-3.1-pro-preview", "Gemini 3.1 Pro (preview)", "gemini-3.1-pro-preview", {
|
|
1066
|
-
exposure: "
|
|
1093
|
+
exposure: ["cowork", "space_builder"],
|
|
1067
1094
|
display: {
|
|
1068
1095
|
provider: "google",
|
|
1069
1096
|
costTier: 2,
|
|
@@ -1075,7 +1102,7 @@ var TEXT_MODELS = [
|
|
|
1075
1102
|
}
|
|
1076
1103
|
}),
|
|
1077
1104
|
text("gemini-3.5-flash", "Gemini 3.5 Flash", "gemini-3.5-flash", {
|
|
1078
|
-
exposure: "
|
|
1105
|
+
exposure: ["cowork", "space_builder"],
|
|
1079
1106
|
display: {
|
|
1080
1107
|
provider: "google",
|
|
1081
1108
|
costTier: 1,
|
|
@@ -1087,7 +1114,7 @@ var TEXT_MODELS = [
|
|
|
1087
1114
|
}
|
|
1088
1115
|
}),
|
|
1089
1116
|
text("gemini-3.6-flash", "Gemini 3.6 Flash", "gemini-3.6-flash", {
|
|
1090
|
-
exposure: "
|
|
1117
|
+
exposure: ["cowork", "space_builder"],
|
|
1091
1118
|
display: {
|
|
1092
1119
|
provider: "google",
|
|
1093
1120
|
costTier: 1,
|
|
@@ -1099,7 +1126,7 @@ var TEXT_MODELS = [
|
|
|
1099
1126
|
}
|
|
1100
1127
|
}),
|
|
1101
1128
|
text("gemini-3.7-flash", "Gemini 3.7 Flash", "gemini-3.7-flash", {
|
|
1102
|
-
exposure: "
|
|
1129
|
+
exposure: ["cowork", "space_builder"],
|
|
1103
1130
|
display: {
|
|
1104
1131
|
provider: "google",
|
|
1105
1132
|
costTier: 1,
|
|
@@ -1112,7 +1139,7 @@ var TEXT_MODELS = [
|
|
|
1112
1139
|
}
|
|
1113
1140
|
}),
|
|
1114
1141
|
text("gemini-3.8-flash", "Gemini 3.8 Flash", "gemini-3.8-flash", {
|
|
1115
|
-
exposure:
|
|
1142
|
+
exposure: [],
|
|
1116
1143
|
display: {
|
|
1117
1144
|
provider: "google",
|
|
1118
1145
|
costTier: 1,
|
|
@@ -1125,12 +1152,12 @@ var TEXT_MODELS = [
|
|
|
1125
1152
|
}),
|
|
1126
1153
|
// Renamed to gemini-3.6-flash in vibe-shared model-migration.ts.
|
|
1127
1154
|
text("gemini-3-flash-preview", "Gemini 3 Flash (preview)", "gemini-3-flash-preview", {
|
|
1128
|
-
exposure:
|
|
1155
|
+
exposure: [],
|
|
1129
1156
|
lifecycle: "deprecated",
|
|
1130
1157
|
replacedBy: "gemini-3.6-flash"
|
|
1131
1158
|
}),
|
|
1132
1159
|
text("gemini-3.1-flash-lite", "Gemini 3.1 Flash Lite", "gemini-3.1-flash-lite", {
|
|
1133
|
-
exposure:
|
|
1160
|
+
exposure: [],
|
|
1134
1161
|
display: {
|
|
1135
1162
|
provider: "google",
|
|
1136
1163
|
costTier: 1,
|
|
@@ -1142,7 +1169,7 @@ var TEXT_MODELS = [
|
|
|
1142
1169
|
}
|
|
1143
1170
|
}),
|
|
1144
1171
|
text("sonar", "Sonar", "sonar", {
|
|
1145
|
-
exposure:
|
|
1172
|
+
exposure: [],
|
|
1146
1173
|
display: {
|
|
1147
1174
|
provider: "perplexity",
|
|
1148
1175
|
costTier: 1,
|
|
@@ -1154,7 +1181,7 @@ var TEXT_MODELS = [
|
|
|
1154
1181
|
}
|
|
1155
1182
|
}),
|
|
1156
1183
|
text("sonar-pro", "Sonar Pro", "sonar-pro", {
|
|
1157
|
-
exposure:
|
|
1184
|
+
exposure: [],
|
|
1158
1185
|
display: {
|
|
1159
1186
|
provider: "perplexity",
|
|
1160
1187
|
costTier: 2,
|
|
@@ -1166,7 +1193,7 @@ var TEXT_MODELS = [
|
|
|
1166
1193
|
}
|
|
1167
1194
|
}),
|
|
1168
1195
|
text("sonar-reasoning-pro", "Sonar Reasoning Pro", "sonar-reasoning-pro", {
|
|
1169
|
-
exposure:
|
|
1196
|
+
exposure: [],
|
|
1170
1197
|
display: {
|
|
1171
1198
|
provider: "perplexity",
|
|
1172
1199
|
costTier: 2,
|
|
@@ -1182,7 +1209,7 @@ var TEXT_MODELS = [
|
|
|
1182
1209
|
// stays an alias so stored selections keep resolving.
|
|
1183
1210
|
text("deepseek-flash", "DeepSeek V4.1 Flash", "deepseek-flash", {
|
|
1184
1211
|
aliases: ["deepseek-v4-flash"],
|
|
1185
|
-
exposure: "
|
|
1212
|
+
exposure: ["cowork", "space_builder"],
|
|
1186
1213
|
display: {
|
|
1187
1214
|
chat: { providerOptions: DEEPSEEK_THINKING },
|
|
1188
1215
|
provider: "deepseek",
|
|
@@ -1197,7 +1224,7 @@ var TEXT_MODELS = [
|
|
|
1197
1224
|
}
|
|
1198
1225
|
}),
|
|
1199
1226
|
text("deepseek-v4-pro", "DeepSeek V4 Pro", "deepseek-v4-pro", {
|
|
1200
|
-
exposure: "
|
|
1227
|
+
exposure: ["cowork", "space_builder"],
|
|
1201
1228
|
display: {
|
|
1202
1229
|
chat: { providerOptions: DEEPSEEK_THINKING },
|
|
1203
1230
|
provider: "deepseek",
|
|
@@ -1212,7 +1239,7 @@ var TEXT_MODELS = [
|
|
|
1212
1239
|
}),
|
|
1213
1240
|
// 1M-token context: https://docs.x.ai/docs/models/grok-4.3
|
|
1214
1241
|
text("grok-4.3", "Grok 4.3", "grok-4.3", {
|
|
1215
|
-
exposure: "
|
|
1242
|
+
exposure: ["cowork", "space_builder"],
|
|
1216
1243
|
display: {
|
|
1217
1244
|
provider: "xai",
|
|
1218
1245
|
costTier: 2,
|
|
@@ -1227,7 +1254,7 @@ var TEXT_MODELS = [
|
|
|
1227
1254
|
text("kimi-k2.5", "Kimi K2.5", "kimi-k2.5", {
|
|
1228
1255
|
lifecycle: "deprecated",
|
|
1229
1256
|
replacedBy: "kimi-k3",
|
|
1230
|
-
exposure:
|
|
1257
|
+
exposure: [],
|
|
1231
1258
|
display: {
|
|
1232
1259
|
chat: { temperature: 1 },
|
|
1233
1260
|
provider: "moonshot",
|
|
@@ -1237,7 +1264,7 @@ var TEXT_MODELS = [
|
|
|
1237
1264
|
capabilities: {}
|
|
1238
1265
|
}),
|
|
1239
1266
|
text("kimi-k3", "Kimi K3", "kimi-k3", {
|
|
1240
|
-
exposure: "
|
|
1267
|
+
exposure: ["cowork", "space_builder"],
|
|
1241
1268
|
display: {
|
|
1242
1269
|
chat: { temperature: 1 },
|
|
1243
1270
|
provider: "moonshot",
|
|
@@ -1253,7 +1280,7 @@ var TEXT_MODELS = [
|
|
|
1253
1280
|
// Cowork calls the provider "MiniMax-M3"; the pricing key is lowercase.
|
|
1254
1281
|
// 1M-token context: https://platform.minimax.io/docs/api-reference/text-openai-api
|
|
1255
1282
|
text("minimax-m3", "MiniMax M3", "MiniMax-M3", {
|
|
1256
|
-
exposure: "
|
|
1283
|
+
exposure: ["cowork", "space_builder"],
|
|
1257
1284
|
aliases: ["MiniMax-M3"],
|
|
1258
1285
|
display: {
|
|
1259
1286
|
provider: "minimax",
|
|
@@ -1290,7 +1317,7 @@ var VIDEO_MODELS = [
|
|
|
1290
1317
|
adapter: "google-genai",
|
|
1291
1318
|
providerModelId: "veo-3.1-generate-preview",
|
|
1292
1319
|
lifecycle: "active",
|
|
1293
|
-
exposure: "
|
|
1320
|
+
exposure: ["cowork", "space_builder"],
|
|
1294
1321
|
constraints: {
|
|
1295
1322
|
aspectRatios: [...OMNI_RATIOS],
|
|
1296
1323
|
resolutions: ["720p", "1080p", "4k"],
|
|
@@ -1320,7 +1347,7 @@ var VIDEO_MODELS = [
|
|
|
1320
1347
|
adapter: "google-genai",
|
|
1321
1348
|
providerModelId: "veo-3.1-fast-generate-preview",
|
|
1322
1349
|
lifecycle: "active",
|
|
1323
|
-
exposure:
|
|
1350
|
+
exposure: [],
|
|
1324
1351
|
constraints: {
|
|
1325
1352
|
aspectRatios: [...OMNI_RATIOS],
|
|
1326
1353
|
resolutions: ["720p", "1080p", "4k"],
|
|
@@ -1349,7 +1376,7 @@ var VIDEO_MODELS = [
|
|
|
1349
1376
|
adapter: "google-genai",
|
|
1350
1377
|
providerModelId: "veo-3.1-lite-generate-preview",
|
|
1351
1378
|
lifecycle: "active",
|
|
1352
|
-
exposure:
|
|
1379
|
+
exposure: [],
|
|
1353
1380
|
constraints: {
|
|
1354
1381
|
aspectRatios: [...OMNI_RATIOS],
|
|
1355
1382
|
resolutions: ["720p", "1080p"],
|
|
@@ -1379,7 +1406,7 @@ var VIDEO_MODELS = [
|
|
|
1379
1406
|
adapter: "google-genai",
|
|
1380
1407
|
providerModelId: "gemini-omni-flash-preview",
|
|
1381
1408
|
lifecycle: "active",
|
|
1382
|
-
exposure: "
|
|
1409
|
+
exposure: ["cowork", "space_builder"],
|
|
1383
1410
|
constraints: {
|
|
1384
1411
|
// 1.0 rejects `resolution`; it renders 720p. No defaults: the adapter
|
|
1385
1412
|
// sends ratio and duration only when the caller set them, so a
|
|
@@ -1407,7 +1434,7 @@ var VIDEO_MODELS = [
|
|
|
1407
1434
|
adapter: "google-genai",
|
|
1408
1435
|
providerModelId: "gemini-omni-1.1-flash",
|
|
1409
1436
|
lifecycle: "active",
|
|
1410
|
-
exposure: "
|
|
1437
|
+
exposure: ["cowork", "space_builder"],
|
|
1411
1438
|
constraints: {
|
|
1412
1439
|
aspectRatios: [...OMNI_RATIOS],
|
|
1413
1440
|
resolutions: ["360p", "720p", "1080p", "4k"],
|
|
@@ -1434,7 +1461,7 @@ var VIDEO_MODELS = [
|
|
|
1434
1461
|
adapter: "ark",
|
|
1435
1462
|
providerModelId: "dreamina-seedance-2-0-260128",
|
|
1436
1463
|
lifecycle: "active",
|
|
1437
|
-
exposure: "
|
|
1464
|
+
exposure: ["cowork", "space_builder"],
|
|
1438
1465
|
constraints: {
|
|
1439
1466
|
aspectRatios: [...SEEDANCE_RATIOS],
|
|
1440
1467
|
resolutions: ["480p", "720p", "1080p", "4k"],
|
|
@@ -1467,7 +1494,7 @@ var VIDEO_MODELS = [
|
|
|
1467
1494
|
adapter: "ark",
|
|
1468
1495
|
providerModelId: "dreamina-seedance-2-0-fast-260128",
|
|
1469
1496
|
lifecycle: "active",
|
|
1470
|
-
exposure: "
|
|
1497
|
+
exposure: ["cowork", "space_builder"],
|
|
1471
1498
|
constraints: {
|
|
1472
1499
|
aspectRatios: [...SEEDANCE_RATIOS],
|
|
1473
1500
|
resolutions: ["480p", "720p"],
|
|
@@ -1493,6 +1520,7 @@ var VIDEO_MODELS = [
|
|
|
1493
1520
|
},
|
|
1494
1521
|
{
|
|
1495
1522
|
// generateAudio defaults to false here (trigger-workflows); Space Builder defaults it to true.
|
|
1523
|
+
// omni_reference_task_type edit/extend: adaptive ratio, edit sends duration -1.
|
|
1496
1524
|
id: "seedance-2.5",
|
|
1497
1525
|
aliases: ["seedance-2-5", "dreamina-seedance-2-5-260628"],
|
|
1498
1526
|
label: "Seedance 2.5",
|
|
@@ -1500,14 +1528,14 @@ var VIDEO_MODELS = [
|
|
|
1500
1528
|
adapter: "ark",
|
|
1501
1529
|
providerModelId: "dreamina-seedance-2-5-260628",
|
|
1502
1530
|
lifecycle: "active",
|
|
1503
|
-
exposure: "
|
|
1531
|
+
exposure: ["cowork", "space_builder"],
|
|
1504
1532
|
constraints: {
|
|
1505
1533
|
aspectRatios: [...SEEDANCE_RATIOS],
|
|
1506
1534
|
resolutions: ["480p", "720p", "1080p"],
|
|
1507
1535
|
durations: { min: 4, max: 30 },
|
|
1508
1536
|
references: { images: 30, videos: 10, audios: 10 },
|
|
1509
1537
|
ratioIgnoredWith: ["firstFrame", "sourceVideo"],
|
|
1510
|
-
supports: ["generateAudio", "seed", "lastFrame", "watermark"]
|
|
1538
|
+
supports: ["generateAudio", "seed", "lastFrame", "watermark", "taskType"]
|
|
1511
1539
|
},
|
|
1512
1540
|
defaults: {
|
|
1513
1541
|
durationSeconds: 5,
|
|
@@ -1533,7 +1561,7 @@ var VIDEO_MODELS = [
|
|
|
1533
1561
|
adapter: "xai-video",
|
|
1534
1562
|
providerModelId: "grok-imagine-video",
|
|
1535
1563
|
lifecycle: "active",
|
|
1536
|
-
exposure: "
|
|
1564
|
+
exposure: ["cowork", "space_builder"],
|
|
1537
1565
|
constraints: {
|
|
1538
1566
|
aspectRatios: [...GROK_RATIOS],
|
|
1539
1567
|
resolutions: ["480p", "720p"],
|
|
@@ -1561,7 +1589,7 @@ var VIDEO_MODELS = [
|
|
|
1561
1589
|
adapter: "higgsfield",
|
|
1562
1590
|
providerModelId: "kling-video/v2.5-turbo/pro/image-to-video",
|
|
1563
1591
|
lifecycle: "active",
|
|
1564
|
-
exposure: "
|
|
1592
|
+
exposure: ["cowork", "space_builder"],
|
|
1565
1593
|
constraints: {
|
|
1566
1594
|
aspectRatios: [...KLING_RATIOS],
|
|
1567
1595
|
durations: [5, 10],
|
|
@@ -1592,7 +1620,7 @@ var VIDEO_MODELS = [
|
|
|
1592
1620
|
adapter: "higgsfield",
|
|
1593
1621
|
providerModelId: "kling-video/v3.0/pro/image-to-video",
|
|
1594
1622
|
lifecycle: "active",
|
|
1595
|
-
exposure: "
|
|
1623
|
+
exposure: ["cowork", "space_builder"],
|
|
1596
1624
|
constraints: {
|
|
1597
1625
|
aspectRatios: [...KLING_RATIOS],
|
|
1598
1626
|
durations: { min: 3, max: 15 },
|
|
@@ -1616,6 +1644,9 @@ var VIDEO_MODELS = [
|
|
|
1616
1644
|
},
|
|
1617
1645
|
{
|
|
1618
1646
|
// mode standard/pro selects 720p/1080p; the endpoint takes no separate resolution.
|
|
1647
|
+
// Replicate: "Max 7 [images] without video, 4 with video"; 4K does not support
|
|
1648
|
+
// reference_video. No `videos` limit yet: the adapter sends no reference video,
|
|
1649
|
+
// so `imagesWithVideo` stays dormant until one is wired through.
|
|
1619
1650
|
id: "kling-v3-omni-video",
|
|
1620
1651
|
aliases: ["kwaivgi/kling-v3-omni-video", "kling-v3-omni"],
|
|
1621
1652
|
label: "Kling V3 Omni",
|
|
@@ -1623,12 +1654,12 @@ var VIDEO_MODELS = [
|
|
|
1623
1654
|
adapter: "replicate",
|
|
1624
1655
|
providerModelId: "kwaivgi/kling-v3-omni-video",
|
|
1625
1656
|
lifecycle: "active",
|
|
1626
|
-
exposure: "
|
|
1657
|
+
exposure: ["cowork", "space_builder"],
|
|
1627
1658
|
constraints: {
|
|
1628
1659
|
aspectRatios: [...KLING_RATIOS],
|
|
1629
1660
|
resolutions: ["720p", "1080p"],
|
|
1630
1661
|
durations: { min: 3, max: 15 },
|
|
1631
|
-
references: { images: 7 },
|
|
1662
|
+
references: { images: 7, imagesWithVideo: 4 },
|
|
1632
1663
|
supports: ["generateAudio", "lastFrame"]
|
|
1633
1664
|
},
|
|
1634
1665
|
defaults: { durationSeconds: 5, aspectRatio: "16:9", generateAudio: false, mode: "pro" },
|
|
@@ -1649,7 +1680,7 @@ var VIDEO_MODELS = [
|
|
|
1649
1680
|
adapter: "fal",
|
|
1650
1681
|
providerModelId: "minimax/h3",
|
|
1651
1682
|
lifecycle: "active",
|
|
1652
|
-
exposure: "
|
|
1683
|
+
exposure: ["cowork", "space_builder"],
|
|
1653
1684
|
constraints: {
|
|
1654
1685
|
aspectRatios: [...H3_RATIOS],
|
|
1655
1686
|
resolutions: ["480p", "768p", "2k", "4k"],
|
|
@@ -1679,7 +1710,7 @@ var VIDEO_MODELS = [
|
|
|
1679
1710
|
adapter: "fal",
|
|
1680
1711
|
providerModelId: "minimax/h3-max",
|
|
1681
1712
|
lifecycle: "active",
|
|
1682
|
-
exposure: "
|
|
1713
|
+
exposure: ["cowork", "space_builder"],
|
|
1683
1714
|
constraints: {
|
|
1684
1715
|
aspectRatios: [...H3_RATIOS],
|
|
1685
1716
|
resolutions: ["480p", "768p"],
|
|
@@ -1709,7 +1740,7 @@ var VIDEO_MODELS = [
|
|
|
1709
1740
|
adapter: "fal",
|
|
1710
1741
|
providerModelId: "minimax/h3/reference-to-video",
|
|
1711
1742
|
lifecycle: "active",
|
|
1712
|
-
exposure: "
|
|
1743
|
+
exposure: ["cowork", "space_builder"],
|
|
1713
1744
|
constraints: {
|
|
1714
1745
|
aspectRatios: [...H3_REFERENCE_RATIOS],
|
|
1715
1746
|
resolutions: ["480p", "768p", "2k", "4k"],
|
|
@@ -1740,7 +1771,7 @@ var VIDEO_MODELS = [
|
|
|
1740
1771
|
adapter: "fal",
|
|
1741
1772
|
providerModelId: "minimax/h3-max/reference-to-video",
|
|
1742
1773
|
lifecycle: "active",
|
|
1743
|
-
exposure: "
|
|
1774
|
+
exposure: ["cowork", "space_builder"],
|
|
1744
1775
|
constraints: {
|
|
1745
1776
|
aspectRatios: [...H3_REFERENCE_RATIOS],
|
|
1746
1777
|
resolutions: ["480p", "768p"],
|
|
@@ -1772,7 +1803,7 @@ var VIDEO_MODELS = [
|
|
|
1772
1803
|
adapter: "fal",
|
|
1773
1804
|
providerModelId: "fal-ai/kling-video/o1/video-to-video/reference",
|
|
1774
1805
|
lifecycle: "active",
|
|
1775
|
-
exposure:
|
|
1806
|
+
exposure: [],
|
|
1776
1807
|
constraints: {
|
|
1777
1808
|
aspectRatios: [...KLING_RATIOS],
|
|
1778
1809
|
durations: { min: 3, max: 10 },
|
|
@@ -1797,7 +1828,7 @@ var VIDEO_MODELS = [
|
|
|
1797
1828
|
adapter: "replicate",
|
|
1798
1829
|
providerModelId: "minimax/hailuo-02",
|
|
1799
1830
|
lifecycle: "active",
|
|
1800
|
-
exposure:
|
|
1831
|
+
exposure: [],
|
|
1801
1832
|
constraints: {
|
|
1802
1833
|
resolutions: ["768p"],
|
|
1803
1834
|
durations: [6, 10],
|
|
@@ -1821,7 +1852,7 @@ var VIDEO_MODELS = [
|
|
|
1821
1852
|
adapter: "higgsfield",
|
|
1822
1853
|
providerModelId: "dop-preview",
|
|
1823
1854
|
lifecycle: "active",
|
|
1824
|
-
exposure:
|
|
1855
|
+
exposure: [],
|
|
1825
1856
|
constraints: {
|
|
1826
1857
|
requires: ["firstFrame"],
|
|
1827
1858
|
supports: ["seed", "lastFrame"]
|
|
@@ -1861,6 +1892,12 @@ var ADAPTER_IDS = [
|
|
|
1861
1892
|
];
|
|
1862
1893
|
var ModelTypeSchema = import_zod.z.enum(["text", "image", "video", "audio", "upscale", "bg-remove"]);
|
|
1863
1894
|
var LifecycleSchema = import_zod.z.enum(["active", "deprecated", "retired"]);
|
|
1895
|
+
var SurfaceSchema = import_zod.z.enum(["cowork", "space_builder"]);
|
|
1896
|
+
var SURFACES2 = SurfaceSchema.options;
|
|
1897
|
+
var ExposureSchema = import_zod.z.preprocess(
|
|
1898
|
+
normalizeExposure,
|
|
1899
|
+
import_zod.z.array(SurfaceSchema)
|
|
1900
|
+
);
|
|
1864
1901
|
var AdapterSchema = import_zod.z.enum(ADAPTER_IDS);
|
|
1865
1902
|
var AspectRatioSchema = import_zod.z.enum([
|
|
1866
1903
|
"1:1",
|
|
@@ -1898,6 +1935,7 @@ var SupportedOptionSchema = import_zod.z.enum([
|
|
|
1898
1935
|
"upscale",
|
|
1899
1936
|
"watermark",
|
|
1900
1937
|
"safetyChecker",
|
|
1938
|
+
"taskType",
|
|
1901
1939
|
"instrumental"
|
|
1902
1940
|
]);
|
|
1903
1941
|
var UsageUnitSchema = import_zod.z.enum([
|
|
@@ -1920,6 +1958,7 @@ var ProviderOptionValueSchema = import_zod.z.lazy(
|
|
|
1920
1958
|
var ProviderOptionsSchema = import_zod.z.record(import_zod.z.string(), import_zod.z.record(import_zod.z.string(), ProviderOptionValueSchema));
|
|
1921
1959
|
var ReferenceLimitsSchema = import_zod.z.looseObject({
|
|
1922
1960
|
images: import_zod.z.number().optional(),
|
|
1961
|
+
imagesWithVideo: import_zod.z.number().optional(),
|
|
1923
1962
|
videos: import_zod.z.number().optional(),
|
|
1924
1963
|
audios: import_zod.z.number().optional(),
|
|
1925
1964
|
total: import_zod.z.number().optional(),
|
|
@@ -1981,6 +2020,7 @@ var DefaultsSchema = import_zod.z.looseObject({
|
|
|
1981
2020
|
promptExpansion: import_zod.z.enum(["fast", "balanced", "quality"]).optional(),
|
|
1982
2021
|
watermark: import_zod.z.boolean().optional(),
|
|
1983
2022
|
safetyChecker: import_zod.z.boolean().optional(),
|
|
2023
|
+
taskType: import_zod.z.enum(["reference", "edit", "extend"]).optional(),
|
|
1984
2024
|
mode: import_zod.z.enum(["standard", "pro"]).optional(),
|
|
1985
2025
|
instrumental: import_zod.z.boolean().optional()
|
|
1986
2026
|
});
|
|
@@ -2012,7 +2052,7 @@ var CatalogModelSchemaBase = import_zod.z.looseObject({
|
|
|
2012
2052
|
providerModelId: import_zod.z.string().min(1),
|
|
2013
2053
|
lifecycle: LifecycleSchema,
|
|
2014
2054
|
replacedBy: import_zod.z.string().optional(),
|
|
2015
|
-
exposure:
|
|
2055
|
+
exposure: ExposureSchema,
|
|
2016
2056
|
constraints: ModelConstraintsSchema,
|
|
2017
2057
|
defaults: DefaultsSchema,
|
|
2018
2058
|
providerOptions: ProviderOptionsSchema.optional(),
|
|
@@ -2517,6 +2557,9 @@ function resolveVideoOptions(model, request, onUnsupported = "error") {
|
|
|
2517
2557
|
model,
|
|
2518
2558
|
warnings
|
|
2519
2559
|
);
|
|
2560
|
+
if (limits.imagesWithVideo !== void 0 && (limits.videos ?? 0) > 0 && videos.length > 0 && images.length > limits.imagesWithVideo) {
|
|
2561
|
+
images = trim("referenceImages", images, limits.imagesWithVideo, model, warnings);
|
|
2562
|
+
}
|
|
2520
2563
|
if (limits.total !== void 0) {
|
|
2521
2564
|
let over = images.length + videos.length + audios.length - limits.total;
|
|
2522
2565
|
if (over > 0) {
|
|
@@ -2550,7 +2593,8 @@ function resolveVideoOptions(model, request, onUnsupported = "error") {
|
|
|
2550
2593
|
"promptExpansion",
|
|
2551
2594
|
"lastFrame",
|
|
2552
2595
|
"watermark",
|
|
2553
|
-
"safetyChecker"
|
|
2596
|
+
"safetyChecker",
|
|
2597
|
+
"taskType"
|
|
2554
2598
|
]);
|
|
2555
2599
|
return { request: merged, warnings };
|
|
2556
2600
|
}
|