@picsart/ai-sdk 6.13.2 → 6.14.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/index.d.ts CHANGED
@@ -343,6 +343,7 @@ type ModelInputById = {
343
343
  prompt: string;
344
344
  aspectRatio?: "1:1" | "16:9" | "9:16" | "3:4" | "4:3" | "2:3" | "21:9" | "auto";
345
345
  count?: 1 | 2 | 4 | 6 | 8 | 10;
346
+ seed?: number;
346
347
  imageUrls?: string[];
347
348
  };
348
349
  "gemini-2.5-flash-tts": {
@@ -368,6 +369,7 @@ type ModelInputById = {
368
369
  aspectRatio?: "1:1" | "16:9" | "9:16" | "3:4" | "4:3" | "2:3" | "21:9" | "auto";
369
370
  resolution?: "1K" | "2K" | "4K";
370
371
  count?: 1 | 2 | 4 | 6 | 8 | 10;
372
+ seed?: number;
371
373
  thinkingBudget?: number;
372
374
  imageUrls?: string[];
373
375
  };
@@ -376,6 +378,7 @@ type ModelInputById = {
376
378
  aspectRatio?: "1:1" | "16:9" | "9:16" | "3:4" | "4:3" | "3:2" | "2:3" | "4:5" | "5:4" | "4:1" | "1:4" | "8:1" | "1:8" | "21:9" | "auto";
377
379
  resolution?: "0.5K" | "1K" | "2K" | "4K";
378
380
  count?: 1 | 2 | 4 | 6 | 8 | 10;
381
+ seed?: number;
379
382
  thinkingLevel?: "minimal" | "high";
380
383
  imageUrls?: string[];
381
384
  };
@@ -383,6 +386,7 @@ type ModelInputById = {
383
386
  prompt: string;
384
387
  aspectRatio?: "1:1" | "16:9" | "9:16" | "3:4" | "4:3" | "3:2" | "2:3" | "4:5" | "5:4" | "4:1" | "1:4" | "8:1" | "1:8" | "21:9" | "auto";
385
388
  count?: 1 | 2 | 4 | 6 | 8 | 10;
389
+ seed?: number;
386
390
  thinkingLevel?: "minimal" | "high";
387
391
  imageUrls?: string[];
388
392
  };
@@ -1068,6 +1072,17 @@ type ModelInputById = {
1068
1072
  seed?: number;
1069
1073
  enableSafetyChecker?: boolean;
1070
1074
  };
1075
+ "minimax-h3-max-extend": {
1076
+ prompt: string;
1077
+ videoUrl: string;
1078
+ duration?: number;
1079
+ output?: "extended" | "continuation";
1080
+ aspectRatio?: "auto" | "21:9" | "16:9" | "4:3" | "1:1" | "3:4" | "9:16";
1081
+ resolution?: "480p" | "768p" | "1080p" | "2k";
1082
+ enhancePrompt?: boolean;
1083
+ enableSafetyChecker?: boolean;
1084
+ seed?: number;
1085
+ };
1071
1086
  "minimax-h3-max-lip-sync": {
1072
1087
  startFrame: string;
1073
1088
  audioUrl: string;
@@ -3266,6 +3281,7 @@ declare const Models: {
3266
3281
  readonly MinimaxH3: "minimax-h3";
3267
3282
  readonly MinimaxH3Max: "minimax-h3-max";
3268
3283
  readonly MinimaxH3MaxCameraControls: "minimax-h3-max-camera-controls";
3284
+ readonly MinimaxH3MaxExtend: "minimax-h3-max-extend";
3269
3285
  readonly MinimaxH3MaxLipSync: "minimax-h3-max-lip-sync";
3270
3286
  readonly MinimaxH3MaxTurbo: "minimax-h3-max-turbo";
3271
3287
  readonly MinimaxMusicV2: "minimax-music-v2";
package/index.js CHANGED
@@ -3158,6 +3158,47 @@ var { MODELS: MODELS9 } = defineModels("minimax", [
3158
3158
  ...p.range("seed", -1, 2147483647, -1),
3159
3159
  ...p.boolean("enableSafetyChecker", true, "Safety Checker")
3160
3160
  }
3161
+ },
3162
+ {
3163
+ // Continues an existing clip. `duration` is the length of the NEW footage,
3164
+ // not of the result: with the default 'extended' output the response
3165
+ // replays the whole source before the continuation, so a 5s extension of a
3166
+ // 60s clip comes back 65s long. 'continuation' returns the new part alone.
3167
+ id: "minimax-h3-max-extend",
3168
+ name: "MiniMax H3 Max Extend",
3169
+ modelId: "fal-ai-h3-max-extend",
3170
+ addedAt: "2026-09-25",
3171
+ workflow: "minimax/h3-max/extend-video",
3172
+ estimatedTime: 120,
3173
+ mode: "video",
3174
+ inputType: "v2v",
3175
+ description: "Continue an existing video with newly generated footage \u2014 describe what happens next and get 5-15 more seconds, either appended to the source or on its own. Up to 2K.",
3176
+ features: [
3177
+ feat("Video Input", "input"),
3178
+ feat("Extend", "characteristic"),
3179
+ feat("2K", "resolution"),
3180
+ feat("5-15 sec", "duration")
3181
+ ],
3182
+ paramConfig: {
3183
+ // The vendor wants the continuation described, not the source.
3184
+ ...params.prompt({ placeholder: "What happens next" }),
3185
+ // 1.625-60s, up to 50MB, aspect ratio between 0.4 and 2.5.
3186
+ ...params.videoInput("Source Video", "asset", true, 60),
3187
+ ...params.durationRange(5, 15, 5, 1),
3188
+ ...p.enum("output", [
3189
+ { id: "extended", label: "Source + continuation" },
3190
+ { id: "continuation", label: "Continuation only" }
3191
+ ], "extended", { label: "Output" }),
3192
+ // 'auto' keeps the source ratio; anything else crops to fit.
3193
+ ...params.aspectRatio(["auto", "21:9", "16:9", "4:3", "1:1", "3:4", "9:16"]),
3194
+ // Same ladder as lip-sync, and the same per-second rates.
3195
+ ...params.resolution(["480p", "768p", "1080p", "2k"], "768p"),
3196
+ // Rewrites the prompt using the source so the continuation stays consistent.
3197
+ ...params.enhancePrompt(),
3198
+ ...p.boolean("enableSafetyChecker", true, "Safety Checker"),
3199
+ // Default-less on purpose: unset means the vendor picks a random seed.
3200
+ ...params.seed()
3201
+ }
3161
3202
  }
3162
3203
  ]);
3163
3204
 
@@ -6378,6 +6419,7 @@ var buildGemini3ProImagePayload = (ctx) => ({
6378
6419
  prompt: ctx.prompt,
6379
6420
  model: "gemini-3-pro-image-preview",
6380
6421
  count: ctx.count ?? 1,
6422
+ ...ctx.seed != null ? { seed: ctx.seed } : {},
6381
6423
  ...ctx.imageUrls?.length ? { imageUrls: ctx.imageUrls } : {},
6382
6424
  aspectRatio: ctx.aspectRatio ?? "1:1",
6383
6425
  imageSize: ctx.resolution ?? "2K",
@@ -6387,6 +6429,7 @@ var buildGeminiFlashImagePayload = (ctx) => ({
6387
6429
  prompt: ctx.prompt,
6388
6430
  model: "gemini-2.5-flash-image",
6389
6431
  count: ctx.count ?? 1,
6432
+ ...ctx.seed != null ? { seed: ctx.seed } : {},
6390
6433
  ...ctx.imageUrls?.length ? { imageUrls: ctx.imageUrls } : {},
6391
6434
  aspectRatio: ctx.aspectRatio ?? "16:9"
6392
6435
  });
@@ -6394,6 +6437,7 @@ var buildGemini31FlashImagePayload = (ctx) => ({
6394
6437
  prompt: ctx.prompt,
6395
6438
  model: "gemini-3.1-flash-image-preview",
6396
6439
  count: ctx.count ?? 1,
6440
+ ...ctx.seed != null ? { seed: ctx.seed } : {},
6397
6441
  ...ctx.imageUrls?.length ? { imageUrls: ctx.imageUrls } : {},
6398
6442
  aspectRatio: ctx.aspectRatio ?? "1:1",
6399
6443
  imageSize: ctx.resolution ?? "1K",
@@ -6403,6 +6447,7 @@ var buildGemini31FlashLiteImagePayload = (ctx) => ({
6403
6447
  prompt: ctx.prompt,
6404
6448
  model: "gemini-3.1-flash-lite-image",
6405
6449
  count: ctx.count ?? 1,
6450
+ ...ctx.seed != null ? { seed: ctx.seed } : {},
6406
6451
  ...ctx.imageUrls?.length ? { imageUrls: ctx.imageUrls } : {},
6407
6452
  aspectRatio: ctx.aspectRatio ?? "1:1",
6408
6453
  imageSize: ctx.resolution ?? "1K",
@@ -6466,6 +6511,7 @@ var { MODELS: MODELS22 } = defineModels("google", [
6466
6511
  ...params.aspectRatio(["1:1", "16:9", "9:16", "3:4", "4:3", "3:2", "2:3", "4:5", "5:4", "4:1", "1:4", "8:1", "1:8", "21:9", "auto"], "1:1"),
6467
6512
  ...params.resolution(["0.5K", "1K", "2K", "4K"], "1K"),
6468
6513
  ...params.count(),
6514
+ ...params.seed(),
6469
6515
  ...thinkingLevelParam,
6470
6516
  ...params.imageInput(14, "Source Images")
6471
6517
  }
@@ -6488,6 +6534,7 @@ var { MODELS: MODELS22 } = defineModels("google", [
6488
6534
  ...params.prompt(),
6489
6535
  ...params.aspectRatio(["1:1", "16:9", "9:16", "3:4", "4:3", "3:2", "2:3", "4:5", "5:4", "4:1", "1:4", "8:1", "1:8", "21:9", "auto"], "1:1"),
6490
6536
  ...params.count(),
6537
+ ...params.seed(),
6491
6538
  ...thinkingLevelParam,
6492
6539
  ...params.imageInput(14, "Source Images")
6493
6540
  }
@@ -6511,6 +6558,7 @@ var { MODELS: MODELS22 } = defineModels("google", [
6511
6558
  ...params.aspectRatio([...GEMINI_AR_WIDE], "1:1"),
6512
6559
  ...params.resolution(["1K", "2K", "4K"], "2K"),
6513
6560
  ...params.count(),
6561
+ ...params.seed(),
6514
6562
  ...thinkingBudgetParam,
6515
6563
  ...params.imageInput(14, "Source Images")
6516
6564
  }
@@ -6533,6 +6581,7 @@ var { MODELS: MODELS22 } = defineModels("google", [
6533
6581
  ...params.prompt(),
6534
6582
  ...params.aspectRatio([...GEMINI_AR_WIDE], "16:9"),
6535
6583
  ...params.count(),
6584
+ ...params.seed(),
6536
6585
  ...params.imageInput(14, "Source Images")
6537
6586
  }
6538
6587
  },
@@ -7570,12 +7619,25 @@ var buildMinimaxH3MaxLipSyncPayload = (input) => ({
7570
7619
  ...input.seed != null && input.seed !== -1 ? { seed: input.seed } : {},
7571
7620
  enable_safety_checker: input.enableSafetyChecker ?? true
7572
7621
  });
7622
+ var buildMinimaxH3MaxExtendPayload = (input) => ({
7623
+ prompt: input.prompt,
7624
+ video_url: input.videoUrl,
7625
+ ...input.duration != null ? { duration: input.duration } : {},
7626
+ ...input.output ? { output: input.output } : {},
7627
+ ...input.aspectRatio ? { aspect_ratio: input.aspectRatio } : {},
7628
+ // The vendor enum is uppercase; paramConfig keeps the lowercase form.
7629
+ resolution: (input.resolution ?? "768p").toUpperCase(),
7630
+ ...input.seed != null ? { seed: input.seed } : {},
7631
+ enable_prompt_expansion: input.enhancePrompt ?? true,
7632
+ enable_safety_checker: input.enableSafetyChecker ?? true
7633
+ });
7573
7634
  registerPayloads(MODELS9, {
7574
7635
  "minimax-music-v3": buildMinimaxMusicV3Payload,
7575
7636
  "minimax-h3-max": buildMinimaxH3MaxPayload,
7576
7637
  "minimax-h3-max-turbo": buildMinimaxH3MaxTurboPayload,
7577
7638
  "minimax-h3-max-camera-controls": buildMinimaxH3MaxCameraControlsPayload,
7578
- "minimax-h3-max-lip-sync": buildMinimaxH3MaxLipSyncPayload
7639
+ "minimax-h3-max-lip-sync": buildMinimaxH3MaxLipSyncPayload,
7640
+ "minimax-h3-max-extend": buildMinimaxH3MaxExtendPayload
7579
7641
  });
7580
7642
  registerEditPayloads(MODELS9, {
7581
7643
  "minimax-h3-max-turbo": buildMinimaxH3MaxTurboPayload
@@ -12930,6 +12992,7 @@ var Lyria35 = "lyria-3.5";
12930
12992
  var MinimaxH3 = "minimax-h3";
12931
12993
  var MinimaxH3Max = "minimax-h3-max";
12932
12994
  var MinimaxH3MaxCameraControls = "minimax-h3-max-camera-controls";
12995
+ var MinimaxH3MaxExtend = "minimax-h3-max-extend";
12933
12996
  var MinimaxH3MaxLipSync = "minimax-h3-max-lip-sync";
12934
12997
  var MinimaxH3MaxTurbo = "minimax-h3-max-turbo";
12935
12998
  var MinimaxMusicV2 = "minimax-music-v2";
@@ -13180,6 +13243,7 @@ var Models = {
13180
13243
  MinimaxH3,
13181
13244
  MinimaxH3Max,
13182
13245
  MinimaxH3MaxCameraControls,
13246
+ MinimaxH3MaxExtend,
13183
13247
  MinimaxH3MaxLipSync,
13184
13248
  MinimaxH3MaxTurbo,
13185
13249
  MinimaxMusicV2,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@picsart/ai-sdk",
3
- "version": "6.13.2",
3
+ "version": "6.14.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",