@picsart/ai-sdk 4.1.1 → 5.0.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 (4) hide show
  1. package/README.md +1 -1
  2. package/index.d.ts +0 -24
  3. package/index.js +23 -102
  4. package/package.json +1 -1
package/README.md CHANGED
@@ -277,4 +277,4 @@ When the vendor API uses different field names or value formats:
277
277
  ```
278
278
  4. Import the `.payloads.ts` file in `src/vendors/catalog/index.ts` (after the vendor import)
279
279
 
280
- See `src/vendors/catalog/imagen.ts` + `src/vendors/catalog/imagen.payloads.ts` for a working example.
280
+ See `src/vendors/catalog/luma.ts` + `src/vendors/catalog/luma.payloads.ts` for a working example.
package/index.d.ts CHANGED
@@ -446,27 +446,6 @@ type ModelInputById = {
446
446
  renderingSpeed?: "TURBO" | "DEFAULT" | "QUALITY";
447
447
  enableCopyrightDetection?: boolean;
448
448
  };
449
- "imagen-4.0": {
450
- prompt: string;
451
- aspectRatio?: "1:1" | "16:9" | "9:16" | "3:4" | "4:3";
452
- count?: 1 | 2 | 4;
453
- enhancePrompt?: boolean;
454
- negativePrompt?: string;
455
- };
456
- "imagen-4.0-fast": {
457
- prompt: string;
458
- aspectRatio?: "1:1" | "16:9" | "9:16" | "3:4" | "4:3";
459
- count?: 1 | 2 | 4;
460
- enhancePrompt?: boolean;
461
- negativePrompt?: string;
462
- };
463
- "imagen-4.0-ultra": {
464
- prompt: string;
465
- aspectRatio?: "1:1" | "16:9" | "9:16" | "3:4" | "4:3";
466
- count?: 1 | 2 | 4;
467
- enhancePrompt?: boolean;
468
- negativePrompt?: string;
469
- };
470
449
  "kling-3.0-image": {
471
450
  prompt: string;
472
451
  aspectRatio?: "16:9" | "9:16" | "1:1" | "21:9" | "4:3" | "3:2" | "2:3" | "3:4";
@@ -2415,9 +2394,6 @@ declare const Models: {
2415
2394
  readonly IdeogramPImage: "ideogram-p-image";
2416
2395
  readonly IdeogramV3: "ideogram-v3";
2417
2396
  readonly IdeogramV4: "ideogram-v4";
2418
- readonly Imagen40: "imagen-4.0";
2419
- readonly Imagen40Fast: "imagen-4.0-fast";
2420
- readonly Imagen40Ultra: "imagen-4.0-ultra";
2421
2397
  readonly Kling30Image: "kling-3.0-image";
2422
2398
  readonly KlingAvatar: "kling-avatar";
2423
2399
  readonly KlingElements: "kling-elements";
package/index.js CHANGED
@@ -1146,7 +1146,7 @@ var passthroughPayload = (paramConfig) => (ctx) => {
1146
1146
  return payload;
1147
1147
  };
1148
1148
  function defineModels(provider, configs) {
1149
- const MODELS38 = [];
1149
+ const MODELS37 = [];
1150
1150
  for (const c of configs) {
1151
1151
  const prov = c.provider ?? provider;
1152
1152
  const resolvedPayload = c.buildPayload ?? passthroughPayload(c.paramConfig);
@@ -1181,19 +1181,19 @@ function defineModels(provider, configs) {
1181
1181
  if (c.constraints !== void 0) model.constraints = c.constraints;
1182
1182
  const contract = createModelContract(model);
1183
1183
  model.outputSchema = c.outputSchema ?? contract.output;
1184
- MODELS38.push(model);
1184
+ MODELS37.push(model);
1185
1185
  }
1186
- return { MODELS: MODELS38 };
1186
+ return { MODELS: MODELS37 };
1187
1187
  }
1188
- function registerPayloads(MODELS38, payloads) {
1188
+ function registerPayloads(MODELS37, payloads) {
1189
1189
  for (const [id, builder] of Object.entries(payloads)) {
1190
- const model = MODELS38.find((m) => m.id === id);
1190
+ const model = MODELS37.find((m) => m.id === id);
1191
1191
  if (model) model.buildPayload = builder;
1192
1192
  }
1193
1193
  }
1194
- function registerEditPayloads(MODELS38, payloads) {
1194
+ function registerEditPayloads(MODELS37, payloads) {
1195
1195
  for (const [id, builder] of Object.entries(payloads)) {
1196
- const model = MODELS38.find((m) => m.id === id);
1196
+ const model = MODELS37.find((m) => m.id === id);
1197
1197
  if (model) model.buildEditPayload = builder;
1198
1198
  }
1199
1199
  }
@@ -6696,78 +6696,6 @@ var { MODELS: MODELS27 } = defineModels("ideogram", [
6696
6696
  }
6697
6697
  ]);
6698
6698
 
6699
- // src/vendors/catalog/imagen.ts
6700
- var imagenParams = {
6701
- ...params.prompt(),
6702
- ...params.aspectRatio(["1:1", "16:9", "9:16", "3:4", "4:3"], "1:1"),
6703
- // Vertex Imagen sampleCount is capped at 4 — don't offer 6/8/10.
6704
- ...params.count([1, 2, 4]),
6705
- ...params.enhancePrompt(),
6706
- ...params.negativePrompt()
6707
- };
6708
- var { MODELS: MODELS28 } = defineModels("google", [
6709
- {
6710
- id: "imagen-4.0",
6711
- name: "Imagen 4.0",
6712
- modelId: "imagen-4.0-generate-001",
6713
- addedAt: "2026-02-06",
6714
- workflow: "imagen",
6715
- estimatedTime: 12,
6716
- mode: "image",
6717
- inputType: "t2i",
6718
- badge: ["fast"],
6719
- description: "Quick 1K images with sharp text overlay and prompt enhancement.",
6720
- features: [feat("1K", "resolution")],
6721
- paramConfig: imagenParams
6722
- },
6723
- {
6724
- id: "imagen-4.0-ultra",
6725
- name: "Imagen 4.0 Ultra",
6726
- modelId: "imagen-4.0-ultra-generate-001",
6727
- addedAt: "2026-02-06",
6728
- workflow: "imagen",
6729
- estimatedTime: 15,
6730
- mode: "image",
6731
- inputType: "t2i",
6732
- badge: ["premium"],
6733
- description: "Print-ready 2K output optimized for photorealistic detail.",
6734
- features: [feat("2K", "resolution")],
6735
- paramConfig: imagenParams
6736
- },
6737
- {
6738
- id: "imagen-4.0-fast",
6739
- name: "Imagen 4.0 Fast",
6740
- modelId: "imagen-4.0-fast-generate-001",
6741
- addedAt: "2026-02-06",
6742
- workflow: "imagen",
6743
- estimatedTime: 6,
6744
- mode: "image",
6745
- inputType: "t2i",
6746
- description: "Fastest Imagen tier for quick drafts and rapid prompt iteration.",
6747
- features: [feat("1K", "resolution"), feat("Fast", "duration")],
6748
- paramConfig: imagenParams
6749
- }
6750
- ]);
6751
-
6752
- // src/vendors/catalog/imagen.payloads.ts
6753
- var buildImagenPayload = (modelId) => (
6754
- // Partial: WorkflowTypes incorrectly marks some params as required (e.g. maskDilation, editingSteps)
6755
- (input) => ({
6756
- model: modelId,
6757
- mode: "imagen_generate",
6758
- prompt: input.prompt,
6759
- sampleCount: input.count ?? 1,
6760
- aspectRatio: input.aspectRatio ?? "1:1",
6761
- enhancePrompt: input.enhancePrompt !== false,
6762
- ...input.negativePrompt ? { negativePrompt: input.negativePrompt } : {}
6763
- })
6764
- );
6765
- registerPayloads(MODELS28, {
6766
- "imagen-4.0": buildImagenPayload("imagen-4.0-generate-001"),
6767
- "imagen-4.0-ultra": buildImagenPayload("imagen-4.0-ultra-generate-001"),
6768
- "imagen-4.0-fast": buildImagenPayload("imagen-4.0-fast-generate-001")
6769
- });
6770
-
6771
6699
  // src/vendors/catalog/qwen.ts
6772
6700
  var QWEN_SIZE_MAP = {
6773
6701
  "1024x1024": "1024x1024",
@@ -6831,7 +6759,7 @@ var qwenV1Params3 = {
6831
6759
  ...qwenV1Params,
6832
6760
  ...p.enum("promptExtendMode", ["direct", "agent"], "direct")
6833
6761
  };
6834
- var { MODELS: MODELS29 } = defineModels("qwen", [
6762
+ var { MODELS: MODELS28 } = defineModels("qwen", [
6835
6763
  {
6836
6764
  id: "qwen",
6837
6765
  name: "Qwen",
@@ -6979,7 +6907,7 @@ var buildRecraftExploreSimilarPayload = (ctx) => ({
6979
6907
  similarity: ctx.similarity ?? 3,
6980
6908
  ...ctx.aspectRatio ? { size: ctx.aspectRatio } : {}
6981
6909
  });
6982
- var { MODELS: MODELS30 } = defineModels("recraft", [
6910
+ var { MODELS: MODELS29 } = defineModels("recraft", [
6983
6911
  // ── V4.1 family (raster only — vector variants exist in API but not exposed here) ─
6984
6912
  {
6985
6913
  id: "recraftv4_1",
@@ -7445,7 +7373,7 @@ var TOPAZ_VIDEO_MODEL_OPTIONS = [
7445
7373
  "Starlight Fast 1",
7446
7374
  "Starlight Fast 2"
7447
7375
  ];
7448
- var { MODELS: MODELS31 } = defineModels("topaz", [
7376
+ var { MODELS: MODELS30 } = defineModels("topaz", [
7449
7377
  {
7450
7378
  id: "topaz-upscale-image",
7451
7379
  name: "Topaz Image Upscale",
@@ -7496,7 +7424,7 @@ var buildTopazVideoPayload = (input) => ({
7496
7424
  upscale_factor: 2,
7497
7425
  H264_output: false
7498
7426
  });
7499
- registerPayloads(MODELS31, {
7427
+ registerPayloads(MODELS30, {
7500
7428
  "topaz-upscale-image": buildTopazImagePayload,
7501
7429
  "topaz-upscale-video": buildTopazVideoPayload
7502
7430
  });
@@ -7582,7 +7510,7 @@ var buildPcpSanaSprintPayload = (ctx) => {
7582
7510
  height: h
7583
7511
  };
7584
7512
  };
7585
- var { MODELS: MODELS32 } = defineModels("picsart", [
7513
+ var { MODELS: MODELS31 } = defineModels("picsart", [
7586
7514
  {
7587
7515
  id: "picsart-change-bg",
7588
7516
  name: "Picsart Change Background",
@@ -7759,7 +7687,7 @@ var buildLyria3Payload = (apiModelId) => (ctx) => ({
7759
7687
  ...ctx.imageUrls?.length === 1 ? { image: imagePart(ctx.imageUrls[0]) } : {},
7760
7688
  ...(ctx.imageUrls?.length ?? 0) > 1 ? { images: ctx.imageUrls.slice(0, 10).map(imagePart) } : {}
7761
7689
  });
7762
- var { MODELS: MODELS33 } = defineModels("google", [
7690
+ var { MODELS: MODELS32 } = defineModels("google", [
7763
7691
  {
7764
7692
  id: "lyria-3-clip",
7765
7693
  addedAt: "2026-03-26",
@@ -7882,7 +7810,7 @@ var buildHH11R2VPayload = (ctx) => {
7882
7810
  var HH_AR = ["16:9", "9:16", "1:1", "4:3", "3:4"];
7883
7811
  var HH_RES = ["720P", "1080P"];
7884
7812
  var HH_DURATIONS = [5, 10, 15];
7885
- var { MODELS: MODELS34 } = defineModels("happyhorse", [
7813
+ var { MODELS: MODELS33 } = defineModels("happyhorse", [
7886
7814
  {
7887
7815
  id: "happyhorse-1.0-t2v",
7888
7816
  name: "Happy Horse 1.0",
@@ -8027,7 +7955,7 @@ var baseFeatures = [
8027
7955
  feat("Up to 1080p", "resolution"),
8028
7956
  feat("5-15 sec", "duration")
8029
7957
  ];
8030
- var { MODELS: MODELS35 } = defineModels("pixverse", [
7958
+ var { MODELS: MODELS34 } = defineModels("pixverse", [
8031
7959
  // ── V6 ─────────────────────────────────────────────────────────────
8032
7960
  {
8033
7961
  id: "pixverse-v6",
@@ -8145,7 +8073,7 @@ var buildReferenceToVideoPayload = (model) => (input) => ({
8145
8073
  aspect_ratio: input.aspectRatio ?? "16:9",
8146
8074
  image_references: (input.imageUrls ?? []).map((url) => ({ url }))
8147
8075
  });
8148
- registerPayloads(MODELS35, {
8076
+ registerPayloads(MODELS34, {
8149
8077
  "pixverse-v6": buildTextToVideoPayload("v6"),
8150
8078
  "pixverse-v6-image": buildImageToVideoPayload("v6"),
8151
8079
  "pixverse-v6-fusion": buildReferenceToVideoPayload("v6"),
@@ -8155,7 +8083,7 @@ registerPayloads(MODELS35, {
8155
8083
  });
8156
8084
 
8157
8085
  // src/vendors/catalog/async-ai.ts
8158
- var { MODELS: MODELS36 } = defineModels("async", [
8086
+ var { MODELS: MODELS35 } = defineModels("async", [
8159
8087
  {
8160
8088
  id: "async-flash-v1",
8161
8089
  name: "Async Flash v1.0",
@@ -8195,7 +8123,7 @@ var buildAsyncTtsPayload = (input) => {
8195
8123
  }
8196
8124
  };
8197
8125
  };
8198
- registerPayloads(MODELS36, { "async-flash-v1": buildAsyncTtsPayload });
8126
+ registerPayloads(MODELS35, { "async-flash-v1": buildAsyncTtsPayload });
8199
8127
 
8200
8128
  // src/vendors/catalog/llm.ts
8201
8129
  var ADDED = "2026-06-16";
@@ -8317,7 +8245,7 @@ var { MODELS: GEMINI_LLM } = defineModels("google", [
8317
8245
  }
8318
8246
  }
8319
8247
  ]);
8320
- var MODELS37 = [...ANTHROPIC, ...OPENAI_LLM, ...GEMINI_LLM];
8248
+ var MODELS36 = [...ANTHROPIC, ...OPENAI_LLM, ...GEMINI_LLM];
8321
8249
 
8322
8250
  // src/vendors/catalog/llm.payloads.ts
8323
8251
  var CLAUDE_MAX_TOKENS = 8192;
@@ -8368,7 +8296,7 @@ var buildGeminiPayload = (modelId) => (input) => {
8368
8296
  ...level ? { generationConfig: { thinkingConfig: { thinkingLevel: level } } } : {}
8369
8297
  };
8370
8298
  };
8371
- registerPayloads(MODELS37, {
8299
+ registerPayloads(MODELS36, {
8372
8300
  "claude-opus-4-8": buildClaudePayload("claude-opus-4-8"),
8373
8301
  "claude-sonnet-4-6": buildClaudePayload("claude-sonnet-4-6"),
8374
8302
  "claude-haiku-4-5": buildClaudePayload("claude-haiku-4-5"),
@@ -8409,16 +8337,15 @@ var ALL_MODELS = [
8409
8337
  ...MODELS25,
8410
8338
  ...MODELS26,
8411
8339
  ...MODELS27,
8340
+ ...MODELS32,
8412
8341
  ...MODELS28,
8413
- ...MODELS33,
8414
8342
  ...MODELS29,
8415
8343
  ...MODELS30,
8416
8344
  ...MODELS31,
8417
- ...MODELS32,
8345
+ ...MODELS33,
8418
8346
  ...MODELS34,
8419
8347
  ...MODELS35,
8420
- ...MODELS36,
8421
- ...MODELS37
8348
+ ...MODELS36
8422
8349
  ];
8423
8350
  var getModelsByMode = (mode, includeDisabled = false) => ALL_MODELS.filter((m) => m.mode === mode && (includeDisabled || isVisibleForReleases(m)));
8424
8351
 
@@ -10547,9 +10474,6 @@ var IdeogramCharacter = "ideogram-character";
10547
10474
  var IdeogramPImage = "ideogram-p-image";
10548
10475
  var IdeogramV3 = "ideogram-v3";
10549
10476
  var IdeogramV4 = "ideogram-v4";
10550
- var Imagen40 = "imagen-4.0";
10551
- var Imagen40Fast = "imagen-4.0-fast";
10552
- var Imagen40Ultra = "imagen-4.0-ultra";
10553
10477
  var Kling30Image = "kling-3.0-image";
10554
10478
  var KlingAvatar = "kling-avatar";
10555
10479
  var KlingElements = "kling-elements";
@@ -10749,9 +10673,6 @@ var Models = {
10749
10673
  IdeogramPImage,
10750
10674
  IdeogramV3,
10751
10675
  IdeogramV4,
10752
- Imagen40,
10753
- Imagen40Fast,
10754
- Imagen40Ultra,
10755
10676
  Kling30Image,
10756
10677
  KlingAvatar,
10757
10678
  KlingElements,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@picsart/ai-sdk",
3
- "version": "4.1.1",
3
+ "version": "5.0.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",