@shop-os/modelkit 0.1.10 → 0.1.11

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/dist/catalog.cjs CHANGED
@@ -134,8 +134,7 @@ var Catalog = class _Catalog {
134
134
  };
135
135
 
136
136
  // src/catalog/image.ts
137
- var IMAGE_USAGE = { unit: "images", modality: "IMAGE" };
138
- var IMAGE_GENERATE_EDIT = { imageGenerate: true, imageEdit: true };
137
+ var IMAGE_USAGE = { unit: "images" };
139
138
  var GEMINI_RATIOS = [
140
139
  "1:1",
141
140
  "2:3",
@@ -167,8 +166,7 @@ function geminiImage(id, label, aliases, sizes, display, exposure) {
167
166
  defaults: { size: "1K", aspectRatio: "1:1" },
168
167
  usage: { ...IMAGE_USAGE, slug: "gemini" },
169
168
  pricingKind: "image_size",
170
- display,
171
- capabilities: { ...IMAGE_GENERATE_EDIT }
169
+ display
172
170
  };
173
171
  return model;
174
172
  }
@@ -255,8 +253,7 @@ var IMAGE_MODELS = [
255
253
  provider: "openai",
256
254
  description: "The most capable model for image editing and complex creative instructions. Excels at text rendering, visual consistency, design generation, and iterative refinement.",
257
255
  logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/1204b494-8962-4f7f-af5e-699a8bdc98e3_compressed.png"
258
- },
259
- capabilities: { ...IMAGE_GENERATE_EDIT }
256
+ }
260
257
  },
261
258
  {
262
259
  // Same Images API surface as gpt-image-2 plus the "xhigh" and "max" quality tiers.
@@ -290,8 +287,7 @@ var IMAGE_MODELS = [
290
287
  display: {
291
288
  provider: "openai",
292
289
  description: "OpenAI's most capable GPT Image 2.5 tier, built for editing precision; takes text and image input and outputs images in low, medium, high, xhigh, or max quality."
293
- },
294
- capabilities: { ...IMAGE_GENERATE_EDIT }
290
+ }
295
291
  },
296
292
  {
297
293
  // Same Images API surface as gpt-image-2 plus the "xhigh" and "max" quality tiers.
@@ -325,8 +321,7 @@ var IMAGE_MODELS = [
325
321
  display: {
326
322
  provider: "openai",
327
323
  description: "OpenAI's fastest GPT Image 2.5 tier for high-quality everyday image generation and editing; takes text and image input and outputs images."
328
- },
329
- capabilities: { ...IMAGE_GENERATE_EDIT }
324
+ }
330
325
  },
331
326
  {
332
327
  // Cowork allows 7 ratios; trigger-workflows allows 9 (adds 3:2, 9:21, drops 4:5/5:4).
@@ -364,8 +359,7 @@ var IMAGE_MODELS = [
364
359
  provider: "meta",
365
360
  description: "Meta's image model with built-in world knowledge and strong prompt adherence. Great for concept-rich scenes, realistic compositions, and reference-guided edits.",
366
361
  logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/characters/1787909065794-k9a7zz.png"
367
- },
368
- capabilities: { ...IMAGE_GENERATE_EDIT }
362
+ }
369
363
  },
370
364
  {
371
365
  id: "seedream-5-0-pro",
@@ -391,8 +385,7 @@ var IMAGE_MODELS = [
391
385
  provider: "bytedance",
392
386
  logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/3bba5d81-4e57-4e71-911b-cdfa05acca2c_compressed.png",
393
387
  description: "ByteDance Seedream 5.0 Pro text-to-image and multi-reference image-to-image (up to 10 inputs) with region editing; outputs 1K, 1.5K, or 2K."
394
- },
395
- capabilities: { ...IMAGE_GENERATE_EDIT }
388
+ }
396
389
  },
397
390
  {
398
391
  id: "seedream-4.5",
@@ -429,8 +422,7 @@ var IMAGE_MODELS = [
429
422
  display: {
430
423
  provider: "bytedance",
431
424
  description: "ByteDance Seedream 4.5 text-to-image and image-to-image with up to 14 reference images and batch image-set generation; outputs 2K or 4K."
432
- },
433
- capabilities: { ...IMAGE_GENERATE_EDIT }
425
+ }
434
426
  },
