@nodaro/shared 3.8.0 → 3.9.0

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/index.cjs CHANGED
@@ -61,7 +61,7 @@ var MODEL_RECOMMENDATIONS = [
61
61
  { intent: "best cinematic video", modelIds: ["veo3", "kling-3.0", "seedance-2"], note: "VEO 3.1 Quality for premium narrative; Kling 3.0 for music-synced motion; Seedance 2 for reference-driven consistency." },
62
62
  { intent: "cheap batch video clips", modelIds: ["veo3.1", "wan-turbo", "bytedance-lite"], note: "VEO 3.1 Fast is the best price/quality balance with native audio." },
63
63
  { intent: "video with start + end frame", modelIds: ["veo3", "veo3.1", "kling-turbo", "minimax", "hailuo-standard", "seedance-2"], note: "All listed support an end frame; VEO uses imageUrls[start, end]." },
64
- { intent: "music / song generation", modelIds: ["suno-v5", "suno"], note: "Suno v5 has better vocal quality at the same price." },
64
+ { intent: "music / song generation", modelIds: ["suno-v6", "suno-v6_wild", "suno-v6_mini", "suno-v5_5"], note: "V6 is the default flagship; V6 Wild for bolder, less predictable results; V6 Mini when speed matters; v5.5 / v5 / v4 keep their own character. Same price." },
65
65
  { intent: "voice over / narration", modelIds: ["elevenlabs-v3", "elevenlabs-turbo"], note: "v3 supports [audio tags] for emotion; Turbo is cheaper for plain narration." },
66
66
  { intent: "lip-sync a portrait to audio", modelIds: ["kling-avatar-pro", "kling-avatar", "infinitalk"], note: "Pro for best mouth shape; InfiniTalk for resolution control." },
67
67
  { intent: "transcription / captions", modelIds: ["elevenlabs-stt"], note: "Word-level timestamps available." },
@@ -2397,7 +2397,7 @@ var AUDIO_MODELS = {
2397
2397
  label: "Suno v5",
2398
2398
  series: "Suno",
2399
2399
  dataValue: "V5",
2400
- description: "Newer Suno v5 \u2014 better vocal quality, more genres. Same price as v4.",
2400
+ description: "Suno v5 \u2014 better vocal quality than v4, more genres. Same price.",
2401
2401
  useCases: ["music", "song", "vocals", "premium"],
2402
2402
  pricing: [{ identifier: "suno-v5", credits: 30, note: "per generation" }]
2403
2403
  },
@@ -2409,10 +2409,46 @@ var AUDIO_MODELS = {
2409
2409
  label: "Suno v5.5",
2410
2410
  series: "Suno",
2411
2411
  dataValue: "V5_5",
2412
- description: "Suno v5.5 \u2014 latest model with improved audio quality and expressiveness.",
2412
+ description: "Suno v5.5 \u2014 improved audio quality and expressiveness over v5.",
2413
2413
  useCases: ["music", "song", "vocals", "premium"],
2414
- pricing: [{ identifier: "suno-v5_5", credits: 30, note: "per generation" }],
2414
+ pricing: [{ identifier: "suno-v5_5", credits: 30, note: "per generation" }]
2415
+ },
2416
+ "suno-v6": {
2417
+ id: "suno-v6",
2418
+ kind: "audio",
2419
+ modes: ["music"],
2420
+ family: "Suno",
2421
+ label: "Suno V6",
2422
+ series: "Suno",
2423
+ dataValue: "V6",
2424
+ description: "Suno V6 \u2014 greater musical expression with more natural vocals and richer details. The flagship and the default.",
2425
+ useCases: ["music", "song", "vocals", "premium"],
2426
+ pricing: [{ identifier: "suno-v6", credits: 30, note: "per generation" }],
2415
2427
  featured: true
2428
+ },
2429
+ "suno-v6_wild": {
2430
+ id: "suno-v6_wild",
2431
+ kind: "audio",
2432
+ modes: ["music"],
2433
+ family: "Suno",
2434
+ label: "Suno V6 Wild",
2435
+ series: "Suno",
2436
+ dataValue: "V6_WILD",
2437
+ description: "Suno V6 Wild \u2014 pushes creative boundaries for bolder, more distinctive musical expression; more varied, less predictable results.",
2438
+ useCases: ["music", "song", "vocals", "experimental"],
2439
+ pricing: [{ identifier: "suno-v6_wild", credits: 30, note: "per generation" }]
2440
+ },
2441
+ "suno-v6_mini": {
2442
+ id: "suno-v6_mini",
2443
+ kind: "audio",
2444
+ modes: ["music"],
2445
+ family: "Suno",
2446
+ label: "Suno V6 Mini",
2447
+ series: "Suno",
2448
+ dataValue: "V6_MINI",
2449
+ description: "Suno V6 Mini \u2014 lightweight and fast, balancing quality and speed for effortless creation.",
2450
+ useCases: ["music", "song", "vocals", "fast"],
2451
+ pricing: [{ identifier: "suno-v6_mini", credits: 30, note: "per generation" }]
2416
2452
  }
2417
2453
  };
