@picsart/ai-sdk 5.4.1 → 5.6.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 +47 -3
- package/index.js +132 -33
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -153,19 +153,22 @@ type ModelInputById = {
|
|
|
153
153
|
};
|
|
154
154
|
"flux-2-flex": {
|
|
155
155
|
prompt: string;
|
|
156
|
-
aspectRatio?: "1:1" | "
|
|
156
|
+
aspectRatio?: "1:1" | "16:9" | "9:16" | "4:3" | "3:4" | "21:9" | "9:21";
|
|
157
|
+
resolution?: "1K" | "2K" | "4K";
|
|
157
158
|
count?: 1 | 2 | 4 | 6 | 8 | 10;
|
|
158
159
|
imageUrls?: string[];
|
|
159
160
|
};
|
|
160
161
|
"flux-2-max": {
|
|
161
162
|
prompt: string;
|
|
162
|
-
aspectRatio?: "1:1" | "
|
|
163
|
+
aspectRatio?: "1:1" | "16:9" | "9:16" | "4:3" | "3:4" | "21:9" | "9:21";
|
|
164
|
+
resolution?: "1K" | "2K" | "4K";
|
|
163
165
|
count?: 1 | 2 | 4 | 6 | 8 | 10;
|
|
164
166
|
imageUrls?: string[];
|
|
165
167
|
};
|
|
166
168
|
"flux-2-pro": {
|
|
167
169
|
prompt: string;
|
|
168
|
-
aspectRatio?: "1:1" | "
|
|
170
|
+
aspectRatio?: "1:1" | "16:9" | "9:16" | "4:3" | "3:4" | "21:9" | "9:21";
|
|
171
|
+
resolution?: "1K" | "2K" | "4K";
|
|
169
172
|
count?: 1 | 2 | 4 | 6 | 8 | 10;
|
|
170
173
|
imageUrls?: string[];
|
|
171
174
|
};
|
|
@@ -1255,6 +1258,37 @@ type ModelInputById = {
|
|
|
1255
1258
|
generateAudio?: boolean;
|
|
1256
1259
|
videoUrls: [string, ...string[]];
|
|
1257
1260
|
};
|
|
1261
|
+
"seedance-2.0-without-moderation": {
|
|
1262
|
+
prompt: string;
|
|
1263
|
+
aspectRatio?: "16:9" | "9:16" | "1:1" | "4:3" | "3:4" | "21:9" | "adaptive";
|
|
1264
|
+
resolution?: "480p" | "720p" | "1080p" | "4k";
|
|
1265
|
+
duration?: 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15;
|
|
1266
|
+
generateAudio?: boolean;
|
|
1267
|
+
returnLastFrame?: boolean;
|
|
1268
|
+
imageUrls?: string[];
|
|
1269
|
+
videoUrls?: string[];
|
|
1270
|
+
audioUrls?: string[];
|
|
1271
|
+
startFrame?: string;
|
|
1272
|
+
endFrame?: string;
|
|
1273
|
+
};
|
|
1274
|
+
"seedance-2.0-without-moderation-video-edit": {
|
|
1275
|
+
prompt: string;
|
|
1276
|
+
aspectRatio?: "16:9" | "9:16" | "1:1" | "4:3" | "3:4" | "21:9" | "adaptive";
|
|
1277
|
+
resolution?: "480p" | "720p" | "1080p" | "4k";
|
|
1278
|
+
duration?: 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15;
|
|
1279
|
+
generateAudio?: boolean;
|
|
1280
|
+
returnLastFrame?: boolean;
|
|
1281
|
+
videoUrl: string;
|
|
1282
|
+
imageUrls?: string[];
|
|
1283
|
+
};
|
|
1284
|
+
"seedance-2.0-without-moderation-video-extend": {
|
|
1285
|
+
prompt: string;
|
|
1286
|
+
aspectRatio?: "16:9" | "9:16" | "1:1" | "4:3" | "3:4" | "21:9" | "adaptive";
|
|
1287
|
+
resolution?: "480p" | "720p" | "1080p" | "4k";
|
|
1288
|
+
duration?: 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15;
|
|
1289
|
+
generateAudio?: boolean;
|
|
1290
|
+
videoUrls: [string, ...string[]];
|
|
1291
|
+
};
|
|
1258
1292
|
"seedance-2.5": {
|
|
1259
1293
|
prompt: string;
|
|
1260
1294
|
aspectRatio?: "16:9" | "9:16" | "1:1" | "4:3" | "3:4" | "21:9" | "adaptive";
|
|
@@ -1734,6 +1768,13 @@ interface FileDescriptor {
|
|
|
1734
1768
|
* authoritative gate. Omit for no client-side ceiling.
|
|
1735
1769
|
*/
|
|
1736
1770
|
maxShortSidePixels?: number;
|
|
1771
|
+
/**
|
|
1772
|
+
* Max file size in bytes accepted for this slot (e.g. Seedance 2.5 reference
|
|
1773
|
+
* videos are capped at 200 MiB by the vendor). Enforced client-side at upload
|
|
1774
|
+
* by measuring the file (or its `Content-Length`) before it is sent; the
|
|
1775
|
+
* backend worker stays the authoritative gate. Omit for no client-side cap.
|
|
1776
|
+
*/
|
|
1777
|
+
maxBytes?: number;
|
|
1737
1778
|
}
|
|
1738
1779
|
interface ObjectDescriptor {
|
|
1739
1780
|
kind: 'object';
|
|
@@ -2538,6 +2579,9 @@ declare const Models: {
|
|
|
2538
2579
|
readonly Seedance20MiniVideoExtend: "seedance-2.0-mini-video-extend";
|
|
2539
2580
|
readonly Seedance20VideoEdit: "seedance-2.0-video-edit";
|
|
2540
2581
|
readonly Seedance20VideoExtend: "seedance-2.0-video-extend";
|
|
2582
|
+
readonly Seedance20WithoutModeration: "seedance-2.0-without-moderation";
|
|
2583
|
+
readonly Seedance20WithoutModerationVideoEdit: "seedance-2.0-without-moderation-video-edit";
|
|
2584
|
+
readonly Seedance20WithoutModerationVideoExtend: "seedance-2.0-without-moderation-video-extend";
|
|
2541
2585
|
readonly Seedance25: "seedance-2.5";
|
|
2542
2586
|
readonly Seedance25VideoEdit: "seedance-2.5-video-edit";
|
|
2543
2587
|
readonly Seedance25VideoExtend: "seedance-2.5-video-extend";
|
package/index.js
CHANGED
|
@@ -1004,7 +1004,8 @@ var p = {
|
|
|
1004
1004
|
...opts?.array ? { array: opts.array } : {},
|
|
1005
1005
|
...opts?.maxDurationSec != null ? { maxDurationSec: opts.maxDurationSec } : {},
|
|
1006
1006
|
...opts?.minPixels != null ? { minPixels: opts.minPixels } : {},
|
|
1007
|
-
...opts?.maxShortSidePixels != null ? { maxShortSidePixels: opts.maxShortSidePixels } : {}
|
|
1007
|
+
...opts?.maxShortSidePixels != null ? { maxShortSidePixels: opts.maxShortSidePixels } : {},
|
|
1008
|
+
...opts?.maxBytes != null ? { maxBytes: opts.maxBytes } : {}
|
|
1008
1009
|
}
|
|
1009
1010
|
}
|
|
1010
1011
|
};
|
|
@@ -1221,20 +1222,30 @@ var params = {
|
|
|
1221
1222
|
// reference → ref images/videos/audios (guidance signals)
|
|
1222
1223
|
imageInput: (max = 1, label = "Start Image", required = false, category = "reference", minPixels) => p.file("imageUrls", "image", { array: { max }, label, required, category, ...minPixels != null ? { minPixels } : {} }),
|
|
1223
1224
|
/** Single source-video slot (v2v / video edit). Writes to `videoUrl`.
|
|
1224
|
-
* `maxDurationSec` caps the source clip length
|
|
1225
|
-
* the shorter side (upscaler sources)
|
|
1226
|
-
|
|
1225
|
+
* `maxDurationSec` caps the source clip length, `maxShortSidePixels` caps
|
|
1226
|
+
* the shorter side (upscaler sources) and `maxBytes` caps the file size,
|
|
1227
|
+
* all enforced client-side at upload. */
|
|
1228
|
+
videoInput: (label = "Source Video", category = "reference", required = true, maxDurationSec, maxShortSidePixels, maxBytes) => p.file("videoUrl", "video", {
|
|
1227
1229
|
label,
|
|
1228
1230
|
required,
|
|
1229
1231
|
category,
|
|
1230
1232
|
...maxDurationSec != null ? { maxDurationSec } : {},
|
|
1231
|
-
...maxShortSidePixels != null ? { maxShortSidePixels } : {}
|
|
1233
|
+
...maxShortSidePixels != null ? { maxShortSidePixels } : {},
|
|
1234
|
+
...maxBytes != null ? { maxBytes } : {}
|
|
1232
1235
|
}),
|
|
1233
1236
|
/** Single driving / sync-audio slot. Writes to `audioUrl`. */
|
|
1234
1237
|
audioInput: (label = "Audio Track", required = false, category = "asset") => p.file("audioUrl", "audio", { label, required, category }),
|
|
1235
1238
|
/** Array of reference videos (writes to `videoUrls`). Backend enforces
|
|
1236
|
-
* per-model total-duration caps (e.g. ≤ 15s for seedance).
|
|
1237
|
-
|
|
1239
|
+
* per-model total-duration caps (e.g. ≤ 15s for seedance). `maxBytes` caps
|
|
1240
|
+
* each individual clip's file size, enforced client-side at upload. */
|
|
1241
|
+
videoInputs: (max = 3, label = "Reference Videos", required = false, minPixels, maxBytes) => p.file("videoUrls", "video", {
|
|
1242
|
+
array: { max },
|
|
1243
|
+
label,
|
|
1244
|
+
required,
|
|
1245
|
+
category: "reference",
|
|
1246
|
+
...minPixels != null ? { minPixels } : {},
|
|
1247
|
+
...maxBytes != null ? { maxBytes } : {}
|
|
1248
|
+
}),
|
|
1238
1249
|
/** Array of reference audios (writes to `audioUrls`). Backend enforces
|
|
1239
1250
|
* per-model total-duration caps. */
|
|
1240
1251
|
audioInputs: (max = 3, label = "Reference Audios", required = false) => p.file("audioUrls", "audio", { array: { max }, label, required, category: "reference" }),
|
|
@@ -3852,6 +3863,7 @@ registerPayloads(MODELS11, {
|
|
|
3852
3863
|
// src/vendors/catalog/seedance.ts
|
|
3853
3864
|
var SEEDANCE_FRAME_REF_REASON = "Start/End frames cannot be combined with reference images, videos, or audios";
|
|
3854
3865
|
var SEEDANCE_MIN_PIXELS = 409600;
|
|
3866
|
+
var SEEDANCE_25_MAX_VIDEO_BYTES = 209715200;
|
|
3855
3867
|
var seedance20Constraints = [
|
|
3856
3868
|
{
|
|
3857
3869
|
when: {
|
|
@@ -4102,7 +4114,7 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
|
|
|
4102
4114
|
...p.enum("outputFormat", ["mp4", "mov"], "mp4", { label: "Format" }),
|
|
4103
4115
|
// 2.5 lifts the reference caps to 30 images / 10 videos / 10 audios.
|
|
4104
4116
|
...params.imageInput(30, "Reference Images", false, "reference", SEEDANCE_MIN_PIXELS),
|
|
4105
|
-
...params.videoInputs(10, "Reference Videos", false, SEEDANCE_MIN_PIXELS),
|
|
4117
|
+
...params.videoInputs(10, "Reference Videos", false, SEEDANCE_MIN_PIXELS, SEEDANCE_25_MAX_VIDEO_BYTES),
|
|
4106
4118
|
...params.audioInputs(10, "Reference Audios"),
|
|
4107
4119
|
...params.startFrame(),
|
|
4108
4120
|
...params.endFrame()
|
|
@@ -4130,7 +4142,7 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
|
|
|
4130
4142
|
...params.generateAudio(),
|
|
4131
4143
|
...params.returnLastFrame(),
|
|
4132
4144
|
...p.enum("outputFormat", ["mp4", "mov"], "mp4", { label: "Format" }),
|
|
4133
|
-
...params.videoInput("Source Video"),
|
|
4145
|
+
...params.videoInput("Source Video", "reference", true, void 0, void 0, SEEDANCE_25_MAX_VIDEO_BYTES),
|
|
4134
4146
|
...params.imageInput(30, "Reference Images")
|
|
4135
4147
|
}
|
|
4136
4148
|
},
|
|
@@ -4156,7 +4168,7 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
|
|
|
4156
4168
|
...params.duration(SEEDANCE_25_DURATIONS, 15),
|
|
4157
4169
|
...params.generateAudio(),
|
|
4158
4170
|
...p.enum("outputFormat", ["mp4", "mov"], "mp4", { label: "Format" }),
|
|
4159
|
-
...params.videoInputs(10, "Source Videos", true)
|
|
4171
|
+
...params.videoInputs(10, "Source Videos", true, void 0, SEEDANCE_25_MAX_VIDEO_BYTES)
|
|
4160
4172
|
}
|
|
4161
4173
|
},
|
|
4162
4174
|
{
|
|
@@ -4189,6 +4201,40 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
|
|
|
4189
4201
|
...params.endFrame()
|
|
4190
4202
|
}
|
|
4191
4203
|
},
|
|
4204
|
+
{
|
|
4205
|
+
// Same model as seedance-2.0 on a vendor endpoint with moderation
|
|
4206
|
+
// disabled — full capability parity, bills under the seedance-2.0
|
|
4207
|
+
// pricing key (hence the shared modelId).
|
|
4208
|
+
id: "seedance-2.0-without-moderation",
|
|
4209
|
+
name: "Seedance 2.0 Without Moderation",
|
|
4210
|
+
modelId: "seedance-2.0",
|
|
4211
|
+
addedAt: "2026-08-17",
|
|
4212
|
+
release: "preview",
|
|
4213
|
+
workflow: "seedance",
|
|
4214
|
+
buildPayload: buildSeedance20PayloadFor("seedance_2_0_without_moderation"),
|
|
4215
|
+
constraints: seedance20Constraints,
|
|
4216
|
+
estimatedTime: 15,
|
|
4217
|
+
mode: "video",
|
|
4218
|
+
inputType: "t2v",
|
|
4219
|
+
badge: ["new", "premium", "hot"],
|
|
4220
|
+
description: "Seedance 2.0 with vendor moderation disabled \u2014 cinematic video with optional audio and reference image. Up to 4K.",
|
|
4221
|
+
features: [feat("Reference Image", "frame"), feat("Start/End Frame", "frame"), feat("Audio", "audio"), feat("4K", "resolution"), feat("4-15 sec", "duration")],
|
|
4222
|
+
paramConfig: {
|
|
4223
|
+
...params.prompt(),
|
|
4224
|
+
...params.aspectRatio(SEEDANCE_AR),
|
|
4225
|
+
...params.resolution(["480p", "720p", "1080p", "4k"], "720p"),
|
|
4226
|
+
...params.duration(SEEDANCE_V2_DURATIONS, 10),
|
|
4227
|
+
...params.generateAudio(),
|
|
4228
|
+
...params.returnLastFrame(),
|
|
4229
|
+
// Reference roles map directly to backend `reference_*` content entries.
|
|
4230
|
+
// start/end frame stay on their own named slots.
|
|
4231
|
+
...params.imageInput(9, "Reference Images", false, "reference", SEEDANCE_MIN_PIXELS),
|
|
4232
|
+
...params.videoInputs(3, "Reference Videos", false, SEEDANCE_MIN_PIXELS),
|
|
4233
|
+
...params.audioInputs(3, "Reference Audios"),
|
|
4234
|
+
...params.startFrame(),
|
|
4235
|
+
...params.endFrame()
|
|
4236
|
+
}
|
|
4237
|
+
},
|
|
4192
4238
|
{
|
|
4193
4239
|
id: "seedance-2.0-fast",
|
|
4194
4240
|
name: "Seedance 2.0 Fast",
|
|
@@ -4273,6 +4319,31 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
|
|
|
4273
4319
|
...params.imageInput(9, "Reference Images")
|
|
4274
4320
|
}
|
|
4275
4321
|
},
|
|
4322
|
+
{
|
|
4323
|
+
id: "seedance-2.0-without-moderation-video-edit",
|
|
4324
|
+
name: "Seedance 2.0 Without Moderation Video Edit",
|
|
4325
|
+
modelId: "seedance-2.0",
|
|
4326
|
+
addedAt: "2026-08-17",
|
|
4327
|
+
release: "preview",
|
|
4328
|
+
workflow: "seedance",
|
|
4329
|
+
buildPayload: buildSeedance20VideoEditPayloadFor("seedance_2_0_without_moderation"),
|
|
4330
|
+
estimatedTime: 77,
|
|
4331
|
+
mode: "video",
|
|
4332
|
+
inputType: "v2v",
|
|
4333
|
+
badge: ["new", "premium", "hot"],
|
|
4334
|
+
description: "Moderation-free video edit \u2014 replace subjects, add or remove objects, restyle scenes with reference images.",
|
|
4335
|
+
features: [feat("Video Input", "input"), feat("Multi-Image Input", "input"), feat("Audio", "audio"), feat("4K", "resolution"), feat("4-15 sec", "duration")],
|
|
4336
|
+
paramConfig: {
|
|
4337
|
+
...params.prompt(),
|
|
4338
|
+
...params.aspectRatio(SEEDANCE_AR),
|
|
4339
|
+
...params.resolution(["480p", "720p", "1080p", "4k"], "720p"),
|
|
4340
|
+
...params.duration(SEEDANCE_V2_DURATIONS, 5),
|
|
4341
|
+
...params.generateAudio(),
|
|
4342
|
+
...params.returnLastFrame(),
|
|
4343
|
+
...params.videoInput("Source Video"),
|
|
4344
|
+
...params.imageInput(9, "Reference Images")
|
|
4345
|
+
}
|
|
4346
|
+
},
|
|
4276
4347
|
{
|
|
4277
4348
|
id: "seedance-2.0-fast-video-edit",
|
|
4278
4349
|
name: "Seedance 2.0 Fast Video Edit",
|
|
@@ -4343,6 +4414,29 @@ var { MODELS: MODELS12 } = defineModels("seedance", [
|
|
|
4343
4414
|
...params.videoInputs(3, "Source Videos", true)
|
|
4344
4415
|
}
|
|
4345
4416
|
},
|
|
4417
|
+
{
|
|
4418
|
+
id: "seedance-2.0-without-moderation-video-extend",
|
|
4419
|
+
name: "Seedance 2.0 Without Moderation Video Extend",
|
|
4420
|
+
modelId: "seedance-2.0",
|
|
4421
|
+
addedAt: "2026-08-17",
|
|
4422
|
+
release: "preview",
|
|
4423
|
+
workflow: "seedance",
|
|
4424
|
+
buildPayload: buildSeedance20VideoExtendPayloadFor("seedance_2_0_without_moderation"),
|
|
4425
|
+
estimatedTime: 400,
|
|
4426
|
+
mode: "video",
|
|
4427
|
+
inputType: "v2v",
|
|
4428
|
+
badge: ["new", "premium", "hot"],
|
|
4429
|
+
description: "Moderation-free: stitch up to 3 clips into one continuous, extended video.",
|
|
4430
|
+
features: [feat("Multi-Video Input", "input"), feat("Audio", "audio"), feat("4K", "resolution"), feat("4-15 sec", "duration")],
|
|
4431
|
+
paramConfig: {
|
|
4432
|
+
...params.prompt(),
|
|
4433
|
+
...params.aspectRatio(SEEDANCE_AR),
|
|
4434
|
+
...params.resolution(["480p", "720p", "1080p", "4k"], "720p"),
|
|
4435
|
+
...params.duration(SEEDANCE_V2_DURATIONS, 15),
|
|
4436
|
+
...params.generateAudio(),
|
|
4437
|
+
...params.videoInputs(3, "Source Videos", true)
|
|
4438
|
+
}
|
|
4439
|
+
},
|
|
4346
4440
|
{
|
|
4347
4441
|
id: "seedance-2.0-fast-video-extend",
|
|
4348
4442
|
name: "Seedance 2.0 Fast Video Extend",
|
|
@@ -5477,9 +5571,6 @@ var { MODELS: MODELS20 } = defineModels("runway", [
|
|
|
5477
5571
|
}
|
|
5478
5572
|
]);
|
|
5479
5573
|
|
|
5480
|
-
// src/core/helpers.ts
|
|
5481
|
-
var resolveImageSize = (ctx, arMap) => ctx.aspectRatio && arMap[ctx.aspectRatio] || ctx.size;
|
|
5482
|
-
|
|
5483
5574
|
// src/vendors/catalog/flux.ts
|
|
5484
5575
|
var FLUX_AR_TO_SIZE = {
|
|
5485
5576
|
"1:1": "1024x1024",
|
|
@@ -5488,21 +5579,17 @@ var FLUX_AR_TO_SIZE = {
|
|
|
5488
5579
|
"4:3": "1024x768",
|
|
5489
5580
|
"3:4": "768x1024"
|
|
5490
5581
|
};
|
|
5491
|
-
var fluxAspectRatios =
|
|
5492
|
-
var
|
|
5493
|
-
|
|
5494
|
-
|
|
5495
|
-
|
|
5496
|
-
|
|
5497
|
-
|
|
5498
|
-
|
|
5499
|
-
|
|
5500
|
-
|
|
5501
|
-
|
|
5502
|
-
...ctx.guidance != null ? { guidance: ctx.guidance } : {},
|
|
5503
|
-
...ctx.seed != null ? { seed: ctx.seed } : {}
|
|
5504
|
-
};
|
|
5505
|
-
};
|
|
5582
|
+
var fluxAspectRatios = ["1:1", "16:9", "9:16", "4:3", "3:4", "21:9", "9:21"];
|
|
5583
|
+
var fluxResolutions = ["1K", "2K", "4K"];
|
|
5584
|
+
var buildFluxV2Payload = (modelId) => (ctx) => ({
|
|
5585
|
+
prompt: ctx.prompt,
|
|
5586
|
+
model: modelId,
|
|
5587
|
+
imageUrls: ctx.imageUrls ?? [],
|
|
5588
|
+
resolution: ctx.resolution ?? "1K",
|
|
5589
|
+
aspectRatio: ctx.aspectRatio ?? "1:1",
|
|
5590
|
+
...ctx.guidance != null ? { guidance: ctx.guidance } : {},
|
|
5591
|
+
...ctx.seed != null ? { seed: ctx.seed } : {}
|
|
5592
|
+
});
|
|
5506
5593
|
function normalizeAspectRatio(aspect) {
|
|
5507
5594
|
if (!aspect) return null;
|
|
5508
5595
|
const raw = String(aspect).trim();
|
|
@@ -5554,11 +5641,12 @@ var { MODELS: MODELS21 } = defineModels("flux", [
|
|
|
5554
5641
|
addedAt: "2026-02-06",
|
|
5555
5642
|
buildPayload: buildFluxV2Payload("flux-2-pro"),
|
|
5556
5643
|
estimatedTime: 19,
|
|
5557
|
-
description: "Sharp
|
|
5558
|
-
features: [feat("Multi-Image Input", "input"), feat("
|
|
5644
|
+
description: "Sharp images up to 4K with fine-tuned color accuracy and detail.",
|
|
5645
|
+
features: [feat("Multi-Image Input", "input"), feat("4K", "resolution")],
|
|
5559
5646
|
paramConfig: {
|
|
5560
5647
|
...params.prompt(),
|
|
5561
5648
|
...params.aspectRatio(fluxAspectRatios, "4:3"),
|
|
5649
|
+
...params.resolution(fluxResolutions, "1K"),
|
|
5562
5650
|
...params.count(),
|
|
5563
5651
|
...params.imageInput(4, "Source Images")
|
|
5564
5652
|
}
|
|
@@ -5572,10 +5660,11 @@ var { MODELS: MODELS21 } = defineModels("flux", [
|
|
|
5572
5660
|
buildPayload: buildFluxV2Payload("flux-2-max"),
|
|
5573
5661
|
estimatedTime: 27,
|
|
5574
5662
|
description: "Maximum detail for intricate compositions and demanding scenes.",
|
|
5575
|
-
features: [feat("Image Input", "input"), feat("
|
|
5663
|
+
features: [feat("Image Input", "input"), feat("4K", "resolution")],
|
|
5576
5664
|
paramConfig: {
|
|
5577
5665
|
...params.prompt(),
|
|
5578
5666
|
...params.aspectRatio(fluxAspectRatios, "1:1"),
|
|
5667
|
+
...params.resolution(fluxResolutions, "1K"),
|
|
5579
5668
|
...params.count(),
|
|
5580
5669
|
...params.imageInput(1, "Source Image")
|
|
5581
5670
|
}
|
|
@@ -5588,11 +5677,12 @@ var { MODELS: MODELS21 } = defineModels("flux", [
|
|
|
5588
5677
|
addedAt: "2026-02-06",
|
|
5589
5678
|
buildPayload: buildFluxV2Payload("flux-2-flex"),
|
|
5590
5679
|
estimatedTime: 15,
|
|
5591
|
-
description: "Adaptable generation across varied visual styles
|
|
5592
|
-
features: [feat("Image Input", "input"), feat("
|
|
5680
|
+
description: "Adaptable generation across varied visual styles up to 4K.",
|
|
5681
|
+
features: [feat("Image Input", "input"), feat("4K", "resolution")],
|
|
5593
5682
|
paramConfig: {
|
|
5594
5683
|
...params.prompt(),
|
|
5595
5684
|
...params.aspectRatio(fluxAspectRatios, "3:4"),
|
|
5685
|
+
...params.resolution(fluxResolutions, "1K"),
|
|
5596
5686
|
...params.count(),
|
|
5597
5687
|
...params.imageInput(1, "Source Image")
|
|
5598
5688
|
}
|
|
@@ -7526,6 +7616,9 @@ registerPayloads(MODELS30, {
|
|
|
7526
7616
|
"topaz-upscale-video": buildTopazVideoPayload
|
|
7527
7617
|
});
|
|
7528
7618
|
|
|
7619
|
+
// src/core/helpers.ts
|
|
7620
|
+
var resolveImageSize = (ctx, arMap) => ctx.aspectRatio && arMap[ctx.aspectRatio] || ctx.size;
|
|
7621
|
+
|
|
7529
7622
|
// src/vendors/catalog/picsart.ts
|
|
7530
7623
|
var MAX_WORDS = 77;
|
|
7531
7624
|
var truncateWords = (text) => {
|
|
@@ -10685,6 +10778,9 @@ var Seedance20MiniVideoEdit = "seedance-2.0-mini-video-edit";
|
|
|
10685
10778
|
var Seedance20MiniVideoExtend = "seedance-2.0-mini-video-extend";
|
|
10686
10779
|
var Seedance20VideoEdit = "seedance-2.0-video-edit";
|
|
10687
10780
|
var Seedance20VideoExtend = "seedance-2.0-video-extend";
|
|
10781
|
+
var Seedance20WithoutModeration = "seedance-2.0-without-moderation";
|
|
10782
|
+
var Seedance20WithoutModerationVideoEdit = "seedance-2.0-without-moderation-video-edit";
|
|
10783
|
+
var Seedance20WithoutModerationVideoExtend = "seedance-2.0-without-moderation-video-extend";
|
|
10688
10784
|
var Seedance25 = "seedance-2.5";
|
|
10689
10785
|
var Seedance25VideoEdit = "seedance-2.5-video-edit";
|
|
10690
10786
|
var Seedance25VideoExtend = "seedance-2.5-video-extend";
|
|
@@ -10888,6 +10984,9 @@ var Models = {
|
|
|
10888
10984
|
Seedance20MiniVideoExtend,
|
|
10889
10985
|
Seedance20VideoEdit,
|
|
10890
10986
|
Seedance20VideoExtend,
|
|
10987
|
+
Seedance20WithoutModeration,
|
|
10988
|
+
Seedance20WithoutModerationVideoEdit,
|
|
10989
|
+
Seedance20WithoutModerationVideoExtend,
|
|
10891
10990
|
Seedance25,
|
|
10892
10991
|
Seedance25VideoEdit,
|
|
10893
10992
|
Seedance25VideoExtend,
|