435
427
  {
436
428
  id: "flux-2-pro",
@@ -452,9 +444,9 @@ var IMAGE_MODELS = [
452
444
  pricingKind: "image_size",
453
445
  display: {
454
446
  provider: "black-forest-labs",
447
+ logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/flux.png",
455
448
  description: "Black Forest Labs FLUX.2 [pro] text-to-image and multi-reference editing model served via Prodia; takes a prompt and up to 8 input images and outputs up to 4096x4096."
456
- },
457
- capabilities: { ...IMAGE_GENERATE_EDIT }
449
+ }
458
450
  },
459
451
  {
460
452
  // Prodia's gemini-3-pro jobs take aspect_ratio + resolution (1K/2K/4K), not
@@ -480,8 +472,7 @@ var IMAGE_MODELS = [
480
472
  display: {
481
473
  provider: "google",
482
474
  description: "Google Gemini 3 Pro image generation and editing served via Prodia; takes a prompt plus up to 3 reference images and outputs 1K, 2K, or 4K."
483
- },
484
- capabilities: { ...IMAGE_GENERATE_EDIT }
475
+ }
485
476
  },
486
477
  {
487
478
  // Nano Banana (img2img.v2) is flat-rate with aspect_ratio only; 3:2, 4:5,
@@ -506,8 +497,7 @@ var IMAGE_MODELS = [
506
497
  display: {
507
498
  provider: "google",
508
499
  description: "Google Nano Banana image generation and editing served via Prodia; takes a prompt plus 1-3 input images and matches the first input's aspect ratio in roughly 8 seconds."
509
- },
510
- capabilities: { ...IMAGE_GENERATE_EDIT }
500
+ }
511
501
  },
512
502
  {
513
503
  // WAN 2.7 takes `images` (up to 9) and a `size` enum whose exact values
@@ -528,13 +518,12 @@ var IMAGE_MODELS = [
528
518
  supports: []
529
519
  },
530
520
  defaults: { size: "1K", aspectRatio: "1:1" },
531
- usage: { unit: "compute_seconds", modality: "IMAGE" },
521
+ usage: { unit: "compute_seconds" },
532
522
  pricingKind: "image_size",
533
523
  display: {
534
524
  provider: "alibaba",
535
525
  description: "Alibaba Wan 2.7 Image Pro text-to-image and image-editing model; takes a prompt plus up to 9 reference images and generates up to 4K (4096x4096)."
536
- },
537
- capabilities: { ...IMAGE_GENERATE_EDIT }
526
+ }
538
527
  },
539
528
  {
540
529
  // Qwen Image 2 Pro has aspect_ratio but no size input; resolution follows
@@ -556,13 +545,12 @@ var IMAGE_MODELS = [
556
545
  supports: []
557
546
  },
558
547
  defaults: { aspectRatio: "1:1" },
559
- usage: { unit: "compute_seconds", modality: "IMAGE" },
548
+ usage: { unit: "compute_seconds" },
560
549
  pricingKind: "image_size",
561
550
  display: {
562
551
  provider: "alibaba",
563
552
  description: "Alibaba Qwen Image 2 Pro unified text-to-image and editing model; takes a prompt plus an optional single reference image and generates native 2K output."
564
- },
565
- capabilities: { ...IMAGE_GENERATE_EDIT }
553
+ }
566
554
  },
567
555
  {
568
556
  // Qwen Image Edit Plus takes aspect_ratio (or match_input_image) and
@@ -584,13 +572,12 @@ var IMAGE_MODELS = [
584
572
  supports: ["outputFormat"]
585
573
  },
586
574
  defaults: { outputFormat: "png" },
587
- usage: { unit: "compute_seconds", modality: "IMAGE" },
575
+ usage: { unit: "compute_seconds" },
588
576
  pricingKind: "image_size",
589
577
  display: {
590
578
  provider: "alibaba",
591
579
  description: "Alibaba Qwen Image Edit Plus with Lightning and a skin-retouching LoRA; takes one or more reference images plus an edit prompt and outputs webp, jpg, or png."
592
- },
593
- capabilities: { ...IMAGE_GENERATE_EDIT }
580
+ }
594
581
  }
