@picsart/ai-sdk 5.4.1 → 5.6.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.
Files changed (3) hide show
  1. package/index.d.ts +47 -3
  2. package/index.js +132 -33
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -153,19 +153,22 @@ type ModelInputById = {
153
153
  };
154
154
  "flux-2-flex": {
155
155
  prompt: string;
156
- aspectRatio?: "1:1" | "5:3" | "3:5" | "4:3" | "3:4";
156
+ aspectRatio?: "1:1" | "16:9" | "9:16" | "4:3" | "3:4" | "21:9" | "9:21";
157
+ resolution?: "1K" | "2K" | "4K";
157
158
  count?: 1 | 2 | 4 | 6 | 8 | 10;
158
159
  imageUrls?: string[];
159
160
  };
160
161
  "flux-2-max": {
161
162
  prompt: string;
162
- aspectRatio?: "1:1" | "5:3" | "3:5" | "4:3" | "3:4";
163
+ aspectRatio?: "1:1" | "16:9" | "9:16" | "4:3" | "3:4" | "21:9" | "9:21";
164
+ resolution?: "1K" | "2K" | "4K";
163
165
  count?: 1 | 2 | 4 | 6 | 8 | 10;
164
166
  imageUrls?: string[];
165
167
  };
166
168
  "flux-2-pro": {
167
169
  prompt: string;
168
- aspectRatio?: "1:1" | "5:3" | "3:5" | "4:3" | "3:4";
170
+ aspectRatio?: "1:1" | "16:9" | "9:16" | "4:3" | "3:4" | "21:9" | "9:21";
171
+ resolution?: "1K" | "2K" | "4K";
169
172
  count?: 1 | 2 | 4 | 6 | 8 | 10;
170
173
  imageUrls?: string[];
171
174
  };
@@ -1255,6 +1258,37 @@ type ModelInputById = {
1255
1258
  generateAudio?: boolean;
1256
1259
  videoUrls: [string, ...string[]];
1257
1260
  };
