@picsart/ai-sdk 5.3.0 → 5.4.1

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/index.d.ts CHANGED
@@ -772,6 +772,15 @@ type ModelInputById = {
772
772
  isInstrumental?: boolean;
773
773
  outputFormat?: "url" | "hex";
774
774
  };
775
+ "minimax-music-v3": {
776
+ prompt: string;
777
+ lyricsPrompt?: string;
778
+ lyricsOptimizer?: boolean;
779
+ isInstrumental?: boolean;
780
+ sampleRate?: 16000 | 24000 | 32000 | 44100;
781
+ bitrate?: 32000 | 64000 | 128000 | 256000;
782
+ format?: "mp3" | "wav" | "pcm";
783
+ };
775
784
  "ovi": {
776
785
  prompt: string;
777
786
  size?: "9:16" | "16:9" | "1:1" | "9:16+" | "16:9+" | "2:5" | "5:2";
@@ -1249,7 +1258,7 @@ type ModelInputById = {
1249
1258
  "seedance-2.5": {
1250
1259
  prompt: string;
1251
1260
  aspectRatio?: "16:9" | "9:16" | "1:1" | "4:3" | "3:4" | "21:9" | "adaptive";
1252
- resolution?: "480p" | "720p";
1261
+ resolution?: "480p" | "720p" | "1080p";
1253
1262
  duration?: 4 | 5 | 6 | 8 | 10 | 12 | 15 | 20 | 25 | 30;
1254
1263
  generateAudio?: boolean;
1255
1264
  returnLastFrame?: boolean;
@@ -1263,7 +1272,7 @@ type ModelInputById = {
1263
1272
  "seedance-2.5-video-edit": {
1264
1273
  prompt: string;
1265
1274
  aspectRatio?: "adaptive";
1266
- resolution?: "480p" | "720p";
1275
+ resolution?: "480p" | "720p" | "1080p";
1267
1276
  generateAudio?: boolean;
1268
1277
  returnLastFrame?: boolean;
1269
1278
  outputFormat?: "mp4" | "mov";
@@ -1273,7 +1282,7 @@ type ModelInputById = {
1273
1282
  "seedance-2.5-video-extend": {
1274
1283
  prompt: string;
1275
1284
  aspectRatio?: "adaptive";
1276
- resolution?: "480p" | "720p";
1285
+ resolution?: "480p" | "720p" | "1080p";
1277
1286
  duration?: 4 | 5 | 6 | 8 | 10 | 12 | 15 | 20 | 25 | 30;
1278
1287
  generateAudio?: boolean;
1279
1288
  outputFormat?: "mp4" | "mov";
@@ -2459,6 +2468,7 @@ declare const Models: {
2459
2468
  readonly Lyria3Pro: "lyria-3-pro";
2460
2469
  readonly Minimax02Hd: "minimax-02-hd";
2461
2470
  readonly MinimaxMusicV2: "minimax-music-v2";
2471
+ readonly MinimaxMusicV3: "minimax-music-v3";
2462
2472
  readonly Ovi: "ovi";
2463
2473
  readonly PicsartChangeBg: "picsart-change-bg";
2464
2474
  readonly PicsartEnhance: "picsart-enhance";
package/index.js CHANGED
@@ -4091,11 +4091,11 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
4091
4091
  inputType: "t2v",
4092
4092
  badge: ["new", "premium", "hot"],
4093
4093
  description: "Latest cinematic video with audio, multi-reference input, and mp4/mov output. Up to 30s.",
4094
- features: [feat("Reference Image", "frame"), feat("Start/End Frame", "frame"), feat("Audio", "audio"), feat("720p", "resolution"), feat("4-30 sec", "duration")],
4094
+ features: [feat("Reference Image", "frame"), feat("Start/End Frame", "frame"), feat("Audio", "audio"), feat("1080p", "resolution"), feat("4-30 sec", "duration")],
4095
4095
  paramConfig: {
4096
4096
  ...params.prompt(),
4097
4097
  ...params.aspectRatio(SEEDANCE_AR),
4098
- ...params.resolution(["480p", "720p"], "720p"),
4098
+ ...params.resolution(["480p", "720p", "1080p"], "720p"),
4099
4099
  ...params.duration(SEEDANCE_25_DURATIONS, 5),
4100
4100
  ...params.generateAudio(),
4101
4101
  ...params.returnLastFrame(),
@@ -4120,13 +4120,13 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
4120
4120
  inputType: "v2v",
4121
4121
  badge: ["new", "premium", "hot"],
4122
4122
  description: "Edit video \u2014 replace subjects, add or remove objects, restyle scenes with reference images.",
4123
- features: [feat("Video Input", "input"), feat("Multi-Image Input", "input"), feat("Audio", "audio"), feat("720p", "resolution"), feat("Source length", "duration")],
4123
+ features: [feat("Video Input", "input"), feat("Multi-Image Input", "input"), feat("Audio", "audio"), feat("1080p", "resolution"), feat("Source length", "duration")],
4124
4124
  paramConfig: {
4125
4125
  ...params.prompt(),
4126
4126
  // Editing mode: aspect ratio is fixed to 'adaptive' and duration is
4127
4127
  // source-driven ('-1'), so neither is user-selectable (vendor rule).
4128
4128
  ...params.aspectRatio(["adaptive"]),
4129
- ...params.resolution(["480p", "720p"], "720p"),
4129
+ ...params.resolution(["480p", "720p", "1080p"], "720p"),
4130
4130
  ...params.generateAudio(),
4131
4131
  ...params.returnLastFrame(),
4132
4132
  ...p.enum("outputFormat", ["mp4", "mov"], "mp4", { label: "Format" }),
@@ -4146,13 +4146,13 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
4146
4146
  inputType: "v2v",
4147
4147
  badge: ["new", "premium", "hot"],
4148
4148
  description: "Stitch up to 10 clips into one continuous, extended video.",
4149
- features: [feat("Multi-Video Input", "input"), feat("Audio", "audio"), feat("720p", "resolution"), feat("4-30 sec", "duration")],
4149
+ features: [feat("Multi-Video Input", "input"), feat("Audio", "audio"), feat("1080p", "resolution"), feat("4-30 sec", "duration")],
4150
4150
  paramConfig: {
4151
4151
  ...params.prompt(),
4152
4152
  // Extension mode: aspect ratio is locked to 'adaptive' (vendor rule);
4153
4153
  // duration stays user-selectable.
4154
4154
  ...params.aspectRatio(["adaptive"]),
4155
- ...params.resolution(["480p", "720p"], "720p"),
4155
+ ...params.resolution(["480p", "720p", "1080p"], "720p"),
4156
4156
  ...params.duration(SEEDANCE_25_DURATIONS, 15),
4157
4157
  ...params.generateAudio(),
4158
4158
  ...p.enum("outputFormat", ["mp4", "mov"], "mp4", { label: "Format" }),
@@ -6485,9 +6485,52 @@ var { MODELS: MODELS26 } = defineModels("minimax", [
6485
6485
  ...p.boolean("isInstrumental", false, "Instrumental"),
6486
6486
  ...p.enum("outputFormat", ["url", "hex"], "url", { label: "Output Format" })
6487
6487
  }
6488
+ },
6489
+ {
6490
+ id: "minimax-music-v3",
6491
+ name: "MiniMax Music v3",
6492
+ addedAt: "2026-08-14",
6493
+ workflow: "minimax-music/v3",
6494
+ estimatedTime: 40,
6495
+ mode: "audio",
6496
+ inputType: "music",
6497
+ description: "Text-to-music with vocals or instrumentals from a style prompt and optional lyrics, with configurable audio encoding.",
6498
+ features: [feat("Music", "characteristic"), feat("Vocals", "characteristic")],
6499
+ paramConfig: {
6500
+ ...params.prompt({ maxLength: 2e3, placeholder: "Describe the genre, mood, instruments, tempo, and production style..." }),
6501
+ ...p.text("lyricsPrompt", {
6502
+ maxLength: 2e3,
6503
+ label: "Lyrics",
6504
+ placeholder: "Write lyrics; \\n separates lines, [Intro]/[Verse]/[Chorus] tags supported. Optional for instrumental or optimizer-generated lyrics."
6505
+ }),
6506
+ ...p.boolean("lyricsOptimizer", false, "Lyrics Optimizer"),
6507
+ ...p.boolean("isInstrumental", false, "Instrumental"),
6508
+ ...p.enum("sampleRate", [16e3, 24e3, 32e3, 44100], 44100, { label: "Sample Rate" }),
6509
+ ...p.enum("bitrate", [32e3, 64e3, 128e3, 256e3], 256e3, { label: "Bitrate" }),
6510
+ ...p.enum("format", ["mp3", "wav", "pcm"], "mp3", { label: "Format" })
6511
+ }
6488
6512
  }
6489
6513
  ]);
6490
6514
 
6515
+ // src/vendors/catalog/minimax.payloads.ts
6516
+ var buildMinimaxMusicV3Payload = (input) => ({
6517
+ prompt: input.prompt,
6518
+ ...input.lyricsPrompt ? { lyrics: input.lyricsPrompt } : {},
6519
+ lyrics_optimizer: input.lyricsOptimizer ?? false,
6520
+ is_instrumental: input.isInstrumental ?? false,
6521
+ // Apply the paramConfig defaults explicitly — a custom builder (unlike the
6522
+ // pass-through one) doesn't get them for free, and the advertised defaults
6523
+ // must reach the wire instead of whatever the backend would pick.
6524
+ audio_setting: {
6525
+ sample_rate: input.sampleRate ?? 44100,
6526
+ bitrate: input.bitrate ?? 256e3,
6527
+ format: input.format ?? "mp3"
6528
+ }
6529
+ });
6530
+ registerPayloads(MODELS26, {
6531
+ "minimax-music-v3": buildMinimaxMusicV3Payload
6532
+ });
6533
+
6491
6534
  // src/vendors/catalog/ideogram.ts
6492
6535
  var toIdeogramAr = (ar) => ar.replace(":", "x");
6493
6536
  var buildIdeogramGeneratePayload = (ctx) => ({
@@ -10572,6 +10615,7 @@ var Lyria3Clip = "lyria-3-clip";
10572
10615
  var Lyria3Pro = "lyria-3-pro";
10573
10616
  var Minimax02Hd = "minimax-02-hd";
10574
10617
  var MinimaxMusicV2 = "minimax-music-v2";
10618
+ var MinimaxMusicV3 = "minimax-music-v3";
10575
10619
  var Ovi = "ovi";
10576
10620
  var PicsartChangeBg = "picsart-change-bg";
10577
10621
  var PicsartEnhance = "picsart-enhance";
@@ -10774,6 +10818,7 @@ var Models = {
10774
10818
  Lyria3Pro,
10775
10819
  Minimax02Hd,
10776
10820
  MinimaxMusicV2,
10821
+ MinimaxMusicV3,
10777
10822
  Ovi,
10778
10823
  PicsartChangeBg,
10779
10824
  PicsartEnhance,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@picsart/ai-sdk",
3
- "version": "5.3.0",
3
+ "version": "5.4.1",
4
4
  "type": "module",
5
5
  "description": "Type-safe SDK for 100+ AI models — image, video, audio, and text generation with Picsart",
6
6
  "license": "MIT",