595
582
  ];
596
583
 
@@ -612,7 +599,7 @@ var OTHER_MODELS = [
612
599
  supports: []
613
600
  },
614
601
  defaults: {},
615
- usage: { unit: "images", modality: "AUDIO" },
602
+ usage: { unit: "images" },
616
603
  pricingKind: "flat",
617
604
  display: {
618
605
  provider: "google",
@@ -635,7 +622,7 @@ var OTHER_MODELS = [
635
622
  supports: []
636
623
  },
637
624
  defaults: {},
638
- usage: { unit: "images", modality: "AUDIO" },
625
+ usage: { unit: "images" },
639
626
  pricingKind: "flat",
640
627
  display: {
641
628
  provider: "google",
@@ -658,7 +645,7 @@ var OTHER_MODELS = [
658
645
  supports: ["seed", "negativePrompt"]
659
646
  },
660
647
  defaults: {},
661
- usage: { unit: "compute_seconds", modality: "AUDIO" },
648
+ usage: { unit: "compute_seconds" },
662
649
  pricingKind: "flat",
663
650
  display: {
664
651
  provider: "google",
@@ -681,7 +668,7 @@ var OTHER_MODELS = [
681
668
  supports: ["seed", "negativePrompt"]
682
669
  },
683
670
  defaults: { durationSeconds: 8 },
684
- usage: { unit: "compute_seconds", modality: "AUDIO" },
671
+ usage: { unit: "compute_seconds" },
685
672
  pricingKind: "flat",
686
673
  display: {
687
674
  provider: "mmaudio",
@@ -704,7 +691,7 @@ var OTHER_MODELS = [
704
691
  },
705
692
  defaults: { durationSeconds: 15, instrumental: true },
706
693
  // Replicate's run() does not report predict_time; billed by generated length.
707
- usage: { unit: "seconds", modality: "AUDIO" },
694
+ usage: { unit: "seconds" },
708
695
  pricingKind: "flat",
709
696
  display: {
710
697
  provider: "elevenlabs",
@@ -727,13 +714,13 @@ var OTHER_MODELS = [
727
714
  supports: ["scaleFactor", "outputFormat", "upscale"]
728
715
  },
729
716
  defaults: { scaleFactor: 2, outputFormat: "png" },
730
- usage: { unit: "compute_seconds", modality: "IMAGE" },
717
+ usage: { unit: "compute_seconds" },
731
718
  pricingKind: "flat",
732
719
  display: {
733
720
  provider: "topaz",
721
+ logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/topazlabs.png",
734
722
  description: "Topaz Labs AI image upscaling on Replicate; takes one input image and upscales up to 6x with selectable enhancement models and optional face enhancement."
735
- },
736
- capabilities: { imageEdit: true }
723
+ }
737
724
  },
738
725
  {
739
726
  id: "bg-remove",
@@ -750,19 +737,30 @@ var OTHER_MODELS = [
750
737
  supports: []
751
738
  },
752
739
  defaults: {},
753
- usage: { unit: "images", modality: "IMAGE" },
740
+ usage: { unit: "images" },
754
741
  pricingKind: "flat",
755
742
  display: {
756
743
  provider: "prodia",
757
744
  description: "Prodia background removal; takes one input image and returns a PNG cut-out of the subject plus an optional black-and-white mask."
758
- },
759
- capabilities: { imageEdit: true }
745
+ }
760
746
  }
761
747
  ];
762
748
 
763
749
  // src/catalog/text.ts
764
- var TEXT_USAGE = { unit: "tokens", modality: "TEXT" };
750
+ var TEXT_USAGE = { unit: "tokens" };
751
+ var CDN = "https://d31vvfpk2ppdyq.cloudfront.net/assets/image";
752
+ var PROVIDER_LOGOS = {
753
+ anthropic: `${CDN}/25fad392-188c-4829-a3d0-c4fa02d1c8cd.png`,
754
+ openai: `${CDN}/1204b494-8962-4f7f-af5e-699a8bdc98e3.png`,
755
+ google: `${CDN}/192485d2-a76a-4657-9c06-930b2c70badd.png`,
756
+ deepseek: `${CDN}/9b7406d2-a696-4558-ab79-90a37e3f4574.png`,
757
+ xai: `${CDN}/858b7fcc-9bd5-411d-aea1-a7b35ecfffab.png`,
758
+ moonshot: `${CDN}/5a1e2eae-3474-4fac-9c74-a93f41ee6f67.png`,
759
+ minimax: `${CDN}/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png`
760
+ };
765
761
  function text(id, label, providerModelId, extra) {
762
+ const display = extra?.display;
763
+ const logo = display && !display.logo ? PROVIDER_LOGOS[display.provider] : void 0;
766
764
  return {
767
765
  id,
768
766
  aliases: [],
@@ -776,7 +774,8 @@ function text(id, label, providerModelId, extra) {
776
774
  defaults: {},
777
775
  usage: { ...TEXT_USAGE },
778
776
  pricingKind: "token",
779
- ...extra
777
+ ...extra,
778
+ ...display && logo ? { display: { ...display, logo } } : {}
780
779
  };
781
780
  }
782
781
  var ANTHROPIC_THINKING = {
@@ -795,7 +794,7 @@ var TEXT_MODELS = [
795
794
  costTier: 2,
796
795
  description: "OpenAI GPT-4o flagship multimodal model; text and image input, 128K-token context."
797
796
  },
798
- capabilities: { vision: true, tools: true, structuredOutput: true, contextWindow: 128e3 }
797
+ capabilities: { vision: true, contextWindow: 128e3 }
799
798
  }),
800
799
  text("gpt-4o-mini", "GPT-4o mini", "gpt-4o-mini", {
801
800
  exposure: "internal",
@@ -804,7 +803,7 @@ var TEXT_MODELS = [
804
803
  costTier: 1,
805
804
  description: "OpenAI GPT-4o mini fast, low-cost multimodal model; text and image input, 128K-token context."
806
805
  },
807
- capabilities: { vision: true, tools: true, structuredOutput: true, contextWindow: 128e3 }
806
+ capabilities: { vision: true, contextWindow: 128e3 }
808
807
  }),
809
808
  text("gpt-5.1", "GPT-5.1", "gpt-5.1", {
810
809
  exposure: "catalog",
@@ -813,7 +812,7 @@ var TEXT_MODELS = [
813
812
  costTier: 3,
814
813
  description: "OpenAI GPT-5.1 reasoning model for coding and agentic tasks; text and image input, 400K-token context."
815
814
  },
816
- capabilities: { vision: true, tools: true, structuredOutput: true, contextWindow: 4e5 }
815
+ capabilities: { vision: true, contextWindow: 4e5 }
817
816
  }),
818
817
  text("gpt-5.2", "GPT-5.2", "gpt-5.2", {
819
818
  exposure: "catalog",
@@ -822,7 +821,7 @@ var TEXT_MODELS = [
822
821
  costTier: 3,
823
822
  description: "OpenAI GPT-5.2 reasoning model for complex professional work; text and image input, 400K-token context."
824
823
  },
825
- capabilities: { vision: true, tools: true, structuredOutput: true, contextWindow: 4e5 }
824
+ capabilities: { vision: true, contextWindow: 4e5 }
826
825
  }),
827
826
  // 1.05M-token context: https://platform.openai.com/docs/models/gpt-5.4
828
827
  text("gpt-5.4", "GPT-5.4", "gpt-5.4", {
@@ -834,8 +833,6 @@ var TEXT_MODELS = [
834
833
  },
835
834
  capabilities: {
836
835
  vision: true,
837
- tools: true,
838
- structuredOutput: true,
839
836
  contextWindow: 105e4
840
837
  }
841
838
  }),
@@ -848,7 +845,7 @@ var TEXT_MODELS = [
848
845
  costTier: 1,
849
846
  description: "OpenAI GPT-5.4 mini efficient reasoning model for high-volume workloads; text and image input, 400K-token context."
850
847
  },
851
- capabilities: { vision: true, tools: true, structuredOutput: true, contextWindow: 4e5 }
848
+ capabilities: { vision: true, contextWindow: 4e5 }
852
849
  }),
