@picsart/ai-sdk 6.20.1 → 6.21.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 +9 -9
- package/index.js +36 -21
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -880,7 +880,7 @@ type ModelInputById = {
|
|
|
880
880
|
"kling-v3": {
|
|
881
881
|
prompt: string;
|
|
882
882
|
aspectRatio?: "16:9" | "9:16" | "1:1";
|
|
883
|
-
duration?:
|
|
883
|
+
duration?: number;
|
|
884
884
|
startFrame?: string;
|
|
885
885
|
endFrame?: string;
|
|
886
886
|
negativePrompt?: string;
|
|
@@ -903,7 +903,7 @@ type ModelInputById = {
|
|
|
903
903
|
"kling-v3-omni": {
|
|
904
904
|
prompt: string;
|
|
905
905
|
aspectRatio?: "16:9" | "9:16" | "1:1";
|
|
906
|
-
duration?:
|
|
906
|
+
duration?: number;
|
|
907
907
|
resolution?: "720p" | "1080p" | "4k";
|
|
908
908
|
generateAudio?: boolean;
|
|
909
909
|
startFrame?: string;
|
|
@@ -926,7 +926,7 @@ type ModelInputById = {
|
|
|
926
926
|
"kling-v3-turbo": {
|
|
927
927
|
prompt: string;
|
|
928
928
|
aspectRatio?: "16:9" | "9:16" | "1:1";
|
|
929
|
-
duration?:
|
|
929
|
+
duration?: number;
|
|
930
930
|
negativePrompt?: string;
|
|
931
931
|
resolution?: "720p" | "1080p";
|
|
932
932
|
startFrame?: string;
|
|
@@ -1295,14 +1295,14 @@ type ModelInputById = {
|
|
|
1295
1295
|
"pixverse-c1": {
|
|
1296
1296
|
prompt: string;
|
|
1297
1297
|
quality?: "360p" | "540p" | "720p" | "1080p";
|
|
1298
|
-
duration?:
|
|
1298
|
+
duration?: number;
|
|
1299
1299
|
generateAudio?: boolean;
|
|
1300
1300
|
aspectRatio?: "16:9" | "4:3" | "1:1" | "3:4" | "9:16" | "2:3" | "3:2" | "21:9";
|
|
1301
1301
|
};
|
|
1302
1302
|
"pixverse-c1-fusion": {
|
|
1303
1303
|
prompt: string;
|
|
1304
1304
|
quality?: "360p" | "540p" | "720p" | "1080p";
|
|
1305
|
-
duration?:
|
|
1305
|
+
duration?: number;
|
|
1306
1306
|
generateAudio?: boolean;
|
|
1307
1307
|
aspectRatio?: "16:9" | "4:3" | "1:1" | "3:4" | "9:16" | "2:3" | "3:2" | "21:9";
|
|
1308
1308
|
imageUrls: [string, ...string[]];
|
|
@@ -1310,21 +1310,21 @@ type ModelInputById = {
|
|
|
1310
1310
|
"pixverse-c1-image": {
|
|
1311
1311
|
prompt: string;
|
|
1312
1312
|
quality?: "360p" | "540p" | "720p" | "1080p";
|
|
1313
|
-
duration?:
|
|
1313
|
+
duration?: number;
|
|
1314
1314
|
generateAudio?: boolean;
|
|
1315
1315
|
imageUrls: [string, ...string[]];
|
|
1316
1316
|
};
|
|
1317
1317
|
"pixverse-v6": {
|
|
1318
1318
|
prompt: string;
|
|
1319
1319
|
quality?: "360p" | "540p" | "720p" | "1080p";
|
|
1320
|
-
duration?:
|
|
1320
|
+
duration?: number;
|
|
1321
1321
|
generateAudio?: boolean;
|
|
1322
1322
|
aspectRatio?: "16:9" | "4:3" | "1:1" | "3:4" | "9:16" | "2:3" | "3:2" | "21:9";
|
|
1323
1323
|
};
|
|
1324
1324
|
"pixverse-v6-fusion": {
|
|
1325
1325
|
prompt: string;
|
|
1326
1326
|
quality?: "360p" | "540p" | "720p" | "1080p";
|
|
1327
|
-
duration?:
|
|
1327
|
+
duration?: number;
|
|
1328
1328
|
generateAudio?: boolean;
|
|
1329
1329
|
aspectRatio?: "16:9" | "4:3" | "1:1" | "3:4" | "9:16" | "2:3" | "3:2" | "21:9";
|
|
1330
1330
|
imageUrls: [string, ...string[]];
|
|
@@ -1332,7 +1332,7 @@ type ModelInputById = {
|
|
|
1332
1332
|
"pixverse-v6-image": {
|
|
1333
1333
|
prompt: string;
|
|
1334
1334
|
quality?: "360p" | "540p" | "720p" | "1080p";
|
|
1335
|
-
duration?:
|
|
1335
|
+
duration?: number;
|
|
1336
1336
|
generateAudio?: boolean;
|
|
1337
1337
|
imageUrls: [string, ...string[]];
|
|
1338
1338
|
};
|
package/index.js
CHANGED
|
@@ -1411,7 +1411,7 @@ var klingOmniAdvancedParams = {
|
|
|
1411
1411
|
};
|
|
1412
1412
|
|
|
1413
1413
|
// src/vendors/catalog/kling/index.ts
|
|
1414
|
-
var
|
|
1414
|
+
var V3_DURATION = { min: 3, max: 15 };
|
|
1415
1415
|
var V26_DURATIONS = [5, 10];
|
|
1416
1416
|
var KLING_IMAGE_AR = ["16:9", "9:16", "1:1", "21:9", "4:3", "3:2", "2:3", "3:4"];
|
|
1417
1417
|
var klingV3ProVideoBase = {
|
|
@@ -1428,10 +1428,9 @@ var klingV3ProVideoBase = {
|
|
|
1428
1428
|
],
|
|
1429
1429
|
paramConfig: {
|
|
1430
1430
|
...params.prompt({ maxLength: 2500 }),
|
|
1431
|
-
...paramPresets.videoStartEndWithAudio(
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
}),
|
|
1431
|
+
...paramPresets.videoStartEndWithAudio(),
|
|
1432
|
+
// Overrides the preset's enum duration.
|
|
1433
|
+
...params.durationRange(V3_DURATION.min, V3_DURATION.max, 5),
|
|
1435
1434
|
...klingV3AdvancedParams,
|
|
1436
1435
|
...params.renderingSpeed([{ id: "std", label: "Standard" }, { id: "pro", label: "Pro" }, { id: "4k", label: "4K" }], "4k")
|
|
1437
1436
|
}
|
|
@@ -1449,7 +1448,7 @@ var klingV3TurboVideoBase = {
|
|
|
1449
1448
|
paramConfig: {
|
|
1450
1449
|
...params.prompt({ maxLength: 2500 }),
|
|
1451
1450
|
...params.aspectRatio(["16:9", "9:16", "1:1"]),
|
|
1452
|
-
...params.
|
|
1451
|
+
...params.durationRange(V3_DURATION.min, V3_DURATION.max, 5),
|
|
1453
1452
|
...params.negativePrompt(),
|
|
1454
1453
|
...params.resolution(["720p", "1080p"], "720p"),
|
|
1455
1454
|
...params.startFrame("Start Frame")
|
|
@@ -1538,10 +1537,10 @@ var { MODELS } = defineModels("kling", [
|
|
|
1538
1537
|
paramConfig: {
|
|
1539
1538
|
...params.prompt({ maxLength: 2500 }),
|
|
1540
1539
|
...params.aspectRatio(["16:9", "9:16", "1:1"]),
|
|
1541
|
-
...params.
|
|
1540
|
+
...params.durationRange(V3_DURATION.min, V3_DURATION.max, 5),
|
|
1542
1541
|
// Quality tier maps straight to the wire `mode`: 720p→std, 1080p→pro, 4k→4k.
|
|
1543
1542
|
...params.resolution(["720p", "1080p", "4k"], "720p"),
|
|
1544
|
-
...params.generateAudio(
|
|
1543
|
+
...params.generateAudio(),
|
|
1545
1544
|
...params.startFrame("First Frame"),
|
|
1546
1545
|
...params.endFrame("End Frame"),
|
|
1547
1546
|
// Vendor cap: reference images + frames + multi-image elements ≤ 7
|
|
@@ -1593,7 +1592,7 @@ var { MODELS } = defineModels("kling", [
|
|
|
1593
1592
|
...params.aspectRatio(["16:9", "9:16", "1:1"]),
|
|
1594
1593
|
...params.duration([5, 10], 5),
|
|
1595
1594
|
...params.renderingSpeed([{ id: "std", label: "Standard" }, { id: "pro", label: "Pro" }], "std"),
|
|
1596
|
-
...params.generateAudio(
|
|
1595
|
+
...params.generateAudio()
|
|
1597
1596
|
}
|
|
1598
1597
|
},
|
|
1599
1598
|
// ── Video: Motion Control ─────────────────────────────────────────
|
|
@@ -1937,7 +1936,7 @@ function assertMultiPrompt(multiPrompt, totalDuration, model) {
|
|
|
1937
1936
|
}
|
|
1938
1937
|
var buildKlingV3Payload = (defaultMode = "std") => (input) => {
|
|
1939
1938
|
const hasEndFrame = !!(input.startFrame && input.endFrame);
|
|
1940
|
-
const hasSound =
|
|
1939
|
+
const hasSound = input.generateAudio ?? true;
|
|
1941
1940
|
const mode = input.renderingSpeed ?? defaultMode;
|
|
1942
1941
|
const totalDuration = input.duration ?? 5;
|
|
1943
1942
|
if (input.multiShot && (input.shotType ?? "customize") !== "intelligence") {
|
|
@@ -1977,7 +1976,7 @@ var buildKlingV3TurboPayload = (input) => ({
|
|
|
1977
1976
|
});
|
|
1978
1977
|
var buildKlingV26Payload = (input) => {
|
|
1979
1978
|
const hasEndFrame = !!(input.startFrame && input.endFrame);
|
|
1980
|
-
const hasSound =
|
|
1979
|
+
const hasSound = (input.generateAudio ?? true) && !hasEndFrame;
|
|
1981
1980
|
return {
|
|
1982
1981
|
prompt: input.prompt,
|
|
1983
1982
|
aspect_ratio: input.aspectRatio ?? "16:9",
|
|
@@ -2004,7 +2003,7 @@ var buildOmniV3 = (input) => {
|
|
|
2004
2003
|
}] : [];
|
|
2005
2004
|
const hasBaseEdit = videoList[0]?.refer_type === "base";
|
|
2006
2005
|
const hasReferenceVideo = videoList.length > 0;
|
|
2007
|
-
const hasSound =
|
|
2006
|
+
const hasSound = (input.generateAudio ?? true) && !hasReferenceVideo;
|
|
2008
2007
|
const mode = input.resolution === "4k" ? hasReferenceVideo ? "pro" : "4k" : input.resolution === "1080p" ? "pro" : "std";
|
|
2009
2008
|
const totalDuration = input.duration ?? 5;
|
|
2010
2009
|
if (input.multiShot && !hasBaseEdit) {
|
|
@@ -2027,7 +2026,7 @@ var buildOmniV3 = (input) => {
|
|
|
2027
2026
|
};
|
|
2028
2027
|
};
|
|
2029
2028
|
var buildVideoO1 = (input) => {
|
|
2030
|
-
const hasSound =
|
|
2029
|
+
const hasSound = input.generateAudio ?? true;
|
|
2031
2030
|
return {
|
|
2032
2031
|
prompt: input.prompt,
|
|
2033
2032
|
model_name: "kling-video-o1",
|
|
@@ -4359,7 +4358,7 @@ var buildSeedance15ProPayload = (ctx) => ({
|
|
|
4359
4358
|
ratio: ctx.aspectRatio ?? "16:9",
|
|
4360
4359
|
duration: ctx.duration ?? 5,
|
|
4361
4360
|
resolution: ctx.resolution ?? "720p",
|
|
4362
|
-
generate_audio: ctx.generateAudio ??
|
|
4361
|
+
generate_audio: ctx.generateAudio ?? true,
|
|
4363
4362
|
...ctx.negativePrompt ? { negative_prompt: ctx.negativePrompt } : {}
|
|
4364
4363
|
});
|
|
4365
4364
|
var buildSeedanceI2VPayload = (ctx) => ({
|
|
@@ -5199,7 +5198,7 @@ var { MODELS: MODELS13 } = defineModels("bytedance", [
|
|
|
5199
5198
|
...params.aspectRatio(SEEDANCE_AR),
|
|
5200
5199
|
...params.resolution(["480p", "720p"], "720p"),
|
|
5201
5200
|
...params.duration(SEEDANCE_15_DURATIONS, 5),
|
|
5202
|
-
...params.generateAudio(
|
|
5201
|
+
...params.generateAudio(),
|
|
5203
5202
|
...params.startFrame(),
|
|
5204
5203
|
...params.endFrame()
|
|
5205
5204
|
}
|
|
@@ -9803,13 +9802,13 @@ var { MODELS: MODELS32 } = defineModels("happyhorse", [
|
|
|
9803
9802
|
// src/vendors/catalog/pixverse.ts
|
|
9804
9803
|
var PIXVERSE_QUALITIES = ["360p", "540p", "720p", "1080p"];
|
|
9805
9804
|
var PIXVERSE_ASPECT_RATIOS = ["16:9", "4:3", "1:1", "3:4", "9:16", "2:3", "3:2", "21:9"];
|
|
9806
|
-
var
|
|
9805
|
+
var PIXVERSE_DURATION = { min: 5, max: 15 };
|
|
9807
9806
|
var MAX_REFERENCE_IMAGES = 7;
|
|
9808
9807
|
var baseParams = {
|
|
9809
9808
|
...params.prompt({ maxLength: 5e3 }),
|
|
9810
9809
|
...p.quality(PIXVERSE_QUALITIES, "540p"),
|
|
9811
|
-
...params.
|
|
9812
|
-
...params.generateAudio(
|
|
9810
|
+
...params.durationRange(PIXVERSE_DURATION.min, PIXVERSE_DURATION.max, 5),
|
|
9811
|
+
...params.generateAudio()
|
|
9813
9812
|
};
|
|
9814
9813
|
var baseFeatures = [
|
|
9815
9814
|
feat("Audio", "audio"),
|
|
@@ -9919,7 +9918,7 @@ var commonFields = (input, model) => ({
|
|
|
9919
9918
|
model,
|
|
9920
9919
|
quality: input.quality ?? "540p",
|
|
9921
9920
|
duration: input.duration ?? 5,
|
|
9922
|
-
|
|
9921
|
+
generate_audio_switch: input.generateAudio ?? true
|
|
9923
9922
|
});
|
|
9924
9923
|
var buildTextToVideoPayload = (model) => (input) => ({
|
|
9925
9924
|
...commonFields(input, model),
|
|
@@ -12343,6 +12342,7 @@ function parseTextResult(completed, model) {
|
|
|
12343
12342
|
|
|
12344
12343
|
// src/core/limits.ts
|
|
12345
12344
|
var MAX_DRIVE_PROMPT_LENGTH = 18e3;
|
|
12345
|
+
var MAX_DRIVE_ATTRIBUTE_LENGTH = 2e4;
|
|
12346
12346
|
|
|
12347
12347
|
// src/client/drive.ts
|
|
12348
12348
|
var USER_REACTION_ATTR = "userReaction";
|
|
@@ -12498,7 +12498,7 @@ function parseJsonAttr(raw) {
|
|
|
12498
12498
|
var asString = (v) => typeof v === "string" && v.trim() ? v : void 0;
|
|
12499
12499
|
var asStringArray = (v) => Array.isArray(v) && v.length && v.every((x) => typeof x === "string") ? v : void 0;
|
|
12500
12500
|
function toSdkPayload(params2) {
|
|
12501
|
-
const p2 = { prompt: String(params2.prompt ?? "")
|
|
12501
|
+
const p2 = { prompt: cutPrompt(String(params2.prompt ?? ""), MAX_DRIVE_PROMPT_LENGTH) };
|
|
12502
12502
|
for (const [key, value] of Object.entries(params2)) {
|
|
12503
12503
|
if (key === "prompt") continue;
|
|
12504
12504
|
if (value === void 0 || value === null || value === "") continue;
|
|
@@ -12506,10 +12506,25 @@ function toSdkPayload(params2) {
|
|
|
12506
12506
|
}
|
|
12507
12507
|
return p2;
|
|
12508
12508
|
}
|
|
12509
|
+
function cutPrompt(prompt, max) {
|
|
12510
|
+
if (prompt.length <= max) return prompt;
|
|
12511
|
+
const code = prompt.charCodeAt(max - 1);
|
|
12512
|
+
return prompt.slice(0, code >= 55296 && code <= 56319 ? max - 1 : max);
|
|
12513
|
+
}
|
|
12514
|
+
function serializeSdkPayload(params2) {
|
|
12515
|
+
const payload = toSdkPayload(params2);
|
|
12516
|
+
let prompt = payload.prompt;
|
|
12517
|
+
for (; ; ) {
|
|
12518
|
+
const serialized = JSON.stringify({ ...payload, prompt });
|
|
12519
|
+
const excess = serialized.length - MAX_DRIVE_ATTRIBUTE_LENGTH;
|
|
12520
|
+
if (excess <= 0 || prompt.length === 0) return serialized;
|
|
12521
|
+
prompt = cutPrompt(prompt, Math.max(0, prompt.length - excess));
|
|
12522
|
+
}
|
|
12523
|
+
}
|
|
12509
12524
|
function buildGenerationAttributes(input) {
|
|
12510
12525
|
const attrs = {
|
|
12511
12526
|
model: input.modelId,
|
|
12512
|
-
aiSDKPayload:
|
|
12527
|
+
aiSDKPayload: serializeSdkPayload(input.params)
|
|
12513
12528
|
};
|
|
12514
12529
|
if (input.app) {
|
|
12515
12530
|
attrs.appId = input.app.id;
|