@picsart/ai-sdk 6.7.0 → 6.8.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 +28 -0
- package/index.js +127 -22
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -191,20 +191,47 @@ type ModelInputById = {
|
|
|
191
191
|
audioUrl: string;
|
|
192
192
|
voiceId?: string;
|
|
193
193
|
removeBackgroundNoise?: boolean;
|
|
194
|
+
stability?: number;
|
|
195
|
+
similarityBoost?: number;
|
|
196
|
+
styleExaggeration?: number;
|
|
197
|
+
speed?: number;
|
|
194
198
|
};
|
|
195
199
|
"eleven-multilingual-v2": {
|
|
196
200
|
prompt: string;
|
|
197
201
|
voiceId?: string;
|
|
202
|
+
stability?: number;
|
|
203
|
+
similarityBoost?: number;
|
|
204
|
+
styleExaggeration?: number;
|
|
205
|
+
speed?: number;
|
|
206
|
+
useSpeakerBoost?: boolean;
|
|
198
207
|
};
|
|
199
208
|
"eleven-sts-v2": {
|
|
200
209
|
audioUrl: string;
|
|
201
210
|
voiceId?: string;
|
|
202
211
|
removeBackgroundNoise?: boolean;
|
|
212
|
+
stability?: number;
|
|
213
|
+
similarityBoost?: number;
|
|
214
|
+
styleExaggeration?: number;
|
|
215
|
+
speed?: number;
|
|
216
|
+
};
|
|
217
|
+
"eleven-text-to-dialogue": {
|
|
218
|
+
dialogue: Array<{
|
|
219
|
+
voiceId: string;
|
|
220
|
+
text: string;
|
|
221
|
+
}>;
|
|
222
|
+
stability?: 0 | 0.5 | 1;
|
|
223
|
+
language?: string;
|
|
224
|
+
seed?: number;
|
|
203
225
|
};
|
|
204
226
|
"eleven-v3": {
|
|
205
227
|
language?: string;
|
|
206
228
|
prompt: string;
|
|
207
229
|
voiceId?: string;
|
|
230
|
+
stability?: number;
|
|
231
|
+
similarityBoost?: number;
|
|
232
|
+
styleExaggeration?: number;
|
|
233
|
+
speed?: number;
|
|
234
|
+
useSpeakerBoost?: boolean;
|
|
208
235
|
};
|
|
209
236
|
"eleven-voice-create": {
|
|
210
237
|
prompt: string;
|
|
@@ -2977,6 +3004,7 @@ declare const Models: {
|
|
|
2977
3004
|
readonly ElevenMultilingualStsV2: "eleven-multilingual-sts-v2";
|
|
2978
3005
|
readonly ElevenMultilingualV2: "eleven-multilingual-v2";
|
|
2979
3006
|
readonly ElevenStsV2: "eleven-sts-v2";
|
|
3007
|
+
readonly ElevenTextToDialogue: "eleven-text-to-dialogue";
|
|
2980
3008
|
readonly ElevenV3: "eleven-v3";
|
|
2981
3009
|
readonly ElevenVoiceCreate: "eleven-voice-create";
|
|
2982
3010
|
readonly ElevenVoiceDesignV2: "eleven-voice-design-v2";
|
package/index.js
CHANGED
|
@@ -6344,23 +6344,12 @@ registerEditPayloads(MODELS22, {
|
|
|
6344
6344
|
});
|
|
6345
6345
|
|
|
6346
6346
|
// src/vendors/catalog/elevenlabs.ts
|
|
6347
|
-
var
|
|
6348
|
-
text: ctx.prompt,
|
|
6349
|
-
voice_id: ctx.voiceId ?? DEFAULT_VOICE_ID,
|
|
6350
|
-
model_id: modelId,
|
|
6351
|
-
...ctx.language ? { language_code: ctx.language } : {}
|
|
6352
|
-
});
|
|
6347
|
+
var VOICE_CATALOG = { workflow: "elevenlabs/v1/catalog/voices" };
|
|
6353
6348
|
var buildElevenLabsSFXPayload = (modelId) => (ctx) => ({
|
|
6354
6349
|
text: ctx.prompt,
|
|
6355
6350
|
duration_seconds: ctx.duration ?? 5,
|
|
6356
6351
|
model_id: modelId
|
|
6357
6352
|
});
|
|
6358
|
-
var buildElevenLabsSTSPayload = (modelId) => (ctx) => ({
|
|
6359
|
-
audio_url: ctx.audioUrl,
|
|
6360
|
-
voice_id: ctx.voiceId ?? DEFAULT_VOICE_ID,
|
|
6361
|
-
model_id: modelId,
|
|
6362
|
-
remove_background_noise: ctx.removeBackgroundNoise ?? false
|
|
6363
|
-
});
|
|
6364
6353
|
var buildElevenLabsAudioIsolationPayload = (ctx) => ({
|
|
6365
6354
|
audio_url: ctx.audioUrl
|
|
6366
6355
|
});
|
|
@@ -6383,13 +6372,35 @@ var buildElevenLabsVoicePreviewsPayload = (ctx) => ({
|
|
|
6383
6372
|
voice_description: ctx.prompt,
|
|
6384
6373
|
auto_generate_text: true
|
|
6385
6374
|
});
|
|
6375
|
+
var voiceSettingsParams = (withSpeakerBoost) => ({
|
|
6376
|
+
stability: {
|
|
6377
|
+
label: "Stability",
|
|
6378
|
+
descriptor: { kind: "range", min: 0, max: 1, step: 0.05 }
|
|
6379
|
+
},
|
|
6380
|
+
similarityBoost: {
|
|
6381
|
+
label: "Similarity",
|
|
6382
|
+
descriptor: { kind: "range", min: 0, max: 1, step: 0.05 }
|
|
6383
|
+
},
|
|
6384
|
+
// `style` is taken on GenerationContext by the image models' style *name*,
|
|
6385
|
+
// so the vendor's 0–1 style exaggeration gets a key of its own.
|
|
6386
|
+
styleExaggeration: {
|
|
6387
|
+
label: "Style Exaggeration",
|
|
6388
|
+
descriptor: { kind: "range", min: 0, max: 1, step: 0.05 }
|
|
6389
|
+
},
|
|
6390
|
+
speed: {
|
|
6391
|
+
label: "Speed",
|
|
6392
|
+
descriptor: { kind: "range", min: 0.1, max: 5, step: 0.05 }
|
|
6393
|
+
},
|
|
6394
|
+
...withSpeakerBoost ? { useSpeakerBoost: { label: "Speaker Boost", descriptor: { kind: "boolean", default: true } } } : {}
|
|
6395
|
+
});
|
|
6386
6396
|
var ttsParamConfig = (promptMaxLength, withLanguage) => ({
|
|
6387
6397
|
// language_code is honoured by eleven_v3 only — the vendor documents it as
|
|
6388
6398
|
// "not supported for multilingual_v2 models" (silently ignored there).
|
|
6389
6399
|
// No accent param anywhere: no builder ever read it.
|
|
6390
6400
|
...withLanguage ? params.language(false) : {},
|
|
6391
6401
|
...params.prompt({ maxLength: promptMaxLength }),
|
|
6392
|
-
...params.voiceId([], DEFAULT_VOICE_ID, { catalog:
|
|
6402
|
+
...params.voiceId([], DEFAULT_VOICE_ID, { catalog: VOICE_CATALOG }),
|
|
6403
|
+
...voiceSettingsParams(true)
|
|
6393
6404
|
});
|
|
6394
6405
|
var { MODELS: MODELS23 } = defineModels("elevenlabs", [
|
|
6395
6406
|
// ── TTS ───────────────────────────────────────────────────────────
|
|
@@ -6399,7 +6410,6 @@ var { MODELS: MODELS23 } = defineModels("elevenlabs", [
|
|
|
6399
6410
|
modelId: "eleven_v3",
|
|
6400
6411
|
addedAt: "2026-02-06",
|
|
6401
6412
|
workflow: "elevenlabs/v1/text-to-speech",
|
|
6402
|
-
buildPayload: buildElevenLabsTTSPayload("eleven_v3"),
|
|
6403
6413
|
estimatedTime: 11,
|
|
6404
6414
|
mode: "audio",
|
|
6405
6415
|
inputType: "tts",
|
|
@@ -6414,7 +6424,6 @@ var { MODELS: MODELS23 } = defineModels("elevenlabs", [
|
|
|
6414
6424
|
modelId: "eleven_multilingual_v2",
|
|
6415
6425
|
addedAt: "2026-02-06",
|
|
6416
6426
|
workflow: "elevenlabs/v1/text-to-speech",
|
|
6417
|
-
buildPayload: buildElevenLabsTTSPayload("eleven_multilingual_v2"),
|
|
6418
6427
|
estimatedTime: 9,
|
|
6419
6428
|
mode: "audio",
|
|
6420
6429
|
inputType: "tts",
|
|
@@ -6423,6 +6432,61 @@ var { MODELS: MODELS23 } = defineModels("elevenlabs", [
|
|
|
6423
6432
|
features: [feat("Stable", "characteristic"), feat("Professional", "characteristic")],
|
|
6424
6433
|
paramConfig: ttsParamConfig(1e4, false)
|
|
6425
6434
|
},
|
|
6435
|
+
// ── Dialogue ──────────────────────────────────────────────────────
|
|
6436
|
+
{
|
|
6437
|
+
// `modelId` is the pricing-catalog key, not the vendor id: the worker
|
|
6438
|
+
// registers the operation as `eleven-text-to-dialogue` while the vendor
|
|
6439
|
+
// model behind it is plain `eleven_v3`.
|
|
6440
|
+
id: "eleven-text-to-dialogue",
|
|
6441
|
+
name: "Eleven Dialogue v3",
|
|
6442
|
+
modelId: "eleven-text-to-dialogue",
|
|
6443
|
+
addedAt: "2026-09-22",
|
|
6444
|
+
workflow: "elevenlabs/v1/text-to-dialogue",
|
|
6445
|
+
estimatedTime: 12,
|
|
6446
|
+
mode: "audio",
|
|
6447
|
+
inputType: "tts",
|
|
6448
|
+
description: "Generate a multi-speaker conversation \u2014 a voice per line \u2014 in one take.",
|
|
6449
|
+
features: [feat("Multi-Speaker", "characteristic"), feat("Creative Control", "characteristic")],
|
|
6450
|
+
paramConfig: {
|
|
6451
|
+
// One entry per spoken line, in order. The vendor publishes no cap on the
|
|
6452
|
+
// number of lines, so none is invented here.
|
|
6453
|
+
//
|
|
6454
|
+
// The 5,000-character limit is the vendor's hard cap and applies to the
|
|
6455
|
+
// dialogue AS A WHOLE, which a per-field maxLength cannot express — a
|
|
6456
|
+
// single line simply cannot exceed it either. Probed against the live
|
|
6457
|
+
// `elevenlabs/v1/text-to-dialogue` worker: 10,000 characters are refused
|
|
6458
|
+
// with "Request text length (10000) exceeds the maximum text length of
|
|
6459
|
+
// 5000 characters", while 2,600 generate fine. The docs' "keep it at or
|
|
6460
|
+
// below 2,000" is guidance, not a limit. Note the far end is slow: a
|
|
6461
|
+
// 5,000-character dialogue outruns the worker's 120s vendor timeout.
|
|
6462
|
+
dialogue: {
|
|
6463
|
+
label: "Dialogue",
|
|
6464
|
+
required: true,
|
|
6465
|
+
descriptor: {
|
|
6466
|
+
kind: "object",
|
|
6467
|
+
array: { min: 1 },
|
|
6468
|
+
fields: {
|
|
6469
|
+
// A plain id, not a catalog-bound picker: catalog loading resolves
|
|
6470
|
+
// top-level params only. Every ElevenLabs model shares one voices
|
|
6471
|
+
// task, so a caller lists them from any TTS model — e.g.
|
|
6472
|
+
// `ai.catalogs.voices('eleven-v3')` — and uses the ids here.
|
|
6473
|
+
voiceId: { label: "Voice ID", kind: "text", placeholder: DEFAULT_VOICE_ID },
|
|
6474
|
+
text: { label: "Line", kind: "text", maxLength: 5e3 }
|
|
6475
|
+
}
|
|
6476
|
+
}
|
|
6477
|
+
},
|
|
6478
|
+
// The vendor takes any 0–1 double and defaults to 0.5; eleven_v3 reads the
|
|
6479
|
+
// three presets below, so the picker offers those instead of a slider
|
|
6480
|
+
// whose in-between values the engine rounds anyway.
|
|
6481
|
+
...p.enum("stability", [
|
|
6482
|
+
{ id: 0, label: "Creative" },
|
|
6483
|
+
{ id: 0.5, label: "Natural" },
|
|
6484
|
+
{ id: 1, label: "Robust" }
|
|
6485
|
+
], 0.5, { label: "Stability" }),
|
|
6486
|
+
...params.language(false),
|
|
6487
|
+
...params.seed(4294967295)
|
|
6488
|
+
}
|
|
6489
|
+
},
|
|
6426
6490
|
// ── Sound Effects ─────────────────────────────────────────────────
|
|
6427
6491
|
{
|
|
6428
6492
|
id: "elevenlabs-sfx",
|
|
@@ -6469,7 +6533,6 @@ var { MODELS: MODELS23 } = defineModels("elevenlabs", [
|
|
|
6469
6533
|
modelId: "eleven_english_sts_v2",
|
|
6470
6534
|
addedAt: "2026-02-15",
|
|
6471
6535
|
workflow: "elevenlabs/v1/speech-to-speech",
|
|
6472
|
-
buildPayload: buildElevenLabsSTSPayload("eleven_english_sts_v2"),
|
|
6473
6536
|
estimatedTime: 15,
|
|
6474
6537
|
mode: "audio",
|
|
6475
6538
|
inputType: "sts",
|
|
@@ -6477,8 +6540,9 @@ var { MODELS: MODELS23 } = defineModels("elevenlabs", [
|
|
|
6477
6540
|
features: [feat("Voice Changer", "characteristic"), feat("Emotion Preserved", "characteristic")],
|
|
6478
6541
|
paramConfig: {
|
|
6479
6542
|
...params.audioInput("Speech Audio", true),
|
|
6480
|
-
...params.voiceId([], DEFAULT_VOICE_ID, { catalog:
|
|
6481
|
-
...p.boolean("removeBackgroundNoise", false, "Remove Background Noise")
|
|
6543
|
+
...params.voiceId([], DEFAULT_VOICE_ID, { catalog: VOICE_CATALOG }),
|
|
6544
|
+
...p.boolean("removeBackgroundNoise", false, "Remove Background Noise"),
|
|
6545
|
+
...voiceSettingsParams(false)
|
|
6482
6546
|
}
|
|
6483
6547
|
},
|
|
6484
6548
|
{
|
|
@@ -6487,7 +6551,6 @@ var { MODELS: MODELS23 } = defineModels("elevenlabs", [
|
|
|
6487
6551
|
modelId: "eleven_multilingual_sts_v2",
|
|
6488
6552
|
addedAt: "2026-02-15",
|
|
6489
6553
|
workflow: "elevenlabs/v1/speech-to-speech",
|
|
6490
|
-
buildPayload: buildElevenLabsSTSPayload("eleven_multilingual_sts_v2"),
|
|
6491
6554
|
estimatedTime: 15,
|
|
6492
6555
|
mode: "audio",
|
|
6493
6556
|
inputType: "sts",
|
|
@@ -6495,8 +6558,9 @@ var { MODELS: MODELS23 } = defineModels("elevenlabs", [
|
|
|
6495
6558
|
features: [feat("Voice Changer", "characteristic"), feat("Multilingual", "characteristic"), feat("29 Languages", "characteristic")],
|
|
6496
6559
|
paramConfig: {
|
|
6497
6560
|
...params.audioInput("Speech Audio", true),
|
|
6498
|
-
...params.voiceId([], DEFAULT_VOICE_ID, { catalog:
|
|
6499
|
-
...p.boolean("removeBackgroundNoise", false, "Remove Background Noise")
|
|
6561
|
+
...params.voiceId([], DEFAULT_VOICE_ID, { catalog: VOICE_CATALOG }),
|
|
6562
|
+
...p.boolean("removeBackgroundNoise", false, "Remove Background Noise"),
|
|
6563
|
+
...voiceSettingsParams(false)
|
|
6500
6564
|
}
|
|
6501
6565
|
},
|
|
6502
6566
|
// ── Audio Processing ────────────────────────────────────────────
|
|
@@ -6611,8 +6675,47 @@ var buildElevenLabsMusicPayload = (input) => ({
|
|
|
6611
6675
|
model_id: "music_v2",
|
|
6612
6676
|
force_instrumental: input.isInstrumental ?? false
|
|
6613
6677
|
});
|
|
6678
|
+
var voiceSettings = (input) => {
|
|
6679
|
+
const settings = {
|
|
6680
|
+
...input.stability != null ? { stability: input.stability } : {},
|
|
6681
|
+
...input.similarityBoost != null ? { similarity_boost: input.similarityBoost } : {},
|
|
6682
|
+
...input.styleExaggeration != null ? { style: input.styleExaggeration } : {},
|
|
6683
|
+
...input.speed != null ? { speed: input.speed } : {},
|
|
6684
|
+
...input.useSpeakerBoost != null ? { use_speaker_boost: input.useSpeakerBoost } : {}
|
|
6685
|
+
};
|
|
6686
|
+
return Object.keys(settings).length > 0 ? { voice_settings: settings } : {};
|
|
6687
|
+
};
|
|
6688
|
+
var buildElevenLabsTTSPayload = (modelId) => (input) => ({
|
|
6689
|
+
text: input.prompt,
|
|
6690
|
+
voice_id: input.voiceId ?? DEFAULT_VOICE_ID,
|
|
6691
|
+
model_id: modelId,
|
|
6692
|
+
...input.language ? { language_code: input.language } : {},
|
|
6693
|
+
...voiceSettings(input)
|
|
6694
|
+
});
|
|
6695
|
+
var buildElevenLabsSTSPayload = (modelId) => (input) => ({
|
|
6696
|
+
audio_url: input.audioUrl,
|
|
6697
|
+
voice_id: input.voiceId ?? DEFAULT_VOICE_ID,
|
|
6698
|
+
model_id: modelId,
|
|
6699
|
+
remove_background_noise: input.removeBackgroundNoise ?? false,
|
|
6700
|
+
...voiceSettings(input)
|
|
6701
|
+
});
|
|
6702
|
+
var buildElevenLabsDialoguePayload = (input) => ({
|
|
6703
|
+
conversation: input.dialogue.map((line) => ({
|
|
6704
|
+
voice_id: line.voiceId,
|
|
6705
|
+
text: line.text
|
|
6706
|
+
})),
|
|
6707
|
+
model_id: "eleven_v3",
|
|
6708
|
+
...input.stability != null ? { settings: { stability: input.stability } } : {},
|
|
6709
|
+
...input.language ? { language_code: input.language } : {},
|
|
6710
|
+
...input.seed != null ? { seed: input.seed } : {}
|
|
6711
|
+
});
|
|
6614
6712
|
registerPayloads(MODELS23, {
|
|
6615
|
-
"elevenlabs-music-v2": buildElevenLabsMusicPayload
|
|
6713
|
+
"elevenlabs-music-v2": buildElevenLabsMusicPayload,
|
|
6714
|
+
"eleven-v3": buildElevenLabsTTSPayload("eleven_v3"),
|
|
6715
|
+
"eleven-multilingual-v2": buildElevenLabsTTSPayload("eleven_multilingual_v2"),
|
|
6716
|
+
"eleven-sts-v2": buildElevenLabsSTSPayload("eleven_english_sts_v2"),
|
|
6717
|
+
"eleven-multilingual-sts-v2": buildElevenLabsSTSPayload("eleven_multilingual_sts_v2"),
|
|
6718
|
+
"eleven-text-to-dialogue": buildElevenLabsDialoguePayload
|
|
6616
6719
|
});
|
|
6617
6720
|
|
|
6618
6721
|
// src/vendors/catalog/heygen.ts
|
|
@@ -12107,6 +12210,7 @@ var ElevenDubbing = "eleven-dubbing";
|
|
|
12107
12210
|
var ElevenMultilingualStsV2 = "eleven-multilingual-sts-v2";
|
|
12108
12211
|
var ElevenMultilingualV2 = "eleven-multilingual-v2";
|
|
12109
12212
|
var ElevenStsV2 = "eleven-sts-v2";
|
|
12213
|
+
var ElevenTextToDialogue = "eleven-text-to-dialogue";
|
|
12110
12214
|
var ElevenV3 = "eleven-v3";
|
|
12111
12215
|
var ElevenVoiceCreate = "eleven-voice-create";
|
|
12112
12216
|
var ElevenVoiceDesignV2 = "eleven-voice-design-v2";
|
|
@@ -12347,6 +12451,7 @@ var Models = {
|
|
|
12347
12451
|
ElevenMultilingualStsV2,
|
|
12348
12452
|
ElevenMultilingualV2,
|
|
12349
12453
|
ElevenStsV2,
|
|
12454
|
+
ElevenTextToDialogue,
|
|
12350
12455
|
ElevenV3,
|
|
12351
12456
|
ElevenVoiceCreate,
|
|
12352
12457
|
ElevenVoiceDesignV2,
|