853
850
  text("gpt-5.5", "GPT-5.5", "gpt-5.5", {
854
851
  exposure: "catalog",
@@ -859,8 +856,6 @@ var TEXT_MODELS = [
859
856
  },
860
857
  capabilities: {
861
858
  vision: true,
862
- tools: true,
863
- structuredOutput: true,
864
859
  contextWindow: 105e4
865
860
  }
866
861
  }),
@@ -875,8 +870,6 @@ var TEXT_MODELS = [
875
870
  capabilities: {
876
871
  reasoning: true,
877
872
  vision: true,
878
- tools: true,
879
- structuredOutput: true,
880
873
  contextWindow: 105e4
881
874
  }
882
875
  }),
@@ -891,8 +884,6 @@ var TEXT_MODELS = [
891
884
  capabilities: {
892
885
  reasoning: true,
893
886
  vision: true,
894
- tools: true,
895
- structuredOutput: true,
896
887
  contextWindow: 105e4
897
888
  }
898
889
  }),
@@ -907,8 +898,6 @@ var TEXT_MODELS = [
907
898
  capabilities: {
908
899
  reasoning: true,
909
900
  vision: true,
910
- tools: true,
911
- structuredOutput: true,
912
901
  contextWindow: 105e4
913
902
  }
914
903
  }),
