@picsart/ai-sdk 5.37.0 → 5.38.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 +0 -21
  2. package/index.js +59 -154
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -1540,24 +1540,6 @@ type ModelInputById = {
1540
1540
  imageUrls?: string[];
1541
1541
  negativePrompt?: string;
1542
1542
  };
1543
- "sora-2": {
1544
- prompt: string;
1545
- imageUrls?: string[];
1546
- aspectRatio?: "16:9" | "9:16";
1547
- duration?: 4 | 8 | 12 | 16 | 20;
1548
- };
1549
- "sora-2-extend": {
1550
- prompt: string;
1551
- videoId?: string;
1552
- duration?: 4 | 8 | 12 | 16 | 20;
1553
- };
1554
- "sora-2-pro": {
1555
- prompt: string;
1556
- imageUrls?: string[];
1557
- aspectRatio?: "16:9" | "9:16";
1558
- resolution?: "720p" | "1024p" | "1080p";
1559
- duration?: 4 | 8 | 12 | 16 | 20;
1560
- };
1561
1543
  "topaz-upscale-image": {
1562
1544
  imageUrls: [string, ...string[]];
1563
1545
  model?: "Standard V2" | "Standard MAX" | "Low Resolution V2" | "High Fidelity V2" | "CGI" | "Text Refine" | "Redefine" | "Recovery" | "Recovery V2" | "Wonder" | "Wonder 3";
@@ -2889,9 +2871,6 @@ declare const Models: {
2889
2871
  readonly Seedream47: "seedream-4.7";
2890
2872
  readonly Seedream50Lite: "seedream-5.0-lite";
2891
2873
  readonly Seedream50Pro: "seedream-5.0-pro";
2892
- readonly Sora2: "sora-2";
2893
- readonly Sora2Extend: "sora-2-extend";
2894
- readonly Sora2Pro: "sora-2-pro";
2895
2874
  readonly TopazUpscaleImage: "topaz-upscale-image";
2896
2875
  readonly TopazUpscaleVideo: "topaz-upscale-video";
2897
2876
  readonly VeedFabricV1: "veed-fabric-v1";
package/index.js CHANGED
@@ -1261,7 +1261,7 @@ var passthroughPayload = (paramConfig) => (ctx) => {
1261
1261
  return payload;
1262
1262
  };
1263
1263
  function defineModels(provider, configs) {
1264
- const MODELS39 = [];
1264
+ const MODELS38 = [];
1265
1265
  for (const c of configs) {
1266
1266
  const prov = c.provider ?? provider;
1267
1267
  const resolvedPayload = c.buildPayload ?? passthroughPayload(c.paramConfig);
@@ -1297,19 +1297,19 @@ function defineModels(provider, configs) {
1297
1297
  if (c.constraints !== void 0) model.constraints = c.constraints;
1298
1298
  const contract = createModelContract(model);
1299
1299
  model.outputSchema = c.outputSchema ?? contract.output;
1300
- MODELS39.push(model);
1300
+ MODELS38.push(model);
1301
1301
  }
1302
- return { MODELS: MODELS39 };
1302
+ return { MODELS: MODELS38 };
1303
1303
  }
1304
- function registerPayloads(MODELS39, payloads) {
1304
+ function registerPayloads(MODELS38, payloads) {
1305
1305
  for (const [id, builder] of Object.entries(payloads)) {
1306
- const model = MODELS39.find((m) => m.id === id);
1306
+ const model = MODELS38.find((m) => m.id === id);
1307
1307
  if (model) model.buildPayload = builder;
1308
1308
  }
1309
1309
  }
1310
- function registerEditPayloads(MODELS39, payloads) {
1310
+ function registerEditPayloads(MODELS38, payloads) {
1311
1311
  for (const [id, builder] of Object.entries(payloads)) {
1312
- const model = MODELS39.find((m) => m.id === id);
1312
+ const model = MODELS38.find((m) => m.id === id);
1313
1313
  if (model) model.buildEditPayload = builder;
1314
1314
  }
1315
1315
  }
@@ -4602,100 +4602,6 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
4602
4602
  }
4603
4603
  ]);
4604
4604
 
4605
- // src/vendors/catalog/sora.ts
4606
- var SORA_SIZE_MAP = {
4607
- "720p": { "16:9": "1280x720", "9:16": "720x1280" },
4608
- "1024p": { "16:9": "1792x1024", "9:16": "1024x1792" },
4609
- "1080p": { "16:9": "1920x1080", "9:16": "1080x1920" }
4610
- };
4611
- var getSoraSize = (aspectRatio, resolution) => SORA_SIZE_MAP[resolution ?? "720p"]?.[aspectRatio ?? "16:9"] ?? "1280x720";
4612
- var buildSora2ProPayload = (ctx) => ({
4613
- model: "sora-2-pro",
4614
- prompt: ctx.prompt,
4615
- seconds: ctx.duration ?? 4,
4616
- size: getSoraSize(ctx.aspectRatio, ctx.resolution),
4617
- ...ctx.imageUrls?.[0] ? { input_reference_url: ctx.imageUrls[0], adjust_input_image_ratio: true } : {}
4618
- });
4619
- var buildSora2Payload = (ctx) => ({
4620
- model: "sora-2",
4621
- prompt: ctx.prompt,
4622
- seconds: ctx.duration ?? 4,
4623
- size: getSoraSize(ctx.aspectRatio),
4624
- ...ctx.imageUrls?.[0] ? { input_reference_url: ctx.imageUrls[0], adjust_input_image_ratio: true } : {}
4625
- });
4626
- var buildSora2ExtendPayload = (ctx) => ({
4627
- video_id: ctx.videoId,
4628
- prompt: ctx.prompt,
4629
- seconds: ctx.duration ?? 8
4630
- });
4631
- var SORA_DURATIONS = [4, 8, 12, 16, 20];
4632
- var SORA_AR = ["16:9", "9:16"];
4633
- var SORA_PROMPT_MAX = 5e3;
4634
- var { MODELS: MODELS13 } = defineModels("openai", [
4635
- {
4636
- id: "sora-2-pro",
4637
- name: "Sora 2 Pro",
4638
- modelId: "sora-2-pro",
4639
- addedAt: "2026-02-06",
4640
- workflow: "openai/v1/videos",
4641
- buildPayload: buildSora2ProPayload,
4642
- estimatedTime: { "720p": 100, "1024p": 100, "1080p": 100 },
4643
- testTimeout: 700,
4644
- mode: "video",
4645
- inputType: "t2v",
4646
- badge: ["popular", "premium"],
4647
- description: "Up to 1080p with strong physical realism and optional reference image.",
4648
- features: [feat("Image Input", "input"), feat("Audio", "audio"), feat("Up to 1080p", "resolution"), feat("4\u201320 sec", "duration")],
4649
- paramConfig: {
4650
- ...params.prompt({ maxLength: SORA_PROMPT_MAX }),
4651
- ...params.imageInput(1, "Reference Image"),
4652
- ...params.aspectRatio(SORA_AR),
4653
- ...params.resolution(["720p", "1024p", "1080p"]),
4654
- ...params.duration(SORA_DURATIONS, 4)
4655
- }
4656
- },
4657
- {
4658
- id: "sora-2",
4659
- name: "Sora 2",
4660
- modelId: "sora-2",
4661
- addedAt: "2026-02-06",
4662
- workflow: "openai/v1/videos",
4663
- buildPayload: buildSora2Payload,
4664
- estimatedTime: 100,
4665
- mode: "video",
4666
- inputType: "t2v",
4667
- badge: ["popular"],
4668
- description: "Naturalistic 720p video with lifelike motion and character detail.",
4669
- features: [feat("Image Input", "input"), feat("Audio", "audio"), feat("720p", "resolution"), feat("4\u201320 sec", "duration")],
4670
- paramConfig: {
4671
- ...params.prompt({ maxLength: SORA_PROMPT_MAX }),
4672
- ...params.imageInput(1, "Reference Image"),
4673
- ...params.aspectRatio(SORA_AR),
4674
- ...params.duration(SORA_DURATIONS, 4)
4675
- }
4676
- },
4677
- {
4678
- id: "sora-2-extend",
4679
- name: "Sora 2 Extend",
4680
- modelId: "sora-2",
4681
- addedAt: "2026-02-10",
4682
- workflow: "openai/v1/videos/extensions",
4683
- buildPayload: buildSora2ExtendPayload,
4684
- estimatedTime: 17,
4685
- mode: "video",
4686
- inputType: "v2v",
4687
- description: "Seamlessly continue a previously generated Sora video with matching style and pacing.",
4688
- features: [feat("Continue Video", "input"), feat("4\u201320 sec", "duration")],
4689
- paramConfig: {
4690
- ...params.prompt({ maxLength: SORA_PROMPT_MAX }),
4691
- // video_id is chained from the source Sora asset (declaring the param lets
4692
- // the store seed ctx.videoId); no aspectRatio/size — extend keeps source geometry.
4693
- ...params.videoId([], ""),
4694
- ...params.duration(SORA_DURATIONS, 8)
4695
- }
4696
- }
4697
- ]);
4698
-
4699
4605
  // src/vendors/catalog/seedream.ts
4700
4606
  function buildSeedreamV2(modelId) {
4701
4607
  return (ctx) => ({
@@ -4720,7 +4626,7 @@ var seedreamV2Params = {
4720
4626
  ...params.imageInput(2, "Source Images"),
4721
4627
  ...params.negativePrompt()
4722
4628
  };
4723
- var { MODELS: MODELS14 } = defineModels("seedream", [
4629
+ var { MODELS: MODELS13 } = defineModels("seedream", [
4724
4630
  {
4725
4631
  id: "seedream-5.0-pro",
4726
4632
  name: "Seedream 5.0 Pro",
@@ -4864,7 +4770,7 @@ var refMutexConstraints = [
4864
4770
  imageUrls: { disabled: true, reason: REF_MUTEX_REASON }
4865
4771
  } }
4866
4772
  ];
4867
- var { MODELS: MODELS15 } = defineModels("seedaudio", [
4773
+ var { MODELS: MODELS14 } = defineModels("seedaudio", [
4868
4774
  {
4869
4775
  id: "seed-audio-1.0-multilingual",
4870
4776
  name: "Seed Audio Multilingual",
@@ -4930,7 +4836,7 @@ var buildSeedAudioPayload = (model) => (input) => {
4930
4836
  ...references ? { references } : {}
4931
4837
  };
4932
4838
  };
4933
- registerPayloads(MODELS15, {
4839
+ registerPayloads(MODELS14, {
4934
4840
  "seed-audio-1.0": buildSeedAudioPayload("seed-audio-1.0"),
4935
4841
  "seed-audio-1.0-multilingual": buildSeedAudioPayload("seed-audio-1.0-multilingual")
4936
4842
  });
@@ -4946,7 +4852,7 @@ var buildRevePayload = (ctx) => {
4946
4852
  ...hasImages ? { image_url: ctx.imageUrls[0] } : {}
4947
4853
  };
4948
4854
  };
4949
- var { MODELS: MODELS16 } = defineModels("reve", [
4855
+ var { MODELS: MODELS15 } = defineModels("reve", [
4950
4856
  {
4951
4857
  id: "reve",
4952
4858
  name: "Reve",
@@ -5042,7 +4948,7 @@ var GROK_DURATIONS = [3, 5, 6, 8, 10, 12, 15];
5042
4948
  var GROK_VIDEO_RESOLUTIONS = ["480p", "720p"];
5043
4949
  var GROK_VIDEO_RESOLUTIONS_15 = ["480p", "720p", "1080p"];
5044
4950
  var GROK_IMAGE_RESOLUTIONS = ["1k", "2k"];
5045
- var { MODELS: MODELS17 } = defineModels("grok", [
4951
+ var { MODELS: MODELS16 } = defineModels("grok", [
5046
4952
  // ── Video ─────────────────────────────────────────
5047
4953
  {
5048
4954
  id: "grok-imagine-video",
@@ -5231,10 +5137,10 @@ var buildGrokImage2EditPayload = (input) => {
5231
5137
  ...imagePart2
5232
5138
  };
5233
5139
  };
5234
- registerPayloads(MODELS17, {
5140
+ registerPayloads(MODELS16, {
5235
5141
  "grok-imagine-image-2.0": buildGrokImage2Payload
5236
5142
  });
5237
- registerEditPayloads(MODELS17, {
5143
+ registerEditPayloads(MODELS16, {
5238
5144
  "grok-imagine-image-2.0": buildGrokImage2EditPayload
5239
5145
  });
5240
5146
 
@@ -5272,7 +5178,7 @@ var buildPikaFramesPayload = (ctx) => ({
5272
5178
  var PIKA_DURATIONS = [5, 10];
5273
5179
  var PIKA_AR = ["16:9", "9:16", "1:1", "4:5", "5:4", "3:2", "2:3"];
5274
5180
  var PIKA_RESOLUTIONS = ["720p", "1080p"];
5275
- var { MODELS: MODELS18 } = defineModels("pika", [
5181
+ var { MODELS: MODELS17 } = defineModels("pika", [
5276
5182
  {
5277
5183
  id: "pika-2.2",
5278
5184
  name: "Pika",
@@ -5401,7 +5307,7 @@ var veoLiteParamConfig = {
5401
5307
  var veoLiteConstraints = [
5402
5308
  { when: { resolution: { is: "1080p" } }, then: { duration: { allowed: [8], reason: "1080p supports 8s only" } } }
5403
5309
  ];
5404
- var { MODELS: MODELS19 } = defineModels("google", [
5310
+ var { MODELS: MODELS18 } = defineModels("google", [
5405
5311
  {
5406
5312
  id: "veo-3.1",
5407
5313
  name: "Veo 3.1",
@@ -5537,7 +5443,7 @@ var buildRunwayGen3aTurboPayload = (ctx) => ({
5537
5443
  ratio: RUNWAY_GEN3A_RATIO_MAP[ctx.aspectRatio ?? "16:9"] ?? "1280:768",
5538
5444
  duration: ctx.duration ?? 5
5539
5445
  });
5540
- var { MODELS: MODELS20 } = defineModels("runway", [
5446
+ var { MODELS: MODELS19 } = defineModels("runway", [
5541
5447
  {
5542
5448
  id: "runway-avatar-video",
5543
5449
  name: "Runway Avatar",
@@ -5714,7 +5620,7 @@ var flux3VideoConstraints = [
5714
5620
  resolution: { allowed: ["hd"], reason: "Draft mode only supports HD resolution." }
5715
5621
  } }
5716
5622
  ];
5717
- var { MODELS: MODELS21 } = defineModels("flux", [
5623
+ var { MODELS: MODELS20 } = defineModels("flux", [
5718
5624
  {
5719
5625
  ...fluxV2Base,
5720
5626
  id: "flux-2-pro",
@@ -5917,7 +5823,7 @@ var buildFlux3VideoPayload = (input) => {
5917
5823
  ...input.draft ? { draft: input.draft } : {}
5918
5824
  };
5919
5825
  };
5920
- registerPayloads(MODELS21, {
5826
+ registerPayloads(MODELS20, {
5921
5827
  "flux-3-video": buildFlux3VideoPayload
5922
5828
  });
5923
5829
 
@@ -5999,7 +5905,7 @@ var thinkingBudgetParam = {
5999
5905
  descriptor: { kind: "range", min: 128, max: 24576, step: 128, default: 128 }
6000
5906
  }
6001
5907
  };
6002
- var { MODELS: MODELS22 } = defineModels("google", [
5908
+ var { MODELS: MODELS21 } = defineModels("google", [
6003
5909
  // ── Image ─────────────────────────────────────────────────────────
6004
5910
  {
6005
5911
  id: "gemini-3.1-flash-image",
@@ -6197,7 +6103,7 @@ var buildOmniFlash11Payload = (input) => ({
6197
6103
  ...input.videoUrl ? { video: { url: input.videoUrl } } : {},
6198
6104
  ...input.videoUrls?.length ? { referenceVideos: input.videoUrls.map((url) => ({ url })) } : {}
6199
6105
  });
6200
- registerPayloads(MODELS22, {
6106
+ registerPayloads(MODELS21, {
6201
6107
  "gemini-omni-1.1-flash-preview": buildOmniFlash11Payload
6202
6108
  });
6203
6109
 
@@ -6303,7 +6209,7 @@ var gptImageBgConstraints = [
6303
6209
  then: { outputFormat: { allowed: ["png", "webp"], reason: "Transparent background needs PNG or WEBP \u2014 JPEG has no alpha channel." } }
6304
6210
  }
6305
6211
  ];
6306
- var { MODELS: MODELS23 } = defineModels("openai", [
6212
+ var { MODELS: MODELS22 } = defineModels("openai", [
6307
6213
  // ── Image ─────────────────────────────────────────
6308
6214
  {
6309
6215
  id: "gpt-image-2.5-sunburst",
@@ -6450,11 +6356,11 @@ var editFor = (model) => (input) => ({
6450
6356
  ...input.background ? { background: input.background } : {},
6451
6357
  ...input.outputFormat ? { output_format: input.outputFormat } : {}
6452
6358
  });
6453
- registerPayloads(MODELS23, {
6359
+ registerPayloads(MODELS22, {
6454
6360
  "gpt-image-2.5-flare": generateFor("gpt-image-2.5-flare"),
6455
6361
  "gpt-image-2.5-sunburst": generateFor("gpt-image-2.5-sunburst")
6456
6362
  });
6457
- registerEditPayloads(MODELS23, {
6363
+ registerEditPayloads(MODELS22, {
6458
6364
  "gpt-image-2.5-flare": editFor("gpt-image-2.5-flare"),
6459
6365
  "gpt-image-2.5-sunburst": editFor("gpt-image-2.5-sunburst")
6460
6366
  });
@@ -6507,7 +6413,7 @@ var ttsParamConfig = (promptMaxLength, withLanguage) => ({
6507
6413
  ...params.prompt({ maxLength: promptMaxLength }),
6508
6414
  ...params.voiceId([], DEFAULT_VOICE_ID, { catalog: { workflow: "elevenlabs/v1/catalog/voices" } })
6509
6415
  });
6510
- var { MODELS: MODELS24 } = defineModels("elevenlabs", [
6416
+ var { MODELS: MODELS23 } = defineModels("elevenlabs", [
6511
6417
  // ── TTS ───────────────────────────────────────────────────────────
6512
6418
  {
6513
6419
  id: "eleven-v3",
@@ -6558,9 +6464,12 @@ var { MODELS: MODELS24 } = defineModels("elevenlabs", [
6558
6464
  },
6559
6465
  // ── Music ─────────────────────────────────────────────────────────
6560
6466
  {
6467
+ // `modelId` is the pricing-catalog key, not the vendor id: the vendor's bare
6468
+ // `music_v2` is not vendor-scoped, so pricing carries the `eleven_` prefix.
6469
+ // The worker still receives `model_id: 'music_v2'` from the payload builder.
6561
6470
  id: "elevenlabs-music-v2",
6562
6471
  name: "ElevenLabs Music v2",
6563
- modelId: "music_v2",
6472
+ modelId: "eleven_music_v2",
6564
6473
  addedAt: "2026-07-02",
6565
6474
  workflow: "elevenlabs/v1/music-generation",
6566
6475
  estimatedTime: 30,
@@ -6702,6 +6611,9 @@ var { MODELS: MODELS24 } = defineModels("elevenlabs", [
6702
6611
  {
6703
6612
  id: "eleven-voice-create",
6704
6613
  name: "Eleven Voice Previews",
6614
+ // Pricing registers this operation as `eleven-voice-create-previews`, which
6615
+ // does not match the model id — without the hint the credits lookup misses.
6616
+ modelId: "eleven-voice-create-previews",
6705
6617
  addedAt: "2026-03-24",
6706
6618
  workflow: "elevenlabs/v1/voice-create-previews",
6707
6619
  buildPayload: buildElevenLabsVoicePreviewsPayload,
@@ -6721,7 +6633,7 @@ var buildElevenLabsMusicPayload = (input) => ({
6721
6633
  model_id: "music_v2",
6722
6634
  force_instrumental: input.isInstrumental ?? false
6723
6635
  });
6724
- registerPayloads(MODELS24, {
6636
+ registerPayloads(MODELS23, {
6725
6637
  "elevenlabs-music-v2": buildElevenLabsMusicPayload
6726
6638
  });
6727
6639
 
@@ -6765,7 +6677,7 @@ var dynamicVoiceConfig = {
6765
6677
  catalog: { workflow: "heygen/v1/catalog/voices" }
6766
6678
  })
6767
6679
  };
6768
- var { MODELS: MODELS25 } = defineModels("heygen", [
6680
+ var { MODELS: MODELS24 } = defineModels("heygen", [
6769
6681
  // ── Photo Avatar (i2v) ────────────────────────────────────────────
6770
6682
  {
6771
6683
  id: "heygen-talking-photo",
@@ -6875,7 +6787,7 @@ var h3MaxConstraints = [
6875
6787
  audioUrls: { disabled: true, reason: AUDIO_NEEDS_VISUAL2 }
6876
6788
  } }
6877
6789
  ];
6878
- var { MODELS: MODELS26 } = defineModels("minimax", [
6790
+ var { MODELS: MODELS25 } = defineModels("minimax", [
6879
6791
  {
6880
6792
  id: "minimax-02-hd",
6881
6793
  name: "MiniMax 02 HD",
@@ -7089,12 +7001,12 @@ var buildMinimaxH3MaxTurboPayload = (input) => ({
7089
7001
  ...input.seed != null && input.seed !== -1 ? { seed: input.seed } : {},
7090
7002
  enable_safety_checker: input.enableSafetyChecker ?? true
7091
7003
  });
7092
- registerPayloads(MODELS26, {
7004
+ registerPayloads(MODELS25, {
7093
7005
  "minimax-music-v3": buildMinimaxMusicV3Payload,
7094
7006
  "minimax-h3-max": buildMinimaxH3MaxPayload,
7095
7007
  "minimax-h3-max-turbo": buildMinimaxH3MaxTurboPayload
7096
7008
  });
7097
- registerEditPayloads(MODELS26, {
7009
+ registerEditPayloads(MODELS25, {
7098
7010
  "minimax-h3-max-turbo": buildMinimaxH3MaxTurboPayload
7099
7011
  });
7100
7012
 
@@ -7139,7 +7051,7 @@ var buildIdeogramPImagePayload = (ctx) => ({
7139
7051
  resolution: ctx.resolution ?? "1024x1024",
7140
7052
  rendering_speed: ctx.renderingSpeed ?? "medium"
7141
7053
  });
7142
- var { MODELS: MODELS27 } = defineModels("ideogram", [
7054
+ var { MODELS: MODELS26 } = defineModels("ideogram", [
7143
7055
  {
7144
7056
  id: "ideogram-v4",
7145
7057
  name: "Ideogram 4.0",
@@ -7370,7 +7282,7 @@ var qwenV1Params3 = {
7370
7282
  ...p.enum("promptExtendMode", ["direct", "agent"], "direct"),
7371
7283
  ...p.boolean("enableThinking", true, "Deep Thinking")
7372
7284
  };
7373
- var { MODELS: MODELS28 } = defineModels("qwen", [
7285
+ var { MODELS: MODELS27 } = defineModels("qwen", [
7374
7286
  {
7375
7287
  id: "qwen",
7376
7288
  name: "Qwen",
@@ -7540,7 +7452,7 @@ var v4StylesParams = p.file("imageUrls", "image", {
7540
7452
  category: "reference",
7541
7453
  maxBytes: 10 * 1024 * 1024
7542
7454
  });
7543
- var { MODELS: MODELS29 } = defineModels("recraft", [
7455
+ var { MODELS: MODELS28 } = defineModels("recraft", [
7544
7456
  // ── V4.1 family (raster only — vector variants exist in API but not exposed here) ─
7545
7457
  {
7546
7458
  id: "recraftv4_1",
@@ -8080,7 +7992,7 @@ var TOPAZ_VIDEO_MODEL_OPTIONS = [
8080
7992
  "Starlight Sharp",
8081
7993
  "Starlight Fast 2"
8082
7994
  ];
8083
- var { MODELS: MODELS30 } = defineModels("topaz", [
7995
+ var { MODELS: MODELS29 } = defineModels("topaz", [
8084
7996
  {
8085
7997
  id: "topaz-upscale-image",
8086
7998
  name: "Topaz Image Upscale",
@@ -8131,7 +8043,7 @@ var buildTopazVideoPayload = (input) => ({
8131
8043
  upscale_factor: 2,
8132
8044
  H264_output: false
8133
8045
  });
8134
- registerPayloads(MODELS30, {
8046
+ registerPayloads(MODELS29, {
8135
8047
  "topaz-upscale-image": buildTopazImagePayload,
8136
8048
  "topaz-upscale-video": buildTopazVideoPayload
8137
8049
  });
@@ -8216,7 +8128,7 @@ var buildPcpSanaSprintPayload = (ctx) => {
8216
8128
  height: h
8217
8129
  };
8218
8130
  };
8219
- var { MODELS: MODELS31 } = defineModels("picsart", [
8131
+ var { MODELS: MODELS30 } = defineModels("picsart", [
8220
8132
  {
8221
8133
  id: "picsart-change-bg",
8222
8134
  name: "Picsart Change Background",
@@ -8407,7 +8319,7 @@ var buildLyria3Payload = (apiModelId) => (ctx) => ({
8407
8319
  ...(ctx.imageUrls?.length ?? 0) > 1 ? { images: ctx.imageUrls.slice(0, 10).map(imagePart) } : {}
8408
8320
  });
8409
8321
  var LYRIA_PROMPT_MAX = 5e3;
8410
- var { MODELS: MODELS32 } = defineModels("google", [
8322
+ var { MODELS: MODELS31 } = defineModels("google", [
8411
8323
  {
8412
8324
  id: "lyria-3-clip",
8413
8325
  addedAt: "2026-03-26",
@@ -8545,7 +8457,7 @@ var buildHH11R2VPayload = (ctx) => {
8545
8457
  };
8546
8458
  var HH_AR = ["16:9", "9:16", "1:1", "4:3", "3:4"];
8547
8459
  var HH_RES = ["720P", "1080P"];
8548
- var { MODELS: MODELS33 } = defineModels("happyhorse", [
8460
+ var { MODELS: MODELS32 } = defineModels("happyhorse", [
8549
8461
  {
8550
8462
  id: "happyhorse-1.0-t2v",
8551
8463
  name: "Happy Horse 1.0",
@@ -8699,7 +8611,7 @@ var baseFeatures = [
8699
8611
  feat("Up to 1080p", "resolution"),
8700
8612
  feat("5-15 sec", "duration")
8701
8613
  ];
8702
- var { MODELS: MODELS34 } = defineModels("pixverse", [
8614
+ var { MODELS: MODELS33 } = defineModels("pixverse", [
8703
8615
  // ── V6 ─────────────────────────────────────────────────────────────
8704
8616
  {
8705
8617
  id: "pixverse-v6",
@@ -8817,7 +8729,7 @@ var buildReferenceToVideoPayload = (model) => (input) => ({
8817
8729
  aspect_ratio: input.aspectRatio ?? "16:9",
8818
8730
  image_references: (input.imageUrls ?? []).map((url) => ({ url }))
8819
8731
  });
8820
- registerPayloads(MODELS34, {
8732
+ registerPayloads(MODELS33, {
8821
8733
  "pixverse-v6": buildTextToVideoPayload("v6"),
8822
8734
  "pixverse-v6-image": buildImageToVideoPayload("v6"),
8823
8735
  "pixverse-v6-fusion": buildReferenceToVideoPayload("v6"),
@@ -8827,7 +8739,7 @@ registerPayloads(MODELS34, {
8827
8739
  });
8828
8740
 
8829
8741
  // src/vendors/catalog/async-ai.ts
8830
- var { MODELS: MODELS35 } = defineModels("async", [
8742
+ var { MODELS: MODELS34 } = defineModels("async", [
8831
8743
  {
8832
8744
  id: "async-flash-v1",
8833
8745
  name: "Async Flash v1.0",
@@ -8867,7 +8779,7 @@ var buildAsyncTtsPayload = (input) => {
8867
8779
  }
8868
8780
  };
8869
8781
  };
8870
- registerPayloads(MODELS35, { "async-flash-v1": buildAsyncTtsPayload });
8782
+ registerPayloads(MODELS34, { "async-flash-v1": buildAsyncTtsPayload });
8871
8783
 
8872
8784
  // src/vendors/catalog/llm.ts
8873
8785
  var ADDED = "2026-06-16";
@@ -9130,7 +9042,7 @@ var { MODELS: GEMINI_LLM } = defineModels("google", [
9130
9042
  }
9131
9043
  }
9132
9044
  ]);
9133
- var MODELS36 = [...ANTHROPIC, ...OPENAI_LLM, ...GEMINI_LLM];
9045
+ var MODELS35 = [...ANTHROPIC, ...OPENAI_LLM, ...GEMINI_LLM];
9134
9046
 
9135
9047
  // src/vendors/catalog/llm.payloads.ts
9136
9048
  var CLAUDE_MAX_TOKENS = 8192;
@@ -9181,7 +9093,7 @@ var buildGeminiPayload = (modelId) => (input) => {
9181
9093
  ...level ? { generationConfig: { thinkingConfig: { thinkingLevel: level } } } : {}
9182
9094
  };
9183
9095
  };
9184
- registerPayloads(MODELS36, {
9096
+ registerPayloads(MODELS35, {
9185
9097
  "claude-fable-5-1": buildClaudePayload("claude-fable-5-1"),
9186
9098
  "claude-fable-5": buildClaudePayload("claude-fable-5"),
9187
9099
  "claude-opus-5": buildClaudePayload("claude-opus-5"),
@@ -9206,7 +9118,7 @@ registerPayloads(MODELS36, {
9206
9118
  var CAPTIONS_MAX_DURATION_SEC = 300;
9207
9119
  var CAPTIONS_MAX_BYTES = 50 * 1024 * 1024;
9208
9120
  var DEFAULT_CAPTION_TEMPLATE_ID = "ctpl_DxflLOnuKkb198FNdI9E";
9209
- var { MODELS: MODELS37 } = defineModels("captionsai", [
9121
+ var { MODELS: MODELS36 } = defineModels("captionsai", [
9210
9122
  {
9211
9123
  id: "captionsai-video-captions",
9212
9124
  name: "Captions",
@@ -9246,12 +9158,12 @@ var buildCaptionsPayload = (input) => ({
9246
9158
  video: { url: input.videoUrl },
9247
9159
  caption_template_id: input.templateId ?? DEFAULT_CAPTION_TEMPLATE_ID
9248
9160
  });
9249
- registerPayloads(MODELS37, {
9161
+ registerPayloads(MODELS36, {
9250
9162
  "captionsai-video-captions": buildCaptionsPayload
9251
9163
  });
9252
9164
 
9253
9165
  // src/vendors/catalog/meta.ts
9254
- var { MODELS: MODELS38 } = defineModels("meta", [
9166
+ var { MODELS: MODELS37 } = defineModels("meta", [
9255
9167
  // ── Image ─────────────────────────────────────────
9256
9168
  {
9257
9169
  id: "muse-image-1.0",
@@ -9311,10 +9223,10 @@ var buildMuseImageEditPayload = (input) => ({
9311
9223
  ...buildMuseCommonPayload(input),
9312
9224
  images: input.imageUrls ?? []
9313
9225
  });
9314
- registerPayloads(MODELS38, {
9226
+ registerPayloads(MODELS37, {
9315
9227
  "muse-image-1.0": buildMuseImagePayload
9316
9228
  });
9317
- registerEditPayloads(MODELS38, {
9229
+ registerEditPayloads(MODELS37, {
9318
9230
  "muse-image-1.0": buildMuseImageEditPayload
9319
9231
  });
9320
9232
 
@@ -9346,18 +9258,17 @@ var ALL_MODELS = [
9346
9258
  ...MODELS24,
9347
9259
  ...MODELS25,
9348
9260
  ...MODELS26,
9261
+ ...MODELS31,
9349
9262
  ...MODELS27,
9350
- ...MODELS32,
9351
9263
  ...MODELS28,
9352
9264
  ...MODELS29,
9353
9265
  ...MODELS30,
9354
- ...MODELS31,
9266
+ ...MODELS32,
9355
9267
  ...MODELS33,
9356
9268
  ...MODELS34,
9357
9269
  ...MODELS35,
9358
9270
  ...MODELS36,
9359
- ...MODELS37,
9360
- ...MODELS38
9271
+ ...MODELS37
9361
9272
  ];
9362
9273
  var getModelsByMode = (mode, includeDisabled = false) => ALL_MODELS.filter((m) => m.mode === mode && (includeDisabled || isVisibleForReleases(m)));
9363
9274
 
@@ -11724,9 +11635,6 @@ var Seedream45 = "seedream-4.5";
11724
11635
  var Seedream47 = "seedream-4.7";
11725
11636
  var Seedream50Lite = "seedream-5.0-lite";
11726
11637
  var Seedream50Pro = "seedream-5.0-pro";
11727
- var Sora2 = "sora-2";
11728
- var Sora2Extend = "sora-2-extend";
11729
- var Sora2Pro = "sora-2-pro";
11730
11638
  var TopazUpscaleImage = "topaz-upscale-image";
11731
11639
  var TopazUpscaleVideo = "topaz-upscale-video";
11732
11640
  var VeedFabricV1 = "veed-fabric-v1";
@@ -11952,9 +11860,6 @@ var Models = {
11952
11860
  Seedream47,
11953
11861
  Seedream50Lite,
11954
11862
  Seedream50Pro,
11955
- Sora2,
11956
- Sora2Extend,
11957
- Sora2Pro,
11958
11863
  TopazUpscaleImage,
11959
11864
  TopazUpscaleVideo,
11960
11865
  VeedFabricV1,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@picsart/ai-sdk",
3
- "version": "5.37.0",
3
+ "version": "5.38.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",