@picsart/ai-sdk 6.49.0 → 6.50.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 +0 -81
- package/index.js +61 -404
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -1086,25 +1086,6 @@ type ModelInputById = {
|
|
|
1086
1086
|
aspectRatio?: "auto" | "16:9" | "9:16";
|
|
1087
1087
|
cfgScale?: number;
|
|
1088
1088
|
};
|
|
1089
|
-
"ltx-pro-t2v": {
|
|
1090
|
-
prompt: string;
|
|
1091
|
-
duration?: 6 | 8 | 10;
|
|
1092
|
-
resolution?: "1080p" | "1440p" | "2160p";
|
|
1093
|
-
generateAudio?: boolean;
|
|
1094
|
-
imageUrls?: string[];
|
|
1095
|
-
};
|
|
1096
|
-
"ltx-v2-fast": {
|
|
1097
|
-
prompt: string;
|
|
1098
|
-
duration?: 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20;
|
|
1099
|
-
resolution?: "1080p" | "1440p" | "2160p";
|
|
1100
|
-
generateAudio?: boolean;
|
|
1101
|
-
imageUrls?: string[];
|
|
1102
|
-
};
|
|
1103
|
-
"ltx-v2-retake": {
|
|
1104
|
-
prompt: string;
|
|
1105
|
-
duration?: 5 | 10 | 15 | 20;
|
|
1106
|
-
videoUrl: string;
|
|
1107
|
-
};
|
|
1108
1089
|
"ltx-v2.3-extend": {
|
|
1109
1090
|
prompt?: string;
|
|
1110
1091
|
duration?: number;
|
|
@@ -1442,26 +1423,6 @@ type ModelInputById = {
|
|
|
1442
1423
|
"picsart-videography": {
|
|
1443
1424
|
imageUrls: [string, ...string[]];
|
|
1444
1425
|
};
|
|
1445
|
-
"pika-2.2": {
|
|
1446
|
-
prompt: string;
|
|
1447
|
-
duration?: 5 | 10;
|
|
1448
|
-
aspectRatio?: "16:9" | "9:16" | "1:1" | "4:5" | "5:4" | "3:2" | "2:3";
|
|
1449
|
-
resolution?: "720p" | "1080p";
|
|
1450
|
-
imageUrls?: string[];
|
|
1451
|
-
};
|
|
1452
|
-
"pika-2.2-frames": {
|
|
1453
|
-
prompt: string;
|
|
1454
|
-
duration?: 5 | 10;
|
|
1455
|
-
resolution?: "720p" | "1080p";
|
|
1456
|
-
imageUrls: [string, ...string[]];
|
|
1457
|
-
};
|
|
1458
|
-
"pika-2.2-scenes": {
|
|
1459
|
-
prompt: string;
|
|
1460
|
-
duration?: 5 | 10;
|
|
1461
|
-
aspectRatio?: "16:9" | "9:16" | "1:1" | "4:5" | "5:4" | "3:2" | "2:3";
|
|
1462
|
-
resolution?: "720p" | "1080p";
|
|
1463
|
-
imageUrls: [string, ...string[]];
|
|
1464
|
-
};
|
|
1465
1426
|
"pixverse-c1": {
|
|
1466
1427
|
prompt: string;
|
|
1467
1428
|
quality?: "360p" | "540p" | "720p" | "1080p";
|
|
@@ -1506,10 +1467,6 @@ type ModelInputById = {
|
|
|
1506
1467
|
generateAudio?: boolean;
|
|
1507
1468
|
imageUrls: [string, ...string[]];
|
|
1508
1469
|
};
|
|
1509
|
-
"qwen": {
|
|
1510
|
-
prompt: string;
|
|
1511
|
-
imageUrls?: string[];
|
|
1512
|
-
};
|
|
1513
1470
|
"qwen-image-2": {
|
|
1514
1471
|
prompt: string;
|
|
1515
1472
|
count?: 1 | 2 | 4 | 6 | 8 | 10;
|
|
@@ -1565,19 +1522,6 @@ type ModelInputById = {
|
|
|
1565
1522
|
prompt?: string;
|
|
1566
1523
|
imageUrls: [string, ...string[]];
|
|
1567
1524
|
};
|
|
1568
|
-
"recraftv2": {
|
|
1569
|
-
prompt: string;
|
|
1570
|
-
style?: "realistic_image" | "digital_illustration" | "vector_illustration" | "icon";
|
|
1571
|
-
aspectRatio?: "1:1" | "4:3" | "3:4" | "3:2" | "2:3" | "16:9" | "9:16" | "2:1" | "1:2";
|
|
1572
|
-
count?: 1 | 2 | 4 | 6;
|
|
1573
|
-
negativePrompt?: string;
|
|
1574
|
-
};
|
|
1575
|
-
"recraftv2_vector": {
|
|
1576
|
-
prompt: string;
|
|
1577
|
-
aspectRatio?: "1:1" | "4:3" | "3:4" | "3:2" | "2:3" | "16:9" | "9:16" | "2:1" | "1:2";
|
|
1578
|
-
count?: 1 | 2 | 4 | 6;
|
|
1579
|
-
negativePrompt?: string;
|
|
1580
|
-
};
|
|
1581
1525
|
"recraftv3": {
|
|
1582
1526
|
prompt: string;
|
|
1583
1527
|
style?: "realistic_image" | "digital_illustration" | "vector_illustration" | "any";
|
|
@@ -2120,20 +2064,6 @@ type ModelInputById = {
|
|
|
2120
2064
|
count?: 1 | 2 | 4 | 6 | 8 | 10;
|
|
2121
2065
|
negativePrompt?: string;
|
|
2122
2066
|
};
|
|
2123
|
-
"wan-2.6-r2v": {
|
|
2124
|
-
prompt: string;
|
|
2125
|
-
duration?: 5 | 10;
|
|
2126
|
-
resolution?: "720p" | "1080p";
|
|
2127
|
-
videoUrl: string;
|
|
2128
|
-
};
|
|
2129
|
-
"wan-2.6-t2v": {
|
|
2130
|
-
prompt: string;
|
|
2131
|
-
duration?: 5 | 10 | 15;
|
|
2132
|
-
resolution?: "480p" | "720p" | "1080p";
|
|
2133
|
-
aspectRatio?: "16:9" | "9:16" | "1:1" | "4:3" | "3:4";
|
|
2134
|
-
negativePrompt?: string;
|
|
2135
|
-
startFrame?: string;
|
|
2136
|
-
};
|
|
2137
2067
|
"wan-2.7-i2v": {
|
|
2138
2068
|
prompt?: string;
|
|
2139
2069
|
duration?: 5 | 10 | 15;
|
|
@@ -3713,9 +3643,6 @@ declare const Models: {
|
|
|
3713
3643
|
readonly KlingVideoEffects: "kling-video-effects";
|
|
3714
3644
|
readonly KlingVideoO1: "kling-video-o1";
|
|
3715
3645
|
readonly Ltx23A2v: "ltx-2.3-a2v";
|
|
3716
|
-
readonly LtxProT2v: "ltx-pro-t2v";
|
|
3717
|
-
readonly LtxV2Fast: "ltx-v2-fast";
|
|
3718
|
-
readonly LtxV2Retake: "ltx-v2-retake";
|
|
3719
3646
|
readonly LtxV23Extend: "ltx-v2.3-extend";
|
|
3720
3647
|
readonly LtxV23Fast: "ltx-v2.3-fast";
|
|
3721
3648
|
readonly LtxV23Outpaint: "ltx-v2.3-outpaint";
|
|
@@ -3759,16 +3686,12 @@ declare const Models: {
|
|
|
3759
3686
|
readonly PicsartSanaSprintV1: "picsart-sana-sprint-v1";
|
|
3760
3687
|
readonly PicsartSodV82: "picsart-sod-v8-2";
|
|
3761
3688
|
readonly PicsartVideography: "picsart-videography";
|
|
3762
|
-
readonly Pika22: "pika-2.2";
|
|
3763
|
-
readonly Pika22Frames: "pika-2.2-frames";
|
|
3764
|
-
readonly Pika22Scenes: "pika-2.2-scenes";
|
|
3765
3689
|
readonly PixverseC1: "pixverse-c1";
|
|
3766
3690
|
readonly PixverseC1Fusion: "pixverse-c1-fusion";
|
|
3767
3691
|
readonly PixverseC1Image: "pixverse-c1-image";
|
|
3768
3692
|
readonly PixverseV6: "pixverse-v6";
|
|
3769
3693
|
readonly PixverseV6Fusion: "pixverse-v6-fusion";
|
|
3770
3694
|
readonly PixverseV6Image: "pixverse-v6-image";
|
|
3771
|
-
readonly Qwen: "qwen";
|
|
3772
3695
|
readonly QwenImage2: "qwen-image-2";
|
|
3773
3696
|
readonly QwenImage2Pro: "qwen-image-2-pro";
|
|
3774
3697
|
readonly QwenImage30: "qwen-image-3.0";
|
|
@@ -3778,8 +3701,6 @@ declare const Models: {
|
|
|
3778
3701
|
readonly RecraftExplore: "recraft-explore";
|
|
3779
3702
|
readonly RecraftExploreSimilar: "recraft-explore-similar";
|
|
3780
3703
|
readonly RecraftVectorize: "recraft-vectorize";
|
|
3781
|
-
readonly Recraftv2: "recraftv2";
|
|
3782
|
-
readonly Recraftv2Vector: "recraftv2_vector";
|
|
3783
3704
|
readonly Recraftv3: "recraftv3";
|
|
3784
3705
|
readonly Recraftv3Vector: "recraftv3_vector";
|
|
3785
3706
|
readonly Recraftv3ReplaceBg: "recraftv3-replace-bg";
|
|
@@ -3845,8 +3766,6 @@ declare const Models: {
|
|
|
3845
3766
|
readonly Veo31Fast: "veo-3.1-fast";
|
|
3846
3767
|
readonly Veo31Lite: "veo-3.1-lite";
|
|
3847
3768
|
readonly Wan26Image: "wan-2.6-image";
|
|
3848
|
-
readonly Wan26R2v: "wan-2.6-r2v";
|
|
3849
|
-
readonly Wan26T2v: "wan-2.6-t2v";
|
|
3850
3769
|
readonly Wan27I2v: "wan-2.7-i2v";
|
|
3851
3770
|
readonly Wan27R2v: "wan-2.7-r2v";
|
|
3852
3771
|
readonly Wan27T2v: "wan-2.7-t2v";
|
package/index.js
CHANGED
|
@@ -1177,7 +1177,7 @@ var passthroughPayload = (paramConfig) => (ctx) => {
|
|
|
1177
1177
|
return payload;
|
|
1178
1178
|
};
|
|
1179
1179
|
function defineModels(provider, configs) {
|
|
1180
|
-
const
|
|
1180
|
+
const MODELS40 = [];
|
|
1181
1181
|
for (const c of configs) {
|
|
1182
1182
|
const prov = c.provider ?? provider;
|
|
1183
1183
|
const resolvedPayload = c.buildPayload ?? passthroughPayload(c.paramConfig);
|
|
@@ -1214,19 +1214,19 @@ function defineModels(provider, configs) {
|
|
|
1214
1214
|
if (c.validateInput !== void 0) model.validateInput = c.validateInput;
|
|
1215
1215
|
const contract = createModelContract(model);
|
|
1216
1216
|
model.outputSchema = c.outputSchema ?? contract.output;
|
|
1217
|
-
|
|
1217
|
+
MODELS40.push(model);
|
|
1218
1218
|
}
|
|
1219
|
-
return { MODELS:
|
|
1219
|
+
return { MODELS: MODELS40 };
|
|
1220
1220
|
}
|
|
1221
|
-
function registerPayloads(
|
|
1221
|
+
function registerPayloads(MODELS40, payloads) {
|
|
1222
1222
|
for (const [id, builder] of Object.entries(payloads)) {
|
|
1223
|
-
const model =
|
|
1223
|
+
const model = MODELS40.find((m) => m.id === id);
|
|
1224
1224
|
if (model) model.buildPayload = builder;
|
|
1225
1225
|
}
|
|
1226
1226
|
}
|
|
1227
|
-
function registerEditPayloads(
|
|
1227
|
+
function registerEditPayloads(MODELS40, payloads) {
|
|
1228
1228
|
for (const [id, builder] of Object.entries(payloads)) {
|
|
1229
|
-
const model =
|
|
1229
|
+
const model = MODELS40.find((m) => m.id === id);
|
|
1230
1230
|
if (model) model.buildEditPayload = builder;
|
|
1231
1231
|
}
|
|
1232
1232
|
}
|
|
@@ -1609,6 +1609,8 @@ var { MODELS } = defineModels("kling", [
|
|
|
1609
1609
|
name: "Kling V2.6",
|
|
1610
1610
|
modelId: "kling-v2-6",
|
|
1611
1611
|
addedAt: "2026-02-11",
|
|
1612
|
+
deprecated: true,
|
|
1613
|
+
// 2 generations behind: superseded by kling-v3 / kling-v4
|
|
1612
1614
|
estimatedTime: 60,
|
|
1613
1615
|
description: "Mature pipeline with audio and pro-tier rendering."
|
|
1614
1616
|
},
|
|
@@ -1700,6 +1702,8 @@ var { MODELS } = defineModels("kling", [
|
|
|
1700
1702
|
name: "Kling Video O1",
|
|
1701
1703
|
modelId: "kling-video-o1",
|
|
1702
1704
|
addedAt: "2026-03-11",
|
|
1705
|
+
deprecated: true,
|
|
1706
|
+
// 2 generations behind: superseded by kling-v3-omni / kling-v4-omni
|
|
1703
1707
|
workflow: "kling-omni-video",
|
|
1704
1708
|
estimatedTime: 55,
|
|
1705
1709
|
mode: "video",
|
|
@@ -2422,26 +2426,6 @@ var ltxFastLongConstraints = [12, 14, 16, 18, 20].map((d) => ({
|
|
|
2422
2426
|
fps: { allowed: [25], reason: FAST_LONG }
|
|
2423
2427
|
}
|
|
2424
2428
|
}));
|
|
2425
|
-
var buildLtxT2VPayload = (ctx) => ({
|
|
2426
|
-
prompt: ctx.prompt,
|
|
2427
|
-
...ctx.imageUrls?.[0] ? { image_url: ctx.imageUrls[0] } : {},
|
|
2428
|
-
...ctx.duration != null ? { duration: ctx.duration } : {},
|
|
2429
|
-
...ctx.resolution ? { resolution: ctx.resolution } : {},
|
|
2430
|
-
generate_audio: ctx.generateAudio ?? true
|
|
2431
|
-
});
|
|
2432
|
-
var buildLtxI2VPayload = (ctx) => ({
|
|
2433
|
-
prompt: ctx.prompt,
|
|
2434
|
-
image_url: ctx.imageUrls?.[0],
|
|
2435
|
-
...ctx.duration != null ? { duration: ctx.duration } : {},
|
|
2436
|
-
...ctx.resolution ? { resolution: ctx.resolution } : {},
|
|
2437
|
-
generate_audio: ctx.generateAudio ?? true
|
|
2438
|
-
});
|
|
2439
|
-
var buildLtxFastPayload = buildLtxT2VPayload;
|
|
2440
|
-
var buildLtxRetakePayload = (ctx) => ({
|
|
2441
|
-
prompt: ctx.prompt,
|
|
2442
|
-
video_url: ctx.videoUrl,
|
|
2443
|
-
...ctx.duration != null ? { duration: ctx.duration } : {}
|
|
2444
|
-
});
|
|
2445
2429
|
var buildLtx23T2VPayload = (ctx) => ({
|
|
2446
2430
|
prompt: ctx.prompt,
|
|
2447
2431
|
...ctx.imageUrls?.[0] ? { image_url: ctx.imageUrls[0] } : {},
|
|
@@ -2492,75 +2476,6 @@ var buildLtx23RetakePayload = (ctx) => ({
|
|
|
2492
2476
|
...ctx.startTime != null ? { start_time: ctx.startTime } : {}
|
|
2493
2477
|
});
|
|
2494
2478
|
var { MODELS: MODELS2 } = defineModels("ltx", [
|
|
2495
|
-
// ── LTX 2.0 ──────────────────────────────────────────────────────
|
|
2496
|
-
{
|
|
2497
|
-
id: "ltx-pro-t2v",
|
|
2498
|
-
name: "LTX Pro",
|
|
2499
|
-
modelId: "ltx-v2-pro",
|
|
2500
|
-
addedAt: "2026-02-06",
|
|
2501
|
-
deprecated: true,
|
|
2502
|
-
// superseded by ltx-2.3-pro-t2v
|
|
2503
|
-
workflow: "ltxv-2/text-to-video",
|
|
2504
|
-
editWorkflow: "ltxv-2/image-to-video",
|
|
2505
|
-
buildPayload: buildLtxT2VPayload,
|
|
2506
|
-
buildEditPayload: buildLtxI2VPayload,
|
|
2507
|
-
estimatedTime: 75,
|
|
2508
|
-
editEstimatedTime: 78,
|
|
2509
|
-
mode: "video",
|
|
2510
|
-
inputType: "t2v",
|
|
2511
|
-
description: "4K output with audio \u2014 streamlined for fast, production-ready results.",
|
|
2512
|
-
features: [feat("Image Input", "input"), feat("Start Frame", "frame"), feat("Audio", "audio"), feat("4K", "resolution"), feat("6/8/10 sec", "duration")],
|
|
2513
|
-
paramConfig: {
|
|
2514
|
-
...params.prompt({ maxLength: LTX_PROMPT_MAX }),
|
|
2515
|
-
...params.duration(PRO_DURATIONS, 6),
|
|
2516
|
-
...params.resolution([...LTX_RESOLUTIONS]),
|
|
2517
|
-
...params.generateAudio(),
|
|
2518
|
-
...params.imageInput()
|
|
2519
|
-
}
|
|
2520
|
-
},
|
|
2521
|
-
{
|
|
2522
|
-
id: "ltx-v2-fast",
|
|
2523
|
-
name: "LTX Fast",
|
|
2524
|
-
addedAt: "2026-02-06",
|
|
2525
|
-
deprecated: true,
|
|
2526
|
-
// superseded by ltx-2.3-fast-t2v
|
|
2527
|
-
workflow: "ltxv-2/text-to-video/fast",
|
|
2528
|
-
editWorkflow: "ltxv-2/image-to-video/fast",
|
|
2529
|
-
buildPayload: buildLtxFastPayload,
|
|
2530
|
-
buildEditPayload: buildLtxI2VPayload,
|
|
2531
|
-
estimatedTime: 38,
|
|
2532
|
-
editEstimatedTime: 40,
|
|
2533
|
-
mode: "video",
|
|
2534
|
-
inputType: "t2v",
|
|
2535
|
-
description: "Fast with long video support \u2014 up to 20s at 1080p, ideal for drafts and extended scenes.",
|
|
2536
|
-
features: [feat("Image Input", "input"), feat("Fast", "duration"), feat("Up to 20s", "duration"), feat("Audio", "audio"), feat("4K", "resolution")],
|
|
2537
|
-
paramConfig: {
|
|
2538
|
-
...params.prompt({ maxLength: LTX_PROMPT_MAX }),
|
|
2539
|
-
...params.duration(FAST_DURATIONS, 6),
|
|
2540
|
-
...params.resolution([...LTX_RESOLUTIONS]),
|
|
2541
|
-
...params.generateAudio(),
|
|
2542
|
-
...params.imageInput()
|
|
2543
|
-
}
|
|
2544
|
-
},
|
|
2545
|
-
{
|
|
2546
|
-
id: "ltx-v2-retake",
|
|
2547
|
-
name: "LTX Retake",
|
|
2548
|
-
addedAt: "2026-02-06",
|
|
2549
|
-
deprecated: true,
|
|
2550
|
-
// superseded by ltx-2.3-retake
|
|
2551
|
-
workflow: "ltx-2/retake-video",
|
|
2552
|
-
buildPayload: buildLtxRetakePayload,
|
|
2553
|
-
estimatedTime: 33,
|
|
2554
|
-
mode: "video",
|
|
2555
|
-
inputType: "v2v",
|
|
2556
|
-
description: "Reinterpret existing footage with a new visual direction \u2014 up to 20s segments.",
|
|
2557
|
-
features: [feat("Video Input", "input"), feat("Up to 20s", "duration")],
|
|
2558
|
-
paramConfig: {
|
|
2559
|
-
...params.prompt({ maxLength: LTX_PROMPT_MAX }),
|
|
2560
|
-
...params.duration([5, 10, 15, 20], 5),
|
|
2561
|
-
...params.videoInput("Source Video")
|
|
2562
|
-
}
|
|
2563
|
-
},
|
|
2564
2479
|
// ── LTX 2.3 ──────────────────────────────────────────────────────
|
|
2565
2480
|
{
|
|
2566
2481
|
id: "ltx-v2.3-pro",
|
|
@@ -3824,27 +3739,6 @@ registerPayloads(MODELS10, {
|
|
|
3824
3739
|
});
|
|
3825
3740
|
|
|
3826
3741
|
// src/vendors/catalog/wan.ts
|
|
3827
|
-
var buildWanT2VPayload = (ctx) => ({
|
|
3828
|
-
prompt: ctx.prompt,
|
|
3829
|
-
resolution: ctx.resolution ?? "720p",
|
|
3830
|
-
duration: ctx.duration ?? 5,
|
|
3831
|
-
...ctx.startFrame ? { image_url: ctx.startFrame } : {},
|
|
3832
|
-
...ctx.negativePrompt ? { negative_prompt: ctx.negativePrompt } : {},
|
|
3833
|
-
...ctx.aspectRatio ? { aspect_ratio: ctx.aspectRatio } : {}
|
|
3834
|
-
});
|
|
3835
|
-
var buildWanI2VPayload = (ctx) => ({
|
|
3836
|
-
prompt: ctx.prompt,
|
|
3837
|
-
image_url: ctx.startFrame,
|
|
3838
|
-
resolution: ctx.resolution === "1080p" ? "1080p" : "720p",
|
|
3839
|
-
duration: String(ctx.duration ?? 5),
|
|
3840
|
-
...ctx.negativePrompt ? { negative_prompt: ctx.negativePrompt } : {}
|
|
3841
|
-
});
|
|
3842
|
-
var buildWanR2VPayload = (ctx) => ({
|
|
3843
|
-
prompt: ctx.prompt,
|
|
3844
|
-
video_urls: [ctx.videoUrl],
|
|
3845
|
-
resolution: ctx.resolution === "1080p" ? "1080p" : "720p",
|
|
3846
|
-
duration: String(ctx.duration ?? 5)
|
|
3847
|
-
});
|
|
3848
3742
|
var buildWanImagePayload = (ctx) => ({
|
|
3849
3743
|
prompt: ctx.prompt,
|
|
3850
3744
|
model: "wan-2.6",
|
|
@@ -3987,54 +3881,6 @@ var wanV3ParamConfig = {
|
|
|
3987
3881
|
...params.seed()
|
|
3988
3882
|
};
|
|
3989
3883
|
var { MODELS: MODELS11 } = defineModels("wan", [
|
|
3990
|
-
// ── Video ─────────────────────────────────────────
|
|
3991
|
-
{
|
|
3992
|
-
id: "wan-2.6-t2v",
|
|
3993
|
-
name: "Wan 2.6",
|
|
3994
|
-
modelId: "wan2.6-t2v",
|
|
3995
|
-
addedAt: "2026-02-06",
|
|
3996
|
-
deprecated: true,
|
|
3997
|
-
// superseded by wan-2.7-t2v
|
|
3998
|
-
workflow: "wan/v2.6/text-to-video",
|
|
3999
|
-
editWorkflow: "wan/v2.6/image-to-video",
|
|
4000
|
-
buildPayload: buildWanT2VPayload,
|
|
4001
|
-
buildEditPayload: buildWanI2VPayload,
|
|
4002
|
-
estimatedTime: { "480p": 40, "720p": 50, "1080p": 50 },
|
|
4003
|
-
editEstimatedTime: 14,
|
|
4004
|
-
mode: "video",
|
|
4005
|
-
inputType: "t2v",
|
|
4006
|
-
description: "Painterly artistic look with audio \u2014 up to 15s at 1080p.",
|
|
4007
|
-
features: [feat("Image Input", "input"), feat("Start Frame", "frame"), feat("Audio", "audio"), feat("1080p", "resolution"), feat("5/10/15 sec", "duration")],
|
|
4008
|
-
paramConfig: {
|
|
4009
|
-
...params.prompt({ maxLength: 5e3 }),
|
|
4010
|
-
...params.duration([5, 10, 15], 5),
|
|
4011
|
-
...params.resolution(["480p", "720p", "1080p"], "720p"),
|
|
4012
|
-
...params.aspectRatio(["16:9", "9:16", "1:1", "4:3", "3:4"]),
|
|
4013
|
-
...params.negativePrompt(),
|
|
4014
|
-
...params.startFrame()
|
|
4015
|
-
}
|
|
4016
|
-
},
|
|
4017
|
-
{
|
|
4018
|
-
id: "wan-2.6-r2v",
|
|
4019
|
-
name: "Wan 2.6 Ref-to-Video",
|
|
4020
|
-
modelId: "wan2.6-r2v",
|
|
4021
|
-
addedAt: "2026-02-06",
|
|
4022
|
-
deprecated: true,
|
|
4023
|
-
// superseded by wan-2.7-r2v
|
|
4024
|
-
workflow: "wan/v2.6/reference-to-video",
|
|
4025
|
-
buildPayload: buildWanR2VPayload,
|
|
4026
|
-
estimatedTime: 26,
|
|
4027
|
-
mode: "video",
|
|
4028
|
-
inputType: "v2v",
|
|
4029
|
-
description: "Regenerate video from a reference clip with new stylistic direction.",
|
|
4030
|
-
features: [feat("Video Input", "input"), feat("1080p", "resolution"), feat("5/10 sec", "duration")],
|
|
4031
|
-
paramConfig: {
|
|
4032
|
-
...params.prompt({ maxLength: 5e3 }),
|
|
4033
|
-
...params.duration([5, 10], 5),
|
|
4034
|
-
...params.resolution(["720p", "1080p"], "720p"),
|
|
4035
|
-
...params.videoInput("Reference Video")
|
|
4036
|
-
}
|
|
4037
|
-
},
|
|
4038
3884
|
// ── Image ─────────────────────────────────────────
|
|
4039
3885
|
{
|
|
4040
3886
|
id: "wan-2.6-image",
|
|
@@ -6085,105 +5931,6 @@ registerEditPayloads(MODELS17, {
|
|
|
6085
5931
|
"grok-imagine-video-1.5-lite": buildGrokVideo15LiteEditPayload
|
|
6086
5932
|
});
|
|
6087
5933
|
|
|
6088
|
-
// src/vendors/catalog/pika.ts
|
|
6089
|
-
var PIKA_RATIO_MAP = {
|
|
6090
|
-
"16:9": 1.77,
|
|
6091
|
-
"9:16": 0.56,
|
|
6092
|
-
"1:1": 1,
|
|
6093
|
-
"4:5": 0.8,
|
|
6094
|
-
"5:4": 1.25,
|
|
6095
|
-
"3:2": 1.5,
|
|
6096
|
-
"2:3": 0.67
|
|
6097
|
-
};
|
|
6098
|
-
var buildPikaPayload = (ctx) => ({
|
|
6099
|
-
prompt: ctx.prompt,
|
|
6100
|
-
...ctx.imageUrls?.[0] ? { image: ctx.imageUrls[0] } : {},
|
|
6101
|
-
resolution: ctx.resolution ?? "720p",
|
|
6102
|
-
duration: String(ctx.duration ?? 5),
|
|
6103
|
-
...!ctx.imageUrls?.[0] ? { aspectRatio: PIKA_RATIO_MAP[ctx.aspectRatio ?? "16:9"] ?? 1.77 } : {}
|
|
6104
|
-
});
|
|
6105
|
-
var buildPikaScenesPayload = (ctx) => ({
|
|
6106
|
-
prompt: ctx.prompt,
|
|
6107
|
-
images: ctx.imageUrls ?? [],
|
|
6108
|
-
resolution: ctx.resolution ?? "720p",
|
|
6109
|
-
duration: String(ctx.duration ?? 5),
|
|
6110
|
-
aspectRatio: PIKA_RATIO_MAP[ctx.aspectRatio ?? "16:9"] ?? 1.77
|
|
6111
|
-
});
|
|
6112
|
-
var buildPikaFramesPayload = (ctx) => ({
|
|
6113
|
-
prompt: ctx.prompt,
|
|
6114
|
-
frames: ctx.imageUrls ?? [],
|
|
6115
|
-
resolution: ctx.resolution ?? "720p",
|
|
6116
|
-
duration: String(ctx.duration ?? 5),
|
|
6117
|
-
aspectRatio: PIKA_RATIO_MAP[ctx.aspectRatio ?? "16:9"] ?? 1.77
|
|
6118
|
-
});
|
|
6119
|
-
var PIKA_DURATIONS = [5, 10];
|
|
6120
|
-
var PIKA_AR = ["16:9", "9:16", "1:1", "4:5", "5:4", "3:2", "2:3"];
|
|
6121
|
-
var PIKA_RESOLUTIONS = ["720p", "1080p"];
|
|
6122
|
-
var { MODELS: MODELS18 } = defineModels("pika", [
|
|
6123
|
-
{
|
|
6124
|
-
id: "pika-2.2",
|
|
6125
|
-
name: "Pika",
|
|
6126
|
-
addedAt: "2026-02-06",
|
|
6127
|
-
deprecated: true,
|
|
6128
|
-
workflow: "pika-text-to-video-v2-2",
|
|
6129
|
-
editWorkflow: "pika-image-to-video-v2-2",
|
|
6130
|
-
buildPayload: buildPikaPayload,
|
|
6131
|
-
estimatedTime: 50,
|
|
6132
|
-
editEstimatedTime: 50,
|
|
6133
|
-
mode: "video",
|
|
6134
|
-
inputType: "t2v",
|
|
6135
|
-
description: "Expressive animation across many visual styles from text or image.",
|
|
6136
|
-
features: [feat("Image Input", "input"), feat("Up to 1080p", "resolution"), feat("5/10 sec", "duration")],
|
|
6137
|
-
paramConfig: {
|
|
6138
|
-
...params.prompt(),
|
|
6139
|
-
...params.duration(PIKA_DURATIONS, 5),
|
|
6140
|
-
...params.aspectRatio(PIKA_AR),
|
|
6141
|
-
...params.resolution(PIKA_RESOLUTIONS),
|
|
6142
|
-
...params.imageInput()
|
|
6143
|
-
}
|
|
6144
|
-
},
|
|
6145
|
-
{
|
|
6146
|
-
id: "pika-2.2-scenes",
|
|
6147
|
-
name: "Pika Scenes",
|
|
6148
|
-
addedAt: "2026-02-06",
|
|
6149
|
-
deprecated: true,
|
|
6150
|
-
workflow: "pika-scenes-v2-2",
|
|
6151
|
-
buildPayload: buildPikaScenesPayload,
|
|
6152
|
-
estimatedTime: 55,
|
|
6153
|
-
mode: "video",
|
|
6154
|
-
inputType: "i2v",
|
|
6155
|
-
description: "Blend up to 4 images into a cohesive video with smooth transitions.",
|
|
6156
|
-
features: [feat("Multi-Image Input", "input"), feat("Up to 1080p", "resolution"), feat("5/10 sec", "duration")],
|
|
6157
|
-
paramConfig: {
|
|
6158
|
-
...params.prompt(),
|
|
6159
|
-
...params.duration(PIKA_DURATIONS, 5),
|
|
6160
|
-
...params.aspectRatio(PIKA_AR),
|
|
6161
|
-
...params.resolution(PIKA_RESOLUTIONS),
|
|
6162
|
-
...params.imageInput(4, "Scene Images", true)
|
|
6163
|
-
}
|
|
6164
|
-
},
|
|
6165
|
-
{
|
|
6166
|
-
id: "pika-2.2-frames",
|
|
6167
|
-
name: "Pika Frames",
|
|
6168
|
-
addedAt: "2026-02-06",
|
|
6169
|
-
deprecated: true,
|
|
6170
|
-
workflow: "pika-frames-v2-2",
|
|
6171
|
-
buildPayload: buildPikaFramesPayload,
|
|
6172
|
-
estimatedTime: 50,
|
|
6173
|
-
mode: "video",
|
|
6174
|
-
inputType: "i2v",
|
|
6175
|
-
description: "Morph between two keyframes with controlled in-between motion.",
|
|
6176
|
-
features: [feat("Multi-Image Input", "input"), feat("Up to 1080p", "resolution"), feat("5/10 sec", "duration")],
|
|
6177
|
-
paramConfig: {
|
|
6178
|
-
...params.prompt(),
|
|
6179
|
-
...params.duration(PIKA_DURATIONS, 5),
|
|
6180
|
-
...params.resolution(PIKA_RESOLUTIONS),
|
|
6181
|
-
// aspectRatio: vendor ignores it for Frames — output aspect depends on input frames
|
|
6182
|
-
...params.imageInput(2, "Start + End Frame", true)
|
|
6183
|
-
}
|
|
6184
|
-
}
|
|
6185
|
-
]);
|
|
6186
|
-
|
|
6187
5934
|
// src/vendors/catalog/veo.ts
|
|
6188
5935
|
function inferMimeType(url) {
|
|
6189
5936
|
return url.match(/\.png(\?|$)/i) ? "image/png" : "image/jpeg";
|
|
@@ -6248,7 +5995,7 @@ var veoLiteParamConfig = {
|
|
|
6248
5995
|
var veoLiteConstraints = [
|
|
6249
5996
|
{ when: { resolution: { is: "1080p" } }, then: { duration: { allowed: [8], reason: "1080p supports 8s only" } } }
|
|
6250
5997
|
];
|
|
6251
|
-
var { MODELS:
|
|
5998
|
+
var { MODELS: MODELS18 } = defineModels("google", [
|
|
6252
5999
|
{
|
|
6253
6000
|
id: "veo-3.1",
|
|
6254
6001
|
name: "Veo 3.1",
|
|
@@ -6384,7 +6131,7 @@ var buildRunwayGen3aTurboPayload = (ctx) => ({
|
|
|
6384
6131
|
ratio: RUNWAY_GEN3A_RATIO_MAP[ctx.aspectRatio ?? "16:9"] ?? "1280:768",
|
|
6385
6132
|
duration: ctx.duration ?? 5
|
|
6386
6133
|
});
|
|
6387
|
-
var { MODELS:
|
|
6134
|
+
var { MODELS: MODELS19 } = defineModels("runway", [
|
|
6388
6135
|
{
|
|
6389
6136
|
id: "runway-avatar-video",
|
|
6390
6137
|
name: "Runway Avatar",
|
|
@@ -6580,7 +6327,7 @@ var flux3VideoConstraints = [
|
|
|
6580
6327
|
resolution: { allowed: ["hd"], reason: "Draft mode only supports HD resolution." }
|
|
6581
6328
|
} }
|
|
6582
6329
|
];
|
|
6583
|
-
var { MODELS:
|
|
6330
|
+
var { MODELS: MODELS20 } = defineModels("flux", [
|
|
6584
6331
|
{
|
|
6585
6332
|
...fluxV2Base,
|
|
6586
6333
|
id: "flux-2-pro",
|
|
@@ -6641,6 +6388,8 @@ var { MODELS: MODELS21 } = defineModels("flux", [
|
|
|
6641
6388
|
name: "Flux Kontext Max",
|
|
6642
6389
|
modelId: "flux-kontext-max",
|
|
6643
6390
|
addedAt: "2026-02-06",
|
|
6391
|
+
deprecated: true,
|
|
6392
|
+
// FLUX.1 Kontext is 2 generations behind: superseded by flux-2-* / flux-3-image
|
|
6644
6393
|
buildPayload: buildFluxKontextPayload("flux-kontext-max"),
|
|
6645
6394
|
estimatedTime: 15,
|
|
6646
6395
|
description: "Edit and compose from up to 4 reference images with context awareness.",
|
|
@@ -6658,6 +6407,8 @@ var { MODELS: MODELS21 } = defineModels("flux", [
|
|
|
6658
6407
|
name: "Flux Kontext Pro",
|
|
6659
6408
|
modelId: "flux-kontext-pro",
|
|
6660
6409
|
addedAt: "2026-02-06",
|
|
6410
|
+
deprecated: true,
|
|
6411
|
+
// FLUX.1 Kontext is 2 generations behind: superseded by flux-2-* / flux-3-image
|
|
6661
6412
|
buildPayload: buildFluxKontextPayload("flux-kontext-pro"),
|
|
6662
6413
|
estimatedTime: 15,
|
|
6663
6414
|
badge: ["fast"],
|
|
@@ -6870,7 +6621,7 @@ var buildFlux3VideoPayload = (input) => {
|
|
|
6870
6621
|
...input.draft ? { draft: input.draft } : {}
|
|
6871
6622
|
};
|
|
6872
6623
|
};
|
|
6873
|
-
registerPayloads(
|
|
6624
|
+
registerPayloads(MODELS20, {
|
|
6874
6625
|
"flux-3-video": buildFlux3VideoPayload
|
|
6875
6626
|
});
|
|
6876
6627
|
|
|
@@ -7022,7 +6773,7 @@ var nanoBanana21ThinkingParam = {
|
|
|
7022
6773
|
}
|
|
7023
6774
|
}
|
|
7024
6775
|
};
|
|
7025
|
-
var { MODELS:
|
|
6776
|
+
var { MODELS: MODELS21 } = defineModels("google", [
|
|
7026
6777
|
// ── Image ─────────────────────────────────────────────────────────
|
|
7027
6778
|
{
|
|
7028
6779
|
id: "gemini-nano-banana-2.1",
|
|
@@ -7407,7 +7158,7 @@ var buildTts38Payload = (model) => (input) => {
|
|
|
7407
7158
|
...voiceFields(input)
|
|
7408
7159
|
};
|
|
7409
7160
|
};
|
|
7410
|
-
registerPayloads(
|
|
7161
|
+
registerPayloads(MODELS21, {
|
|
7411
7162
|
"gemini-omni-1.1-flash-preview": buildOmniFlash11Payload,
|
|
7412
7163
|
"macaron-cookie": buildMacaronCookiePayload,
|
|
7413
7164
|
"gemini-2.5-flash-tts": buildTts25Payload("gemini-2.5-flash-tts"),
|
|
@@ -7586,7 +7337,7 @@ var validateGptImage25Input = (input) => {
|
|
|
7586
7337
|
const violation = gptImageSizeViolation(String(input.size).trim());
|
|
7587
7338
|
if (violation) throw new Error(`"size" ${violation}`);
|
|
7588
7339
|
};
|
|
7589
|
-
var { MODELS:
|
|
7340
|
+
var { MODELS: MODELS22 } = defineModels("openai", [
|
|
7590
7341
|
// ── Image ─────────────────────────────────────────
|
|
7591
7342
|
{
|
|
7592
7343
|
id: "gpt-image-2.5-sunburst",
|
|
@@ -7744,11 +7495,11 @@ var editFor = (model) => (input) => ({
|
|
|
7744
7495
|
...input.background ? { background: input.background } : {},
|
|
7745
7496
|
...input.outputFormat ? { output_format: input.outputFormat } : {}
|
|
7746
7497
|
});
|
|
7747
|
-
registerPayloads(
|
|
7498
|
+
registerPayloads(MODELS22, {
|
|
7748
7499
|
"gpt-image-2.5-flare": generateFor("gpt-image-2.5-flare"),
|
|
7749
7500
|
"gpt-image-2.5-sunburst": generateFor("gpt-image-2.5-sunburst")
|
|
7750
7501
|
});
|
|
7751
|
-
registerEditPayloads(
|
|
7502
|
+
registerEditPayloads(MODELS22, {
|
|
7752
7503
|
"gpt-image-2.5-flare": editFor("gpt-image-2.5-flare"),
|
|
7753
7504
|
"gpt-image-2.5-sunburst": editFor("gpt-image-2.5-sunburst")
|
|
7754
7505
|
});
|
|
@@ -7837,7 +7588,7 @@ var dialogueLinesParam = (maxLength) => ({
|
|
|
7837
7588
|
}
|
|
7838
7589
|
}
|
|
7839
7590
|
});
|
|
7840
|
-
var { MODELS:
|
|
7591
|
+
var { MODELS: MODELS23 } = defineModels("elevenlabs", [
|
|
7841
7592
|
// ── TTS ───────────────────────────────────────────────────────────
|
|
7842
7593
|
{
|
|
7843
7594
|
id: "eleven-v4",
|
|
@@ -7888,6 +7639,8 @@ var { MODELS: MODELS24 } = defineModels("elevenlabs", [
|
|
|
7888
7639
|
name: "Eleven Multilingual v2",
|
|
7889
7640
|
modelId: "eleven_multilingual_v2",
|
|
7890
7641
|
addedAt: "2026-02-06",
|
|
7642
|
+
deprecated: true,
|
|
7643
|
+
// 2 generations behind: superseded by eleven-v3 / eleven-v4
|
|
7891
7644
|
workflow: "elevenlabs/v1/text-to-speech",
|
|
7892
7645
|
estimatedTime: 9,
|
|
7893
7646
|
mode: "audio",
|
|
@@ -8245,7 +7998,7 @@ var buildElevenLabsDialoguePayload = (catalogId, modelId) => (input) => {
|
|
|
8245
7998
|
};
|
|
8246
7999
|
};
|
|
8247
8000
|
function dialogueCharacterCap(catalogId) {
|
|
8248
|
-
const descriptor =
|
|
8001
|
+
const descriptor = MODELS23.find((m) => m.id === catalogId)?.paramConfig.dialogue?.descriptor;
|
|
8249
8002
|
const text = descriptor?.kind === "object" ? descriptor.fields?.text : void 0;
|
|
8250
8003
|
const cap = text && "maxLength" in text ? text.maxLength : void 0;
|
|
8251
8004
|
if (typeof cap !== "number") {
|
|
@@ -8268,7 +8021,7 @@ var buildElevenLabsVideoToMusicPayload = (input) => ({
|
|
|
8268
8021
|
video_urls: input.videoUrls,
|
|
8269
8022
|
...input.prompt ? { description: input.prompt } : {}
|
|
8270
8023
|
});
|
|
8271
|
-
registerPayloads(
|
|
8024
|
+
registerPayloads(MODELS23, {
|
|
8272
8025
|
"elevenlabs-music-v2": buildElevenLabsMusicPayload,
|
|
8273
8026
|
"eleven-v4": buildElevenLabsTTSPayload("eleven_v4"),
|
|
8274
8027
|
"eleven-v4-turbo": buildElevenLabsTTSPayload("eleven_v4_turbo"),
|
|
@@ -8348,7 +8101,7 @@ var heygenVideo1Constraints = [
|
|
|
8348
8101
|
aspectRatio: { allowed: [...VIDEO1_RATIOS], reason: VIDEO1_ADAPTIVE_NEEDS_REFS }
|
|
8349
8102
|
} }
|
|
8350
8103
|
];
|
|
8351
|
-
var { MODELS:
|
|
8104
|
+
var { MODELS: MODELS24 } = defineModels("heygen", [
|
|
8352
8105
|
// ── Photo Avatar (i2v) ────────────────────────────────────────────
|
|
8353
8106
|
{
|
|
8354
8107
|
id: "heygen-talking-photo",
|
|
@@ -8465,7 +8218,7 @@ var buildHeygenVideo1Payload = (input) => {
|
|
|
8465
8218
|
...input.seed != null ? { seed: input.seed } : {}
|
|
8466
8219
|
};
|
|
8467
8220
|
};
|
|
8468
|
-
registerPayloads(
|
|
8221
|
+
registerPayloads(MODELS24, {
|
|
8469
8222
|
"heygen-video-1": buildHeygenVideo1Payload
|
|
8470
8223
|
});
|
|
8471
8224
|
|
|
@@ -8698,7 +8451,7 @@ var ideogram45Constraints = [
|
|
|
8698
8451
|
resolution: { disabled: true, reason: "The output keeps the source image size." }
|
|
8699
8452
|
} }
|
|
8700
8453
|
];
|
|
8701
|
-
var { MODELS:
|
|
8454
|
+
var { MODELS: MODELS25 } = defineModels("ideogram", [
|
|
8702
8455
|
{
|
|
8703
8456
|
id: "ideogram-4-5",
|
|
8704
8457
|
name: "Ideogram 4.5",
|
|
@@ -8997,7 +8750,7 @@ var buildIdeogram45PreciseEditPayload = (input) => {
|
|
|
8997
8750
|
...input.enableCopyrightDetection ? { enable_copyright_detection: true } : {}
|
|
8998
8751
|
};
|
|
8999
8752
|
};
|
|
9000
|
-
registerPayloads(
|
|
8753
|
+
registerPayloads(MODELS25, {
|
|
9001
8754
|
"ideogram-4-5": buildIdeogram45Payload,
|
|
9002
8755
|
"ideogram-4-5-precise-edit": buildIdeogram45PreciseEditPayload
|
|
9003
8756
|
});
|
|
@@ -9010,13 +8763,6 @@ var QWEN_V1_SIZES = [
|
|
|
9010
8763
|
"2368x1728",
|
|
9011
8764
|
"1728x2368"
|
|
9012
8765
|
];
|
|
9013
|
-
var buildQwenPayload = (ctx) => {
|
|
9014
|
-
const hasImages = Array.isArray(ctx.imageUrls) && ctx.imageUrls.length > 0;
|
|
9015
|
-
return {
|
|
9016
|
-
prompt: ctx.prompt,
|
|
9017
|
-
...hasImages ? { image_url: ctx.imageUrls[0] } : {}
|
|
9018
|
-
};
|
|
9019
|
-
};
|
|
9020
8766
|
var buildQwen2Payload = (ctx) => {
|
|
9021
8767
|
const hasImages = Array.isArray(ctx.imageUrls) && ctx.imageUrls.length > 0;
|
|
9022
8768
|
return {
|
|
@@ -9061,26 +8807,7 @@ var qwenV1Params3 = {
|
|
|
9061
8807
|
...p.enum("promptExtendMode", ["direct", "agent"], "direct"),
|
|
9062
8808
|
...p.boolean("enableThinking", true, "Deep Thinking")
|
|
9063
8809
|
};
|
|
9064
|
-
var { MODELS:
|
|
9065
|
-
{
|
|
9066
|
-
id: "qwen",
|
|
9067
|
-
name: "Qwen",
|
|
9068
|
-
addedAt: "2026-02-06",
|
|
9069
|
-
deprecated: true,
|
|
9070
|
-
// superseded by qwen-2 / qwen-2-pro / qwen-edit-plus
|
|
9071
|
-
workflow: "qwen-image",
|
|
9072
|
-
editWorkflow: "qwen-image/image-to-image",
|
|
9073
|
-
buildPayload: buildQwenPayload,
|
|
9074
|
-
estimatedTime: 12,
|
|
9075
|
-
mode: "image",
|
|
9076
|
-
inputType: "t2i",
|
|
9077
|
-
description: "Clean 1K images from text or an image reference.",
|
|
9078
|
-
features: [feat("Image Input", "input"), feat("1K", "resolution")],
|
|
9079
|
-
paramConfig: {
|
|
9080
|
-
...params.prompt(),
|
|
9081
|
-
...params.imageInput(1, "Source Image")
|
|
9082
|
-
}
|
|
9083
|
-
},
|
|
8810
|
+
var { MODELS: MODELS26 } = defineModels("qwen", [
|
|
9084
8811
|
{
|
|
9085
8812
|
id: "qwen-image-2",
|
|
9086
8813
|
name: "Qwen 2",
|
|
@@ -9231,7 +8958,7 @@ var v4StylesParams = p.file("imageUrls", "image", {
|
|
|
9231
8958
|
category: "reference",
|
|
9232
8959
|
maxBytes: 10 * 1024 * 1024
|
|
9233
8960
|
});
|
|
9234
|
-
var { MODELS:
|
|
8961
|
+
var { MODELS: MODELS27 } = defineModels("recraft", [
|
|
9235
8962
|
// ── V4.1 family (raster only — vector variants exist in API but not exposed here) ─
|
|
9236
8963
|
{
|
|
9237
8964
|
id: "recraftv4_1",
|
|
@@ -9455,32 +9182,6 @@ var { MODELS: MODELS28 } = defineModels("recraft", [
|
|
|
9455
9182
|
...params.imageWeight(0, 100, 80, 5)
|
|
9456
9183
|
}
|
|
9457
9184
|
},
|
|
9458
|
-
{
|
|
9459
|
-
id: "recraftv2",
|
|
9460
|
-
name: "Recraft 20B",
|
|
9461
|
-
addedAt: "2026-02-15",
|
|
9462
|
-
deprecated: true,
|
|
9463
|
-
// superseded by recraftv3 / recraftv4 / recraftv4_pro
|
|
9464
|
-
workflow: "recraft/v1/images/generations",
|
|
9465
|
-
buildPayload: buildRecraftLegacyPayload("recraftv2"),
|
|
9466
|
-
estimatedTime: 7,
|
|
9467
|
-
mode: "image",
|
|
9468
|
-
inputType: "t2i",
|
|
9469
|
-
description: "20B parameter model with icon, illustration, and vector modes.",
|
|
9470
|
-
features: [feat("Styles", "style")],
|
|
9471
|
-
paramConfig: {
|
|
9472
|
-
...params.prompt({ maxLength: 1e3 }),
|
|
9473
|
-
...params.style([
|
|
9474
|
-
{ id: "realistic_image", label: "Realistic" },
|
|
9475
|
-
{ id: "digital_illustration", label: "Illustration" },
|
|
9476
|
-
{ id: "vector_illustration", label: "Vector (SVG)" },
|
|
9477
|
-
{ id: "icon", label: "Icon" }
|
|
9478
|
-
], "realistic_image"),
|
|
9479
|
-
...params.aspectRatio(recraftAspectRatios, "1:1"),
|
|
9480
|
-
...params.count([1, 2, 4, 6]),
|
|
9481
|
-
...params.negativePrompt()
|
|
9482
|
-
}
|
|
9483
|
-
},
|
|
9484
9185
|
// ── V4 Pro / Vector / V3 Vector variants ────────────────────────
|
|
9485
9186
|
{
|
|
9486
9187
|
id: "recraftv4_pro",
|
|
@@ -9635,27 +9336,6 @@ var { MODELS: MODELS28 } = defineModels("recraft", [
|
|
|
9635
9336
|
...params.negativePrompt()
|
|
9636
9337
|
}
|
|
9637
9338
|
},
|
|
9638
|
-
// ── V2 Vector variant ──────────────────────────────────────────────
|
|
9639
|
-
{
|
|
9640
|
-
id: "recraftv2_vector",
|
|
9641
|
-
name: "Recraft 20B Vector",
|
|
9642
|
-
addedAt: "2026-03-13",
|
|
9643
|
-
deprecated: true,
|
|
9644
|
-
// superseded by recraftv3_vector / recraftv4_vector
|
|
9645
|
-
workflow: "recraft/v1/images/generations",
|
|
9646
|
-
buildPayload: buildRecraftLegacyPayload("recraftv2_vector"),
|
|
9647
|
-
estimatedTime: 7,
|
|
9648
|
-
mode: "image",
|
|
9649
|
-
inputType: "t2i",
|
|
9650
|
-
description: "Dedicated SVG vector output using the 20B parameter model.",
|
|
9651
|
-
features: [feat("Vector/SVG", "characteristic")],
|
|
9652
|
-
paramConfig: {
|
|
9653
|
-
...params.prompt({ maxLength: 1e3 }),
|
|
9654
|
-
...params.aspectRatio(recraftAspectRatios, "1:1"),
|
|
9655
|
-
...params.count([1, 2, 4, 6]),
|
|
9656
|
-
...params.negativePrompt()
|
|
9657
|
-
}
|
|
9658
|
-
},
|
|
9659
9339
|
// ── Utility models ─────────────────────────────────────────────────
|
|
9660
9340
|
{
|
|
9661
9341
|
id: "recraft-vectorize",
|
|
@@ -9789,7 +9469,7 @@ var TOPAZ_VIDEO_MODEL_OPTIONS = [
|
|
|
9789
9469
|
"Starlight Sharp",
|
|
9790
9470
|
"Starlight Fast 2"
|
|
9791
9471
|
];
|
|
9792
|
-
var { MODELS:
|
|
9472
|
+
var { MODELS: MODELS28 } = defineModels("topaz", [
|
|
9793
9473
|
{
|
|
9794
9474
|
id: "topaz-upscale-image",
|
|
9795
9475
|
name: "Topaz Image Upscale",
|
|
@@ -9840,7 +9520,7 @@ var buildTopazVideoPayload = (input) => ({
|
|
|
9840
9520
|
upscale_factor: 2,
|
|
9841
9521
|
H264_output: false
|
|
9842
9522
|
});
|
|
9843
|
-
registerPayloads(
|
|
9523
|
+
registerPayloads(MODELS28, {
|
|
9844
9524
|
"topaz-upscale-image": buildTopazImagePayload,
|
|
9845
9525
|
"topaz-upscale-video": buildTopazVideoPayload
|
|
9846
9526
|
});
|
|
@@ -9924,7 +9604,7 @@ var buildPcpSanaSprintPayload = (ctx) => {
|
|
|
9924
9604
|
height: h
|
|
9925
9605
|
};
|
|
9926
9606
|
};
|
|
9927
|
-
var { MODELS:
|
|
9607
|
+
var { MODELS: MODELS29 } = defineModels("picsart", [
|
|
9928
9608
|
{
|
|
9929
9609
|
id: "picsart-change-bg",
|
|
9930
9610
|
name: "Picsart Change Background",
|
|
@@ -10117,7 +9797,7 @@ var buildLyria3Payload = (apiModelId) => (ctx) => ({
|
|
|
10117
9797
|
...(ctx.imageUrls?.length ?? 0) > 1 ? { images: ctx.imageUrls.slice(0, 10).map(imagePart) } : {}
|
|
10118
9798
|
});
|
|
10119
9799
|
var LYRIA_PROMPT_MAX = 5e3;
|
|
10120
|
-
var { MODELS:
|
|
9800
|
+
var { MODELS: MODELS30 } = defineModels("google", [
|
|
10121
9801
|
{
|
|
10122
9802
|
id: "lyria-3-clip",
|
|
10123
9803
|
addedAt: "2026-03-26",
|
|
@@ -10255,7 +9935,7 @@ var buildHH11R2VPayload = (ctx) => {
|
|
|
10255
9935
|
};
|
|
10256
9936
|
var HH_AR = ["16:9", "9:16", "1:1", "4:3", "3:4"];
|
|
10257
9937
|
var HH_RES = ["720P", "1080P"];
|
|
10258
|
-
var { MODELS:
|
|
9938
|
+
var { MODELS: MODELS31 } = defineModels("happyhorse", [
|
|
10259
9939
|
{
|
|
10260
9940
|
id: "happyhorse-1.0-t2v",
|
|
10261
9941
|
name: "Happy Horse 1.0",
|
|
@@ -10409,7 +10089,7 @@ var baseFeatures = [
|
|
|
10409
10089
|
feat("Up to 1080p", "resolution"),
|
|
10410
10090
|
feat("5-15 sec", "duration")
|
|
10411
10091
|
];
|
|
10412
|
-
var { MODELS:
|
|
10092
|
+
var { MODELS: MODELS32 } = defineModels("pixverse", [
|
|
10413
10093
|
// ── V6 ─────────────────────────────────────────────────────────────
|
|
10414
10094
|
{
|
|
10415
10095
|
id: "pixverse-v6",
|
|
@@ -10527,7 +10207,7 @@ var buildReferenceToVideoPayload = (model) => (input) => ({
|
|
|
10527
10207
|
aspect_ratio: input.aspectRatio ?? "16:9",
|
|
10528
10208
|
image_references: (input.imageUrls ?? []).map((url) => ({ url }))
|
|
10529
10209
|
});
|
|
10530
|
-
registerPayloads(
|
|
10210
|
+
registerPayloads(MODELS32, {
|
|
10531
10211
|
"pixverse-v6": buildTextToVideoPayload("v6"),
|
|
10532
10212
|
"pixverse-v6-image": buildImageToVideoPayload("v6"),
|
|
10533
10213
|
"pixverse-v6-fusion": buildReferenceToVideoPayload("v6"),
|
|
@@ -10537,7 +10217,7 @@ registerPayloads(MODELS33, {
|
|
|
10537
10217
|
});
|
|
10538
10218
|
|
|
10539
10219
|
// src/vendors/catalog/async-ai.ts
|
|
10540
|
-
var { MODELS:
|
|
10220
|
+
var { MODELS: MODELS33 } = defineModels("async", [
|
|
10541
10221
|
{
|
|
10542
10222
|
id: "async-flash-v1",
|
|
10543
10223
|
name: "Async Flash v1.0",
|
|
@@ -10577,7 +10257,7 @@ var buildAsyncTtsPayload = (input) => {
|
|
|
10577
10257
|
}
|
|
10578
10258
|
};
|
|
10579
10259
|
};
|
|
10580
|
-
registerPayloads(
|
|
10260
|
+
registerPayloads(MODELS33, { "async-flash-v1": buildAsyncTtsPayload });
|
|
10581
10261
|
|
|
10582
10262
|
// src/vendors/catalog/llm.ts
|
|
10583
10263
|
var ADDED = "2026-06-16";
|
|
@@ -11153,7 +10833,7 @@ var { MODELS: MINIMAX_LLM } = defineModels("minimax", [
|
|
|
11153
10833
|
constraints: h3ContextIrConstraints
|
|
11154
10834
|
}
|
|
11155
10835
|
]);
|
|
11156
|
-
var
|
|
10836
|
+
var MODELS34 = [...ANTHROPIC, ...OPENAI_LLM, ...GEMINI_LLM, ...KIMI_LLM, ...GROK_LLM, ...MINIMAX_LLM];
|
|
11157
10837
|
|
|
11158
10838
|
// src/vendors/catalog/llm.payloads.ts
|
|
11159
10839
|
var CLAUDE_MAX_TOKENS = 8192;
|
|
@@ -11218,7 +10898,7 @@ var buildMinimaxH3ContextIrPayload = (input) => {
|
|
|
11218
10898
|
...input.aspectRatio ? { ratio: input.aspectRatio } : {}
|
|
11219
10899
|
};
|
|
11220
10900
|
};
|
|
11221
|
-
registerPayloads(
|
|
10901
|
+
registerPayloads(MODELS34, {
|
|
11222
10902
|
"minimax-h3-context-ir": buildMinimaxH3ContextIrPayload,
|
|
11223
10903
|
"claude-fable-5-1": buildClaudePayload("claude-fable-5-1"),
|
|
11224
10904
|
"claude-fable-5": buildClaudePayload("claude-fable-5"),
|
|
@@ -11261,7 +10941,7 @@ registerPayloads(MODELS35, {
|
|
|
11261
10941
|
var CAPTIONS_MAX_DURATION_SEC = 300;
|
|
11262
10942
|
var CAPTIONS_MAX_BYTES = 50 * 1024 * 1024;
|
|
11263
10943
|
var DEFAULT_CAPTION_TEMPLATE_ID = "ctpl_DxflLOnuKkb198FNdI9E";
|
|
11264
|
-
var { MODELS:
|
|
10944
|
+
var { MODELS: MODELS35 } = defineModels("captionsai", [
|
|
11265
10945
|
{
|
|
11266
10946
|
id: "captionsai-video-captions",
|
|
11267
10947
|
name: "Captions",
|
|
@@ -11301,12 +10981,12 @@ var buildCaptionsPayload = (input) => ({
|
|
|
11301
10981
|
video: { url: input.videoUrl },
|
|
11302
10982
|
caption_template_id: input.templateId ?? DEFAULT_CAPTION_TEMPLATE_ID
|
|
11303
10983
|
});
|
|
11304
|
-
registerPayloads(
|
|
10984
|
+
registerPayloads(MODELS35, {
|
|
11305
10985
|
"captionsai-video-captions": buildCaptionsPayload
|
|
11306
10986
|
});
|
|
11307
10987
|
|
|
11308
10988
|
// src/vendors/catalog/meta.ts
|
|
11309
|
-
var { MODELS:
|
|
10989
|
+
var { MODELS: MODELS36 } = defineModels("meta", [
|
|
11310
10990
|
// ── Image ─────────────────────────────────────────
|
|
11311
10991
|
{
|
|
11312
10992
|
id: "muse-image-1.0",
|
|
@@ -11401,11 +11081,11 @@ var buildSam3VideoPayload = (input) => ({
|
|
|
11401
11081
|
apply_mask: input.applyMask ?? true,
|
|
11402
11082
|
video_output_type: SAM3_OUTPUT_TYPE[input.outputFormat ?? "mp4"]
|
|
11403
11083
|
});
|
|
11404
|
-
registerPayloads(
|
|
11084
|
+
registerPayloads(MODELS36, {
|
|
11405
11085
|
"muse-image-1.0": buildMuseImagePayload,
|
|
11406
11086
|
"sam-3-video": buildSam3VideoPayload
|
|
11407
11087
|
});
|
|
11408
|
-
registerEditPayloads(
|
|
11088
|
+
registerEditPayloads(MODELS36, {
|
|
11409
11089
|
"muse-image-1.0": buildMuseImageEditPayload
|
|
11410
11090
|
});
|
|
11411
11091
|
|
|
@@ -11419,7 +11099,7 @@ var evaluateOutputSchema = {
|
|
|
11419
11099
|
return output;
|
|
11420
11100
|
}
|
|
11421
11101
|
};
|
|
11422
|
-
var { MODELS:
|
|
11102
|
+
var { MODELS: MODELS37 } = defineModels("typesafe", [
|
|
11423
11103
|
{
|
|
11424
11104
|
id: "typesafe-evaluate",
|
|
11425
11105
|
name: "Jev",
|
|
@@ -11476,12 +11156,12 @@ var buildEvaluatePayload = (input) => ({
|
|
|
11476
11156
|
model: "jev-latest",
|
|
11477
11157
|
questions: input.questions
|
|
11478
11158
|
});
|
|
11479
|
-
registerPayloads(
|
|
11159
|
+
registerPayloads(MODELS37, {
|
|
11480
11160
|
"typesafe-evaluate": buildEvaluatePayload
|
|
11481
11161
|
});
|
|
11482
11162
|
|
|
11483
11163
|
// src/vendors/catalog/depth-anything.ts
|
|
11484
|
-
var { MODELS:
|
|
11164
|
+
var { MODELS: MODELS38 } = defineModels("depth-anything", [
|
|
11485
11165
|
{
|
|
11486
11166
|
// Billed per second of the source clip at one flat rate, so none of the
|
|
11487
11167
|
// knobs below changes the price. `max_frames` / `output_fps` are left to
|
|
@@ -11523,7 +11203,7 @@ var buildDepthAnythingVideoPayload = (input) => ({
|
|
|
11523
11203
|
// The .npz export is a second, non-media output the SDK has no slot for.
|
|
11524
11204
|
include_raw_depths: false
|
|
11525
11205
|
});
|
|
11526
|
-
registerPayloads(
|
|
11206
|
+
registerPayloads(MODELS38, {
|
|
11527
11207
|
"depth-anything-video": buildDepthAnythingVideoPayload
|
|
11528
11208
|
});
|
|
11529
11209
|
|
|
@@ -11536,7 +11216,7 @@ var bitrateKbps = {
|
|
|
11536
11216
|
descriptor: { kind: "range", min: 32, max: 320, step: 1 }
|
|
11537
11217
|
}
|
|
11538
11218
|
};
|
|
11539
|
-
var { MODELS:
|
|
11219
|
+
var { MODELS: MODELS39 } = defineModels("mirelo", [
|
|
11540
11220
|
{
|
|
11541
11221
|
id: "mirelo-sfx-2.0-text-to-audio",
|
|
11542
11222
|
name: "Mirelo SFX 2.0 (Text to Audio)",
|
|
@@ -11631,7 +11311,7 @@ var buildVideoToVideoPayload = (input) => ({
|
|
|
11631
11311
|
...input.negativePrompt != null ? { negative_prompt: input.negativePrompt } : {},
|
|
11632
11312
|
...input.seed != null ? { seed: input.seed } : {}
|
|
11633
11313
|
});
|
|
11634
|
-
registerPayloads(
|
|
11314
|
+
registerPayloads(MODELS39, {
|
|
11635
11315
|
"mirelo-sfx-2.0-text-to-audio": buildTextToAudioPayload,
|
|
11636
11316
|
"mirelo-sfx-2.0-video-to-audio": buildVideoToAudioPayload,
|
|
11637
11317
|
"mirelo-sfx-2.0-video-to-video": buildVideoToVideoPayload
|
|
@@ -11787,14 +11467,14 @@ var ALL_MODELS = [
|
|
|
11787
11467
|
...MODELS22,
|
|
11788
11468
|
...MODELS23,
|
|
11789
11469
|
...MODELS24,
|
|
11790
|
-
...MODELS25,
|
|
11791
11470
|
...MODELS9,
|
|
11471
|
+
...MODELS25,
|
|
11472
|
+
...MODELS30,
|
|
11792
11473
|
...MODELS26,
|
|
11793
|
-
...MODELS31,
|
|
11794
11474
|
...MODELS27,
|
|
11795
11475
|
...MODELS28,
|
|
11796
11476
|
...MODELS29,
|
|
11797
|
-
...
|
|
11477
|
+
...MODELS31,
|
|
11798
11478
|
...MODELS32,
|
|
11799
11479
|
...MODELS33,
|
|
11800
11480
|
...MODELS34,
|
|
@@ -11802,8 +11482,7 @@ var ALL_MODELS = [
|
|
|
11802
11482
|
...MODELS36,
|
|
11803
11483
|
...MODELS37,
|
|
11804
11484
|
...MODELS38,
|
|
11805
|
-
...MODELS39
|
|
11806
|
-
...MODELS40
|
|
11485
|
+
...MODELS39
|
|
11807
11486
|
];
|
|
11808
11487
|
var getModelsByMode = (mode, includeHidden = false) => ALL_MODELS.filter((m) => m.mode === mode && (includeHidden || isVisibleForReleases(m)));
|
|
11809
11488
|
|
|
@@ -15463,9 +15142,6 @@ var KlingV4Omni = "kling-v4-omni";
|
|
|
15463
15142
|
var KlingVideoEffects = "kling-video-effects";
|
|
15464
15143
|
var KlingVideoO1 = "kling-video-o1";
|
|
15465
15144
|
var Ltx23A2v = "ltx-2.3-a2v";
|
|
15466
|
-
var LtxProT2v = "ltx-pro-t2v";
|
|
15467
|
-
var LtxV2Fast = "ltx-v2-fast";
|
|
15468
|
-
var LtxV2Retake = "ltx-v2-retake";
|
|
15469
15145
|
var LtxV23Extend = "ltx-v2.3-extend";
|
|
15470
15146
|
var LtxV23Fast = "ltx-v2.3-fast";
|
|
15471
15147
|
var LtxV23Outpaint = "ltx-v2.3-outpaint";
|
|
@@ -15509,16 +15185,12 @@ var PicsartQwenMakeup = "picsart-qwen-makeup";
|
|
|
15509
15185
|
var PicsartSanaSprintV1 = "picsart-sana-sprint-v1";
|
|
15510
15186
|
var PicsartSodV82 = "picsart-sod-v8-2";
|
|
15511
15187
|
var PicsartVideography = "picsart-videography";
|
|
15512
|
-
var Pika22 = "pika-2.2";
|
|
15513
|
-
var Pika22Frames = "pika-2.2-frames";
|
|
15514
|
-
var Pika22Scenes = "pika-2.2-scenes";
|
|
15515
15188
|
var PixverseC1 = "pixverse-c1";
|
|
15516
15189
|
var PixverseC1Fusion = "pixverse-c1-fusion";
|
|
15517
15190
|
var PixverseC1Image = "pixverse-c1-image";
|
|
15518
15191
|
var PixverseV6 = "pixverse-v6";
|
|
15519
15192
|
var PixverseV6Fusion = "pixverse-v6-fusion";
|
|
15520
15193
|
var PixverseV6Image = "pixverse-v6-image";
|
|
15521
|
-
var Qwen = "qwen";
|
|
15522
15194
|
var QwenImage2 = "qwen-image-2";
|
|
15523
15195
|
var QwenImage2Pro = "qwen-image-2-pro";
|
|
15524
15196
|
var QwenImage30 = "qwen-image-3.0";
|
|
@@ -15528,8 +15200,6 @@ var RecraftCrispUpscale = "recraft-crisp-upscale";
|
|
|
15528
15200
|
var RecraftExplore = "recraft-explore";
|
|
15529
15201
|
var RecraftExploreSimilar = "recraft-explore-similar";
|
|
15530
15202
|
var RecraftVectorize = "recraft-vectorize";
|
|
15531
|
-
var Recraftv2 = "recraftv2";
|
|
15532
|
-
var Recraftv2Vector = "recraftv2_vector";
|
|
15533
15203
|
var Recraftv3 = "recraftv3";
|
|
15534
15204
|
var Recraftv3Vector = "recraftv3_vector";
|
|
15535
15205
|
var Recraftv3ReplaceBg = "recraftv3-replace-bg";
|
|
@@ -15595,8 +15265,6 @@ var Veo31 = "veo-3.1";
|
|
|
15595
15265
|
var Veo31Fast = "veo-3.1-fast";
|
|
15596
15266
|
var Veo31Lite = "veo-3.1-lite";
|
|
15597
15267
|
var Wan26Image = "wan-2.6-image";
|
|
15598
|
-
var Wan26R2v = "wan-2.6-r2v";
|
|
15599
|
-
var Wan26T2v = "wan-2.6-t2v";
|
|
15600
15268
|
var Wan27I2v = "wan-2.7-i2v";
|
|
15601
15269
|
var Wan27R2v = "wan-2.7-r2v";
|
|
15602
15270
|
var Wan27T2v = "wan-2.7-t2v";
|
|
@@ -15738,9 +15406,6 @@ var Models = {
|
|
|
15738
15406
|
KlingVideoEffects,
|
|
15739
15407
|
KlingVideoO1,
|
|
15740
15408
|
Ltx23A2v,
|
|
15741
|
-
LtxProT2v,
|
|
15742
|
-
LtxV2Fast,
|
|
15743
|
-
LtxV2Retake,
|
|
15744
15409
|
LtxV23Extend,
|
|
15745
15410
|
LtxV23Fast,
|
|
15746
15411
|
LtxV23Outpaint,
|
|
@@ -15784,16 +15449,12 @@ var Models = {
|
|
|
15784
15449
|
PicsartSanaSprintV1,
|
|
15785
15450
|
PicsartSodV82,
|
|
15786
15451
|
PicsartVideography,
|
|
15787
|
-
Pika22,
|
|
15788
|
-
Pika22Frames,
|
|
15789
|
-
Pika22Scenes,
|
|
15790
15452
|
PixverseC1,
|
|
15791
15453
|
PixverseC1Fusion,
|
|
15792
15454
|
PixverseC1Image,
|
|
15793
15455
|
PixverseV6,
|
|
15794
15456
|
PixverseV6Fusion,
|
|
15795
15457
|
PixverseV6Image,
|
|
15796
|
-
Qwen,
|
|
15797
15458
|
QwenImage2,
|
|
15798
15459
|
QwenImage2Pro,
|
|
15799
15460
|
QwenImage30,
|
|
@@ -15803,8 +15464,6 @@ var Models = {
|
|
|
15803
15464
|
RecraftExplore,
|
|
15804
15465
|
RecraftExploreSimilar,
|
|
15805
15466
|
RecraftVectorize,
|
|
15806
|
-
Recraftv2,
|
|
15807
|
-
Recraftv2Vector,
|
|
15808
15467
|
Recraftv3,
|
|
15809
15468
|
Recraftv3Vector,
|
|
15810
15469
|
Recraftv3ReplaceBg,
|
|
@@ -15870,8 +15529,6 @@ var Models = {
|
|
|
15870
15529
|
Veo31Fast,
|
|
15871
15530
|
Veo31Lite,
|
|
15872
15531
|
Wan26Image,
|
|
15873
|
-
Wan26R2v,
|
|
15874
|
-
Wan26T2v,
|
|
15875
15532
|
Wan27I2v,
|
|
15876
15533
|
Wan27R2v,
|
|
15877
15534
|
Wan27T2v,
|