@@ -921,7 +910,7 @@ var TEXT_MODELS = [
921
910
  costTier: 2,
922
911
  description: "Anthropic Claude Sonnet 4.5 (legacy) balanced model; text and image input, 200K-token context."
923
912
  },
924
- capabilities: { vision: true, tools: true, structuredOutput: true, contextWindow: 2e5 }
913
+ capabilities: { vision: true, contextWindow: 2e5 }
925
914
  }),
926
915
  // Anthropic retired the dated 4.0 ids; callers that still send them get 4.6.
927
916
  text("claude-sonnet-4-6", "Claude Sonnet 4.6", "claude-sonnet-4-6", {
@@ -941,8 +930,6 @@ var TEXT_MODELS = [
941
930
  capabilities: {
942
931
  reasoning: true,
943
932
  vision: true,
944
- tools: true,
945
- structuredOutput: true,
946
933
  contextWindow: 1e6
947
934
  }
948
935
  }),
@@ -957,8 +944,6 @@ var TEXT_MODELS = [
957
944
  capabilities: {
958
945
  reasoning: true,
959
946
  vision: true,
960
- tools: true,
961
- structuredOutput: true,
962
947
  contextWindow: 1e6
963
948
  }
964
949
  }),
@@ -974,8 +959,6 @@ var TEXT_MODELS = [
974
959
  capabilities: {
975
960
  reasoning: true,
976
961
  vision: true,
977
- tools: true,
978
- structuredOutput: true,
979
962
  contextWindow: 1e6
980
963
  }
981
964
  }),
@@ -991,8 +974,6 @@ var TEXT_MODELS = [
991
974
  capabilities: {
992
975
  reasoning: true,
993
976
  vision: true,
994
- tools: true,
995
- structuredOutput: true,
996
977
  contextWindow: 2e5
997
978
  }
998
979
  }),
@@ -1006,8 +987,6 @@ var TEXT_MODELS = [
1006
987
  },
1007
988
  capabilities: {
1008
989
  vision: true,
1009
- tools: true,
1010
- structuredOutput: true,
1011
990
  contextWindow: 1e6
1012
991
  }
1013
992
  }),
@@ -1020,8 +999,6 @@ var TEXT_MODELS = [
1020
999
  },
1021
1000
  capabilities: {
1022
1001
  vision: true,
1023
- tools: true,
1024
- structuredOutput: true,
1025
1002
  contextWindow: 1e6
1026
1003
  }
1027
1004
  }),
@@ -1034,8 +1011,6 @@ var TEXT_MODELS = [
1034
1011
  },
1035
1012
  capabilities: {
1036
1013
  vision: true,
1037
- tools: true,
1038
- structuredOutput: true,
1039
1014
  contextWindow: 1048576
1040
1015
  }
1041
1016
  }),
@@ -1048,8 +1023,6 @@ var TEXT_MODELS = [
1048
1023
  },
1049
1024
  capabilities: {
1050
1025
  vision: true,
1051
- tools: true,
1052
- structuredOutput: true,
1053
1026
  contextWindow: 1048576
1054
1027
  }
1055
1028
  }),
