@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/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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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,
|
|
1227
|
+
capabilities: { vision: true, contextWindow: 1e6 }
|
|
1279
1228
|
})
|
|
1280
1229
|
];
|
|
1281
1230
|
|
|
1282
1231
|
// src/catalog/video.ts
|
|
1283
|
-
var VIDEO_USAGE = { unit: "seconds"
|
|
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:
|
|
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:
|
|
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",
|
|
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"
|
|
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"
|
|
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: {}
|