1261
+ "seedance-2.0-without-moderation": {
1262
+ prompt: string;
1263
+ aspectRatio?: "16:9" | "9:16" | "1:1" | "4:3" | "3:4" | "21:9" | "adaptive";
1264
+ resolution?: "480p" | "720p" | "1080p" | "4k";
1265
+ duration?: 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15;
1266
+ generateAudio?: boolean;
1267
+ returnLastFrame?: boolean;
1268
+ imageUrls?: string[];
1269
+ videoUrls?: string[];
1270
+ audioUrls?: string[];
1271
+ startFrame?: string;
1272
+ endFrame?: string;
1273
+ };
1274
+ "seedance-2.0-without-moderation-video-edit": {
1275
+ prompt: string;
1276
+ aspectRatio?: "16:9" | "9:16" | "1:1" | "4:3" | "3:4" | "21:9" | "adaptive";
1277
+ resolution?: "480p" | "720p" | "1080p" | "4k";
1278
+ duration?: 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15;
1279
+ generateAudio?: boolean;
1280
+ returnLastFrame?: boolean;
1281
+ videoUrl: string;
1282
+ imageUrls?: string[];
1283
+ };
1284
+ "seedance-2.0-without-moderation-video-extend": {
1285
+ prompt: string;
1286
+ aspectRatio?: "16:9" | "9:16" | "1:1" | "4:3" | "3:4" | "21:9" | "adaptive";
1287
+ resolution?: "480p" | "720p" | "1080p" | "4k";
1288
+ duration?: 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15;
1289
+ generateAudio?: boolean;
1290
+ videoUrls: [string, ...string[]];
1291
+ };
1258
1292
  "seedance-2.5": {
1259
1293
  prompt: string;
1260
1294
  aspectRatio?: "16:9" | "9:16" | "1:1" | "4:3" | "3:4" | "21:9" | "adaptive";
@@ -1734,6 +1768,13 @@ interface FileDescriptor {
1734
1768
  * authoritative gate. Omit for no client-side ceiling.
1735
1769
  */
1736
1770
  maxShortSidePixels?: number;
1771
+ /**
1772
+ * Max file size in bytes accepted for this slot (e.g. Seedance 2.5 reference
1773
+ * videos are capped at 200 MiB by the vendor). Enforced client-side at upload
1774
+ * by measuring the file (or its `Content-Length`) before it is sent; the
1775
+ * backend worker stays the authoritative gate. Omit for no client-side cap.
1776
+ */
1777
+ maxBytes?: number;
1737
1778
  }
1738
1779
  interface ObjectDescriptor {
1739
1780
  kind: 'object';
@@ -2538,6 +2579,9 @@ declare const Models: {
2538
2579
  readonly Seedance20MiniVideoExtend: "seedance-2.0-mini-video-extend";
2539
2580
  readonly Seedance20VideoEdit: "seedance-2.0-video-edit";
2540
2581
  readonly Seedance20VideoExtend: "seedance-2.0-video-extend";
2582
+ readonly Seedance20WithoutModeration: "seedance-2.0-without-moderation";
2583
+ readonly Seedance20WithoutModerationVideoEdit: "seedance-2.0-without-moderation-video-edit";
2584
+ readonly Seedance20WithoutModerationVideoExtend: "seedance-2.0-without-moderation-video-extend";
2541
2585
  readonly Seedance25: "seedance-2.5";
2542
2586
  readonly Seedance25VideoEdit: "seedance-2.5-video-edit";
2543
2587
  readonly Seedance25VideoExtend: "seedance-2.5-video-extend";
package/index.js CHANGED
@@ -1004,7 +1004,8 @@ var p = {
1004
1004
  ...opts?.array ? { array: opts.array } : {},
1005
1005
  ...opts?.maxDurationSec != null ? { maxDurationSec: opts.maxDurationSec } : {},
1006
1006
  ...opts?.minPixels != null ? { minPixels: opts.minPixels } : {},
1007
- ...opts?.maxShortSidePixels != null ? { maxShortSidePixels: opts.maxShortSidePixels } : {}
1007
+ ...opts?.maxShortSidePixels != null ? { maxShortSidePixels: opts.maxShortSidePixels } : {},
1008
+ ...opts?.maxBytes != null ? { maxBytes: opts.maxBytes } : {}
1008
1009
  }
1009
1010
  }
1010
1011
  };
@@ -1221,20 +1222,30 @@ var params = {
1221
1222
  // reference → ref images/videos/audios (guidance signals)
1222
1223
  imageInput: (max = 1, label = "Start Image", required = false, category = "reference", minPixels) => p.file("imageUrls", "image", { array: { max }, label, required, category, ...minPixels != null ? { minPixels } : {} }),
1223
1224
  /** Single source-video slot (v2v / video edit). Writes to `videoUrl`.
1224
- * `maxDurationSec` caps the source clip length and `maxShortSidePixels` caps
1225
- * the shorter side (upscaler sources), both enforced client-side at upload. */
1226
- videoInput: (label = "Source Video", category = "reference", required = true, maxDurationSec, maxShortSidePixels) => p.file("videoUrl", "video", {
1225
+ * `maxDurationSec` caps the source clip length, `maxShortSidePixels` caps
1226
+ * the shorter side (upscaler sources) and `maxBytes` caps the file size,
1227
+ * all enforced client-side at upload. */
1228
+ videoInput: (label = "Source Video", category = "reference", required = true, maxDurationSec, maxShortSidePixels, maxBytes) => p.file("videoUrl", "video", {
1227
1229
  label,
1228
1230
  required,
1229
1231
  category,
1230
1232
  ...maxDurationSec != null ? { maxDurationSec } : {},
1231
- ...maxShortSidePixels != null ? { maxShortSidePixels } : {}
1233
+ ...maxShortSidePixels != null ? { maxShortSidePixels } : {},
1234
+ ...maxBytes != null ? { maxBytes } : {}
1232
1235
  }),
1233
1236
  /** Single driving / sync-audio slot. Writes to `audioUrl`. */
1234
1237
  audioInput: (label = "Audio Track", required = false, category = "asset") => p.file("audioUrl", "audio", { label, required, category }),
1235
1238
  /** Array of reference videos (writes to `videoUrls`). Backend enforces
1236
- * per-model total-duration caps (e.g. ≤ 15s for seedance). */
1237
- videoInputs: (max = 3, label = "Reference Videos", required = false, minPixels) => p.file("videoUrls", "video", { array: { max }, label, required, category: "reference", ...minPixels != null ? { minPixels } : {} }),
1239
+ * per-model total-duration caps (e.g. ≤ 15s for seedance). `maxBytes` caps
1240
+ * each individual clip's file size, enforced client-side at upload. */
1241
+ videoInputs: (max = 3, label = "Reference Videos", required = false, minPixels, maxBytes) => p.file("videoUrls", "video", {
1242
+ array: { max },
1243
+ label,
1244
+ required,
1245
+ category: "reference",
1246
+ ...minPixels != null ? { minPixels } : {},
1247
+ ...maxBytes != null ? { maxBytes } : {}
1248
+ }),
1238
1249
  /** Array of reference audios (writes to `audioUrls`). Backend enforces
1239
1250
  * per-model total-duration caps. */
1240
1251
  audioInputs: (max = 3, label = "Reference Audios", required = false) => p.file("audioUrls", "audio", { array: { max }, label, required, category: "reference" }),
@@ -3852,6 +3863,7 @@ registerPayloads(MODELS11, {
3852
3863
  // src/vendors/catalog/seedance.ts
3853
3864
  var SEEDANCE_FRAME_REF_REASON = "Start/End frames cannot be combined with reference images, videos, or audios";
3854
3865
  var SEEDANCE_MIN_PIXELS = 409600;
3866
+ var SEEDANCE_25_MAX_VIDEO_BYTES = 209715200;
3855
3867
  var seedance20Constraints = [
3856
3868
  {
3857
3869
  when: {
@@ -4102,7 +4114,7 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
4102
4114
  ...p.enum("outputFormat", ["mp4", "mov"], "mp4", { label: "Format" }),
4103
4115
  // 2.5 lifts the reference caps to 30 images / 10 videos / 10 audios.
4104
4116
  ...params.imageInput(30, "Reference Images", false, "reference", SEEDANCE_MIN_PIXELS),
4105
- ...params.videoInputs(10, "Reference Videos", false, SEEDANCE_MIN_PIXELS),
4117
+ ...params.videoInputs(10, "Reference Videos", false, SEEDANCE_MIN_PIXELS, SEEDANCE_25_MAX_VIDEO_BYTES),
4106
4118
  ...params.audioInputs(10, "Reference Audios"),
4107
4119
  ...params.startFrame(),
4108
4120
  ...params.endFrame()
@@ -4130,7 +4142,7 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
4130
4142
  ...params.generateAudio(),
4131
4143
  ...params.returnLastFrame(),
4132
4144
  ...p.enum("outputFormat", ["mp4", "mov"], "mp4", { label: "Format" }),
4133
- ...params.videoInput("Source Video"),
4145
+ ...params.videoInput("Source Video", "reference", true, void 0, void 0, SEEDANCE_25_MAX_VIDEO_BYTES),
4134
4146
  ...params.imageInput(30, "Reference Images")
4135
4147
  }
4136
4148
  },
@@ -4156,7 +4168,7 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
4156
4168
  ...params.duration(SEEDANCE_25_DURATIONS, 15),
4157
4169
  ...params.generateAudio(),
4158
4170
  ...p.enum("outputFormat", ["mp4", "mov"], "mp4", { label: "Format" }),
4159
- ...params.videoInputs(10, "Source Videos", true)
4171
+ ...params.videoInputs(10, "Source Videos", true, void 0, SEEDANCE_25_MAX_VIDEO_BYTES)
4160
4172
  }
4161
4173
  },
4162
4174
  {
@@ -4189,6 +4201,40 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
4189
4201
  ...params.endFrame()
4190
4202
  }
4191
4203
  },
4204
+ {
4205
+ // Same model as seedance-2.0 on a vendor endpoint with moderation
4206
+ // disabled — full capability parity, bills under the seedance-2.0
4207
+ // pricing key (hence the shared modelId).
4208
+ id: "seedance-2.0-without-moderation",
4209
+ name: "Seedance 2.0 Without Moderation",
4210
+ modelId: "seedance-2.0",
4211
+ addedAt: "2026-08-17",
4212
+ release: "preview",
4213
+ workflow: "seedance",
4214
+ buildPayload: buildSeedance20PayloadFor("seedance_2_0_without_moderation"),
4215
+ constraints: seedance20Constraints,
4216
+ estimatedTime: 15,
4217
+ mode: "video",
4218
+ inputType: "t2v",
4219
+ badge: ["new", "premium", "hot"],
4220
+ description: "Seedance 2.0 with vendor moderation disabled \u2014 cinematic video with optional audio and reference image. Up to 4K.",
4221
+ features: [feat("Reference Image", "frame"), feat("Start/End Frame", "frame"), feat("Audio", "audio"), feat("4K", "resolution"), feat("4-15 sec", "duration")],
4222
+ paramConfig: {
4223
+ ...params.prompt(),
4224
+ ...params.aspectRatio(SEEDANCE_AR),
4225
+ ...params.resolution(["480p", "720p", "1080p", "4k"], "720p"),
4226
+ ...params.duration(SEEDANCE_V2_DURATIONS, 10),
4227
+ ...params.generateAudio(),
4228
+ ...params.returnLastFrame(),
4229
+ // Reference roles map directly to backend `reference_*` content entries.
4230
+ // start/end frame stay on their own named slots.
4231
+ ...params.imageInput(9, "Reference Images", false, "reference", SEEDANCE_MIN_PIXELS),
4232
+ ...params.videoInputs(3, "Reference Videos", false, SEEDANCE_MIN_PIXELS),
4233
+ ...params.audioInputs(3, "Reference Audios"),
4234
+ ...params.startFrame(),
4235
+ ...params.endFrame()
4236
+ }
4237
+ },
4192
4238
  {
4193
4239
  id: "seedance-2.0-fast",
4194
4240
  name: "Seedance 2.0 Fast",
@@ -4273,6 +4319,31 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
4273
4319
  ...params.imageInput(9, "Reference Images")
4274
4320
  }
4275
4321
  },
4322
+ {
4323
+ id: "seedance-2.0-without-moderation-video-edit",
4324
+ name: "Seedance 2.0 Without Moderation Video Edit",
4325
+ modelId: "seedance-2.0",
4326
+ addedAt: "2026-08-17",
4327
+ release: "preview",
4328
+ workflow: "seedance",
4329
+ buildPayload: buildSeedance20VideoEditPayloadFor("seedance_2_0_without_moderation"),
4330
+ estimatedTime: 77,
4331
+ mode: "video",
4332
+ inputType: "v2v",
4333
+ badge: ["new", "premium", "hot"],
4334
+ description: "Moderation-free video edit \u2014 replace subjects, add or remove objects, restyle scenes with reference images.",
4335
+ features: [feat("Video Input", "input"), feat("Multi-Image Input", "input"), feat("Audio", "audio"), feat("4K", "resolution"), feat("4-15 sec", "duration")],
4336
+ paramConfig: {
4337
+ ...params.prompt(),
4338
+ ...params.aspectRatio(SEEDANCE_AR),
4339
+ ...params.resolution(["480p", "720p", "1080p", "4k"], "720p"),
4340
+ ...params.duration(SEEDANCE_V2_DURATIONS, 5),
4341
+ ...params.generateAudio(),
4342
+ ...params.returnLastFrame(),
4343
+ ...params.videoInput("Source Video"),
4344
+ ...params.imageInput(9, "Reference Images")
4345
+ }
4346
+ },
4276
4347
  {
4277
4348
  id: "seedance-2.0-fast-video-edit",
4278
4349
  name: "Seedance 2.0 Fast Video Edit",
@@ -4343,6 +4414,29 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
4343
4414
  ...params.videoInputs(3, "Source Videos", true)
4344
4415
  }
4345
4416
  },
4417
+ {
4418
+ id: "seedance-2.0-without-moderation-video-extend",
4419
+ name: "Seedance 2.0 Without Moderation Video Extend",
4420
+ modelId: "seedance-2.0",
4421
+ addedAt: "2026-08-17",
4422
+ release: "preview",
4423
+ workflow: "seedance",
4424
+ buildPayload: buildSeedance20VideoExtendPayloadFor("seedance_2_0_without_moderation"),
4425
+ estimatedTime: 400,
4426
+ mode: "video",
4427
+ inputType: "v2v",
4428
+ badge: ["new", "premium", "hot"],
4429
+ description: "Moderation-free: stitch up to 3 clips into one continuous, extended video.",
4430
+ features: [feat("Multi-Video Input", "input"), feat("Audio", "audio"), feat("4K", "resolution"), feat("4-15 sec", "duration")],
4431
+ paramConfig: {
4432
+ ...params.prompt(),
4433
+ ...params.aspectRatio(SEEDANCE_AR),
4434
+ ...params.resolution(["480p", "720p", "1080p", "4k"], "720p"),
4435
+ ...params.duration(SEEDANCE_V2_DURATIONS, 15),
4436
+ ...params.generateAudio(),
4437
+ ...params.videoInputs(3, "Source Videos", true)
4438
+ }
4439
+ },
4346
4440
  {
4347
4441
  id: "seedance-2.0-fast-video-extend",
4348
4442
  name: "Seedance 2.0 Fast Video Extend",
@@ -5477,9 +5571,6 @@ var { MODELS: MODELS20 } = defineModels("runway", [
5477
5571
  }
5478
5572
  ]);
5479
5573
 
5480
- // src/core/helpers.ts
5481
- var resolveImageSize = (ctx, arMap) => ctx.aspectRatio && arMap[ctx.aspectRatio] || ctx.size;
5482
-
5483
5574
  // src/vendors/catalog/flux.ts
5484
5575
  var FLUX_AR_TO_SIZE = {
5485
5576
  "1:1": "1024x1024",
@@ -5488,21 +5579,17 @@ var FLUX_AR_TO_SIZE = {
5488
5579
  "4:3": "1024x768",
5489
5580
  "3:4": "768x1024"
5490
5581
  };
5491
- var fluxAspectRatios = Object.keys(FLUX_AR_TO_SIZE);
5492
- var buildFluxV2Payload = (modelId) => (ctx) => {
5493
- const size = resolveImageSize(ctx, FLUX_AR_TO_SIZE);
5494
- return {
5495
- prompt: ctx.prompt,
5496
- model: modelId,
5497
- imageUrls: ctx.imageUrls ?? [],
5498
- ...size ? {
5499
- width: parseInt(size.split("x")[0]),
5500
- height: parseInt(size.split("x")[1])
5501
- } : {},
5502
- ...ctx.guidance != null ? { guidance: ctx.guidance } : {},
5503
- ...ctx.seed != null ? { seed: ctx.seed } : {}
5504
- };
5505
- };
5582
+ var fluxAspectRatios = ["1:1", "16:9", "9:16", "4:3", "3:4", "21:9", "9:21"];
5583
+ var fluxResolutions = ["1K", "2K", "4K"];
5584
+ var buildFluxV2Payload = (modelId) => (ctx) => ({
5585
+ prompt: ctx.prompt,
5586
+ model: modelId,
5587
+ imageUrls: ctx.imageUrls ?? [],
5588
+ resolution: ctx.resolution ?? "1K",
5589
+ aspectRatio: ctx.aspectRatio ?? "1:1",
5590
+ ...ctx.guidance != null ? { guidance: ctx.guidance } : {},
5591
+ ...ctx.seed != null ? { seed: ctx.seed } : {}
5592
+ });
5506
5593
  function normalizeAspectRatio(aspect) {
5507
5594
  if (!aspect) return null;
5508
5595
  const raw = String(aspect).trim();
@@ -5554,11 +5641,12 @@ var { MODELS: MODELS21 } = defineModels("flux", [
5554
5641
  addedAt: "2026-02-06",
5555
5642
  buildPayload: buildFluxV2Payload("flux-2-pro"),
5556
5643
  estimatedTime: 19,
5557
- description: "Sharp 2K images with fine-tuned color accuracy and detail.",
5558
- features: [feat("Multi-Image Input", "input"), feat("2K", "resolution")],
5644
+ description: "Sharp images up to 4K with fine-tuned color accuracy and detail.",
5645
+ features: [feat("Multi-Image Input", "input"), feat("4K", "resolution")],
5559
5646
  paramConfig: {
5560
5647
  ...params.prompt(),
5561
5648
  ...params.aspectRatio(fluxAspectRatios, "4:3"),
5649
+ ...params.resolution(fluxResolutions, "1K"),
5562
5650
  ...params.count(),
5563
5651
  ...params.imageInput(4, "Source Images")
5564
5652
  }
@@ -5572,10 +5660,11 @@ var { MODELS: MODELS21 } = defineModels("flux", [
5572
5660
  buildPayload: buildFluxV2Payload("flux-2-max"),
5573
5661
  estimatedTime: 27,
5574
5662
  description: "Maximum detail for intricate compositions and demanding scenes.",
5575
- features: [feat("Image Input", "input"), feat("2K", "resolution")],
5663
+ features: [feat("Image Input", "input"), feat("4K", "resolution")],
5576
5664
  paramConfig: {
5577
5665
  ...params.prompt(),
5578
5666
  ...params.aspectRatio(fluxAspectRatios, "1:1"),
5667
+ ...params.resolution(fluxResolutions, "1K"),
5579
5668
  ...params.count(),
5580
5669
  ...params.imageInput(1, "Source Image")
5581
5670
  }
@@ -5588,11 +5677,12 @@ var { MODELS: MODELS21 } = defineModels("flux", [
5588
5677
  addedAt: "2026-02-06",
5589
5678
  buildPayload: buildFluxV2Payload("flux-2-flex"),
5590
5679
  estimatedTime: 15,
5591
- description: "Adaptable generation across varied visual styles at 2K.",
5592
- features: [feat("Image Input", "input"), feat("2K", "resolution")],
5680
+ description: "Adaptable generation across varied visual styles up to 4K.",
5681
+ features: [feat("Image Input", "input"), feat("4K", "resolution")],
5593
5682
  paramConfig: {
5594
5683
  ...params.prompt(),
5595
5684
  ...params.aspectRatio(fluxAspectRatios, "3:4"),
5685
+ ...params.resolution(fluxResolutions, "1K"),
5596
5686
  ...params.count(),
5597
5687
  ...params.imageInput(1, "Source Image")
5598
5688
  }
@@ -7526,6 +7616,9 @@ registerPayloads(MODELS30, {
7526
7616
  "topaz-upscale-video": buildTopazVideoPayload
7527
7617
  });
7528
7618
 
7619
+ // src/core/helpers.ts
7620
+ var resolveImageSize = (ctx, arMap) => ctx.aspectRatio && arMap[ctx.aspectRatio] || ctx.size;
7621
+
7529
7622
  // src/vendors/catalog/picsart.ts
7530
7623
  var MAX_WORDS = 77;
7531
7624
  var truncateWords = (text) => {
@@ -10685,6 +10778,9 @@ var Seedance20MiniVideoEdit = "seedance-2.0-mini-video-edit";
10685
10778
  var Seedance20MiniVideoExtend = "seedance-2.0-mini-video-extend";
10686
10779
  var Seedance20VideoEdit = "seedance-2.0-video-edit";
10687
10780
  var Seedance20VideoExtend = "seedance-2.0-video-extend";
10781
+ var Seedance20WithoutModeration = "seedance-2.0-without-moderation";
10782
+ var Seedance20WithoutModerationVideoEdit = "seedance-2.0-without-moderation-video-edit";
10783
+ var Seedance20WithoutModerationVideoExtend = "seedance-2.0-without-moderation-video-extend";
10688
10784
  var Seedance25 = "seedance-2.5";
10689
10785
  var Seedance25VideoEdit = "seedance-2.5-video-edit";
10690
10786
  var Seedance25VideoExtend = "seedance-2.5-video-extend";
@@ -10888,6 +10984,9 @@ var Models = {
10888
10984
  Seedance20MiniVideoExtend,
10889
10985
  Seedance20VideoEdit,
10890
10986
  Seedance20VideoExtend,
10987
+ Seedance20WithoutModeration,
10988
+ Seedance20WithoutModerationVideoEdit,
10989
+ Seedance20WithoutModerationVideoExtend,
10891
10990
  Seedance25,
10892
10991
  Seedance25VideoEdit,
10893
10992
  Seedance25VideoExtend,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@picsart/ai-sdk",
3
- "version": "5.4.1",
3
+ "version": "5.6.0",
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",