2418
2454
  var MODEL_CATALOG = {
@@ -3586,15 +3622,25 @@ var QA_CHECK_PROVIDERS = [
3586
3622
  "claude",
3587
3623
  "gpt"
3588
3624
  ];
3589
- var SUNO_MODELS = [
3590
- "V4",
3591
- "V4_5",
3625
+ var SUNO_ACTIVE_MODELS = ["V6", "V6_WILD", "V6_MINI"];
3626
+ var SUNO_LEGACY_MODELS = [
3627
+ "V5_5",
3628
+ "V5",
3592
3629
  "V4_5PLUS",
3593
3630
  "V4_5ALL",
3594
- "V5",
3595
- "V5_5"
3631
+ "V4_5",
3632
+ "V4"
3596
3633
  ];
3597
- var SUNO_ADD_TRACK_MODELS = ["V4_5PLUS", "V5", "V5_5"];
3634
+ var SUNO_MODELS = [...SUNO_ACTIVE_MODELS, ...SUNO_LEGACY_MODELS];
3635
+ var DEFAULT_SUNO_MODEL = "V6";
3636
+ function isLegacySunoModel(model) {
3637
+ return SUNO_LEGACY_MODELS.includes(model ?? "");
3638
+ }
3639
+ var SUNO_DURATION_MODELS = new Set(SUNO_ACTIVE_MODELS);
3640
+ function sunoModelHonoursDuration(model) {
3641
+ return SUNO_DURATION_MODELS.has(model ?? "");
3642
+ }
3643
+ var SUNO_ADD_TRACK_MODELS = [...SUNO_ACTIVE_MODELS, "V4_5PLUS", "V5", "V5_5"];
3598
3644
  var VOICE_DESIGN_MODELS = [
3599
3645
  "eleven_ttv_v3",
3600
3646
  "eleven_multilingual_ttv_v2"
@@ -5028,10 +5074,15 @@ function sunoCreditType(model, operation) {
5028
5074
  if (!SUNO_VERSION_PRICED_OPERATIONS.includes(operation)) {
5029
5075
  return operation;
5030
5076
  }
5031
- if (model === "V5_5") return "suno-v5_5";
5032
- if (model === "V5") return "suno-v5";
5033
- return operation;
5077
+ return model && SUNO_VERSION_CREDIT_KEYS[model] || operation;
5034
5078
  }
5079
+ var SUNO_VERSION_CREDIT_KEYS = {
5080
+ V6: "suno-v6",
5081
+ V6_WILD: "suno-v6_wild",
5082
+ V6_MINI: "suno-v6_mini",
5083
+ V5_5: "suno-v5_5",
5084
+ V5: "suno-v5"
5085
+ };
5035
5086
 
5036
5087
  // src/credit-estimators/video-utils.ts
5037
5088
  var VIDEO_UTIL_PRICING = {
@@ -17359,6 +17410,7 @@ exports.DEFAULT_OVERLAY_TEXT = DEFAULT_OVERLAY_TEXT;
17359
17410
  exports.DEFAULT_PANEL_COUNT = DEFAULT_PANEL_COUNT;
17360
17411
  exports.DEFAULT_REF_IMAGE_MAX = DEFAULT_REF_IMAGE_MAX;
17361
17412
  exports.DEFAULT_SECTIONS = DEFAULT_SECTIONS;
17413
+ exports.DEFAULT_SUNO_MODEL = DEFAULT_SUNO_MODEL;
17362
17414
  exports.DEFAULT_USAGE_MODE = DEFAULT_USAGE_MODE;
17363
17415
  exports.DEFAULT_VIDEO_ANALYSIS_MODEL = DEFAULT_VIDEO_ANALYSIS_MODEL;
17364
17416
  exports.DEFAULT_VIDEO_ANALYSIS_TIER = DEFAULT_VIDEO_ANALYSIS_TIER;
@@ -17704,14 +17756,18 @@ exports.STUDIO_DEPENDENT_FRAMES_CAPABILITY = STUDIO_DEPENDENT_FRAMES_CAPABILITY;
17704
17756
  exports.STUDIO_SHOT_TRANSIENT_KEYS = STUDIO_SHOT_TRANSIENT_KEYS;
17705
17757
  exports.STUDIO_TRANSIENT_KEYS = STUDIO_TRANSIENT_KEYS;
17706
17758
  exports.SUBMISSION_STATUSES = SUBMISSION_STATUSES;
17759
+ exports.SUNO_ACTIVE_MODELS = SUNO_ACTIVE_MODELS;
17707
17760
  exports.SUNO_ADD_TRACK_MODELS = SUNO_ADD_TRACK_MODELS;
17761
+ exports.SUNO_DURATION_MODELS = SUNO_DURATION_MODELS;
17708
17762
  exports.SUNO_FIELD_HANDLE_FIELDS = SUNO_FIELD_HANDLE_FIELDS;
17709
17763
  exports.SUNO_HARD_CEILING = SUNO_HARD_CEILING;
17764
+ exports.SUNO_LEGACY_MODELS = SUNO_LEGACY_MODELS;
17710
17765
  exports.SUNO_MODELS = SUNO_MODELS;
17711
17766
  exports.SUNO_SELECT_OPERATIONS = SUNO_SELECT_OPERATIONS;
17712
17767
  exports.SUNO_TEXT_MAX = SUNO_TEXT_MAX;
17713
17768
  exports.SUNO_TITLE_MAX = SUNO_TITLE_MAX;
17714
17769
  exports.SUNO_TRACK_SOURCE_TYPES = SUNO_TRACK_SOURCE_TYPES;
17770
+ exports.SUNO_VERSION_CREDIT_KEYS = SUNO_VERSION_CREDIT_KEYS;
17715
17771
  exports.SUNO_VERSION_PRICED_OPERATIONS = SUNO_VERSION_PRICED_OPERATIONS;
17716
17772
  exports.SUPPORTED_FONT_NAMES = SUPPORTED_FONT_NAMES;
17717
17773
  exports.SURROUND_DIRECTIONS = SURROUND_DIRECTIONS;
@@ -18010,6 +18066,7 @@ exports.isGvpSupportedProvider = isGvpSupportedProvider;
18010
18066
  exports.isHandleInputWired = isHandleInputWired;
18011
18067
  exports.isKineticCaptionStyle = isKineticCaptionStyle;
18012
18068
  exports.isKnownScene3DEngine = isKnownScene3DEngine;
18069
+ exports.isLegacySunoModel = isLegacySunoModel;
18013
18070
  exports.isLocationUsageMode = isLocationUsageMode;
18014
18071
  exports.isMinimaxH3Provider = isMinimaxH3Provider;
18015
18072
  exports.isObjectAspectRatio = isObjectAspectRatio;
@@ -18275,6 +18332,7 @@ exports.stripStudioTransientSettings = stripStudioTransientSettings;
18275
18332
  exports.stripTransientRuntimeData = stripTransientRuntimeData;
18276
18333
  exports.summarizeScene3DOperations = summarizeScene3DOperations;
18277
18334
  exports.sunoCreditType = sunoCreditType;
18335
+ exports.sunoModelHonoursDuration = sunoModelHonoursDuration;
18278
18336
  exports.supportedDefaultDimensions = supportedDefaultDimensions;
18279
18337
  exports.supportsAdvancedMode = supportsAdvancedMode;
18280
18338
  exports.supportsEndAnchor = supportsEndAnchor;