@shop-os/modelkit 0.10.0 → 0.10.2

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.js CHANGED
@@ -1991,6 +1991,7 @@ var FISH_VOICES = [
1991
1991
  var FISH_LOGO = "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/fishaudio.png";
1992
1992
  var PER_CALL2 = { unit: "images" };
1993
1993
  var PER_REQUEST2 = { unit: "requests" };
1994
+ var EXPOSURE4 = ["cowork", "space_builder"];
1994
1995
  var TTS_MAX_CHARS = 1e4;
1995
1996
  function fishTts(id, label, providerModelId, description) {
1996
1997
  return {
@@ -2001,7 +2002,7 @@ function fishTts(id, label, providerModelId, description) {
2001
2002
  adapter: "fish",
2002
2003
  providerModelId,
2003
2004
  lifecycle: "active",
2004
- exposure: [],
2005
+ exposure: EXPOSURE4,
2005
2006
  constraints: {
2006
2007
  voices: FISH_VOICES,
2007
2008
  outputFormats: ["mp3", "wav"],
@@ -2042,7 +2043,7 @@ var FISH_MODELS = [
2042
2043
  adapter: "fish",
2043
2044
  providerModelId: "voice-clone",
2044
2045
  lifecycle: "active",
2045
- exposure: [],
2046
+ exposure: EXPOSURE4,
2046
2047
  constraints: {
2047
2048
  // POST /model takes 1-20 voice files; Fish advises 10 s or more of clean speech each.
2048
2049
  references: { audios: 20, audioFormats: ["wav", "mp3", "m4a", "opus"] },
@@ -2066,7 +2067,7 @@ var FISH_MODELS = [
2066
2067
  adapter: "fish",
2067
2068
  providerModelId: "voice-design-1",
2068
2069
  lifecycle: "active",
2069
- exposure: [],
2070
+ exposure: EXPOSURE4,
2070
2071
  constraints: {
2071
2072
  voiceDesign: { maxCandidates: 4, previewMaxChars: 150 },
2072
2073
  supports: [],
@@ -3664,7 +3665,7 @@ var GOOGLE_LOGO = "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/192485d2-a
3664
3665
  var MINIMAX_LOGO = "https://d31vvfpk2ppdyq.cloudfront.net/assets/image/f4c2e906-28b7-4a4a-b491-df8fef7808ed.png";
3665
3666
  var SYNC_LOGO = "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/sync.png";
3666
3667
  var PER_CALL3 = { unit: "images" };
3667
- var EXPOSURE4 = ["cowork", "space_builder"];
3668
+ var EXPOSURE5 = ["cowork", "space_builder"];
3668
3669
  var LIPSYNC_AUDIO = { audioSeconds: { max: 30 } };
3669
3670
  function elevenLabsTts(tts) {
3670
3671
  return {
@@ -3675,7 +3676,7 @@ function elevenLabsTts(tts) {
3675
3676
  adapter: "fal",
3676
3677
  providerModelId: tts.providerModelId,
3677
3678
  lifecycle: "active",
3678
- exposure: EXPOSURE4,
3679
+ exposure: EXPOSURE5,
3679
3680
  constraints: {
3680
3681
  voices: ELEVENLABS_VOICES,
3681
3682
  languages: tts.languages,
@@ -3700,7 +3701,7 @@ function geminiTts(id, label, description) {
3700
3701
  adapter: "fal",
3701
3702
  providerModelId,
3702
3703
  lifecycle: "active",
3703
- exposure: EXPOSURE4,
3704
+ exposure: EXPOSURE5,
3704
3705
  constraints: {
3705
3706
  voices: GEMINI_TTS_VOICES,
3706
3707
  supports: ["style"],
@@ -3723,7 +3724,7 @@ function syncLipsync(id, label, providerModelId, syncModel, description) {
3723
3724
  adapter: "fal",
3724
3725
  providerModelId,
3725
3726
  lifecycle: "active",
3726
- exposure: EXPOSURE4,
3727
+ exposure: EXPOSURE5,
3727
3728
  constraints: {
3728
3729
  requires: ["sourceVideo", "sourceAudio"],
3729
3730
  references: LIPSYNC_AUDIO,
@@ -3784,7 +3785,7 @@ var MEDIA_NODE_MODELS = [
3784
3785
  adapter: "fal",
3785
3786
  providerModelId: "fal-ai/minimax/speech-2.8-hd",
3786
3787
  lifecycle: "active",
3787
- exposure: EXPOSURE4,
3788
+ exposure: EXPOSURE5,
3788
3789
  constraints: {
3789
3790
  voices: MINIMAX_VOICES,
3790
3791
  languages: MINIMAX_SPEECH_LANGUAGES,
@@ -3809,7 +3810,7 @@ var MEDIA_NODE_MODELS = [
3809
3810
  adapter: "fal",
3810
3811
  providerModelId: "fal-ai/elevenlabs/voice-changer",
3811
3812
  lifecycle: "active",
3812
- exposure: EXPOSURE4,
3813
+ exposure: EXPOSURE5,
3813
3814
  constraints: {
3814
3815
  requires: ["sourceAudio"],
3815
3816
  // The flat price assumes at most a minute of speech.
@@ -3836,7 +3837,7 @@ var MEDIA_NODE_MODELS = [
3836
3837
  adapter: "fal",
3837
3838
  providerModelId: "fal-ai/elevenlabs/dubbing",
3838
3839
  lifecycle: "active",
3839
- exposure: EXPOSURE4,
3840
+ exposure: EXPOSURE5,
3840
3841
  constraints: {
3841
3842
  requiresOneOf: ["sourceVideo", "sourceAudio"],
3842
3843
  // The flat price covers 60 s of source.
@@ -3884,7 +3885,7 @@ var MEDIA_NODE_MODELS = [
3884
3885
  adapter: "fal",
3885
3886
  providerModelId: "veed/lipsync/v2",
3886
3887
  lifecycle: "active",
3887
- exposure: EXPOSURE4,
3888
+ exposure: EXPOSURE5,
3888
3889
  constraints: {
3889
3890
  requires: ["sourceVideo", "sourceAudio"],
3890
3891
  references: LIPSYNC_AUDIO,
@@ -3910,7 +3911,7 @@ var MEDIA_NODE_MODELS = [
3910
3911
  adapter: "fal",
3911
3912
  providerModelId: "minimax/h3-max/lip-sync/image-to-video",
3912
3913
  lifecycle: "active",
3913
- exposure: EXPOSURE4,
3914
+ exposure: EXPOSURE5,
3914
3915
  constraints: {
3915
3916
  requires: ["firstFrame", "sourceAudio"],
3916
3917
  resolutions: ["480p", "768p", "1080p", "2k"],
@@ -3936,7 +3937,7 @@ var MEDIA_NODE_MODELS = [
3936
3937
  adapter: "fal",
3937
3938
  providerModelId: "fal-ai/elevenlabs/speech-to-text/scribe-v2",
3938
3939
  lifecycle: "active",
3939
- exposure: EXPOSURE4,
3940
+ exposure: EXPOSURE5,
3940
3941
  constraints: {
3941
3942
  requires: ["sourceAudio"],
3942
3943
  // The flat price covers 10 minutes of audio.
@@ -5551,7 +5552,7 @@ var VIDEO_FAMILY_MODELS = [
5551
5552
 
5552
5553
  // src/catalog/video-luma.ts
5553
5554
  var VIDEO_USAGE2 = { unit: "seconds" };
5554
- var EXPOSURE5 = ["cowork", "space_builder"];
5555
+ var EXPOSURE6 = ["cowork", "space_builder"];
5555
5556
  var LUMA_LOGO2 = "https://cdn.jsdelivr.net/npm/@lobehub/icons-static-png@1.97.0/light/luma-color.png";
5556
5557
  var RAY_RATIOS = ["9:16", "3:4", "1:1", "4:3", "16:9", "21:9"];
5557
5558
  var RAY_RESOLUTIONS = ["360p", "720p", "1080p"];
@@ -5569,7 +5570,7 @@ var LUMA_VIDEO_MODELS = [
5569
5570
  adapter: "luma",
5570
5571
  providerModelId: "ray-3.2",
5571
5572
  lifecycle: "active",
5572
- exposure: EXPOSURE5,
5573
+ exposure: EXPOSURE6,
5573
5574
  constraints: {
5574
5575
  aspectRatios: ["adaptive", ...RAY_RATIOS],
5575
5576
  resolutions: [...RAY_RESOLUTIONS],
@@ -5601,7 +5602,7 @@ var LUMA_VIDEO_MODELS = [
5601
5602
  adapter: "luma",
5602
5603
  providerModelId: "ray-3.2",
5603
5604
  lifecycle: "active",
5604
- exposure: EXPOSURE5,
5605
+ exposure: EXPOSURE6,
5605
5606
  constraints: {
5606
5607
  resolutions: [...RAY_RESOLUTIONS],
5607
5608
  requires: ["sourceVideo"],
@@ -5634,7 +5635,7 @@ var LUMA_VIDEO_MODELS = [
5634
5635
  adapter: "luma",
5635
5636
  providerModelId: "ray-3.2",
5636
5637
  lifecycle: "active",
5637
- exposure: EXPOSURE5,
5638
+ exposure: EXPOSURE6,
5638
5639
  constraints: {
5639
5640
  aspectRatios: [...RAY_RATIOS],
5640
5641
  resolutions: [...RAY_RESOLUTIONS],
@@ -6324,6 +6325,48 @@ var VIDEO_MODELS = [
6324
6325
  },
6325
6326
  capabilities: { ...FRAMES_EXCLUDE_REFERENCES, lastFrameRequiresFirstFrame: true }
6326
6327
  },
6328
+ {
6329
+ // fal's Wan 3.0 Prime endpoints share Wan 3.0's input schemas field for field but bill
6330
+ // more per second, so Prime is its own row (the id is the pricing key).
6331
+ // https://fal.ai/models/alibaba/wan-3.0-prime/reference-to-video/api
6332
+ id: "wan-3.0-prime",
6333
+ aliases: ["wan-3-prime", "wan3-prime"],
6334
+ label: "Wan 3 Prime",
6335
+ type: "video",
6336
+ adapter: "fal",
6337
+ providerModelId: "alibaba/wan-3.0-prime",
6338
+ lifecycle: "active",
6339
+ exposure: ["cowork", "space_builder"],
6340
+ constraints: {
6341
+ aspectRatios: [...WAN_RATIOS],
6342
+ resolutions: ["480p", "720p", "1080p"],
6343
+ durations: { min: 2, max: 30 },
6344
+ durationPresets: [5, 10, 15, 30],
6345
+ references: {
6346
+ images: 10,
6347
+ videos: 5,
6348
+ audios: 5,
6349
+ videoSeconds: { total: 15 },
6350
+ audioSeconds: { total: 15 }
6351
+ },
6352
+ supports: ["seed", "lastFrame", "generateAudio", "safetyChecker"],
6353
+ prompt: WAN_PROMPT,
6354
+ audio: "optional"
6355
+ },
6356
+ defaults: {
6357
+ durationSeconds: 5,
6358
+ resolution: "1080p",
6359
+ aspectRatio: "adaptive",
6360
+ generateAudio: true
6361
+ },
6362
+ usage: { ...VIDEO_USAGE3 },
6363
+ pricingKind: "video_per_second",
6364
+ display: {
6365
+ provider: "alibaba",
6366
+ description: "Alibaba Wan 3 Prime, the faster-generating tier of Wan 3, for text-to-video, image-to-video (start/end frame), and reference-to-video from up to 10 images, 5 videos and 5 audio clips, with native audio; 2-30 seconds at up to 1080p."
6367
+ },
6368
+ capabilities: { ...FRAMES_EXCLUDE_REFERENCES, lastFrameRequiresFirstFrame: true }
6369
+ },
6327
6370
  {
6328
6371
  // Duration 3-10s per trigger-workflows mapDuration; the endpoint takes no resolution.
6329
6372
  id: "kling-o1-v2v",