@@ -1062,8 +1035,6 @@ var TEXT_MODELS = [
1062
1035
  },
1063
1036
  capabilities: {
1064
1037
  vision: true,
1065
- tools: true,
1066
- structuredOutput: true,
1067
1038
  contextWindow: 1048576
1068
1039
  }
1069
1040
  }),
@@ -1076,8 +1047,6 @@ var TEXT_MODELS = [
1076
1047
  },
1077
1048
  capabilities: {
1078
1049
  vision: true,
1079
- tools: true,
1080
- structuredOutput: true,
1081
1050
  contextWindow: 1048576
1082
1051
  }
1083
1052
  }),
@@ -1090,8 +1059,6 @@ var TEXT_MODELS = [
1090
1059
  },
1091
1060
  capabilities: {
1092
1061
  vision: true,
1093
- tools: true,
1094
- structuredOutput: true,
1095
1062
  contextWindow: 1048576
1096
1063
  }
1097
1064
  }),
@@ -1105,8 +1072,6 @@ var TEXT_MODELS = [
1105
1072
  },
1106
1073
  capabilities: {
1107
1074
  vision: true,
1108
- tools: true,
1109
- structuredOutput: true,
1110
1075
  contextWindow: 1048576
1111
1076
  }
1112
1077
  }),
@@ -1119,8 +1084,6 @@ var TEXT_MODELS = [
1119
1084
  },
1120
1085
  capabilities: {
1121
1086
  vision: true,
1122
- tools: true,
1123
- structuredOutput: true,
1124
1087
  contextWindow: 1048576
1125
1088
  }
1126
1089
  }),
@@ -1139,8 +1102,6 @@ var TEXT_MODELS = [
1139
1102
  },
1140
1103
  capabilities: {
1141
1104
  vision: true,
1142
- tools: true,
1143
- structuredOutput: true,
1144
1105
  contextWindow: 1048576
1145
1106
  }
1146
1107
  }),
@@ -1153,8 +1114,6 @@ var TEXT_MODELS = [
1153
1114
  },
1154
1115
  capabilities: {
1155
1116
  vision: true,
1156
- tools: false,
1157
- structuredOutput: true,
1158
1117
  contextWindow: 128e3
1159
1118
  }
1160
1119
  }),
@@ -1167,8 +1126,6 @@ var TEXT_MODELS = [
1167
1126
  },
1168
1127
  capabilities: {
1169
1128
  vision: true,
1170
- tools: false,
1171
- structuredOutput: true,
1172
1129
  contextWindow: 2e5
1173
1130
  }
1174
1131
  }),
@@ -1181,8 +1138,6 @@ var TEXT_MODELS = [
1181
1138
  },
1182
1139
  capabilities: {
1183
1140
  vision: true,
1184
- tools: false,
1185
- structuredOutput: true,
1186
1141
  contextWindow: 128e3
1187
1142
  }
1188
1143
  }),
@@ -1202,8 +1157,6 @@ var TEXT_MODELS = [
1202
1157
  capabilities: {
1203
1158
  reasoning: true,
1204
1159
  vision: true,
1205
- tools: true,
1206
- structuredOutput: true,
1207
1160
  contextWindow: 1e6
1208
1161
  }
1209
1162
  }),
@@ -1218,8 +1171,6 @@ var TEXT_MODELS = [
1218
1171
  capabilities: {
1219
1172
  reasoning: true,
1220
1173
  vision: false,
1221
- tools: true,
1222
- structuredOutput: true,
1223
1174
  contextWindow: 1e6
1224
1175
  }
1225
1176
  }),
@@ -1233,14 +1184,14 @@ var TEXT_MODELS = [
1233
1184
  },
1234
1185
  capabilities: {
1235
1186
  vision: true,
1236
- tools: true,
1237
- structuredOutput: true,
1238
1187
  contextWindow: 1e6
1239
1188
  }
1240
1189
  }),
1241
1190
  // Moonshot retired kimi-k2.5 on 2026-08-31 and no longer publishes its specs.
