@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/CHANGELOG.md +25 -3
- package/dist/catalog.cjs +68 -110
- package/dist/catalog.cjs.map +1 -1
- package/dist/catalog.d.cts +1 -8
- package/dist/catalog.d.ts +1 -8
- package/dist/catalog.js +68 -110
- package/dist/catalog.js.map +1 -1
- package/dist/index.cjs +69 -111
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -8
- package/dist/index.d.ts +1 -8
- package/dist/index.js +69 -111
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -182,8 +182,7 @@ var Catalog = class _Catalog {
|
|
|
182
182
|
};
|
|
183
183
|
|
|
184
184
|
// src/catalog/image.ts
|
|
185
|
-
var IMAGE_USAGE = { unit: "images"
|
|
186
|
-
var IMAGE_GENERATE_EDIT = { imageGenerate: true, imageEdit: true };
|
|
185
|
+
var IMAGE_USAGE = { unit: "images" };
|
|
187
186
|
var GEMINI_RATIOS = [
|
|
188
187
|
"1:1",
|
|
189
188
|
"2:3",
|
|
@@ -215,8 +214,7 @@ function geminiImage(id, label, aliases, sizes, display, exposure) {
|
|
|
215
214
|
defaults: { size: "1K", aspectRatio: "1:1" },
|
|
216
215
|
usage: { ...IMAGE_USAGE, slug: "gemini" },
|
|
217
216
|
pricingKind: "image_size",
|
|
218
|
-
display
|
|
219
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
217
|
+
display
|
|
220
218
|
};
|
|
221
219
|
return model;
|
|
222
220
|
}
|
|
@@ -303,8 +301,7 @@ var IMAGE_MODELS = [
|
|
|
303
301
|
provider: "openai",
|
|
304
302
|
description: "The most capable model for image editing and complex creative instructions. Excels at text rendering, visual consistency, design generation, and iterative refinement.",
|
|
305
303
|
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/1204b494-8962-4f7f-af5e-699a8bdc98e3_compressed.png"
|
|
306
|
-
}
|
|
307
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
304
|
+
}
|
|
308
305
|
},
|
|
309
306
|
{
|
|
310
307
|
// Same Images API surface as gpt-image-2 plus the "xhigh" and "max" quality tiers.
|
|
@@ -338,8 +335,7 @@ var IMAGE_MODELS = [
|
|
|
338
335
|
display: {
|
|
339
336
|
provider: "openai",
|
|
340
337
|
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."
|
|
341
|
-
}
|
|
342
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
338
|
+
}
|
|
343
339
|
},
|
|
344
340
|
{
|
|
345
341
|
// Same Images API surface as gpt-image-2 plus the "xhigh" and "max" quality tiers.
|
|
@@ -373,8 +369,7 @@ var IMAGE_MODELS = [
|
|
|
373
369
|
display: {
|
|
374
370
|
provider: "openai",
|
|
375
371
|
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."
|
|
376
|
-
}
|
|
377
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
372
|
+
}
|
|
378
373
|
},
|
|
379
374
|
{
|
|
380
375
|
// Cowork allows 7 ratios; trigger-workflows allows 9 (adds 3:2, 9:21, drops 4:5/5:4).
|
|
@@ -412,8 +407,7 @@ var IMAGE_MODELS = [
|
|
|
412
407
|
provider: "meta",
|
|
413
408
|
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.",
|
|
414
409
|
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/characters/1787909065794-k9a7zz.png"
|
|
415
|
-
}
|
|
416
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
410
|
+
}
|
|
417
411
|
},
|
|
418
412
|
{
|
|
419
413
|
id: "seedream-5-0-pro",
|
|
@@ -439,8 +433,7 @@ var IMAGE_MODELS = [
|
|
|
439
433
|
provider: "bytedance",
|
|
440
434
|
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/3bba5d81-4e57-4e71-911b-cdfa05acca2c_compressed.png",
|
|
441
435
|
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."
|
|
442
|
-
}
|
|
443
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
436
|
+
}
|
|
444
437
|
},
|
|
445
438
|
{
|
|
446
439
|
id: "seedream-4.5",
|
|
@@ -477,8 +470,7 @@ var IMAGE_MODELS = [
|
|
|
477
470
|
display: {
|
|
478
471
|
provider: "bytedance",
|
|
479
472
|
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."
|
|
480
|
-
}
|
|
481
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
473
|
+
}
|
|
482
474
|
},
|
|
483
475
|
{
|
|
484
476
|
id: "flux-2-pro",
|
|
@@ -500,9 +492,9 @@ var IMAGE_MODELS = [
|
|
|
500
492
|
pricingKind: "image_size",
|
|
501
493
|
display: {
|
|
502
494
|
provider: "black-forest-labs",
|
|
495
|
+
logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/flux.png",
|
|
503
496
|
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."
|
|
504
|
-
}
|
|
505
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
497
|
+
}
|
|
506
498
|
},
|
|
507
499
|
{
|
|
508
500
|
// Prodia's gemini-3-pro jobs take aspect_ratio + resolution (1K/2K/4K), not
|
|
@@ -528,8 +520,7 @@ var IMAGE_MODELS = [
|
|
|
528
520
|
display: {
|
|
529
521
|
provider: "google",
|
|
530
522
|
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."
|
|
531
|
-
}
|
|
532
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
523
|
+
}
|
|
533
524
|
},
|
|
534
525
|
{
|
|
535
526
|
// Nano Banana (img2img.v2) is flat-rate with aspect_ratio only; 3:2, 4:5,
|
|
@@ -554,8 +545,7 @@ var IMAGE_MODELS = [
|
|
|
554
545
|
display: {
|
|
555
546
|
provider: "google",
|
|
556
547
|
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."
|
|
557
|
-
}
|
|
558
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
548
|
+
}
|
|
559
549
|
},
|
|
560
550
|
{
|
|
561
551
|
// WAN 2.7 takes `images` (up to 9) and a `size` enum whose exact values
|
|
@@ -576,13 +566,12 @@ var IMAGE_MODELS = [
|
|
|
576
566
|
supports: []
|
|
577
567
|
},
|
|
578
568
|
defaults: { size: "1K", aspectRatio: "1:1" },
|
|
579
|
-
usage: { unit: "compute_seconds"
|
|
569
|
+
usage: { unit: "compute_seconds" },
|
|
580
570
|
pricingKind: "image_size",
|
|
581
571
|
display: {
|
|
582
572
|
provider: "alibaba",
|
|
583
573
|
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)."
|
|
584
|
-
}
|
|
585
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
574
|
+
}
|
|
586
575
|
},
|
|
587
576
|
{
|
|
588
577
|
// Qwen Image 2 Pro has aspect_ratio but no size input; resolution follows
|
|
@@ -604,13 +593,12 @@ var IMAGE_MODELS = [
|
|
|
604
593
|
supports: []
|
|
605
594
|
},
|
|
606
595
|
defaults: { aspectRatio: "1:1" },
|
|
607
|
-
usage: { unit: "compute_seconds"
|
|
596
|
+
usage: { unit: "compute_seconds" },
|
|
608
597
|
pricingKind: "image_size",
|
|
609
598
|
display: {
|
|
610
599
|
provider: "alibaba",
|
|
611
600
|
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."
|
|
612
|
-
}
|
|
613
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
601
|
+
}
|
|
614
602
|
},
|
|
615
603
|
{
|
|
616
604
|
// Qwen Image Edit Plus takes aspect_ratio (or match_input_image) and
|
|
@@ -632,13 +620,12 @@ var IMAGE_MODELS = [
|
|
|
632
620
|
supports: ["outputFormat"]
|
|
633
621
|
},
|
|
634
622
|
defaults: { outputFormat: "png" },
|
|
635
|
-
usage: { unit: "compute_seconds"
|
|
623
|
+
usage: { unit: "compute_seconds" },
|
|
636
624
|
pricingKind: "image_size",
|
|
637
625
|
display: {
|
|
638
626
|
provider: "alibaba",
|
|
639
627
|
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."
|
|
640
|
-
}
|
|
641
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
628
|
+
}
|
|
642
629
|
}
|
|
643
630
|
];
|
|
644
631
|
|
|
@@ -660,7 +647,7 @@ var OTHER_MODELS = [
|
|
|
660
647
|
supports: []
|
|
661
648
|
},
|
|
662
649
|
defaults: {},
|
|
663
|
-
usage: { unit: "images"
|
|
650
|
+
usage: { unit: "images" },
|
|
664
651
|
pricingKind: "flat",
|
|
665
652
|
display: {
|
|
666
653
|
provider: "google",
|
|
@@ -683,7 +670,7 @@ var OTHER_MODELS = [
|
|
|
683
670
|
supports: []
|
|
684
671
|
},
|
|
685
672
|
defaults: {},
|
|
686
|
-
usage: { unit: "images"
|
|
673
|
+
usage: { unit: "images" },
|
|
687
674
|
pricingKind: "flat",
|
|
688
675
|
display: {
|
|
689
676
|
provider: "google",
|
|
@@ -706,7 +693,7 @@ var OTHER_MODELS = [
|
|
|
706
693
|
supports: ["seed", "negativePrompt"]
|
|
707
694
|
},
|
|
708
695
|
defaults: {},
|
|
709
|
-
usage: { unit: "compute_seconds"
|
|
696
|
+
usage: { unit: "compute_seconds" },
|
|
710
697
|
pricingKind: "flat",
|
|
711
698
|
display: {
|
|
712
699
|
provider: "google",
|
|
@@ -729,7 +716,7 @@ var OTHER_MODELS = [
|
|
|
729
716
|
supports: ["seed", "negativePrompt"]
|
|
730
717
|
},
|
|
731
718
|
defaults: { durationSeconds: 8 },
|
|
732
|
-
usage: { unit: "compute_seconds"
|
|
719
|
+
usage: { unit: "compute_seconds" },
|
|
733
720
|
pricingKind: "flat",
|
|
734
721
|
display: {
|
|
735
722
|
provider: "mmaudio",
|
|
@@ -752,7 +739,7 @@ var OTHER_MODELS = [
|
|
|
752
739
|
},
|
|
753
740
|
defaults: { durationSeconds: 15, instrumental: true },
|
|
754
741
|
// Replicate's run() does not report predict_time; billed by generated length.
|
|
755
|
-
usage: { unit: "seconds"
|
|
742
|
+
usage: { unit: "seconds" },
|
|
756
743
|
pricingKind: "flat",
|
|
757
744
|
display: {
|
|
758
745
|
provider: "elevenlabs",
|
|
@@ -775,13 +762,13 @@ var OTHER_MODELS = [
|
|
|
775
762
|
supports: ["scaleFactor", "outputFormat", "upscale"]
|
|
776
763
|
},
|
|
777
764
|
defaults: { scaleFactor: 2, outputFormat: "png" },
|
|
778
|
-
usage: { unit: "compute_seconds"
|
|
765
|
+
usage: { unit: "compute_seconds" },
|
|
779
766
|
pricingKind: "flat",
|
|
780
767
|
display: {
|
|
781
768
|
provider: "topaz",
|
|
769
|
+
logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/topazlabs.png",
|
|
782
770
|
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."
|
|
783
|
-
}
|
|
784
|
-
capabilities: { imageEdit: true }
|
|
771
|
+
}
|
|
785
772
|
},
|
|
786
773
|
{
|
|
787
774
|
id: "bg-remove",
|
|
@@ -798,19 +785,30 @@ var OTHER_MODELS = [
|
|
|
798
785
|
supports: []
|
|
799
786
|
},
|
|
800
787
|
defaults: {},
|
|
801
|
-
usage: { unit: "images"
|
|
788
|
+
usage: { unit: "images" },
|
|
802
789
|
pricingKind: "flat",
|
|
803
790
|
display: {
|
|
804
791
|
provider: "prodia",
|
|
805
792
|
description: "Prodia background removal; takes one input image and returns a PNG cut-out of the subject plus an optional black-and-white mask."
|
|
806
|
-
}
|
|
807
|
-
capabilities: { imageEdit: true }
|
|
793
|
+
}
|
|
808
794
|
}
|
|
809
795
|
];
|
|
810
796
|
|
|
811
797
|
// src/catalog/text.ts
|
|
812
|
-
var TEXT_USAGE = { unit: "tokens"
|
|
798
|
+
var TEXT_USAGE = { unit: "tokens" };
|
|
799
|
+
var CDN = "https://d31vvfpk2ppdyq.cloudfront.net/assets/image";
|
|
800
|
+
var PROVIDER_LOGOS = {
|
|
801
|
+
anthropic: `${CDN}/25fad392-188c-4829-a3d0-c4fa02d1c8cd.png`,
|
|
802
|
+
openai: `${CDN}/1204b494-8962-4f7f-af5e-699a8bdc98e3.png`,
|
|
803
|
+
google: `${CDN}/192485d2-a76a-4657-9c06-930b2c70badd.png`,
|
|
804
|
+
deepseek: `${CDN}/9b7406d2-a696-4558-ab79-90a37e3f4574.png`,
|
|
805
|
+
xai: `${CDN}/858b7fcc-9bd5-411d-aea1-a7b35ecfffab.png`,
|
|
806
|
+
moonshot: `${CDN}/5a1e2eae-3474-4fac-9c74-a93f41ee6f67.png`,
|
|
807
|
+
minimax: `${CDN}/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png`
|
|
808
|
+
};
|
|
813
809
|
function text(id, label, providerModelId, extra) {
|
|
810
|
+
const display = extra?.display;
|
|
811
|
+
const logo = display && !display.logo ? PROVIDER_LOGOS[display.provider] : void 0;
|
|
814
812
|
return {
|
|
815
813
|
id,
|
|
816
814
|
aliases: [],
|
|
@@ -824,7 +822,8 @@ function text(id, label, providerModelId, extra) {
|
|
|
824
822
|
defaults: {},
|
|
825
823
|
usage: { ...TEXT_USAGE },
|
|
826
824
|
pricingKind: "token",
|
|
827
|
-
...extra
|
|
825
|
+
...extra,
|
|
826
|
+
...display && logo ? { display: { ...display, logo } } : {}
|
|
828
827
|
};
|
|
829
828
|
}
|
|
830
829
|
var ANTHROPIC_THINKING = {
|
|
@@ -843,7 +842,7 @@ var TEXT_MODELS = [
|
|
|
843
842
|
costTier: 2,
|
|
844
843
|
description: "OpenAI GPT-4o flagship multimodal model; text and image input, 128K-token context."
|
|
845
844
|
},
|
|
846
|
-
capabilities: { vision: true,
|
|
845
|
+
capabilities: { vision: true, contextWindow: 128e3 }
|
|
847
846
|
}),
|
|
848
847
|
text("gpt-4o-mini", "GPT-4o mini", "gpt-4o-mini", {
|
|
849
848
|
exposure: "internal",
|
|
@@ -852,7 +851,7 @@ var TEXT_MODELS = [
|
|
|
852
851
|
costTier: 1,
|
|
853
852
|
description: "OpenAI GPT-4o mini fast, low-cost multimodal model; text and image input, 128K-token context."
|
|
854
853
|
},
|
|
855
|
-
capabilities: { vision: true,
|
|
854
|
+
capabilities: { vision: true, contextWindow: 128e3 }
|
|
856
855
|
}),
|
|
857
856
|
text("gpt-5.1", "GPT-5.1", "gpt-5.1", {
|
|
858
857
|
exposure: "catalog",
|
|
@@ -861,7 +860,7 @@ var TEXT_MODELS = [
|
|
|
861
860
|
costTier: 3,
|
|
862
861
|
description: "OpenAI GPT-5.1 reasoning model for coding and agentic tasks; text and image input, 400K-token context."
|
|
863
862
|
},
|
|
864
|
-
capabilities: { vision: true,
|
|
863
|
+
capabilities: { vision: true, contextWindow: 4e5 }
|
|
865
864
|
}),
|
|
866
865
|
text("gpt-5.2", "GPT-5.2", "gpt-5.2", {
|
|
867
866
|
exposure: "catalog",
|
|
@@ -870,7 +869,7 @@ var TEXT_MODELS = [
|
|
|
870
869
|
costTier: 3,
|
|
871
870
|
description: "OpenAI GPT-5.2 reasoning model for complex professional work; text and image input, 400K-token context."
|
|
872
871
|
},
|
|
873
|
-
capabilities: { vision: true,
|
|
872
|
+
capabilities: { vision: true, contextWindow: 4e5 }
|
|
874
873
|
}),
|
|
875
874
|
// 1.05M-token context: https://platform.openai.com/docs/models/gpt-5.4
|
|
876
875
|
text("gpt-5.4", "GPT-5.4", "gpt-5.4", {
|
|
@@ -882,8 +881,6 @@ var TEXT_MODELS = [
|
|
|
882
881
|
},
|
|
883
882
|
capabilities: {
|
|
884
883
|
vision: true,
|
|
885
|
-
tools: true,
|
|
886
|
-
structuredOutput: true,
|
|
887
884
|
contextWindow: 105e4
|
|
888
885
|
}
|
|
889
886
|
}),
|
|
@@ -896,7 +893,7 @@ var TEXT_MODELS = [
|
|
|
896
893
|
costTier: 1,
|
|
897
894
|
description: "OpenAI GPT-5.4 mini efficient reasoning model for high-volume workloads; text and image input, 400K-token context."
|
|
898
895
|
},
|
|
899
|
-
capabilities: { vision: true,
|
|
896
|
+
capabilities: { vision: true, contextWindow: 4e5 }
|
|
900
897
|
}),
|
|
901
898
|
text("gpt-5.5", "GPT-5.5", "gpt-5.5", {
|
|
902
899
|
exposure: "catalog",
|
|
@@ -907,8 +904,6 @@ var TEXT_MODELS = [
|
|
|
907
904
|
},
|
|
908
905
|
capabilities: {
|
|
909
906
|
vision: true,
|
|
910
|
-
tools: true,
|
|
911
|
-
structuredOutput: true,
|
|
912
907
|
contextWindow: 105e4
|
|
913
908
|
}
|
|
914
909
|
}),
|
|
@@ -923,8 +918,6 @@ var TEXT_MODELS = [
|
|
|
923
918
|
capabilities: {
|
|
924
919
|
reasoning: true,
|
|
925
920
|
vision: true,
|
|
926
|
-
tools: true,
|
|
927
|
-
structuredOutput: true,
|
|
928
921
|
contextWindow: 105e4
|
|
929
922
|
}
|
|
930
923
|
}),
|
|
@@ -939,8 +932,6 @@ var TEXT_MODELS = [
|
|
|
939
932
|
capabilities: {
|
|
940
933
|
reasoning: true,
|
|
941
934
|
vision: true,
|
|
942
|
-
tools: true,
|
|
943
|
-
structuredOutput: true,
|
|
944
935
|
contextWindow: 105e4
|
|
945
936
|
}
|
|
946
937
|
}),
|
|
@@ -955,8 +946,6 @@ var TEXT_MODELS = [
|
|
|
955
946
|
capabilities: {
|
|
956
947
|
reasoning: true,
|
|
957
948
|
vision: true,
|
|
958
|
-
tools: true,
|
|
959
|
-
structuredOutput: true,
|
|
960
949
|
contextWindow: 105e4
|
|
961
950
|
}
|
|
962
951
|
}),
|
|
@@ -969,7 +958,7 @@ var TEXT_MODELS = [
|
|
|
969
958
|
costTier: 2,
|
|
970
959
|
description: "Anthropic Claude Sonnet 4.5 (legacy) balanced model; text and image input, 200K-token context."
|
|
971
960
|
},
|
|
972
|
-
capabilities: { vision: true,
|
|
961
|
+
capabilities: { vision: true, contextWindow: 2e5 }
|
|
973
962
|
}),
|
|
974
963
|
// Anthropic retired the dated 4.0 ids; callers that still send them get 4.6.
|
|
975
964
|
text("claude-sonnet-4-6", "Claude Sonnet 4.6", "claude-sonnet-4-6", {
|
|
@@ -989,8 +978,6 @@ var TEXT_MODELS = [
|
|
|
989
978
|
capabilities: {
|
|
990
979
|
reasoning: true,
|
|
991
980
|
vision: true,
|
|
992
|
-
tools: true,
|
|
993
|
-
structuredOutput: true,
|
|
994
981
|
contextWindow: 1e6
|
|
995
982
|
}
|
|
996
983
|
}),
|
|
@@ -1005,8 +992,6 @@ var TEXT_MODELS = [
|
|
|
1005
992
|
capabilities: {
|
|
1006
993
|
reasoning: true,
|
|
1007
994
|
vision: true,
|
|
1008
|
-
tools: true,
|
|
1009
|
-
structuredOutput: true,
|
|
1010
995
|
contextWindow: 1e6
|
|
1011
996
|
}
|
|
1012
997
|
}),
|
|
@@ -1022,8 +1007,6 @@ var TEXT_MODELS = [
|
|
|
1022
1007
|
capabilities: {
|
|
1023
1008
|
reasoning: true,
|
|
1024
1009
|
vision: true,
|
|
1025
|
-
tools: true,
|
|
1026
|
-
structuredOutput: true,
|
|
1027
1010
|
contextWindow: 1e6
|
|
1028
1011
|
}
|
|
1029
1012
|
}),
|
|
@@ -1039,8 +1022,6 @@ var TEXT_MODELS = [
|
|
|
1039
1022
|
capabilities: {
|
|
1040
1023
|
reasoning: true,
|
|
1041
1024
|
vision: true,
|
|
1042
|
-
tools: true,
|
|
1043
|
-
structuredOutput: true,
|
|
1044
1025
|
contextWindow: 2e5
|
|
1045
1026
|
}
|
|
1046
1027
|
}),
|
|
@@ -1054,8 +1035,6 @@ var TEXT_MODELS = [
|
|
|
1054
1035
|
},
|
|
1055
1036
|
capabilities: {
|
|
1056
1037
|
vision: true,
|
|
1057
|
-
tools: true,
|
|
1058
|
-
structuredOutput: true,
|
|
1059
1038
|
contextWindow: 1e6
|
|
1060
1039
|
}
|
|
1061
1040
|
}),
|
|
@@ -1068,8 +1047,6 @@ var TEXT_MODELS = [
|
|
|
1068
1047
|
},
|
|
1069
1048
|
capabilities: {
|
|
1070
1049
|
vision: true,
|
|
1071
|
-
tools: true,
|
|
1072
|
-
structuredOutput: true,
|
|
1073
1050
|
contextWindow: 1e6
|
|
1074
1051
|
}
|
|
1075
1052
|
}),
|
|
@@ -1082,8 +1059,6 @@ var TEXT_MODELS = [
|
|
|
1082
1059
|
},
|
|
1083
1060
|
capabilities: {
|
|
1084
1061
|
vision: true,
|
|
1085
|
-
tools: true,
|
|
1086
|
-
structuredOutput: true,
|
|
1087
1062
|
contextWindow: 1048576
|
|
1088
1063
|
}
|
|
1089
1064
|
}),
|
|
@@ -1096,8 +1071,6 @@ var TEXT_MODELS = [
|
|
|
1096
1071
|
},
|
|
1097
1072
|
capabilities: {
|
|
1098
1073
|
vision: true,
|
|
1099
|
-
tools: true,
|
|
1100
|
-
structuredOutput: true,
|
|
1101
1074
|
contextWindow: 1048576
|
|
1102
1075
|
}
|
|
1103
1076
|
}),
|
|
@@ -1110,8 +1083,6 @@ var TEXT_MODELS = [
|
|
|
1110
1083
|
},
|
|
1111
1084
|
capabilities: {
|
|
1112
1085
|
vision: true,
|
|
1113
|
-
tools: true,
|
|
1114
|
-
structuredOutput: true,
|
|
1115
1086
|
contextWindow: 1048576
|
|
1116
1087
|
}
|
|
1117
1088
|
}),
|
|
@@ -1124,8 +1095,6 @@ var TEXT_MODELS = [
|
|
|
1124
1095
|
},
|
|
1125
1096
|
capabilities: {
|
|
1126
1097
|
vision: true,
|
|
1127
|
-
tools: true,
|
|
1128
|
-
structuredOutput: true,
|
|
1129
1098
|
contextWindow: 1048576
|
|
1130
1099
|
}
|
|
1131
1100
|
}),
|
|
@@ -1138,8 +1107,6 @@ var TEXT_MODELS = [
|
|
|
1138
1107
|
},
|
|
1139
1108
|
capabilities: {
|
|
1140
1109
|
vision: true,
|
|
1141
|
-
tools: true,
|
|
1142
|
-
structuredOutput: true,
|
|
1143
1110
|
contextWindow: 1048576
|
|
1144
1111
|
}
|
|
1145
1112
|
}),
|
|
@@ -1153,8 +1120,6 @@ var TEXT_MODELS = [
|
|
|
1153
1120
|
},
|
|
1154
1121
|
capabilities: {
|
|
1155
1122
|
vision: true,
|
|
1156
|
-
tools: true,
|
|
1157
|
-
structuredOutput: true,
|
|
1158
1123
|
contextWindow: 1048576
|
|
1159
1124
|
}
|
|
1160
1125
|
}),
|
|
@@ -1167,8 +1132,6 @@ var TEXT_MODELS = [
|
|
|
1167
1132
|
},
|
|
1168
1133
|
capabilities: {
|
|
1169
1134
|
vision: true,
|
|
1170
|
-
tools: true,
|
|
1171
|
-
structuredOutput: true,
|
|
1172
1135
|
contextWindow: 1048576
|
|
1173
1136
|
}
|
|
1174
1137
|
}),
|
|
@@ -1187,8 +1150,6 @@ var TEXT_MODELS = [
|
|
|
1187
1150
|
},
|
|
1188
1151
|
capabilities: {
|
|
1189
1152
|
vision: true,
|
|
1190
|
-
tools: true,
|
|
1191
|
-
structuredOutput: true,
|
|
1192
1153
|
contextWindow: 1048576
|
|
1193
1154
|
}
|
|
1194
1155
|
}),
|
|
@@ -1201,8 +1162,6 @@ var TEXT_MODELS = [
|
|
|
1201
1162
|
},
|
|
1202
1163
|
capabilities: {
|
|
1203
1164
|
vision: true,
|
|
1204
|
-
tools: false,
|
|
1205
|
-
structuredOutput: true,
|
|
1206
1165
|
contextWindow: 128e3
|
|
1207
1166
|
}
|
|
1208
1167
|
}),
|
|
@@ -1215,8 +1174,6 @@ var TEXT_MODELS = [
|
|
|
1215
1174
|
},
|
|
1216
1175
|
capabilities: {
|
|
1217
1176
|
vision: true,
|
|
1218
|
-
tools: false,
|
|
1219
|
-
structuredOutput: true,
|
|
1220
1177
|
contextWindow: 2e5
|
|
1221
1178
|
}
|
|
1222
1179
|
}),
|
|
@@ -1229,8 +1186,6 @@ var TEXT_MODELS = [
|
|
|
1229
1186
|
},
|
|
1230
1187
|
capabilities: {
|
|
1231
1188
|
vision: true,
|
|
1232
|
-
tools: false,
|
|
1233
|
-
structuredOutput: true,
|
|
1234
1189
|
contextWindow: 128e3
|
|
1235
1190
|
}
|
|
1236
1191
|
}),
|
|
@@ -1250,8 +1205,6 @@ var TEXT_MODELS = [
|
|
|
1250
1205
|
capabilities: {
|
|
1251
1206
|
reasoning: true,
|
|
1252
1207
|
vision: true,
|
|
1253
|
-
tools: true,
|
|
1254
|
-
structuredOutput: true,
|
|
1255
1208
|
contextWindow: 1e6
|
|
1256
1209
|
}
|
|
1257
1210
|
}),
|
|
@@ -1266,8 +1219,6 @@ var TEXT_MODELS = [
|
|
|
1266
1219
|
capabilities: {
|
|
1267
1220
|
reasoning: true,
|
|
1268
1221
|
vision: false,
|
|
1269
|
-
tools: true,
|
|
1270
|
-
structuredOutput: true,
|
|
1271
1222
|
contextWindow: 1e6
|
|
1272
1223
|
}
|
|
1273
1224
|
}),
|
|
@@ -1281,14 +1232,14 @@ var TEXT_MODELS = [
|
|
|
1281
1232
|
},
|
|
1282
1233
|
capabilities: {
|
|
1283
1234
|
vision: true,
|
|
1284
|
-
tools: true,
|
|
1285
|
-
structuredOutput: true,
|
|
1286
1235
|
contextWindow: 1e6
|
|
1287
1236
|
}
|
|
1288
1237
|
}),
|
|
1289
1238
|
// Moonshot retired kimi-k2.5 on 2026-08-31 and no longer publishes its specs.
|
|
1290
1239
|
text("kimi-k2.5", "Kimi K2.5", "kimi-k2.5", {
|
|
1291
|
-
|
|
1240
|
+
lifecycle: "deprecated",
|
|
1241
|
+
replacedBy: "kimi-k3",
|
|
1242
|
+
exposure: "internal",
|
|
1292
1243
|
display: {
|
|
1293
1244
|
chat: { temperature: 1 },
|
|
1294
1245
|
provider: "moonshot",
|
|
@@ -1308,8 +1259,6 @@ var TEXT_MODELS = [
|
|
|
1308
1259
|
capabilities: {
|
|
1309
1260
|
reasoning: true,
|
|
1310
1261
|
vision: true,
|
|
1311
|
-
tools: true,
|
|
1312
|
-
structuredOutput: true,
|
|
1313
1262
|
contextWindow: 1e6
|
|
1314
1263
|
}
|
|
1315
1264
|
}),
|
|
@@ -1323,12 +1272,12 @@ var TEXT_MODELS = [
|
|
|
1323
1272
|
costTier: 2,
|
|
1324
1273
|
description: "MiniMax M3 frontier multimodal model for agentic reasoning, tool use, and coding; text, image, and video input, 1M-token context."
|
|
1325
1274
|
},
|
|
1326
|
-
capabilities: { vision: true,
|
|
1275
|
+
capabilities: { vision: true, contextWindow: 1e6 }
|
|
1327
1276
|
})
|
|
1328
1277
|
];
|
|
1329
1278
|
|
|
1330
1279
|
// src/catalog/video.ts
|
|
1331
|
-
var VIDEO_USAGE = { unit: "seconds"
|
|
1280
|
+
var VIDEO_USAGE = { unit: "seconds" };
|
|
1332
1281
|
var SEEDANCE_RATIOS = ["21:9", "16:9", "4:3", "1:1", "3:4", "9:16", "adaptive"];
|
|
1333
1282
|
var KLING_RATIOS = ["16:9", "9:16", "1:1", "adaptive"];
|
|
1334
1283
|
var OMNI_RATIOS = ["16:9", "9:16"];
|
|
@@ -1502,7 +1451,7 @@ var VIDEO_MODELS = [
|
|
|
1502
1451
|
constraints: {
|
|
1503
1452
|
aspectRatios: [...SEEDANCE_RATIOS],
|
|
1504
1453
|
resolutions: ["480p", "720p", "1080p", "4k"],
|
|
1505
|
-
durations:
|
|
1454
|
+
durations: { min: 4, max: 15 },
|
|
1506
1455
|
durationPresets: [4, 6, 8, 10, 12, 15],
|
|
1507
1456
|
references: { images: 9, videos: 3, audios: 3, audioOnly: false },
|
|
1508
1457
|
ratioIgnoredWith: ["firstFrame"],
|
|
@@ -1535,7 +1484,7 @@ var VIDEO_MODELS = [
|
|
|
1535
1484
|
constraints: {
|
|
1536
1485
|
aspectRatios: [...SEEDANCE_RATIOS],
|
|
1537
1486
|
resolutions: ["480p", "720p"],
|
|
1538
|
-
durations:
|
|
1487
|
+
durations: { min: 4, max: 15 },
|
|
1539
1488
|
references: { images: 9, videos: 3, audios: 3, audioOnly: false },
|
|
1540
1489
|
ratioIgnoredWith: ["firstFrame"],
|
|
1541
1490
|
supports: ["generateAudio", "seed", "lastFrame", "watermark"]
|
|
@@ -1608,7 +1557,7 @@ var VIDEO_MODELS = [
|
|
|
1608
1557
|
},
|
|
1609
1558
|
// No resolution default: xAI picks its own unless the caller asks.
|
|
1610
1559
|
defaults: { durationSeconds: 8, aspectRatio: "16:9" },
|
|
1611
|
-
usage: { unit: "reported_cost_usd",
|
|
1560
|
+
usage: { unit: "reported_cost_usd", slug: "grok" },
|
|
1612
1561
|
pricingKind: "video_per_second",
|
|
1613
1562
|
display: {
|
|
1614
1563
|
provider: "xai",
|
|
@@ -1642,6 +1591,7 @@ var VIDEO_MODELS = [
|
|
|
1642
1591
|
pricingKind: "video_per_second",
|
|
1643
1592
|
display: {
|
|
1644
1593
|
provider: "kuaishou",
|
|
1594
|
+
logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/kling-color.png",
|
|
1645
1595
|
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."
|
|
1646
1596
|
},
|
|
1647
1597
|
capabilities: { ...FRAMES_EXCLUDE_REFERENCES }
|
|
@@ -1672,6 +1622,7 @@ var VIDEO_MODELS = [
|
|
|
1672
1622
|
pricingKind: "video_per_second",
|
|
1673
1623
|
display: {
|
|
1674
1624
|
provider: "kuaishou",
|
|
1625
|
+
logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/kling-color.png",
|
|
1675
1626
|
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."
|
|
1676
1627
|
},
|
|
1677
1628
|
capabilities: { ...FRAMES_EXCLUDE_REFERENCES }
|
|
@@ -1705,10 +1656,11 @@ var VIDEO_MODELS = [
|
|
|
1705
1656
|
supports: ["generateAudio", "lastFrame"]
|
|
1706
1657
|
},
|
|
1707
1658
|
defaults: { durationSeconds: 5, aspectRatio: "16:9", generateAudio: false, mode: "pro" },
|
|
1708
|
-
usage: { unit: "compute_seconds"
|
|
1659
|
+
usage: { unit: "compute_seconds" },
|
|
1709
1660
|
pricingKind: "video_per_second",
|
|
1710
1661
|
display: {
|
|
1711
1662
|
provider: "kuaishou",
|
|
1663
|
+
logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/kling-color.png",
|
|
1712
1664
|
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."
|
|
1713
1665
|
},
|
|
1714
1666
|
capabilities: {}
|
|
@@ -1738,6 +1690,7 @@ var VIDEO_MODELS = [
|
|
|
1738
1690
|
pricingKind: "video_per_second",
|
|
1739
1691
|
display: {
|
|
1740
1692
|
provider: "minimax",
|
|
1693
|
+
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png",
|
|
1741
1694
|
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."
|
|
1742
1695
|
},
|
|
1743
1696
|
capabilities: { ...FRAMES_EXCLUDE_REFERENCES }
|
|
@@ -1767,6 +1720,7 @@ var VIDEO_MODELS = [
|
|
|
1767
1720
|
pricingKind: "video_per_second",
|
|
1768
1721
|
display: {
|
|
1769
1722
|
provider: "minimax",
|
|
1723
|
+
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png",
|
|
1770
1724
|
description: "High-speed MiniMax H3 Max variant for text-to-video and image-to-video (first/last frame) only, up to 768p."
|
|
1771
1725
|
},
|
|
1772
1726
|
capabilities: { ...FRAMES_EXCLUDE_REFERENCES }
|
|
@@ -1797,6 +1751,7 @@ var VIDEO_MODELS = [
|
|
|
1797
1751
|
pricingKind: "video_per_second",
|
|
1798
1752
|
display: {
|
|
1799
1753
|
provider: "minimax",
|
|
1754
|
+
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png",
|
|
1800
1755
|
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."
|
|
1801
1756
|
},
|
|
1802
1757
|
capabilities: {}
|
|
@@ -1827,6 +1782,7 @@ var VIDEO_MODELS = [
|
|
|
1827
1782
|
pricingKind: "video_per_second",
|
|
1828
1783
|
display: {
|
|
1829
1784
|
provider: "minimax",
|
|
1785
|
+
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png",
|
|
1830
1786
|
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."
|
|
1831
1787
|
},
|
|
1832
1788
|
capabilities: {}
|
|
@@ -1852,6 +1808,7 @@ var VIDEO_MODELS = [
|
|
|
1852
1808
|
pricingKind: "video_per_second",
|
|
1853
1809
|
display: {
|
|
1854
1810
|
provider: "kuaishou",
|
|
1811
|
+
logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/kling-color.png",
|
|
1855
1812
|
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."
|
|
1856
1813
|
},
|
|
1857
1814
|
capabilities: { acceptsSourceVideo: true }
|
|
@@ -1871,10 +1828,11 @@ var VIDEO_MODELS = [
|
|
|
1871
1828
|
supports: ["lastFrame"]
|
|
1872
1829
|
},
|
|
1873
1830
|
defaults: { durationSeconds: 6, resolution: "768p" },
|
|
1874
|
-
usage: { unit: "compute_seconds"
|
|
1831
|
+
usage: { unit: "compute_seconds" },
|
|
1875
1832
|
pricingKind: "video_per_second",
|
|
1876
1833
|
display: {
|
|
1877
1834
|
provider: "minimax",
|
|
1835
|
+
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png",
|
|
1878
1836
|
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."
|
|
1879
1837
|
},
|
|
1880
1838
|
capabilities: {}
|
|
@@ -2522,7 +2480,7 @@ function passthroughTextModel(model) {
|
|
|
2522
2480
|
exposure: "internal",
|
|
2523
2481
|
constraints: {},
|
|
2524
2482
|
defaults: {},
|
|
2525
|
-
usage: { unit: "tokens"
|
|
2483
|
+
usage: { unit: "tokens" },
|
|
2526
2484
|
pricingKind: "token"
|
|
2527
2485
|
};
|
|
2528
2486
|
}
|