@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.js
CHANGED
|
@@ -99,8 +99,7 @@ var Catalog = class _Catalog {
|
|
|
99
99
|
};
|
|
100
100
|
|
|
101
101
|
// src/catalog/image.ts
|
|
102
|
-
var IMAGE_USAGE = { unit: "images"
|
|
103
|
-
var IMAGE_GENERATE_EDIT = { imageGenerate: true, imageEdit: true };
|
|
102
|
+
var IMAGE_USAGE = { unit: "images" };
|
|
104
103
|
var GEMINI_RATIOS = [
|
|
105
104
|
"1:1",
|
|
106
105
|
"2:3",
|
|
@@ -132,8 +131,7 @@ function geminiImage(id, label, aliases, sizes, display, exposure) {
|
|
|
132
131
|
defaults: { size: "1K", aspectRatio: "1:1" },
|
|
133
132
|
usage: { ...IMAGE_USAGE, slug: "gemini" },
|
|
134
133
|
pricingKind: "image_size",
|
|
135
|
-
display
|
|
136
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
134
|
+
display
|
|
137
135
|
};
|
|
138
136
|
return model;
|
|
139
137
|
}
|
|
@@ -220,8 +218,7 @@ var IMAGE_MODELS = [
|
|
|
220
218
|
provider: "openai",
|
|
221
219
|
description: "The most capable model for image editing and complex creative instructions. Excels at text rendering, visual consistency, design generation, and iterative refinement.",
|
|
222
220
|
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/1204b494-8962-4f7f-af5e-699a8bdc98e3_compressed.png"
|
|
223
|
-
}
|
|
224
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
221
|
+
}
|
|
225
222
|
},
|
|
226
223
|
{
|
|
227
224
|
// Same Images API surface as gpt-image-2 plus the "xhigh" and "max" quality tiers.
|
|
@@ -255,8 +252,7 @@ var IMAGE_MODELS = [
|
|
|
255
252
|
display: {
|
|
256
253
|
provider: "openai",
|
|
257
254
|
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."
|
|
258
|
-
}
|
|
259
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
255
|
+
}
|
|
260
256
|
},
|
|
261
257
|
{
|
|
262
258
|
// Same Images API surface as gpt-image-2 plus the "xhigh" and "max" quality tiers.
|
|
@@ -290,8 +286,7 @@ var IMAGE_MODELS = [
|
|
|
290
286
|
display: {
|
|
291
287
|
provider: "openai",
|
|
292
288
|
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."
|
|
293
|
-
}
|
|
294
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
289
|
+
}
|
|
295
290
|
},
|
|
296
291
|
{
|
|
297
292
|
// Cowork allows 7 ratios; trigger-workflows allows 9 (adds 3:2, 9:21, drops 4:5/5:4).
|
|
@@ -329,8 +324,7 @@ var IMAGE_MODELS = [
|
|
|
329
324
|
provider: "meta",
|
|
330
325
|
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.",
|
|
331
326
|
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/characters/1787909065794-k9a7zz.png"
|
|
332
|
-
}
|
|
333
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
327
|
+
}
|
|
334
328
|
},
|
|
335
329
|
{
|
|
336
330
|
id: "seedream-5-0-pro",
|
|
@@ -356,8 +350,7 @@ var IMAGE_MODELS = [
|
|
|
356
350
|
provider: "bytedance",
|
|
357
351
|
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/3bba5d81-4e57-4e71-911b-cdfa05acca2c_compressed.png",
|
|
358
352
|
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."
|
|
359
|
-
}
|
|
360
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
353
|
+
}
|
|
361
354
|
},
|
|
362
355
|
{
|
|
363
356
|
id: "seedream-4.5",
|
|
@@ -394,8 +387,7 @@ var IMAGE_MODELS = [
|
|
|
394
387
|
display: {
|
|
395
388
|
provider: "bytedance",
|
|
396
389
|
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."
|
|
397
|
-
}
|
|
398
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
390
|
+
}
|
|
399
391
|
},
|
|
400
392
|
{
|
|
401
393
|
id: "flux-2-pro",
|
|
@@ -417,9 +409,9 @@ var IMAGE_MODELS = [
|
|
|
417
409
|
pricingKind: "image_size",
|
|
418
410
|
display: {
|
|
419
411
|
provider: "black-forest-labs",
|
|
412
|
+
logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/flux.png",
|
|
420
413
|
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."
|
|
421
|
-
}
|
|
422
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
414
|
+
}
|
|
423
415
|
},
|
|
424
416
|
{
|
|
425
417
|
// Prodia's gemini-3-pro jobs take aspect_ratio + resolution (1K/2K/4K), not
|
|
@@ -445,8 +437,7 @@ var IMAGE_MODELS = [
|
|
|
445
437
|
display: {
|
|
446
438
|
provider: "google",
|
|
447
439
|
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."
|
|
448
|
-
}
|
|
449
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
440
|
+
}
|
|
450
441
|
},
|
|
451
442
|
{
|
|
452
443
|
// Nano Banana (img2img.v2) is flat-rate with aspect_ratio only; 3:2, 4:5,
|
|
@@ -471,8 +462,7 @@ var IMAGE_MODELS = [
|
|
|
471
462
|
display: {
|
|
472
463
|
provider: "google",
|
|
473
464
|
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."
|
|
474
|
-
}
|
|
475
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
465
|
+
}
|
|
476
466
|
},
|
|
477
467
|
{
|
|
478
468
|
// WAN 2.7 takes `images` (up to 9) and a `size` enum whose exact values
|
|
@@ -493,13 +483,12 @@ var IMAGE_MODELS = [
|
|
|
493
483
|
supports: []
|
|
494
484
|
},
|
|
495
485
|
defaults: { size: "1K", aspectRatio: "1:1" },
|
|
496
|
-
usage: { unit: "compute_seconds"
|
|
486
|
+
usage: { unit: "compute_seconds" },
|
|
497
487
|
pricingKind: "image_size",
|
|
498
488
|
display: {
|
|
499
489
|
provider: "alibaba",
|
|
500
490
|
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)."
|
|
501
|
-
}
|
|
502
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
491
|
+
}
|
|
503
492
|
},
|
|
504
493
|
{
|
|
505
494
|
// Qwen Image 2 Pro has aspect_ratio but no size input; resolution follows
|
|
@@ -521,13 +510,12 @@ var IMAGE_MODELS = [
|
|
|
521
510
|
supports: []
|
|
522
511
|
},
|
|
523
512
|
defaults: { aspectRatio: "1:1" },
|
|
524
|
-
usage: { unit: "compute_seconds"
|
|
513
|
+
usage: { unit: "compute_seconds" },
|
|
525
514
|
pricingKind: "image_size",
|
|
526
515
|
display: {
|
|
527
516
|
provider: "alibaba",
|
|
528
517
|
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."
|
|
529
|
-
}
|
|
530
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
518
|
+
}
|
|
531
519
|
},
|
|
532
520
|
{
|
|
533
521
|
// Qwen Image Edit Plus takes aspect_ratio (or match_input_image) and
|
|
@@ -549,13 +537,12 @@ var IMAGE_MODELS = [
|
|
|
549
537
|
supports: ["outputFormat"]
|
|
550
538
|
},
|
|
551
539
|
defaults: { outputFormat: "png" },
|
|
552
|
-
usage: { unit: "compute_seconds"
|
|
540
|
+
usage: { unit: "compute_seconds" },
|
|
553
541
|
pricingKind: "image_size",
|
|
554
542
|
display: {
|
|
555
543
|
provider: "alibaba",
|
|
556
544
|
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."
|
|
557
|
-
}
|
|
558
|
-
capabilities: { ...IMAGE_GENERATE_EDIT }
|
|
545
|
+
}
|
|
559
546
|
}
|
|
560
547
|
];
|
|
561
548
|
|
|
@@ -577,7 +564,7 @@ var OTHER_MODELS = [
|
|
|
577
564
|
supports: []
|
|
578
565
|
},
|
|
579
566
|
defaults: {},
|
|
580
|
-
usage: { unit: "images"
|
|
567
|
+
usage: { unit: "images" },
|
|
581
568
|
pricingKind: "flat",
|
|
582
569
|
display: {
|
|
583
570
|
provider: "google",
|
|
@@ -600,7 +587,7 @@ var OTHER_MODELS = [
|
|
|
600
587
|
supports: []
|
|
601
588
|
},
|
|
602
589
|
defaults: {},
|
|
603
|
-
usage: { unit: "images"
|
|
590
|
+
usage: { unit: "images" },
|
|
604
591
|
pricingKind: "flat",
|
|
605
592
|
display: {
|
|
606
593
|
provider: "google",
|
|
@@ -623,7 +610,7 @@ var OTHER_MODELS = [
|
|
|
623
610
|
supports: ["seed", "negativePrompt"]
|
|
624
611
|
},
|
|
625
612
|
defaults: {},
|
|
626
|
-
usage: { unit: "compute_seconds"
|
|
613
|
+
usage: { unit: "compute_seconds" },
|
|
627
614
|
pricingKind: "flat",
|
|
628
615
|
display: {
|
|
629
616
|
provider: "google",
|
|
@@ -646,7 +633,7 @@ var OTHER_MODELS = [
|
|
|
646
633
|
supports: ["seed", "negativePrompt"]
|
|
647
634
|
},
|
|
648
635
|
defaults: { durationSeconds: 8 },
|
|
649
|
-
usage: { unit: "compute_seconds"
|
|
636
|
+
usage: { unit: "compute_seconds" },
|
|
650
637
|
pricingKind: "flat",
|
|
651
638
|
display: {
|
|
652
639
|
provider: "mmaudio",
|
|
@@ -669,7 +656,7 @@ var OTHER_MODELS = [
|
|
|
669
656
|
},
|
|
670
657
|
defaults: { durationSeconds: 15, instrumental: true },
|
|
671
658
|
// Replicate's run() does not report predict_time; billed by generated length.
|
|
672
|
-
usage: { unit: "seconds"
|
|
659
|
+
usage: { unit: "seconds" },
|
|
673
660
|
pricingKind: "flat",
|
|
674
661
|
display: {
|
|
675
662
|
provider: "elevenlabs",
|
|
@@ -692,13 +679,13 @@ var OTHER_MODELS = [
|
|
|
692
679
|
supports: ["scaleFactor", "outputFormat", "upscale"]
|
|
693
680
|
},
|
|
694
681
|
defaults: { scaleFactor: 2, outputFormat: "png" },
|
|
695
|
-
usage: { unit: "compute_seconds"
|
|
682
|
+
usage: { unit: "compute_seconds" },
|
|
696
683
|
pricingKind: "flat",
|
|
697
684
|
display: {
|
|
698
685
|
provider: "topaz",
|
|
686
|
+
logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/topazlabs.png",
|
|
699
687
|
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."
|
|
700
|
-
}
|
|
701
|
-
capabilities: { imageEdit: true }
|
|
688
|
+
}
|
|
702
689
|
},
|
|
703
690
|
{
|
|
704
691
|
id: "bg-remove",
|
|
@@ -715,19 +702,30 @@ var OTHER_MODELS = [
|
|
|
715
702
|
supports: []
|
|
716
703
|
},
|
|
717
704
|
defaults: {},
|
|
718
|
-
usage: { unit: "images"
|
|
705
|
+
usage: { unit: "images" },
|
|
719
706
|
pricingKind: "flat",
|
|
720
707
|
display: {
|
|
721
708
|
provider: "prodia",
|
|
722
709
|
description: "Prodia background removal; takes one input image and returns a PNG cut-out of the subject plus an optional black-and-white mask."
|
|
723
|
-
}
|
|
724
|
-
capabilities: { imageEdit: true }
|
|
710
|
+
}
|
|
725
711
|
}
|
|
726
712
|
];
|
|
727
713
|
|
|
728
714
|
// src/catalog/text.ts
|
|
729
|
-
var TEXT_USAGE = { unit: "tokens"
|
|
715
|
+
var TEXT_USAGE = { unit: "tokens" };
|
|
716
|
+
var CDN = "https://d31vvfpk2ppdyq.cloudfront.net/assets/image";
|
|
717
|
+
var PROVIDER_LOGOS = {
|
|
718
|
+
anthropic: `${CDN}/25fad392-188c-4829-a3d0-c4fa02d1c8cd.png`,
|
|
719
|
+
openai: `${CDN}/1204b494-8962-4f7f-af5e-699a8bdc98e3.png`,
|
|
720
|
+
google: `${CDN}/192485d2-a76a-4657-9c06-930b2c70badd.png`,
|
|
721
|
+
deepseek: `${CDN}/9b7406d2-a696-4558-ab79-90a37e3f4574.png`,
|
|
722
|
+
xai: `${CDN}/858b7fcc-9bd5-411d-aea1-a7b35ecfffab.png`,
|
|
723
|
+
moonshot: `${CDN}/5a1e2eae-3474-4fac-9c74-a93f41ee6f67.png`,
|
|
724
|
+
minimax: `${CDN}/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png`
|
|
725
|
+
};
|
|
730
726
|
function text(id, label, providerModelId, extra) {
|
|
727
|
+
const display = extra?.display;
|
|
728
|
+
const logo = display && !display.logo ? PROVIDER_LOGOS[display.provider] : void 0;
|
|
731
729
|
return {
|
|
732
730
|
id,
|
|
733
731
|
aliases: [],
|
|
@@ -741,7 +739,8 @@ function text(id, label, providerModelId, extra) {
|
|
|
741
739
|
defaults: {},
|
|
742
740
|
usage: { ...TEXT_USAGE },
|
|
743
741
|
pricingKind: "token",
|
|
744
|
-
...extra
|
|
742
|
+
...extra,
|
|
743
|
+
...display && logo ? { display: { ...display, logo } } : {}
|
|
745
744
|
};
|
|
746
745
|
}
|
|
747
746
|
var ANTHROPIC_THINKING = {
|
|
@@ -760,7 +759,7 @@ var TEXT_MODELS = [
|
|
|
760
759
|
costTier: 2,
|
|
761
760
|
description: "OpenAI GPT-4o flagship multimodal model; text and image input, 128K-token context."
|
|
762
761
|
},
|
|
763
|
-
capabilities: { vision: true,
|
|
762
|
+
capabilities: { vision: true, contextWindow: 128e3 }
|
|
764
763
|
}),
|
|
765
764
|
text("gpt-4o-mini", "GPT-4o mini", "gpt-4o-mini", {
|
|
766
765
|
exposure: "internal",
|
|
@@ -769,7 +768,7 @@ var TEXT_MODELS = [
|
|
|
769
768
|
costTier: 1,
|
|
770
769
|
description: "OpenAI GPT-4o mini fast, low-cost multimodal model; text and image input, 128K-token context."
|
|
771
770
|
},
|
|
772
|
-
capabilities: { vision: true,
|
|
771
|
+
capabilities: { vision: true, contextWindow: 128e3 }
|
|
773
772
|
}),
|
|
774
773
|
text("gpt-5.1", "GPT-5.1", "gpt-5.1", {
|
|
775
774
|
exposure: "catalog",
|
|
@@ -778,7 +777,7 @@ var TEXT_MODELS = [
|
|
|
778
777
|
costTier: 3,
|
|
779
778
|
description: "OpenAI GPT-5.1 reasoning model for coding and agentic tasks; text and image input, 400K-token context."
|
|
780
779
|
},
|
|
781
|
-
capabilities: { vision: true,
|
|
780
|
+
capabilities: { vision: true, contextWindow: 4e5 }
|
|
782
781
|
}),
|
|
783
782
|
text("gpt-5.2", "GPT-5.2", "gpt-5.2", {
|
|
784
783
|
exposure: "catalog",
|
|
@@ -787,7 +786,7 @@ var TEXT_MODELS = [
|
|
|
787
786
|
costTier: 3,
|
|
788
787
|
description: "OpenAI GPT-5.2 reasoning model for complex professional work; text and image input, 400K-token context."
|
|
789
788
|
},
|
|
790
|
-
capabilities: { vision: true,
|
|
789
|
+
capabilities: { vision: true, contextWindow: 4e5 }
|
|
791
790
|
}),
|
|
792
791
|
// 1.05M-token context: https://platform.openai.com/docs/models/gpt-5.4
|
|
793
792
|
text("gpt-5.4", "GPT-5.4", "gpt-5.4", {
|
|
@@ -799,8 +798,6 @@ var TEXT_MODELS = [
|
|
|
799
798
|
},
|
|
800
799
|
capabilities: {
|
|
801
800
|
vision: true,
|
|
802
|
-
tools: true,
|
|
803
|
-
structuredOutput: true,
|
|
804
801
|
contextWindow: 105e4
|
|
805
802
|
}
|
|
806
803
|
}),
|
|
@@ -813,7 +810,7 @@ var TEXT_MODELS = [
|
|
|
813
810
|
costTier: 1,
|
|
814
811
|
description: "OpenAI GPT-5.4 mini efficient reasoning model for high-volume workloads; text and image input, 400K-token context."
|
|
815
812
|
},
|
|
816
|
-
capabilities: { vision: true,
|
|
813
|
+
capabilities: { vision: true, contextWindow: 4e5 }
|
|
817
814
|
}),
|
|
818
815
|
text("gpt-5.5", "GPT-5.5", "gpt-5.5", {
|
|
819
816
|
exposure: "catalog",
|
|
@@ -824,8 +821,6 @@ var TEXT_MODELS = [
|
|
|
824
821
|
},
|
|
825
822
|
capabilities: {
|
|
826
823
|
vision: true,
|
|
827
|
-
tools: true,
|
|
828
|
-
structuredOutput: true,
|
|
829
824
|
contextWindow: 105e4
|
|
830
825
|
}
|
|
831
826
|
}),
|
|
@@ -840,8 +835,6 @@ var TEXT_MODELS = [
|
|
|
840
835
|
capabilities: {
|
|
841
836
|
reasoning: true,
|
|
842
837
|
vision: true,
|
|
843
|
-
tools: true,
|
|
844
|
-
structuredOutput: true,
|
|
845
838
|
contextWindow: 105e4
|
|
846
839
|
}
|
|
847
840
|
}),
|
|
@@ -856,8 +849,6 @@ var TEXT_MODELS = [
|
|
|
856
849
|
capabilities: {
|
|
857
850
|
reasoning: true,
|
|
858
851
|
vision: true,
|
|
859
|
-
tools: true,
|
|
860
|
-
structuredOutput: true,
|
|
861
852
|
contextWindow: 105e4
|
|
862
853
|
}
|
|
863
854
|
}),
|
|
@@ -872,8 +863,6 @@ var TEXT_MODELS = [
|
|
|
872
863
|
capabilities: {
|
|
873
864
|
reasoning: true,
|
|
874
865
|
vision: true,
|
|
875
|
-
tools: true,
|
|
876
|
-
structuredOutput: true,
|
|
877
866
|
contextWindow: 105e4
|
|
878
867
|
}
|
|
879
868
|
}),
|
|
@@ -886,7 +875,7 @@ var TEXT_MODELS = [
|
|
|
886
875
|
costTier: 2,
|
|
887
876
|
description: "Anthropic Claude Sonnet 4.5 (legacy) balanced model; text and image input, 200K-token context."
|
|
888
877
|
},
|
|
889
|
-
capabilities: { vision: true,
|
|
878
|
+
capabilities: { vision: true, contextWindow: 2e5 }
|
|
890
879
|
}),
|
|
891
880
|
// Anthropic retired the dated 4.0 ids; callers that still send them get 4.6.
|
|
892
881
|
text("claude-sonnet-4-6", "Claude Sonnet 4.6", "claude-sonnet-4-6", {
|
|
@@ -906,8 +895,6 @@ var TEXT_MODELS = [
|
|
|
906
895
|
capabilities: {
|
|
907
896
|
reasoning: true,
|
|
908
897
|
vision: true,
|
|
909
|
-
tools: true,
|
|
910
|
-
structuredOutput: true,
|
|
911
898
|
contextWindow: 1e6
|
|
912
899
|
}
|
|
913
900
|
}),
|
|
@@ -922,8 +909,6 @@ var TEXT_MODELS = [
|
|
|
922
909
|
capabilities: {
|
|
923
910
|
reasoning: true,
|
|
924
911
|
vision: true,
|
|
925
|
-
tools: true,
|
|
926
|
-
structuredOutput: true,
|
|
927
912
|
contextWindow: 1e6
|
|
928
913
|
}
|
|
929
914
|
}),
|
|
@@ -939,8 +924,6 @@ var TEXT_MODELS = [
|
|
|
939
924
|
capabilities: {
|
|
940
925
|
reasoning: true,
|
|
941
926
|
vision: true,
|
|
942
|
-
tools: true,
|
|
943
|
-
structuredOutput: true,
|
|
944
927
|
contextWindow: 1e6
|
|
945
928
|
}
|
|
946
929
|
}),
|
|
@@ -956,8 +939,6 @@ var TEXT_MODELS = [
|
|
|
956
939
|
capabilities: {
|
|
957
940
|
reasoning: true,
|
|
958
941
|
vision: true,
|
|
959
|
-
tools: true,
|
|
960
|
-
structuredOutput: true,
|
|
961
942
|
contextWindow: 2e5
|
|
962
943
|
}
|
|
963
944
|
}),
|
|
@@ -971,8 +952,6 @@ var TEXT_MODELS = [
|
|
|
971
952
|
},
|
|
972
953
|
capabilities: {
|
|
973
954
|
vision: true,
|
|
974
|
-
tools: true,
|
|
975
|
-
structuredOutput: true,
|
|
976
955
|
contextWindow: 1e6
|
|
977
956
|
}
|
|
978
957
|
}),
|
|
@@ -985,8 +964,6 @@ var TEXT_MODELS = [
|
|
|
985
964
|
},
|
|
986
965
|
capabilities: {
|
|
987
966
|
vision: true,
|
|
988
|
-
tools: true,
|
|
989
|
-
structuredOutput: true,
|
|
990
967
|
contextWindow: 1e6
|
|
991
968
|
}
|
|
992
969
|
}),
|
|
@@ -999,8 +976,6 @@ var TEXT_MODELS = [
|
|
|
999
976
|
},
|
|
1000
977
|
capabilities: {
|
|
1001
978
|
vision: true,
|
|
1002
|
-
tools: true,
|
|
1003
|
-
structuredOutput: true,
|
|
1004
979
|
contextWindow: 1048576
|
|
1005
980
|
}
|
|
1006
981
|
}),
|
|
@@ -1013,8 +988,6 @@ var TEXT_MODELS = [
|
|
|
1013
988
|
},
|
|
1014
989
|
capabilities: {
|
|
1015
990
|
vision: true,
|
|
1016
|
-
tools: true,
|
|
1017
|
-
structuredOutput: true,
|
|
1018
991
|
contextWindow: 1048576
|
|
1019
992
|
}
|
|
1020
993
|
}),
|
|
@@ -1027,8 +1000,6 @@ var TEXT_MODELS = [
|
|
|
1027
1000
|
},
|
|
1028
1001
|
capabilities: {
|
|
1029
1002
|
vision: true,
|
|
1030
|
-
tools: true,
|
|
1031
|
-
structuredOutput: true,
|
|
1032
1003
|
contextWindow: 1048576
|
|
1033
1004
|
}
|
|
1034
1005
|
}),
|
|
@@ -1041,8 +1012,6 @@ var TEXT_MODELS = [
|
|
|
1041
1012
|
},
|
|
1042
1013
|
capabilities: {
|
|
1043
1014
|
vision: true,
|
|
1044
|
-
tools: true,
|
|
1045
|
-
structuredOutput: true,
|
|
1046
1015
|
contextWindow: 1048576
|
|
1047
1016
|
}
|
|
1048
1017
|
}),
|
|
@@ -1055,8 +1024,6 @@ var TEXT_MODELS = [
|
|
|
1055
1024
|
},
|
|
1056
1025
|
capabilities: {
|
|
1057
1026
|
vision: true,
|
|
1058
|
-
tools: true,
|
|
1059
|
-
structuredOutput: true,
|
|
1060
1027
|
contextWindow: 1048576
|
|
1061
1028
|
}
|
|
1062
1029
|
}),
|
|
@@ -1070,8 +1037,6 @@ var TEXT_MODELS = [
|
|
|
1070
1037
|
},
|
|
1071
1038
|
capabilities: {
|
|
1072
1039
|
vision: true,
|
|
1073
|
-
tools: true,
|
|
1074
|
-
structuredOutput: true,
|
|
1075
1040
|
contextWindow: 1048576
|
|
1076
1041
|
}
|
|
1077
1042
|
}),
|
|
@@ -1084,8 +1049,6 @@ var TEXT_MODELS = [
|
|
|
1084
1049
|
},
|
|
1085
1050
|
capabilities: {
|
|
1086
1051
|
vision: true,
|
|
1087
|
-
tools: true,
|
|
1088
|
-
structuredOutput: true,
|
|
1089
1052
|
contextWindow: 1048576
|
|
1090
1053
|
}
|
|
1091
1054
|
}),
|
|
@@ -1104,8 +1067,6 @@ var TEXT_MODELS = [
|
|
|
1104
1067
|
},
|
|
1105
1068
|
capabilities: {
|
|
1106
1069
|
vision: true,
|
|
1107
|
-
tools: true,
|
|
1108
|
-
structuredOutput: true,
|
|
1109
1070
|
contextWindow: 1048576
|
|
1110
1071
|
}
|
|
1111
1072
|
}),
|
|
@@ -1118,8 +1079,6 @@ var TEXT_MODELS = [
|
|
|
1118
1079
|
},
|
|
1119
1080
|
capabilities: {
|
|
1120
1081
|
vision: true,
|
|
1121
|
-
tools: false,
|
|
1122
|
-
structuredOutput: true,
|
|
1123
1082
|
contextWindow: 128e3
|
|
1124
1083
|
}
|
|
1125
1084
|
}),
|
|
@@ -1132,8 +1091,6 @@ var TEXT_MODELS = [
|
|
|
1132
1091
|
},
|
|
1133
1092
|
capabilities: {
|
|
1134
1093
|
vision: true,
|
|
1135
|
-
tools: false,
|
|
1136
|
-
structuredOutput: true,
|
|
1137
1094
|
contextWindow: 2e5
|
|
1138
1095
|
}
|
|
1139
1096
|
}),
|
|
@@ -1146,8 +1103,6 @@ var TEXT_MODELS = [
|
|
|
1146
1103
|
},
|
|
1147
1104
|
capabilities: {
|
|
1148
1105
|
vision: true,
|
|
1149
|
-
tools: false,
|
|
1150
|
-
structuredOutput: true,
|
|
1151
1106
|
contextWindow: 128e3
|
|
1152
1107
|
}
|
|
1153
1108
|
}),
|
|
@@ -1167,8 +1122,6 @@ var TEXT_MODELS = [
|
|
|
1167
1122
|
capabilities: {
|
|
1168
1123
|
reasoning: true,
|
|
1169
1124
|
vision: true,
|
|
1170
|
-
tools: true,
|
|
1171
|
-
structuredOutput: true,
|
|
1172
1125
|
contextWindow: 1e6
|
|
1173
1126
|
}
|
|
1174
1127
|
}),
|
|
@@ -1183,8 +1136,6 @@ var TEXT_MODELS = [
|
|
|
1183
1136
|
capabilities: {
|
|
1184
1137
|
reasoning: true,
|
|
1185
1138
|
vision: false,
|
|
1186
|
-
tools: true,
|
|
1187
|
-
structuredOutput: true,
|
|
1188
1139
|
contextWindow: 1e6
|
|
1189
1140
|
}
|
|
1190
1141
|
}),
|
|
@@ -1198,14 +1149,14 @@ var TEXT_MODELS = [
|
|
|
1198
1149
|
},
|
|
1199
1150
|
capabilities: {
|
|
1200
1151
|
vision: true,
|
|
1201
|
-
tools: true,
|
|
1202
|
-
structuredOutput: true,
|
|
1203
1152
|
contextWindow: 1e6
|
|
1204
1153
|
}
|
|
1205
1154
|
}),
|
|
1206
1155
|
// Moonshot retired kimi-k2.5 on 2026-08-31 and no longer publishes its specs.
|
|
1207
1156
|
text("kimi-k2.5", "Kimi K2.5", "kimi-k2.5", {
|
|
1208
|
-
|
|
1157
|
+
lifecycle: "deprecated",
|
|
1158
|
+
replacedBy: "kimi-k3",
|
|
1159
|
+
exposure: "internal",
|
|
1209
1160
|
display: {
|
|
1210
1161
|
chat: { temperature: 1 },
|
|
1211
1162
|
provider: "moonshot",
|
|
@@ -1225,8 +1176,6 @@ var TEXT_MODELS = [
|
|
|
1225
1176
|
capabilities: {
|
|
1226
1177
|
reasoning: true,
|
|
1227
1178
|
vision: true,
|
|
1228
|
-
tools: true,
|
|
1229
|
-
structuredOutput: true,
|
|
1230
1179
|
contextWindow: 1e6
|
|
1231
1180
|
}
|
|
1232
1181
|
}),
|
|
@@ -1240,12 +1189,12 @@ var TEXT_MODELS = [
|
|
|
1240
1189
|
costTier: 2,
|
|
1241
1190
|
description: "MiniMax M3 frontier multimodal model for agentic reasoning, tool use, and coding; text, image, and video input, 1M-token context."
|
|
1242
1191
|
},
|
|
1243
|
-
capabilities: { vision: true,
|
|
1192
|
+
capabilities: { vision: true, contextWindow: 1e6 }
|
|
1244
1193
|
})
|
|
1245
1194
|
];
|
|
1246
1195
|
|
|
1247
1196
|
// src/catalog/video.ts
|
|
1248
|
-
var VIDEO_USAGE = { unit: "seconds"
|
|
1197
|
+
var VIDEO_USAGE = { unit: "seconds" };
|
|
1249
1198
|
var SEEDANCE_RATIOS = ["21:9", "16:9", "4:3", "1:1", "3:4", "9:16", "adaptive"];
|
|
1250
1199
|
var KLING_RATIOS = ["16:9", "9:16", "1:1", "adaptive"];
|
|
1251
1200
|
var OMNI_RATIOS = ["16:9", "9:16"];
|
|
@@ -1419,7 +1368,7 @@ var VIDEO_MODELS = [
|
|
|
1419
1368
|
constraints: {
|
|
1420
1369
|
aspectRatios: [...SEEDANCE_RATIOS],
|
|
1421
1370
|
resolutions: ["480p", "720p", "1080p", "4k"],
|
|
1422
|
-
durations:
|
|
1371
|
+
durations: { min: 4, max: 15 },
|
|
1423
1372
|
durationPresets: [4, 6, 8, 10, 12, 15],
|
|
1424
1373
|
references: { images: 9, videos: 3, audios: 3, audioOnly: false },
|
|
1425
1374
|
ratioIgnoredWith: ["firstFrame"],
|
|
@@ -1452,7 +1401,7 @@ var VIDEO_MODELS = [
|
|
|
1452
1401
|
constraints: {
|
|
1453
1402
|
aspectRatios: [...SEEDANCE_RATIOS],
|
|
1454
1403
|
resolutions: ["480p", "720p"],
|
|
1455
|
-
durations:
|
|
1404
|
+
durations: { min: 4, max: 15 },
|
|
1456
1405
|
references: { images: 9, videos: 3, audios: 3, audioOnly: false },
|
|
1457
1406
|
ratioIgnoredWith: ["firstFrame"],
|
|
1458
1407
|
supports: ["generateAudio", "seed", "lastFrame", "watermark"]
|
|
@@ -1525,7 +1474,7 @@ var VIDEO_MODELS = [
|
|
|
1525
1474
|
},
|
|
1526
1475
|
// No resolution default: xAI picks its own unless the caller asks.
|
|
1527
1476
|
defaults: { durationSeconds: 8, aspectRatio: "16:9" },
|
|
1528
|
-
usage: { unit: "reported_cost_usd",
|
|
1477
|
+
usage: { unit: "reported_cost_usd", slug: "grok" },
|
|
1529
1478
|
pricingKind: "video_per_second",
|
|
1530
1479
|
display: {
|
|
1531
1480
|
provider: "xai",
|
|
@@ -1559,6 +1508,7 @@ var VIDEO_MODELS = [
|
|
|
1559
1508
|
pricingKind: "video_per_second",
|
|
1560
1509
|
display: {
|
|
1561
1510
|
provider: "kuaishou",
|
|
1511
|
+
logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/kling-color.png",
|
|
1562
1512
|
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."
|
|
1563
1513
|
},
|
|
1564
1514
|
capabilities: { ...FRAMES_EXCLUDE_REFERENCES }
|
|
@@ -1589,6 +1539,7 @@ var VIDEO_MODELS = [
|
|
|
1589
1539
|
pricingKind: "video_per_second",
|
|
1590
1540
|
display: {
|
|
1591
1541
|
provider: "kuaishou",
|
|
1542
|
+
logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/kling-color.png",
|
|
1592
1543
|
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."
|
|
1593
1544
|
},
|
|
1594
1545
|
capabilities: { ...FRAMES_EXCLUDE_REFERENCES }
|
|
@@ -1622,10 +1573,11 @@ var VIDEO_MODELS = [
|
|
|
1622
1573
|
supports: ["generateAudio", "lastFrame"]
|
|
1623
1574
|
},
|
|
1624
1575
|
defaults: { durationSeconds: 5, aspectRatio: "16:9", generateAudio: false, mode: "pro" },
|
|
1625
|
-
usage: { unit: "compute_seconds"
|
|
1576
|
+
usage: { unit: "compute_seconds" },
|
|
1626
1577
|
pricingKind: "video_per_second",
|
|
1627
1578
|
display: {
|
|
1628
1579
|
provider: "kuaishou",
|
|
1580
|
+
logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/kling-color.png",
|
|
1629
1581
|
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."
|
|
1630
1582
|
},
|
|
1631
1583
|
capabilities: {}
|
|
@@ -1655,6 +1607,7 @@ var VIDEO_MODELS = [
|
|
|
1655
1607
|
pricingKind: "video_per_second",
|
|
1656
1608
|
display: {
|
|
1657
1609
|
provider: "minimax",
|
|
1610
|
+
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png",
|
|
1658
1611
|
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."
|
|
1659
1612
|
},
|
|
1660
1613
|
capabilities: { ...FRAMES_EXCLUDE_REFERENCES }
|
|
@@ -1684,6 +1637,7 @@ var VIDEO_MODELS = [
|
|
|
1684
1637
|
pricingKind: "video_per_second",
|
|
1685
1638
|
display: {
|
|
1686
1639
|
provider: "minimax",
|
|
1640
|
+
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png",
|
|
1687
1641
|
description: "High-speed MiniMax H3 Max variant for text-to-video and image-to-video (first/last frame) only, up to 768p."
|
|
1688
1642
|
},
|
|
1689
1643
|
capabilities: { ...FRAMES_EXCLUDE_REFERENCES }
|
|
@@ -1714,6 +1668,7 @@ var VIDEO_MODELS = [
|
|
|
1714
1668
|
pricingKind: "video_per_second",
|
|
1715
1669
|
display: {
|
|
1716
1670
|
provider: "minimax",
|
|
1671
|
+
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png",
|
|
1717
1672
|
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."
|
|
1718
1673
|
},
|
|
1719
1674
|
capabilities: {}
|
|
@@ -1744,6 +1699,7 @@ var VIDEO_MODELS = [
|
|
|
1744
1699
|
pricingKind: "video_per_second",
|
|
1745
1700
|
display: {
|
|
1746
1701
|
provider: "minimax",
|
|
1702
|
+
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png",
|
|
1747
1703
|
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."
|
|
1748
1704
|
},
|
|
1749
1705
|
capabilities: {}
|
|
@@ -1769,6 +1725,7 @@ var VIDEO_MODELS = [
|
|
|
1769
1725
|
pricingKind: "video_per_second",
|
|
1770
1726
|
display: {
|
|
1771
1727
|
provider: "kuaishou",
|
|
1728
|
+
logo: "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/kling-color.png",
|
|
1772
1729
|
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."
|
|
1773
1730
|
},
|
|
1774
1731
|
capabilities: { acceptsSourceVideo: true }
|
|
@@ -1788,10 +1745,11 @@ var VIDEO_MODELS = [
|
|
|
1788
1745
|
supports: ["lastFrame"]
|
|
1789
1746
|
},
|
|
1790
1747
|
defaults: { durationSeconds: 6, resolution: "768p" },
|
|
1791
|
-
usage: { unit: "compute_seconds"
|
|
1748
|
+
usage: { unit: "compute_seconds" },
|
|
1792
1749
|
pricingKind: "video_per_second",
|
|
1793
1750
|
display: {
|
|
1794
1751
|
provider: "minimax",
|
|
1752
|
+
logo: "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png",
|
|
1795
1753
|
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."
|
|
1796
1754
|
},
|
|
1797
1755
|
capabilities: {}
|
|
@@ -2439,7 +2397,7 @@ function passthroughTextModel(model) {
|
|
|
2439
2397
|
exposure: "internal",
|
|
2440
2398
|
constraints: {},
|
|
2441
2399
|
defaults: {},
|
|
2442
|
-
usage: { unit: "tokens"
|
|
2400
|
+
usage: { unit: "tokens" },
|
|
2443
2401
|
pricingKind: "token"
|
|
2444
2402
|
};
|
|
2445
2403
|
}
|