1242
1191
  text("kimi-k2.5", "Kimi K2.5", "kimi-k2.5", {
1243
- exposure: "catalog",
1192
+ lifecycle: "deprecated",
1193
+ replacedBy: "kimi-k3",
1194
+ exposure: "internal",
1244
1195
  display: {
1245
1196
  chat: { temperature: 1 },
1246
1197
  provider: "moonshot",
@@ -1260,8 +1211,6 @@ var TEXT_MODELS = [
1260
1211
  capabilities: {
1261
1212
  reasoning: true,
1262
1213
  vision: true,
1263
- tools: true,
1264
- structuredOutput: true,
1265
1214
  contextWindow: 1e6
1266
1215
  }
1267
1216
  }),
@@ -1275,12 +1224,12 @@ var TEXT_MODELS = [
1275
1224
  costTier: 2,
1276
1225
  description: "MiniMax M3 frontier multimodal model for agentic reasoning, tool use, and coding; text, image, and video input, 1M-token context."
1277
1226
  },
1278
- capabilities: { vision: true, tools: true, contextWindow: 1e6 }
1227
+ capabilities: { vision: true, contextWindow: 1e6 }
1279
1228
  })
1280
1229
  ];
1281
1230
 
1282
1231
  // src/catalog/video.ts
1283
- var VIDEO_USAGE = { unit: "seconds", modality: "VIDEO" };
1232
+ var VIDEO_USAGE = { unit: "seconds" };
1284
1233
  var SEEDANCE_RATIOS = ["21:9", "16:9", "4:3", "1:1", "3:4", "9:16", "adaptive"];
1285
1234
  var KLING_RATIOS = ["16:9", "9:16", "1:1", "adaptive"];
1286
1235
  var OMNI_RATIOS = ["16:9", "9:16"];
@@ -1454,7 +1403,7 @@ var VIDEO_MODELS = [
1454
1403
  constraints: {
1455
1404
  aspectRatios: [...SEEDANCE_RATIOS],
1456
1405
  resolutions: ["480p", "720p", "1080p", "4k"],
1457
- durations: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
1406
+ durations: { min: 4, max: 15 },
1458
1407
  durationPresets: [4, 6, 8, 10, 12, 15],
1459
1408
  references: { images: 9, videos: 3, audios: 3, audioOnly: false },
1460
1409
  ratioIgnoredWith: ["firstFrame"],
@@ -1487,7 +1436,7 @@ var VIDEO_MODELS = [
1487
1436
  constraints: {
1488
1437
  aspectRatios: [...SEEDANCE_RATIOS],
1489
1438
  resolutions: ["480p", "720p"],
1490
- durations: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
1439
+ durations: { min: 4, max: 15 },
1491
1440
  references: { images: 9, videos: 3, audios: 3, audioOnly: false },
1492
1441
  ratioIgnoredWith: ["firstFrame"],
1493
1442
  supports: ["generateAudio", "seed", "lastFrame", "watermark"]
@@ -1560,7 +1509,7 @@ var VIDEO_MODELS = [
1560
1509
  },
1561
1510
  // No resolution default: xAI picks its own unless the caller asks.
1562
1511
  defaults: { durationSeconds: 8, aspectRatio: "16:9" },
1563
- usage: { unit: "reported_cost_usd", modality: "VIDEO", slug: "grok" },
1512
+ usage: { unit: "reported_cost_usd", slug: "grok" },
1564
1513
  pricingKind: "video_per_second",
1565
1514
  display: {
1566
1515
  provider: "xai",
@@ -1594,6 +1543,7 @@ var VIDEO_MODELS = [
1594
1543
  pricingKind: "video_per_second",
1595
1544
  display: {
1596
1545
  provider: "kuaishou",
1546
+ logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/kling-color.png",
1597
1547
  description: "Kuaishou Kling 2.5 Turbo Pro image-to-video; animates a single input image from a text prompt with an optional end image, 5- or 10-second clips."
1598
1548
  },
1599
1549
  capabilities: { ...FRAMES_EXCLUDE_REFERENCES }
@@ -1624,6 +1574,7 @@ var VIDEO_MODELS = [
1624
1574
  pricingKind: "video_per_second",
1625
1575
  display: {
1626
1576
  provider: "kuaishou",
1577
+ logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/kling-color.png",
1627
1578
  description: "Kuaishou Kling 3.0 Pro image-to-video; a required start image plus a text prompt (or multi-shot prompts) with optional end image and native audio, 3-15 second clips."
1628
1579
  },
1629
1580
  capabilities: { ...FRAMES_EXCLUDE_REFERENCES }
@@ -1657,10 +1608,11 @@ var VIDEO_MODELS = [
1657
1608
  supports: ["generateAudio", "lastFrame"]
1658
1609
  },
1659
1610
  defaults: { durationSeconds: 5, aspectRatio: "16:9", generateAudio: false, mode: "pro" },
1660
- usage: { unit: "compute_seconds", modality: "VIDEO" },
1611
+ usage: { unit: "compute_seconds" },
1661
1612
  pricingKind: "video_per_second",
1662
1613
  display: {
1663
1614
  provider: "kuaishou",
1615
+ logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/kling-color.png",
1664
1616
  description: "Kuaishou Kling Video 3.0 Omni unified generation and editing from text, start/end images, up to 7 reference images, and reference video; up to 15 seconds at up to 1080p."
1665
1617
  },
1666
1618
  capabilities: {}
@@ -1690,6 +1642,7 @@ var VIDEO_MODELS = [
1690
1642
  pricingKind: "video_per_second",
1691
1643
  display: {
1692
1644
  provider: "minimax",
1645
+ logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png",
1693
1646
  description: "MiniMax H3 multimodal video model for text-to-video, image-to-video (first/last frame), and reference-to-video with native audio, up to 2K."
1694
1647
  },
1695
1648
  capabilities: { ...FRAMES_EXCLUDE_REFERENCES }
@@ -1719,6 +1672,7 @@ var VIDEO_MODELS = [
1719
1672
  pricingKind: "video_per_second",
1720
1673
  display: {
1721
1674
  provider: "minimax",
1675
+ logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png",
1722
1676
  description: "High-speed MiniMax H3 Max variant for text-to-video and image-to-video (first/last frame) only, up to 768p."
1723
1677
  },
1724
1678
  capabilities: { ...FRAMES_EXCLUDE_REFERENCES }
@@ -1749,6 +1703,7 @@ var VIDEO_MODELS = [
1749
1703
  pricingKind: "video_per_second",
1750
1704
  display: {
1751
1705
  provider: "minimax",
1706
+ logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png",
1752
1707
  description: "MiniMax H3 reference-to-video mode guided by up to 9 reference images, 3 reference videos, and 3 audio clips; reference and image-to-video inputs cannot be mixed."
1753
1708
  },
1754
1709
  capabilities: {}
@@ -1779,6 +1734,7 @@ var VIDEO_MODELS = [
1779
1734
  pricingKind: "video_per_second",
1780
1735
  display: {
1781
1736
  provider: "minimax",
1737
+ logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png",
1782
1738
  description: "MiniMax H3 Max reference-to-video on fal; conditions on reference images, videos, and audio. MiniMax's own docs do not list a reference mode for H3 Max."
1783
1739
  },
1784
1740
  capabilities: {}
@@ -1804,6 +1760,7 @@ var VIDEO_MODELS = [
1804
1760
  pricingKind: "video_per_second",
1805
1761
  display: {
1806
1762
  provider: "kuaishou",
1763
+ logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/kling-color.png",
1807
1764
  description: "Kuaishou Kling O1 Reference Video-to-Video; a prompt plus a 3-10 second reference video (optional reference images) generates 3-10 second clips preserving motion and camera language."
1808
1765
  },
1809
1766
  capabilities: { acceptsSourceVideo: true }
@@ -1823,10 +1780,11 @@ var VIDEO_MODELS = [
1823
1780
  supports: ["lastFrame"]
1824
1781
  },
1825
1782
  defaults: { durationSeconds: 6, resolution: "768p" },
1826
- usage: { unit: "compute_seconds", modality: "VIDEO" },
1783
+ usage: { unit: "compute_seconds" },
1827
1784
  pricingKind: "video_per_second",
1828
1785
  display: {
1829
1786
  provider: "minimax",
1787
+ logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png",
1830
1788
  description: "MiniMax Hailuo 02 text-to-video and image-to-video model with realistic physics and strong prompt following; outputs 768p at 6 or 10 seconds."
1831
1789
  },
1832
1790
  capabilities: {}