@picsart/ai-sdk 3.22.0 → 3.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.d.ts +31 -1
  2. package/index.js +428 -71
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -161,6 +161,22 @@ type ModelInputById = {
161
161
  count?: 1 | 2 | 4 | 6 | 8 | 10;
162
162
  imageUrls?: string[];
163
163
  };
164
+ "flux-3-video": {
165
+ prompt: string;
166
+ model?: "flux-3-preview-high" | "flux-3-preview-optimized";
167
+ aspectRatio?: "auto" | "21:9" | "16:9" | "4:3" | "1:1" | "3:4" | "9:16" | "9:21";
168
+ resolution?: "480p" | "720p";
169
+ duration?: "auto" | "5" | "10" | "15" | "20";
170
+ startFrame?: string;
171
+ endFrame?: string;
172
+ imageUrls?: string[];
173
+ videoUrl?: string;
174
+ videoUrls?: string[];
175
+ generateAudio?: boolean;
176
+ grounding?: boolean;
177
+ seed?: number;
178
+ version?: string;
179
+ };
164
180
  "flux-kontext-max": {
165
181
  prompt: string;
166
182
  aspectRatio?: "1:1" | "16:9" | "9:16" | "4:3" | "3:4" | "21:9" | "9:21";
@@ -1084,6 +1100,18 @@ type ModelInputById = {
1084
1100
  aspectRatio?: "16:9" | "9:16";
1085
1101
  imageUrls?: string[];
1086
1102
  };
1103
+ "seed-audio-1.0": {
1104
+ prompt: string;
1105
+ voiceId?: "zh_female_vv_uranus_bigtts" | "zh_female_xiaohe_uranus_bigtts" | "en_female_stokie_uranus_bigtts" | "en_female_dacey_uranus_bigtts" | "en_male_tim_uranus_bigtts" | "zh_male_m191_uranus_bigtts" | "zh_male_taocheng_uranus_bigtts" | "zh_male_sophie_uranus_bigtts" | "zh_female_yingyujiaoxue_uranus_bigtts" | "zh_male_dayi_uranus_bigtts" | "zh_female_mizai_uranus_bigtts" | "zh_female_jitangnv_uranus_bigtts" | "zh_female_meilinvyou_uranus_bigtts" | "zh_female_liuchangnv_uranus_bigtts" | "zh_male_ruyayichen_uranus_bigtts" | "zh_female_cancan_uranus_bigtts" | "zh_female_tianmeixiaoyuan_uranus_bigtts" | "zh_female_tianmeitaozi_uranus_bigtts" | "zh_female_shuangkuaisisi_uranus_bigtts" | "zh_female_peiqi_uranus_bigtts" | "zh_female_xiaoxue_uranus_bigtts" | "zh_female_yuanqi_uranus_bigtts" | "zh_female_kefunvsheng_uranus_bigtts" | "zh_male_shaonianzixin_uranus_bigtts" | "zh_female_linjianvhai_uranus_bigtts" | "zh_female_kiwi_uranus_bigtts" | "zh_female_sajiaoxuemei_uranus_bigtts" | "de_male_seven_uranus_bigtts" | "jp_female_minimi_uranus_bigtts" | "fr_male_usseau_uranus_bigtts" | "es_male_felipe_uranus_bigtts" | "id_male_han_uranus_bigtts" | "pt_male_martins_uranus_bigtts" | "it_male_enzo_uranus_bigtts" | "kr_male_shane_uranus_bigtts" | "zh_male_liufei_uranus_bigtts" | "zh_female_qingxinnvsheng_uranus_bigtts" | "zh_male_sunwukong_uranus_bigtts" | "en_male_adam-imitation_uranus_bigtts" | "en_male_alberto_uranus_bigtts" | "en_male_alex_uranus_bigtts" | "en_female_allison_uranus_bigtts" | "en_female_authoritative-british_uranus_bigtts" | "en_female_authoritative-informative_uranus_bigtts" | "en_male_bill-jones_uranus_bigtts" | "en_male_bill_jones_corey_uranus_bigtts" | "en_male_brad_pitt_p1_uranus_bigtts" | "en_female_brittney_uranus_bigtts" | "en_female_brittney_pimintel_uranus_bigtts" | "en_male_bruce_uranus_bigtts" | "en_male_chandler_p1_uranus_bigtts" | "en_male_cowboy-bob_uranus_bigtts" | "en_male_cowboy_john_b_uranus_bigtts" | "en_male_david_uranus_bigtts" | "en_male_deep-voice_uranus_bigtts" | "en_male_diyuwenrounan_uranus_bigtts" | "en_male_evil-guy-oxley_uranus_bigtts" | "en_male_excited-male-voice_uranus_bigtts" | "en_male_father-christmas_uranus_bigtts" | "en_female_female_tutor_ms-jenny_uranus_bigtts" | "en_male_fernando-martinez_uranus_bigtts" | "en_male_godfather_uranus_bigtts" | "en_male_gollum_uranus_bigtts" | "en_male_hades_uranus_bigtts" | "en_female_hayley_uranus_bigtts" | "en_male_jamie_uranus_bigtts" | "en_female_jane_uranus_bigtts" | "en_female_jenny_uranus_bigtts" | "en_male_jidongchuanjiaoshi_uranus_bigtts" | "en_male_jimmy_uranus_bigtts" | "en_female_joanne_uranus_bigtts" | "en_male_joker_uranus_bigtts" | "en_male_josh_uranus_bigtts" | "en_male_josh_coery_uranus_bigtts" | "en_male_kevin_uranus_bigtts" | "en_male_knightley_uranus_bigtts" | "en_female_lana_del_rey_kelley_d_p1_uranus_bigtts" | "en_female_lana_del_rey_parky_s_p1_uranus_bigtts" | "en_male_marcus_uranus_bigtts" | "en_female_mel_uranus_bigtts" | "en_male_michael_uranus_bigtts" | "en_male_michael-mouse_uranus_bigtts" | "en_male_michael_kevin_uranus_bigtts" | "en_male_motivational-coach_uranus_bigtts" | "en_female_myra_uranus_bigtts" | "en_female_myra_cmb_uranus_bigtts" | "en_female_nadia_uranus_bigtts" | "en_female_natasha_uranus_bigtts" | "en_female_pleasant-female_uranus_bigtts" | "en_female_rachel_p1_uranus_bigtts" | "en_male_ronald_uranus_bigtts" | "en_male_russell_uranus_bigtts" | "en_female_scarlet_p1_uranus_bigtts" | "en_female_sharron_uranus_bigtts" | "en_male_simba_p1_uranus_bigtts" | "en_female_skye_uranus_bigtts" | "en_male_tom_hiddleston_p1_uranus_bigtts" | "en_male_valentino_uranus_bigtts" | "en_male_valentino_corey_uranus_bigtts" | "en_female_wenrouzhishijieshuonv_uranus_bigtts" | "en_female_xinwenjieshuonv_uranus_bigtts" | "en_male_yangguangjieshuonan_uranus_bigtts" | "en_female_zendaya_p1_uranus_bigtts" | "ja_female_bv024_uranus_bigtts" | "ja_female_bv520_uranus_bigtts" | "ja_female_bv521_uranus_bigtts" | "ja_female_bv522_uranus_bigtts" | "ja_female_bv523_uranus_bigtts" | "ja_male_bv524_uranus_bigtts" | "ja_female_minimi_uranus_bigtts" | "ja_female_shirou_uranus_bigtts" | "de_female_bv081_uranus_bigtts" | "de_male_sven_uranus_bigtts" | "es_female_bv084_uranus_bigtts" | "es_male_dani_uranus_bigtts" | "es_male_guillem_uranus_bigtts" | "es_female_ht_mx_f6_uranus_bigtts" | "mx_female_bv065_uranus_bigtts" | "mx_male_bv165dialogue_uranus_bigtts" | "mx_male_bv165narrator_uranus_bigtts" | "mx_female_bv166dialogue_uranus_bigtts" | "mx_female_bv166emotion_uranus_bigtts" | "mx_female_bv166narrator_uranus_bigtts" | "mx_male_felipe_uranus_bigtts" | "mx_male_ht_mx_m012_uranus_bigtts" | "mx_female_leslie_uranus_bigtts" | "mx_male_marcelo_uranus_bigtts" | "fr_female_fr_bv078_uranus_bigtts" | "fr_female_fr_f47_uranus_bigtts" | "fr_male_fr_m29_uranus_bigtts" | "id_male_bv160_uranus_bigtts" | "id_male_bv160dialogue_uranus_bigtts" | "id_male_bv160narration_uranus_bigtts" | "id_female_bv161_uranus_bigtts" | "id_female_bv161dialogue_uranus_bigtts" | "id_female_bv161narration_uranus_bigtts" | "id_female_bv164_uranus_bigtts" | "id_male_bv164dialogue_uranus_bigtts" | "id_male_bv164narration_uranus_bigtts" | "id_female_f20_uranus_bigtts" | "id_male_m08_uranus_bigtts" | "id_female_phulia_uranus_bigtts" | "pt_male_bv172_uranus_bigtts" | "pt_male_bv172dialogue_uranus_bigtts" | "pt_male_bv172emotion_uranus_bigtts" | "pt_male_bv172narrator_uranus_bigtts" | "pt_female_bv173_uranus_bigtts" | "pt_female_bv173dialogue_uranus_bigtts" | "pt_female_bv173emotion_uranus_bigtts" | "pt_female_bv173narrator_uranus_bigtts" | "pt_female_bv530_uranus_bigtts" | "pt_male_bv531_uranus_bigtts" | "pt_female_mari_uranus_bigtts" | "pt_male_rael_uranus_bigtts" | "ar_female_dina_uranus_bigtts" | "ar_female_fatma_uranus_bigtts" | "ar_male_youssef_uranus_bigtts" | "tl_female_annika_uranus_bigtts" | "tl_male_ed_uranus_bigtts" | "tl_female_hervie_uranus_bigtts" | "ko_male_bv545_uranus_bigtts" | "ko_female_bv546_uranus_bigtts" | "ko_male_m03_uranus_bigtts" | "ko_male_shane_uranus_bigtts" | "ms_male_ham_uranus_bigtts" | "ms_male_naim_uranus_bigtts" | "ru_female_af07_uranus_bigtts" | "ru_female_irinae_uranus_bigtts" | "ru_male_pavel_uranus_bigtts" | "ru_female_sophie_uranus_bigtts" | "ru_male_vlad_uranus_bigtts" | "th_female_bv568_angry_uranus_bigtts" | "th_female_bv568_fear_uranus_bigtts" | "th_female_bv568_happy_uranus_bigtts" | "th_female_bv568_hate_uranus_bigtts" | "th_female_bv568_neutral_uranus_bigtts" | "th_female_bv568_sad_uranus_bigtts" | "th_female_bv568_suprise_uranus_bigtts" | "vi_female_hong_uranus_bigtts" | "vi_female_ling_uranus_bigtts" | "vi_female_linh_uranus_bigtts" | "vi_female_partner_uranus_bigtts" | "vi_female_ruan_uranus_bigtts" | "vi_female_wu_uranus_bigtts" | "vi_male_wumg_uranus_bigtts";
1106
+ audioUrls?: string[];
1107
+ imageUrls?: string[];
1108
+ format?: "wav" | "mp3" | "pcm" | "ogg_opus";
1109
+ sampleRate?: 8000 | 16000 | 24000 | 32000 | 44100 | 48000;
1110
+ speechRate?: number;
1111
+ loudnessRate?: number;
1112
+ pitchRate?: number;
1113
+ aigcWatermark?: boolean;
1114
+ };
1087
1115
  "seedance-1.5-pro": {
1088
1116
  prompt: string;
1089
1117
  aspectRatio?: "16:9" | "9:16" | "1:1" | "4:3" | "3:4" | "21:9" | "adaptive";
@@ -1881,7 +1909,7 @@ interface ModelFilter$1 {
1881
1909
  release?: ReleaseTag[];
1882
1910
  }
1883
1911
 
1884
- type AppProvider = 'picsart' | 'google' | 'kling' | 'grok' | 'openai' | 'flux' | 'ideogram' | 'elevenlabs' | 'minimax' | 'wan' | 'seedance' | 'ltx' | 'seedream' | 'hunyuan' | 'pika' | 'runway' | 'luma' | 'ovi' | 'creatify' | 'veed' | 'bytedance' | 'qwen' | 'reve' | 'recraft' | 'videography' | 'topaz' | 'heygen' | 'happyhorse' | 'pixverse' | 'anthropic' | 'async';
1912
+ type AppProvider = 'picsart' | 'google' | 'kling' | 'grok' | 'openai' | 'flux' | 'ideogram' | 'elevenlabs' | 'minimax' | 'wan' | 'seedance' | 'ltx' | 'seedream' | 'seedaudio' | 'hunyuan' | 'pika' | 'runway' | 'luma' | 'ovi' | 'creatify' | 'veed' | 'bytedance' | 'qwen' | 'reve' | 'recraft' | 'videography' | 'topaz' | 'heygen' | 'happyhorse' | 'pixverse' | 'anthropic' | 'async';
1885
1913
  /** Provider used by model definitions. */
1886
1914
  type Provider = AppProvider;
1887
1915
  /** App generation modes. */
@@ -2108,6 +2136,7 @@ declare const Models: {
2108
2136
  readonly Flux2Flex: "flux-2-flex";
2109
2137
  readonly Flux2Max: "flux-2-max";
2110
2138
  readonly Flux2Pro: "flux-2-pro";
2139
+ readonly Flux3Video: "flux-3-video";
2111
2140
  readonly FluxKontextMax: "flux-kontext-max";
2112
2141
  readonly FluxKontextPro: "flux-kontext-pro";
2113
2142
  readonly Gemini25FlashImage: "gemini-2.5-flash-image";
@@ -2245,6 +2274,7 @@ declare const Models: {
2245
2274
  readonly RunwayGen4Aleph: "runway-gen4-aleph";
2246
2275
  readonly RunwayGen4Ref: "runway-gen4-ref";
2247
2276
  readonly RunwayGen45: "runway-gen4.5";
2277
+ readonly SeedAudio10: "seed-audio-1.0";
2248
2278
  readonly Seedance15Pro: "seedance-1.5-pro";
2249
2279
  readonly Seedance20: "seedance-2.0";
2250
2280
  readonly Seedance20Fast: "seedance-2.0-fast";
package/index.js CHANGED
@@ -662,6 +662,7 @@ var providers = {
662
662
  seedance: { color: "#EC4899", label: "SD", name: "Seedance" },
663
663
  ltx: { color: "#6366F1", label: "LT", name: "LTX" },
664
664
  seedream: { color: "#14B8A6", label: "SR", name: "Seedream" },
665
+ seedaudio: { color: "#7C3AED", label: "SA", name: "Seed Audio" },
665
666
  hunyuan: { color: "#F59E0B", label: "HY", name: "Hunyuan" },
666
667
  pika: { color: "#FF6B9D", label: "PK", name: "Pika" },
667
668
  runway: { color: "#00D4AA", label: "RW", name: "Runway" },
@@ -1006,7 +1007,7 @@ var passthroughPayload = (paramConfig) => (ctx) => {
1006
1007
  return payload;
1007
1008
  };
1008
1009
  function defineModels(provider, configs) {
1009
- const MODELS37 = [];
1010
+ const MODELS38 = [];
1010
1011
  for (const c of configs) {
1011
1012
  const prov = c.provider ?? provider;
1012
1013
  const resolvedPayload = c.buildPayload ?? passthroughPayload(c.paramConfig);
@@ -1041,19 +1042,19 @@ function defineModels(provider, configs) {
1041
1042
  if (c.constraints !== void 0) model.constraints = c.constraints;
1042
1043
  const contract = createModelContract(model);
1043
1044
  model.outputSchema = c.outputSchema ?? contract.output;
1044
- MODELS37.push(model);
1045
+ MODELS38.push(model);
1045
1046
  }
1046
- return { MODELS: MODELS37 };
1047
+ return { MODELS: MODELS38 };
1047
1048
  }
1048
- function registerPayloads(MODELS37, payloads) {
1049
+ function registerPayloads(MODELS38, payloads) {
1049
1050
  for (const [id, builder] of Object.entries(payloads)) {
1050
- const model = MODELS37.find((m) => m.id === id);
1051
+ const model = MODELS38.find((m) => m.id === id);
1051
1052
  if (model) model.buildPayload = builder;
1052
1053
  }
1053
1054
  }
1054
- function registerEditPayloads(MODELS37, payloads) {
1055
+ function registerEditPayloads(MODELS38, payloads) {
1055
1056
  for (const [id, builder] of Object.entries(payloads)) {
1056
- const model = MODELS37.find((m) => m.id === id);
1057
+ const model = MODELS38.find((m) => m.id === id);
1057
1058
  if (model) model.buildEditPayload = builder;
1058
1059
  }
1059
1060
  }
@@ -4078,39 +4079,6 @@ var { MODELS: MODELS14 } = defineModels("seedream", [
4078
4079
  }
4079
4080
  ]);
4080
4081
 
4081
- // src/vendors/catalog/reve.ts
4082
- var REVE_AR = ["16:9", "9:16", "1:1", "4:3", "3:4", "3:2", "2:3"];
4083
- var buildRevePayload = (ctx) => {
4084
- const hasImages = ctx.imageUrls && ctx.imageUrls.length > 0;
4085
- return {
4086
- prompt: ctx.prompt,
4087
- num_images: ctx.count ?? 1,
4088
- ...ctx.aspectRatio ? { aspect_ratio: ctx.aspectRatio } : {},
4089
- ...hasImages ? { image_url: ctx.imageUrls[0] } : {}
4090
- };
4091
- };
4092
- var { MODELS: MODELS15 } = defineModels("reve", [
4093
- {
4094
- id: "reve",
4095
- name: "Reve",
4096
- addedAt: "2026-02-06",
4097
- workflow: "reve/text-to-image",
4098
- editWorkflow: "reve/edit",
4099
- buildPayload: buildRevePayload,
4100
- estimatedTime: 20,
4101
- mode: "image",
4102
- inputType: "t2i",
4103
- description: "Stylized 1K images with optional reference input.",
4104
- features: [feat("Image Input", "input"), feat("1K", "resolution")],
4105
- paramConfig: {
4106
- ...params.prompt(),
4107
- ...params.aspectRatio(REVE_AR),
4108
- ...params.count(),
4109
- ...params.imageInput(1, "Source Image")
4110
- }
4111
- }
4112
- ]);
4113
-
4114
4082
  // src/core/voices.ts
4115
4083
  var DEFAULT_VOICE_ID = "JBFqnCBsd6RMkjVDRZzb";
4116
4084
  var ELEVENLABS_VOICES = [
@@ -4276,7 +4244,7 @@ var ELEVENLABS_VOICES = [
4276
4244
  }
4277
4245
  ];
4278
4246
  function getVoiceById(id, extra) {
4279
- return [...ELEVENLABS_VOICES, ...OPENAI_VOICES, ...GEMINI_VOICES, ...GROK_VOICES, ...extra ?? []].find((v) => v.id === id);
4247
+ return [...ELEVENLABS_VOICES, ...OPENAI_VOICES, ...GEMINI_VOICES, ...GROK_VOICES, ...SEEDAUDIO_VOICES, ...extra ?? []].find((v) => v.id === id);
4280
4248
  }
4281
4249
  var OPENAI_DEFAULT_VOICE_ID = "alloy";
4282
4250
  var OPENAI_VOICES = [
@@ -4438,6 +4406,309 @@ var ASYNC_VOICES = [
4438
4406
  { id: "db21e50c-9c85-4177-9bb2-9bf177890e44", name: "Abel", description: "Male voice with an authoritative tone, calm delivery, and clear articulation, perfect for informative and educational content. His subtle emphasis on key points enhances understanding, creating a focused and engaging experience for the listener while maintaining a professional presence.", tags: ["Male", "American (US)", "Informative/Educational"], provider: "async" },
4439
4407
  { id: "d7114790-534e-4007-b80d-6d176230553c", name: "Nellie", description: "Bold British-accented female voice with a slightly sharp, newscasting style. This voice delivers with clarity and confidence, ideal for news, reports, and formal announcements, ensuring a strong, professional presence while maintaining a sharp and impactful delivery.", tags: ["Female", "British (UK)", "Newscasting", "Informative/Educational"], provider: "async" }
4440
4408
  ];
4409
+ var SEEDAUDIO_DEFAULT_VOICE_ID = "en_male_tim_uranus_bigtts";
4410
+ var SEEDAUDIO_VOICES = [
4411
+ { id: "zh_female_vv_uranus_bigtts", name: "Vivi", description: "A youthful and vibrant female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4412
+ { id: "zh_female_xiaohe_uranus_bigtts", name: "Mindy", description: "A gentle, soft-spoken, and slightly mature female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4413
+ { id: "en_female_stokie_uranus_bigtts", name: "Stokie", description: "A trendy, casual, and expressive young female voice.", tags: ["Female", "English"], provider: "seedaudio" },
4414
+ { id: "en_female_dacey_uranus_bigtts", name: "Dacey", description: "A warm, empathetic, and highly engaging female voice.", tags: ["Female", "English"], provider: "seedaudio" },
4415
+ { id: "en_male_tim_uranus_bigtts", name: "Tim", description: "A clear, versatile, and friendly mid-range male voice.", tags: ["Male", "English"], provider: "seedaudio" },
4416
+ { id: "zh_male_m191_uranus_bigtts", name: "Kian", description: "A steady, clear, and versatile mid-range male voice.", tags: ["Male", "Multilingual"], provider: "seedaudio" },
4417
+ { id: "zh_male_taocheng_uranus_bigtts", name: "Cedric", description: "A dynamic, spirited, and energetic young male voice.", tags: ["Male", "Multilingual"], provider: "seedaudio" },
4418
+ { id: "zh_male_sophie_uranus_bigtts", name: "Sophie", description: "A smooth, modern, and soft-spoken young voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4419
+ { id: "zh_female_yingyujiaoxue_uranus_bigtts", name: "Jean", description: "A clear, authoritative yet encouraging female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4420
+ { id: "zh_male_dayi_uranus_bigtts", name: "Magnus", description: "A mature, resonant, and slightly dramatic male voice.", tags: ["Male", "Multilingual"], provider: "seedaudio" },
4421
+ { id: "zh_female_mizai_uranus_bigtts", name: "Mabel", description: "A youthful, playful voice with a kid vibe.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4422
+ { id: "zh_female_jitangnv_uranus_bigtts", name: "Nadia", description: "A mature, soothing, and deeply emotional female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4423
+ { id: "zh_female_meilinvyou_uranus_bigtts", name: "Opal", description: "A sweet, intimate, and affectionate young female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4424
+ { id: "zh_female_liuchangnv_uranus_bigtts", name: "Pearl", description: "A clear, steady, and highly articulate female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4425
+ { id: "zh_male_ruyayichen_uranus_bigtts", name: "Quentin", description: "A refined, gentle, and elegant young male voice.", tags: ["Male", "Multilingual"], provider: "seedaudio" },
4426
+ { id: "zh_female_cancan_uranus_bigtts", name: "Corinne", description: "A young, vivid and energetic female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4427
+ { id: "zh_female_tianmeixiaoyuan_uranus_bigtts", name: "Esther", description: "A fresh, innocent, and youthful female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4428
+ { id: "zh_female_tianmeitaozi_uranus_bigtts", name: "Freya", description: "A soft, bright, and incredibly sweet young female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4429
+ { id: "zh_female_shuangkuaisisi_uranus_bigtts", name: "Gigi", description: "A crisp, fast-paced, and confident young female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4430
+ { id: "zh_female_peiqi_uranus_bigtts", name: "Holly", description: "A childlike, innocent little girl's voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4431
+ { id: "zh_female_xiaoxue_uranus_bigtts", name: "Lyla", description: "A pure, steady, and crystal-clear young female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4432
+ { id: "zh_female_yuanqi_uranus_bigtts", name: "Daisy", description: "An energetic, cheerful, and optimistic young female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4433
+ { id: "zh_female_kefunvsheng_uranus_bigtts", name: "Tracy", description: "A polished, professional, and courteous female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4434
+ { id: "zh_male_shaonianzixin_uranus_bigtts", name: "Jess", description: "A bright, confident, and energetic teenage male voice.", tags: ["Male", "Multilingual"], provider: "seedaudio" },
4435
+ { id: "zh_female_linjianvhai_uranus_bigtts", name: "Pinky", description: "A warm, friendly, and approachable young female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4436
+ { id: "zh_female_kiwi_uranus_bigtts", name: "Sweety", description: "A bright, cheerful, and modern young female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4437
+ { id: "zh_female_sajiaoxuemei_uranus_bigtts", name: "Sandy", description: "A very young, sweet, and playful female voice.", tags: ["Female", "Multilingual"], provider: "seedaudio" },
4438
+ { id: "de_male_seven_uranus_bigtts", name: "Sven", description: "A steady, clear, and confident male voice.", tags: ["Male", "German"], provider: "seedaudio" },
4439
+ { id: "jp_female_minimi_uranus_bigtts", name: "Minimi", description: "A high-pitched, sweet, 'kawaii' young female voice.", tags: ["Female", "Japanese"], provider: "seedaudio" },
4440
+ { id: "fr_male_usseau_uranus_bigtts", name: "Usseau", description: "A sophisticated, crisp, and articulate male voice.", tags: ["Male", "French"], provider: "seedaudio" },
4441
+ { id: "es_male_felipe_uranus_bigtts", name: "Felipe", description: "An energetic, upbeat, and charismatic young male voice.", tags: ["Male", "Spanish (MX)"], provider: "seedaudio" },
4442
+ { id: "id_male_han_uranus_bigtts", name: "Han", description: "A modern, smooth, and friendly young adult male voice.", tags: ["Male", "Indonesian"], provider: "seedaudio" },
4443
+ { id: "pt_male_martins_uranus_bigtts", name: "Martins", description: "A charismatic, warm, and expressive male voice.", tags: ["Male", "Portuguese (BR)"], provider: "seedaudio" },
4444
+ { id: "it_male_enzo_uranus_bigtts", name: "Enzo", description: "An authentic, charismatic, and warm Italian male voice.", tags: ["Male", "Italian"], provider: "seedaudio" },
4445
+ { id: "kr_male_shane_uranus_bigtts", name: "Jihoon", description: "A polished, modern, and smooth Korean male voice.", tags: ["Male", "Korean"], provider: "seedaudio" },
4446
+ { id: "zh_male_liufei_uranus_bigtts", name: "Felix", description: "A clear and energetic voice.", tags: ["Male", "Chinese"], provider: "seedaudio" },
4447
+ { id: "zh_female_qingxinnvsheng_uranus_bigtts", name: "Celeste", description: "A fresh and clear female voice.", tags: ["Female", "Chinese"], provider: "seedaudio" },
4448
+ { id: "zh_male_sunwukong_uranus_bigtts", name: "Monkey King", description: "A Monkey King character voice.", tags: ["Male", "Chinese", "Character"], provider: "seedaudio" },
4449
+ { id: "en_male_adam-imitation_uranus_bigtts", name: "Rowan", description: "An easygoing, natural young man with a cool, aloof edge.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4450
+ { id: "en_male_alberto_uranus_bigtts", name: "Alberto", description: "A gentle, approachable man with a low, soothing tone.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4451
+ { id: "en_male_alex_uranus_bigtts", name: "Alex", description: "An objective, composed young man with a warm, clear voice.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4452
+ { id: "en_female_allison_uranus_bigtts", name: "Allison", description: "An upbeat, enthusiastic college-aged woman, full of energy.", tags: ["Female", "English (US)", "Dubbing"], provider: "seedaudio" },
4453
+ { id: "en_female_authoritative-british_uranus_bigtts", name: "Charlotte", description: "A bright, crisp older sister with tension and drive.", tags: ["Female", "English (US)", "Education"], provider: "seedaudio" },
4454
+ { id: "en_female_authoritative-informative_uranus_bigtts", name: "Margaret", description: "A gentle, sincere big sister with a soft, unhurried tone.", tags: ["Female", "English (US)"], provider: "seedaudio" },
4455
+ { id: "en_male_bill-jones_uranus_bigtts", name: "Jones", description: "A humorous uncle with a thick Southern American accent.", tags: ["Male", "English (US)", "Entertainment"], provider: "seedaudio" },
4456
+ { id: "en_male_bill_jones_corey_uranus_bigtts", name: "Bill", description: "A steady, self-assured male professional with composure.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4457
+ { id: "en_male_brad_pitt_p1_uranus_bigtts", name: "Brad Pitt", description: "A laid-back man with a low, husky, relaxed voice.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4458
+ { id: "en_female_brittney_uranus_bigtts", name: "Brittney", description: "A warm, intelligent older sister with a tender heart.", tags: ["Female", "English (US)"], provider: "seedaudio" },
4459
+ { id: "en_female_brittney_pimintel_uranus_bigtts", name: "Zoe", description: "A bright, spirited young girl bursting with energy.", tags: ["Female", "English (US)", "Audiobook"], provider: "seedaudio" },
4460
+ { id: "en_male_bruce_uranus_bigtts", name: "Adrian", description: "A composed, level-headed gentleman with rational restraint.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4461
+ { id: "en_male_chandler_p1_uranus_bigtts", name: "Leo", description: "A theatrical man with dramatic intonation and expressiveness.", tags: ["Male", "English (US)", "Entertainment"], provider: "seedaudio" },
4462
+ { id: "en_male_cowboy-bob_uranus_bigtts", name: "Bob", description: "A mature man with a deep, resonant, slightly raspy voice.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4463
+ { id: "en_male_cowboy_john_b_uranus_bigtts", name: "John", description: "An energetic, flamboyant uncle with a Southern accent.", tags: ["Male", "English (US)", "Entertainment"], provider: "seedaudio" },
4464
+ { id: "en_male_david_uranus_bigtts", name: "David", description: "A middle-aged man with a deep, weighty, unhurried voice.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4465
+ { id: "en_male_deep-voice_uranus_bigtts", name: "Orion", description: "A solid, textured voice with a slow pace and drama.", tags: ["Male", "English (US)", "Entertainment"], provider: "seedaudio" },
4466
+ { id: "en_male_diyuwenrounan_uranus_bigtts", name: "Julian", description: "A refined, gentle, sincere man with an easygoing manner.", tags: ["Male", "English (US)", "Audiobook"], provider: "seedaudio" },
4467
+ { id: "en_male_evil-guy-oxley_uranus_bigtts", name: "Harrison", description: "A rigorous, professional heavyweight with commanding presence.", tags: ["Male", "English (US)", "Dubbing"], provider: "seedaudio" },
4468
+ { id: "en_male_excited-male-voice_uranus_bigtts", name: "Jasper", description: "A passionate young male voice with sweeping intonation.", tags: ["Male", "English (US)", "Entertainment"], provider: "seedaudio" },
4469
+ { id: "en_male_father-christmas_uranus_bigtts", name: "Alfred", description: "An elder with a deep, resonant voice and clear articulation.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4470
+ { id: "en_female_female_tutor_ms-jenny_uranus_bigtts", name: "Holly", description: "An enthusiastic, energetic female host with a vivid style.", tags: ["Female", "English (US)", "Education"], provider: "seedaudio" },
4471
+ { id: "en_male_fernando-martinez_uranus_bigtts", name: "Felix", description: "A cheerful, lively male voice, contagious in emotion.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4472
+ { id: "en_male_godfather_uranus_bigtts", name: "Godfather", description: "A mature man with sincere emotion and a gentle, unhurried tone.", tags: ["Male", "English (US)", "Audiobook"], provider: "seedaudio" },
4473
+ { id: "en_male_gollum_uranus_bigtts", name: "Gollum", description: "A wacky, over-the-top voice skilled at playful characters.", tags: ["Male", "English (US)", "RolePlay"], provider: "seedaudio" },
4474
+ { id: "en_male_hades_uranus_bigtts", name: "Beau", description: "A free-spirited mature man with a relaxed, easygoing tone.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4475
+ { id: "en_female_hayley_uranus_bigtts", name: "Hayley", description: "A lively female voice with strong emotional tension.", tags: ["Female", "English (US)", "Education"], provider: "seedaudio" },
4476
+ { id: "en_male_jamie_uranus_bigtts", name: "Jamie", description: "A hearty, sincere, witty male voice full of energy.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4477
+ { id: "en_female_jane_uranus_bigtts", name: "Jane", description: "An energetic young girl with vivid, expressive emotion.", tags: ["Female", "English (US)", "Dubbing"], provider: "seedaudio" },
4478
+ { id: "en_female_jenny_uranus_bigtts", name: "Jenny", description: "A cheerful, warm, and talkative personality.", tags: ["Female", "English (US)"], provider: "seedaudio" },
4479
+ { id: "en_male_jidongchuanjiaoshi_uranus_bigtts", name: "Blaze", description: "An immersive, passionate performance with fervent intonation.", tags: ["Male", "English (US)", "Entertainment"], provider: "seedaudio" },
4480
+ { id: "en_male_jimmy_uranus_bigtts", name: "Jimmy", description: "A sunny young man, vivid and engaging at sharing stories.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4481
+ { id: "en_female_joanne_uranus_bigtts", name: "Joanne", description: "A crisp, lively young female voice with a relaxed feel.", tags: ["Female", "English (US)"], provider: "seedaudio" },
4482
+ { id: "en_male_joker_uranus_bigtts", name: "Joker", description: "A middle-aged voice with a slow pace and warm, magnetic tone.", tags: ["Male", "English (US)", "Entertainment"], provider: "seedaudio" },
4483
+ { id: "en_male_josh_uranus_bigtts", name: "Josh", description: "A clear, bright, cheerful, energetic young man.", tags: ["Male", "English (US)", "Dubbing"], provider: "seedaudio" },
4484
+ { id: "en_male_josh_coery_uranus_bigtts", name: "Josiah", description: "A businesslike young man with a deep, dignified voice.", tags: ["Male", "English (US)", "Education"], provider: "seedaudio" },
4485
+ { id: "en_male_kevin_uranus_bigtts", name: "Kevin", description: "A warm, magnetic middle-aged voice with fluent delivery.", tags: ["Male", "English (US)", "Education"], provider: "seedaudio" },
4486
+ { id: "en_male_knightley_uranus_bigtts", name: "Knightley", description: "A deep, magnetic middle-aged male voice with a steady manner.", tags: ["Male", "English (US)", "Audiobook"], provider: "seedaudio" },
4487
+ { id: "en_female_lana_del_rey_kelley_d_p1_uranus_bigtts", name: "Lynn", description: "A soft, slightly husky young female voice.", tags: ["Female", "English (US)", "RolePlay"], provider: "seedaudio" },
4488
+ { id: "en_female_lana_del_rey_parky_s_p1_uranus_bigtts", name: "Ivy", description: "A gentle, soft female voice with a warm, natural tone.", tags: ["Female", "English (US)", "CustomerService"], provider: "seedaudio" },
4489
+ { id: "en_male_marcus_uranus_bigtts", name: "Marcus", description: "A mellow, deep mature male voice skilled at storytelling.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4490
+ { id: "en_female_mel_uranus_bigtts", name: "Mel", description: "A lively, dynamic female voice with vivid ups and downs.", tags: ["Female", "English (US)", "Education"], provider: "seedaudio" },
4491
+ { id: "en_male_michael_uranus_bigtts", name: "Hank", description: "A laid-back man with a deep, magnetic, easygoing voice.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4492
+ { id: "en_male_michael-mouse_uranus_bigtts", name: "Chip", description: "A cartoonish, high-pitched, exaggerated comical voice.", tags: ["Male", "English (US)", "Entertainment"], provider: "seedaudio" },
4493
+ { id: "en_male_michael_kevin_uranus_bigtts", name: "Michael Kevin", description: "A professional narrator\u2014gentle, bright, and persuasive.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4494
+ { id: "en_male_motivational-coach_uranus_bigtts", name: "Rory", description: "An energetic college-aged man, full of emotion and dynamic.", tags: ["Male", "English (US)", "Entertainment"], provider: "seedaudio" },
4495
+ { id: "en_female_myra_uranus_bigtts", name: "Myra", description: "A sweet, lively young-girl voice that tells stories gently.", tags: ["Female", "English (US)", "Education"], provider: "seedaudio" },
4496
+ { id: "en_female_myra_cmb_uranus_bigtts", name: "Sunny", description: "A crisp, lively young female voice full of enthusiasm.", tags: ["Female", "English (US)", "Education"], provider: "seedaudio" },
4497
+ { id: "en_female_nadia_uranus_bigtts", name: "Blair", description: "A clean, clear young female voice with a gentle way of speaking.", tags: ["Female", "English (US)"], provider: "seedaudio" },
4498
+ { id: "en_female_natasha_uranus_bigtts", name: "Natasha", description: "A bright, vivid, warm and approachable conversational voice.", tags: ["Female", "English (US)"], provider: "seedaudio" },
4499
+ { id: "en_female_pleasant-female_uranus_bigtts", name: "Elaine", description: "A gentle, lovely young lady with heartfelt warmth.", tags: ["Female", "English (US)", "Audiobook"], provider: "seedaudio" },
4500
+ { id: "en_female_rachel_p1_uranus_bigtts", name: "Rachel", description: "A bright, clear young female voice with strong dramatic flair.", tags: ["Female", "English (US)", "Entertainment"], provider: "seedaudio" },
4501
+ { id: "en_male_ronald_uranus_bigtts", name: "Ronald", description: "A British gentleman with a deep, resonant, dignified voice.", tags: ["Male", "English (US)", "Audiobook"], provider: "seedaudio" },
4502
+ { id: "en_male_russell_uranus_bigtts", name: "Russell", description: "A warm, bright, sincere American boyfriend voice.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4503
+ { id: "en_female_scarlet_p1_uranus_bigtts", name: "Scarlet", description: "A gentle, deeply affectionate older sister.", tags: ["Female", "English (US)", "CustomerService"], provider: "seedaudio" },
4504
+ { id: "en_female_sharron_uranus_bigtts", name: "Sharron", description: "A young lady with a soft, slightly husky, easygoing voice.", tags: ["Female", "English (US)", "Entertainment"], provider: "seedaudio" },
4505
+ { id: "en_male_simba_p1_uranus_bigtts", name: "Simba", description: "A bright yet husky young male voice with strong expressiveness.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4506
+ { id: "en_female_skye_uranus_bigtts", name: "Skye", description: "A clear, candid older sister who speaks from the heart.", tags: ["Female", "English (US)"], provider: "seedaudio" },
4507
+ { id: "en_male_tom_hiddleston_p1_uranus_bigtts", name: "Tom", description: "A deep, reserved uncle with a narrative reciting style.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4508
+ { id: "en_male_valentino_uranus_bigtts", name: "Valentino", description: "A sunny, cheerful young man full of warmth and energy.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4509
+ { id: "en_male_valentino_corey_uranus_bigtts", name: "Clark", description: "A mature, dignified uncle with a steady narration style.", tags: ["Male", "English (US)", "Dubbing"], provider: "seedaudio" },
4510
+ { id: "en_female_wenrouzhishijieshuonv_uranus_bigtts", name: "Megan", description: "A gentle, fun older sister sharing knowledge in a relaxed way.", tags: ["Female", "English (US)", "CustomerService"], provider: "seedaudio" },
4511
+ { id: "en_female_xinwenjieshuonv_uranus_bigtts", name: "Kayla", description: "An enthusiastic, outgoing female student full of expressiveness.", tags: ["Female", "English (US)", "RolePlay"], provider: "seedaudio" },
4512
+ { id: "en_male_yangguangjieshuonan_uranus_bigtts", name: "Dylan", description: "A witty, humorous uncle with a vivid narrative style.", tags: ["Male", "English (US)"], provider: "seedaudio" },
4513
+ { id: "en_female_zendaya_p1_uranus_bigtts", name: "Zendaya", description: "An easygoing, approachable older sister full of energy.", tags: ["Female", "English (US)", "Education"], provider: "seedaudio" },
4514
+ { id: "ja_female_bv024_uranus_bigtts", name: "Bonnie", description: "A gentle, soft, warm female college student.", tags: ["Female", "Japanese"], provider: "seedaudio" },
4515
+ { id: "ja_female_bv520_uranus_bigtts", name: "Poppy", description: "An energetic young woman with an anime-dubbing style.", tags: ["Female", "Japanese", "Dubbing"], provider: "seedaudio" },
4516
+ { id: "ja_female_bv521_uranus_bigtts", name: "Aoi", description: "A sweet, lively young woman with strong performance appeal.", tags: ["Female", "Japanese", "Entertainment"], provider: "seedaudio" },
4517
+ { id: "ja_female_bv522_uranus_bigtts", name: "Hana", description: "A professional, dignified young woman with a broadcast tone.", tags: ["Female", "Japanese"], provider: "seedaudio" },
4518
+ { id: "ja_female_bv523_uranus_bigtts", name: "Lily", description: "An innocent, carefree little girl full of childlike charm.", tags: ["Female", "Japanese", "Entertainment"], provider: "seedaudio" },
4519
+ { id: "ja_male_bv524_uranus_bigtts", name: "Ken", description: "A capable, professional young man with a calm, restrained tone.", tags: ["Male", "Japanese"], provider: "seedaudio" },
4520
+ { id: "ja_female_minimi_uranus_bigtts", name: "Minimi", description: "A vibrant, hearty young woman with an outgoing personality.", tags: ["Female", "Japanese"], provider: "seedaudio" },
4521
+ { id: "ja_female_shirou_uranus_bigtts", name: "Shirou", description: "A spirited, straightforward young woman with anime style.", tags: ["Female", "Japanese", "Dubbing"], provider: "seedaudio" },
4522
+ { id: "de_female_bv081_uranus_bigtts", name: "Stella", description: "An objective, composed, and professional young female voice.", tags: ["Female", "German", "Education"], provider: "seedaudio" },
4523
+ { id: "de_male_sven_uranus_bigtts", name: "Sven", description: "A middle-aged man with a deep, magnetic, slightly raspy voice.", tags: ["Male", "German"], provider: "seedaudio" },
4524
+ { id: "es_female_bv084_uranus_bigtts", name: "Gracie", description: "A rational, capable woman with clear, organized narration.", tags: ["Female", "Spanish"], provider: "seedaudio" },
4525
+ { id: "es_male_dani_uranus_bigtts", name: "Dani", description: "An enthusiastic, talkative uncle with a charming style.", tags: ["Male", "Spanish", "Audiobook"], provider: "seedaudio" },
4526
+ { id: "es_male_guillem_uranus_bigtts", name: "Guillem", description: "An easygoing, cheerful, approachable young man.", tags: ["Male", "Spanish", "Audiobook"], provider: "seedaudio" },
4527
+ { id: "es_female_ht_mx_f6_uranus_bigtts", name: "Marisol", description: "A lively, enthusiastic girl-next-door full of energy.", tags: ["Female", "Spanish"], provider: "seedaudio" },
4528
+ { id: "mx_female_bv065_uranus_bigtts", name: "Irene", description: "A calm, objective, efficient, well-organized young woman.", tags: ["Female", "Spanish (MX)", "Education"], provider: "seedaudio" },
4529
+ { id: "mx_male_bv165dialogue_uranus_bigtts", name: "Diego", description: "A charming young man with a magnetic, vivid dialogue style.", tags: ["Male", "Spanish (MX)", "Audiobook"], provider: "seedaudio" },
4530
+ { id: "mx_male_bv165narrator_uranus_bigtts", name: "Marcos", description: "A steady, mature man with a deep, magnetic, professional tone.", tags: ["Male", "Spanish (MX)", "Audiobook"], provider: "seedaudio" },
4531
+ { id: "mx_female_bv166dialogue_uranus_bigtts", name: "Lucy", description: "A playful, cheerful, lovely young woman with vivid emotion.", tags: ["Female", "Spanish (MX)"], provider: "seedaudio" },
4532
+ { id: "mx_female_bv166emotion_uranus_bigtts", name: "Rosa", description: "A young woman with intense emotion and dramatic tension.", tags: ["Female", "Spanish (MX)"], provider: "seedaudio" },
4533
+ { id: "mx_female_bv166narrator_uranus_bigtts", name: "Freya", description: "A distinctive young woman skilled at vivid storytelling.", tags: ["Female", "Spanish (MX)", "Audiobook"], provider: "seedaudio" },
4534
+ { id: "mx_male_felipe_uranus_bigtts", name: "Felipe", description: "An enthusiastic, sharp-witted young man building suspense.", tags: ["Male", "Spanish (MX)"], provider: "seedaudio" },
4535
+ { id: "mx_male_ht_mx_m012_uranus_bigtts", name: "Derek", description: "An objective, restrained young man with a professional style.", tags: ["Male", "Spanish (MX)", "Education"], provider: "seedaudio" },
4536
+ { id: "mx_female_leslie_uranus_bigtts", name: "Leslie", description: "An approachable, gentle young woman with a soft pace.", tags: ["Female", "Spanish (MX)"], provider: "seedaudio" },
4537
+ { id: "mx_male_marcelo_uranus_bigtts", name: "Marcelo", description: "A gentle, refined, steady, dignified young man.", tags: ["Male", "Spanish (MX)"], provider: "seedaudio" },
4538
+ { id: "fr_female_fr_bv078_uranus_bigtts", name: "Simone", description: "A steady, professional, even-tempered auntie.", tags: ["Female", "French", "Dubbing"], provider: "seedaudio" },
4539
+ { id: "fr_female_fr_f47_uranus_bigtts", name: "Camille", description: "A professional, capable older sister with a calm style.", tags: ["Female", "French", "CustomerService"], provider: "seedaudio" },
4540
+ { id: "fr_male_fr_m29_uranus_bigtts", name: "Maurice", description: "A mature, steady uncle with a resonant, dignified voice.", tags: ["Male", "French", "Dubbing"], provider: "seedaudio" },
4541
+ { id: "id_male_bv160_uranus_bigtts", name: "Rocco", description: "An impassioned young man with intensely dramatic delivery.", tags: ["Male", "Indonesian"], provider: "seedaudio" },
4542
+ { id: "id_male_bv160dialogue_uranus_bigtts", name: "Jude", description: "A young man with a dramatic, emotional performance style.", tags: ["Male", "Indonesian"], provider: "seedaudio" },
4543
+ { id: "id_male_bv160narration_uranus_bigtts", name: "Hugo", description: "A rational, steady young man skilled at narrative storytelling.", tags: ["Male", "Indonesian", "Audiobook"], provider: "seedaudio" },
4544
+ { id: "id_female_bv161_uranus_bigtts", name: "Clara", description: "A gentle, even-tempered young woman with a bright, soft voice.", tags: ["Female", "Indonesian"], provider: "seedaudio" },
4545
+ { id: "id_female_bv161dialogue_uranus_bigtts", name: "Sylvia", description: "A young woman with shifting emotions and film-dialogue atmosphere.", tags: ["Female", "Indonesian"], provider: "seedaudio" },
4546
+ { id: "id_female_bv161narration_uranus_bigtts", name: "Celeste", description: "A sweet, lively female lead with emotionally rich narration.", tags: ["Female", "Indonesian"], provider: "seedaudio" },
4547
+ { id: "id_female_bv164_uranus_bigtts", name: "Crew", description: "A blend of diverse voices for vivid multi-person dialogue.", tags: ["Female", "Indonesian"], provider: "seedaudio" },
4548
+ { id: "id_male_bv164dialogue_uranus_bigtts", name: "Elian", description: "A gentle, refined young man with a dramatic performance style.", tags: ["Male", "Indonesian", "Dubbing"], provider: "seedaudio" },
4549
+ { id: "id_male_bv164narration_uranus_bigtts", name: "Ronan", description: "A professional, steady, calm mature uncle.", tags: ["Male", "Indonesian", "Audiobook"], provider: "seedaudio" },
4550
+ { id: "id_female_f20_uranus_bigtts", name: "Chloe", description: "An energetic, lively young woman with an elegant air.", tags: ["Female", "Indonesian", "Dubbing"], provider: "seedaudio" },
4551
+ { id: "id_male_m08_uranus_bigtts", name: "Kyle", description: "A rational, steady young man with a professional narration style.", tags: ["Male", "Indonesian"], provider: "seedaudio" },
4552
+ { id: "id_female_phulia_uranus_bigtts", name: "Phulia", description: "A lively, cheerful young woman full of emotion and tension.", tags: ["Female", "Indonesian"], provider: "seedaudio" },
4553
+ { id: "pt_male_bv172_uranus_bigtts", name: "Sam", description: "A two-person dialogue with contrasting fast and slow pacing.", tags: ["Male", "Portuguese (BR)"], provider: "seedaudio" },
4554
+ { id: "pt_male_bv172dialogue_uranus_bigtts", name: "Walter", description: "A resonant, husky middle-aged uncle with a film-dialogue feel.", tags: ["Male", "Portuguese (BR)", "Dubbing"], provider: "seedaudio" },
4555
+ { id: "pt_male_bv172emotion_uranus_bigtts", name: "Vincent", description: "A middle-aged voice with intense emotion and dramatic flair.", tags: ["Male", "Portuguese (BR)", "Education"], provider: "seedaudio" },
4556
+ { id: "pt_male_bv172narrator_uranus_bigtts", name: "Miles", description: "A rational, calm, rigorous, professional male narrator.", tags: ["Male", "Portuguese (BR)", "Audiobook"], provider: "seedaudio" },
4557
+ { id: "pt_female_bv173_uranus_bigtts", name: "Diana", description: "A professional, composed, sharp, capable female narrator.", tags: ["Female", "Portuguese (BR)"], provider: "seedaudio" },
4558
+ { id: "pt_female_bv173dialogue_uranus_bigtts", name: "Elena", description: "An elegant, mature idol-drama female lead.", tags: ["Female", "Portuguese (BR)"], provider: "seedaudio" },
4559
+ { id: "pt_female_bv173emotion_uranus_bigtts", name: "Lola", description: "An enthusiastic performer full of emotion and expressive tension.", tags: ["Female", "Portuguese (BR)"], provider: "seedaudio" },
4560
+ { id: "pt_female_bv173narrator_uranus_bigtts", name: "Emma", description: "A sharp, capable, calm, commanding female narrator.", tags: ["Female", "Portuguese (BR)", "Dubbing"], provider: "seedaudio" },
4561
+ { id: "pt_female_bv530_uranus_bigtts", name: "Sofia", description: "A gentle, soft, approachable, lively young woman.", tags: ["Female", "Portuguese (BR)"], provider: "seedaudio" },
4562
+ { id: "pt_male_bv531_uranus_bigtts", name: "Arthur", description: "A rational, objective, steady, dependable middle-aged voice.", tags: ["Male", "Portuguese (BR)"], provider: "seedaudio" },
4563
+ { id: "pt_female_mari_uranus_bigtts", name: "Mari", description: "A cheerful young woman with a hearty, gracious manner.", tags: ["Female", "Portuguese (BR)", "Education"], provider: "seedaudio" },
4564
+ { id: "pt_male_rael_uranus_bigtts", name: "Rael", description: "A fresh, crisp, energetic, sunny young man.", tags: ["Male", "Portuguese (BR)"], provider: "seedaudio" },
4565
+ { id: "ar_female_dina_uranus_bigtts", name: "Dina", description: "A warm, lively Egyptian woman versed in local culture.", tags: ["Female", "Arabic"], provider: "seedaudio" },
4566
+ { id: "ar_female_fatma_uranus_bigtts", name: "Fatma", description: "A young woman with a gentle, tender voice for soft monologues.", tags: ["Female", "Arabic", "Entertainment"], provider: "seedaudio" },
4567
+ { id: "ar_male_youssef_uranus_bigtts", name: "Youssef", description: "A calm, easygoing middle-aged man with a conversational manner.", tags: ["Male", "Arabic"], provider: "seedaudio" },
4568
+ { id: "tl_female_annika_uranus_bigtts", name: "Annika", description: "An approachable young woman with an everyday-conversation quality.", tags: ["Female", "Filipino"], provider: "seedaudio" },
4569
+ { id: "tl_male_ed_uranus_bigtts", name: "Ed", description: "An approachable, easygoing middle-aged male voice.", tags: ["Male", "Filipino"], provider: "seedaudio" },
4570
+ { id: "tl_female_hervie_uranus_bigtts", name: "Hervie", description: "A professional, confident, engaging entertainment-news anchor.", tags: ["Female", "Filipino", "Audiobook"], provider: "seedaudio" },
4571
+ { id: "ko_male_bv545_uranus_bigtts", name: "Jay", description: "A hearty young man with a true-to-life performance style.", tags: ["Male", "Korean"], provider: "seedaudio" },
4572
+ { id: "ko_female_bv546_uranus_bigtts", name: "Momo", description: "A candid, lively young woman with an anime-drama style.", tags: ["Female", "Korean", "Dubbing"], provider: "seedaudio" },
4573
+ { id: "ko_male_m03_uranus_bigtts", name: "Minho", description: "A standard, professional Korean narrator with a magnetic voice.", tags: ["Male", "Korean"], provider: "seedaudio" },
4574
+ { id: "ko_male_shane_uranus_bigtts", name: "Shane", description: "A steady, refined, persuasive middle-aged uncle.", tags: ["Male", "Korean"], provider: "seedaudio" },
4575
+ { id: "ms_male_ham_uranus_bigtts", name: "Ham", description: "A steady, easygoing uncle skilled at analysis and explanation.", tags: ["Male", "Malay"], provider: "seedaudio" },
4576
+ { id: "ms_male_naim_uranus_bigtts", name: "Naim", description: "A gentle, refined, calm, dependable middle-aged uncle.", tags: ["Male", "Malay"], provider: "seedaudio" },
4577
+ { id: "ru_female_af07_uranus_bigtts", name: "Amelia", description: "A gentle, approachable, understanding, graceful young woman.", tags: ["Female", "Russian", "Audiobook"], provider: "seedaudio" },
4578
+ { id: "ru_female_irinae_uranus_bigtts", name: "Irinae", description: "An enthusiastic young woman with rich, expressive emotion.", tags: ["Female", "Russian", "Audiobook"], provider: "seedaudio" },
4579
+ { id: "ru_male_pavel_uranus_bigtts", name: "Pavel", description: "A middle-aged voice with a natural, comfortable narrative tone.", tags: ["Male", "Russian"], provider: "seedaudio" },
4580
+ { id: "ru_female_sophie_uranus_bigtts", name: "Ksenia", description: "A young female voice full of energy and warmth.", tags: ["Female", "Russian"], provider: "seedaudio" },
4581
+ { id: "ru_male_vlad_uranus_bigtts", name: "Silas", description: "A soft-spoken, gentle, calm, even-tempered young man.", tags: ["Male", "Russian", "Entertainment"], provider: "seedaudio" },
4582
+ { id: "th_female_bv568_angry_uranus_bigtts", name: "Valeria", description: "A domineering female lead with highly expressive emotion.", tags: ["Female", "Thai", "Education"], provider: "seedaudio" },
4583
+ { id: "th_female_bv568_fear_uranus_bigtts", name: "Iris", description: "An anxious, fearful, emotionally fragile young woman.", tags: ["Female", "Thai", "Audiobook"], provider: "seedaudio" },
4584
+ { id: "th_female_bv568_happy_uranus_bigtts", name: "Zara", description: "A young woman full of emotion with dramatic/animation dubbing.", tags: ["Female", "Thai"], provider: "seedaudio" },
4585
+ { id: "th_female_bv568_hate_uranus_bigtts", name: "Valentina", description: "A female lead with strong dramatic tension and expressive emotion.", tags: ["Female", "Thai"], provider: "seedaudio" },
4586
+ { id: "th_female_bv568_neutral_uranus_bigtts", name: "Mildred", description: "A calm, even-tempered young woman with balanced, neutral emotion.", tags: ["Female", "Thai"], provider: "seedaudio" },
4587
+ { id: "th_female_bv568_sad_uranus_bigtts", name: "Lydia", description: "A gentle, melancholic young woman with a strong narrative sense.", tags: ["Female", "Thai", "Dubbing"], provider: "seedaudio" },
4588
+ { id: "th_female_bv568_suprise_uranus_bigtts", name: "Phoebe", description: "A lively, vivid-minded young woman with a playful air.", tags: ["Female", "Thai", "Audiobook"], provider: "seedaudio" },
4589
+ { id: "vi_female_hong_uranus_bigtts", name: "Hong", description: "A straightforward young woman with frank emotional expression.", tags: ["Female", "Vietnamese"], provider: "seedaudio" },
4590
+ { id: "vi_female_ling_uranus_bigtts", name: "Ling", description: "A tender, kind, earnest, dependable young woman.", tags: ["Female", "Vietnamese"], provider: "seedaudio" },
4591
+ { id: "vi_female_linh_uranus_bigtts", name: "Linh", description: "A straightforward, candid young woman, crisp and decisive.", tags: ["Female", "Vietnamese", "Dubbing"], provider: "seedaudio" },
4592
+ { id: "vi_female_partner_uranus_bigtts", name: "Partner", description: "A young woman with intense, full emotion and youthful vitality.", tags: ["Female", "Vietnamese", "Dubbing"], provider: "seedaudio" },
4593
+ { id: "vi_female_ruan_uranus_bigtts", name: "Ruan", description: "A steady, clear-minded, dignified, poised young woman.", tags: ["Female", "Vietnamese"], provider: "seedaudio" },
4594
+ { id: "vi_female_wu_uranus_bigtts", name: "Wu", description: "A straightforward, outgoing young woman with a rational mindset.", tags: ["Female", "Vietnamese"], provider: "seedaudio" },
4595
+ { id: "vi_male_wumg_uranus_bigtts", name: "Wumg", description: "A modest, patient, rigorous, meticulous young man.", tags: ["Male", "Vietnamese"], provider: "seedaudio" }
4596
+ ];
4597
+
4598
+ // src/vendors/catalog/seedaudio.ts
4599
+ var REF_MUTEX_REASON = "A named voice and audio/image references cannot be combined.";
4600
+ var { MODELS: MODELS15 } = defineModels("seedaudio", [
4601
+ {
4602
+ id: "seed-audio-1.0",
4603
+ name: "Seed Audio",
4604
+ addedAt: "2026-07-27",
4605
+ workflow: "bytedance/text-to-speech",
4606
+ estimatedTime: 15,
4607
+ mode: "audio",
4608
+ inputType: "tts",
4609
+ description: "Synthesize natural speech from text \u2014 pick a named voice or clone one from a reference audio.",
4610
+ features: [feat("Voice Cloning", "characteristic"), feat("Reference Audio", "audio")],
4611
+ paramConfig: {
4612
+ ...params.prompt({ maxLength: 3e3 }),
4613
+ // Voice: a named BytePlus voice (default), OR clone from up to 3 reference
4614
+ // audios, OR one image reference. The three are mutually exclusive; the
4615
+ // payload builder prioritizes an uploaded reference over the named voice.
4616
+ ...params.voiceId(SEEDAUDIO_VOICES, SEEDAUDIO_DEFAULT_VOICE_ID),
4617
+ ...params.audioInputs(3, "Reference Audios"),
4618
+ ...params.imageInput(1, "Reference Image", false),
4619
+ // Output audio configuration (nested under `audio_config` at the wire).
4620
+ ...p.enum("format", ["wav", "mp3", "pcm", "ogg_opus"], "wav", { label: "Format" }),
4621
+ ...p.enum("sampleRate", [8e3, 16e3, 24e3, 32e3, 44100, 48e3], 44100, { label: "Sample Rate" }),
4622
+ ...p.range("speechRate", -50, 100, 0, { label: "Speech Rate" }),
4623
+ ...p.range("loudnessRate", -50, 100, 0, { label: "Loudness" }),
4624
+ ...p.range("pitchRate", -12, 12, 0, { label: "Pitch" }),
4625
+ ...p.boolean("aigcWatermark", false, "Watermark")
4626
+ },
4627
+ // Backend rejects mixing reference kinds. Trigger the mutex off the uploads
4628
+ // (voiceId always has a default, so it can't be a trigger) — an uploaded
4629
+ // reference greys out the voice picker and the other upload slot.
4630
+ constraints: [
4631
+ { when: { imageUrls: { exists: true } }, then: {
4632
+ voiceId: { disabled: true, reason: REF_MUTEX_REASON },
4633
+ audioUrls: { disabled: true, reason: REF_MUTEX_REASON }
4634
+ } },
4635
+ { when: { audioUrls: { exists: true } }, then: {
4636
+ voiceId: { disabled: true, reason: REF_MUTEX_REASON },
4637
+ imageUrls: { disabled: true, reason: REF_MUTEX_REASON }
4638
+ } }
4639
+ ]
4640
+ }
4641
+ ]);
4642
+
4643
+ // src/vendors/catalog/seedaudio.payloads.ts
4644
+ var assembleReferences = (input) => {
4645
+ const imageUrl = input.imageUrls?.[0];
4646
+ if (imageUrl) {
4647
+ return [{ image_url: imageUrl }];
4648
+ }
4649
+ if (input.audioUrls?.length) {
4650
+ return input.audioUrls.map((audioUrl) => ({ audio_url: audioUrl }));
4651
+ }
4652
+ return [{ speaker: input.voiceId ?? SEEDAUDIO_DEFAULT_VOICE_ID }];
4653
+ };
4654
+ var buildSeedAudioPayload = (input) => {
4655
+ const references = assembleReferences(input);
4656
+ return {
4657
+ model: "seed-audio-1.0",
4658
+ text_prompt: input.prompt,
4659
+ // Apply the paramConfig defaults explicitly — a custom builder (unlike the
4660
+ // pass-through one) doesn't get them for free, and the advertised defaults
4661
+ // must reach the wire (e.g. sampleRate 44100, else the backend picks a
4662
+ // format-dependent default that differs from what the UI showed).
4663
+ audio_config: {
4664
+ format: input.format ?? "wav",
4665
+ sample_rate: input.sampleRate ?? 44100,
4666
+ speech_rate: input.speechRate ?? 0,
4667
+ loudness_rate: input.loudnessRate ?? 0,
4668
+ pitch_rate: input.pitchRate ?? 0
4669
+ },
4670
+ // Send the watermark flag explicitly (default false) rather than omitting it
4671
+ // when false, so the SDK setting is honored instead of the backend default.
4672
+ watermark: { aigc_watermark: input.aigcWatermark ?? false },
4673
+ ...references ? { references } : {}
4674
+ };
4675
+ };
4676
+ registerPayloads(MODELS15, {
4677
+ "seed-audio-1.0": buildSeedAudioPayload
4678
+ });
4679
+
4680
+ // src/vendors/catalog/reve.ts
4681
+ var REVE_AR = ["16:9", "9:16", "1:1", "4:3", "3:4", "3:2", "2:3"];
4682
+ var buildRevePayload = (ctx) => {
4683
+ const hasImages = ctx.imageUrls && ctx.imageUrls.length > 0;
4684
+ return {
4685
+ prompt: ctx.prompt,
4686
+ num_images: ctx.count ?? 1,
4687
+ ...ctx.aspectRatio ? { aspect_ratio: ctx.aspectRatio } : {},
4688
+ ...hasImages ? { image_url: ctx.imageUrls[0] } : {}
4689
+ };
4690
+ };
4691
+ var { MODELS: MODELS16 } = defineModels("reve", [
4692
+ {
4693
+ id: "reve",
4694
+ name: "Reve",
4695
+ addedAt: "2026-02-06",
4696
+ workflow: "reve/text-to-image",
4697
+ editWorkflow: "reve/edit",
4698
+ buildPayload: buildRevePayload,
4699
+ estimatedTime: 20,
4700
+ mode: "image",
4701
+ inputType: "t2i",
4702
+ description: "Stylized 1K images with optional reference input.",
4703
+ features: [feat("Image Input", "input"), feat("1K", "resolution")],
4704
+ paramConfig: {
4705
+ ...params.prompt(),
4706
+ ...params.aspectRatio(REVE_AR),
4707
+ ...params.count(),
4708
+ ...params.imageInput(1, "Source Image")
4709
+ }
4710
+ }
4711
+ ]);
4441
4712
 
4442
4713
  // src/vendors/catalog/grok.ts
4443
4714
  var buildGrokT2VPayload = (ctx) => ({
@@ -4509,7 +4780,7 @@ var GROK_DURATIONS = [3, 5, 6, 8, 10, 12, 15];
4509
4780
  var GROK_VIDEO_RESOLUTIONS = ["480p", "720p"];
4510
4781
  var GROK_VIDEO_RESOLUTIONS_15 = ["480p", "720p", "1080p"];
4511
4782
  var GROK_IMAGE_RESOLUTIONS = ["1k", "2k"];
4512
- var { MODELS: MODELS16 } = defineModels("grok", [
4783
+ var { MODELS: MODELS17 } = defineModels("grok", [
4513
4784
  // ── Video ─────────────────────────────────────────
4514
4785
  {
4515
4786
  id: "grok-imagine-video",
@@ -4690,7 +4961,7 @@ var buildPikaFramesPayload = (ctx) => ({
4690
4961
  var PIKA_DURATIONS = [5, 10];
4691
4962
  var PIKA_AR = ["16:9", "9:16", "1:1", "4:5", "5:4", "3:2", "2:3"];
4692
4963
  var PIKA_RESOLUTIONS = ["720p", "1080p"];
4693
- var { MODELS: MODELS17 } = defineModels("pika", [
4964
+ var { MODELS: MODELS18 } = defineModels("pika", [
4694
4965
  {
4695
4966
  id: "pika-2.2",
4696
4967
  name: "Pika",
@@ -4815,7 +5086,7 @@ var veoLiteParamConfig = {
4815
5086
  var veoLiteConstraints = [
4816
5087
  { when: { resolution: { is: "1080p" } }, then: { duration: { allowed: [8], reason: "1080p supports 8s only" } } }
4817
5088
  ];
4818
- var { MODELS: MODELS18 } = defineModels("google", [
5089
+ var { MODELS: MODELS19 } = defineModels("google", [
4819
5090
  {
4820
5091
  id: "veo-3.1",
4821
5092
  name: "Veo 3.1",
@@ -4983,7 +5254,7 @@ var buildRunwayGen3aTurboPayload = (ctx) => ({
4983
5254
  ratio: RUNWAY_GEN3A_RATIO_MAP[ctx.aspectRatio ?? "16:9"] ?? "1280:768",
4984
5255
  duration: ctx.duration ?? 5
4985
5256
  });
4986
- var { MODELS: MODELS19 } = defineModels("runway", [
5257
+ var { MODELS: MODELS20 } = defineModels("runway", [
4987
5258
  {
4988
5259
  id: "runway-avatar-video",
4989
5260
  name: "Runway Avatar",
@@ -5160,7 +5431,7 @@ var fluxKontextBase = {
5160
5431
  mode: "image",
5161
5432
  inputType: "t2i"
5162
5433
  };
5163
- var { MODELS: MODELS20 } = defineModels("flux", [
5434
+ var { MODELS: MODELS21 } = defineModels("flux", [
5164
5435
  {
5165
5436
  ...fluxV2Base,
5166
5437
  id: "flux-2-pro",
@@ -5246,9 +5517,90 @@ var { MODELS: MODELS20 } = defineModels("flux", [
5246
5517
  ...params.count(),
5247
5518
  ...params.imageInput(1, "Source Image")
5248
5519
  }
5520
+ },
5521
+ {
5522
+ // Single workflow `flux/v1/video` handles t2v plus every conditioning
5523
+ // mode (i2v via start frame, morph via start/end frame, reference images,
5524
+ // reference video, video continuation) through optional inputs — no
5525
+ // editWorkflow needed. Payload assembly lives in flux.payloads.ts.
5526
+ id: "flux-3-video",
5527
+ name: "Flux 3 Video",
5528
+ workflow: "flux/v1/video",
5529
+ mode: "video",
5530
+ inputType: "t2v",
5531
+ release: "preview",
5532
+ addedAt: "2026-07-27",
5533
+ estimatedTime: 120,
5534
+ description: "Text-to-video with synchronized audio, plus image and video conditioning (continuation, references, first/last frame).",
5535
+ features: [
5536
+ feat("Image & Video Input", "input"),
5537
+ feat("Start/End Frame", "frame"),
5538
+ feat("Audio", "audio"),
5539
+ feat("Up to 20s", "duration"),
5540
+ feat("720p", "resolution")
5541
+ ],
5542
+ paramConfig: {
5543
+ ...params.prompt(),
5544
+ // Checkpoint: `high` (default, full conditioning + draft) vs `optimized`
5545
+ // (faster, text-to-video only). Sent as the wire `model` field.
5546
+ ...p.enum("model", [
5547
+ { id: "flux-3-preview-high", label: "High" },
5548
+ { id: "flux-3-preview-optimized", label: "Optimized" }
5549
+ ], "flux-3-preview-high", { label: "Model" }),
5550
+ ...params.aspectRatio(["auto", "21:9", "16:9", "4:3", "1:1", "3:4", "9:16", "9:21"], "auto"),
5551
+ ...params.resolution(["480p", "720p"], "720p"),
5552
+ // 'auto' lets the model fit length; an explicit whole number is required
5553
+ // for a two-image (start+end) morph.
5554
+ ...p.enum("duration", ["auto", "5", "10", "15", "20"], "auto", { label: "Duration" }),
5555
+ // startFrame → keyframe @0 (i2v); endFrame → keyframe @duration×24 (morph).
5556
+ ...params.startFrame("Start Frame"),
5557
+ ...params.endFrame("End Frame"),
5558
+ // referenceImages (ir2v): who/what appears, never shown on screen.
5559
+ ...params.imageInput(10, "Reference Images", false, "reference"),
5560
+ // startVideo (f2v): continue from a clip's final frames.
5561
+ ...params.videoInput("Start Video", "asset", false, 15),
5562
+ // referenceVideo (vr2v): carry subjects into a brand-new clip.
5563
+ ...params.videoInputs(1, "Reference Video", false),
5564
+ ...params.generateAudio(true),
5565
+ ...p.boolean("grounding", true, "Grounding"),
5566
+ ...p.range("seed", 0, 4294967295, 0, { label: "Seed" }),
5567
+ ...p.text("version", { label: "Version", placeholder: "latest" })
5568
+ }
5249
5569
  }
5250
5570
  ]);
5251
5571
 
5572
+ // src/vendors/catalog/flux.payloads.ts
5573
+ var buildFlux3VideoPayload = (input) => {
5574
+ const duration = input.duration && input.duration !== "auto" ? Number(input.duration) : "auto";
5575
+ const keyframes = [];
5576
+ if (input.startFrame) keyframes.push({ imageUrl: input.startFrame, frameIndex: 0 });
5577
+ if (input.endFrame && typeof duration === "number") {
5578
+ keyframes.push({ imageUrl: input.endFrame, frameIndex: duration * 24 });
5579
+ }
5580
+ return {
5581
+ prompt: input.prompt,
5582
+ model: input.model ?? "flux-3-preview-high",
5583
+ aspectRatio: input.aspectRatio ?? "auto",
5584
+ resolution: input.resolution ?? "720p",
5585
+ duration,
5586
+ generateAudio: input.generateAudio ?? true,
5587
+ grounding: input.grounding ?? true,
5588
+ ...keyframes.length ? { keyframes } : {},
5589
+ // referenceImages (ir2v) — reference images that define who/what appears.
5590
+ ...input.imageUrls?.length ? { referenceImages: input.imageUrls } : {},
5591
+ // startVideo (f2v) — continue from a clip's final frames.
5592
+ ...input.videoUrl ? { startVideo: input.videoUrl } : {},
5593
+ // referenceVideo (vr2v) — carry a clip's subjects into a brand-new video.
5594
+ ...input.videoUrls?.length ? { referenceVideo: input.videoUrls[0] } : {},
5595
+ // seed omitted when unset → vendor randomizes.
5596
+ ...input.seed != null ? { seed: input.seed } : {},
5597
+ ...input.version ? { version: input.version } : {}
5598
+ };
5599
+ };
5600
+ registerPayloads(MODELS21, {
5601
+ "flux-3-video": buildFlux3VideoPayload
5602
+ });
5603
+
5252
5604
  // src/vendors/catalog/gemini.ts
5253
5605
  function buildThinkingConfig(ctx) {
5254
5606
  const tc = {};
@@ -5327,7 +5679,7 @@ var thinkingBudgetParam = {
5327
5679
  descriptor: { kind: "range", min: 128, max: 24576, step: 128, default: 128 }
5328
5680
  }
5329
5681
  };
5330
- var { MODELS: MODELS21 } = defineModels("google", [
5682
+ var { MODELS: MODELS22 } = defineModels("google", [
5331
5683
  // ── Image ─────────────────────────────────────────────────────────
5332
5684
  {
5333
5685
  id: "gemini-3.1-flash-image",
@@ -5588,7 +5940,7 @@ var ttsParamConfig = {
5588
5940
  ...params.prompt({ maxLength: 4096 }),
5589
5941
  ...params.voiceId(OPENAI_VOICES, OPENAI_DEFAULT_VOICE_ID)
5590
5942
  };
5591
- var { MODELS: MODELS22 } = defineModels("openai", [
5943
+ var { MODELS: MODELS23 } = defineModels("openai", [
5592
5944
  // ── Image ─────────────────────────────────────────
5593
5945
  {
5594
5946
  id: "gpt-image-2",
@@ -5740,7 +6092,7 @@ var ttsParamConfig2 = (promptMaxLength) => ({
5740
6092
  ...params.prompt({ maxLength: promptMaxLength }),
5741
6093
  ...params.voiceId(ELEVENLABS_VOICES, DEFAULT_VOICE_ID)
5742
6094
  });
5743
- var { MODELS: MODELS23 } = defineModels("elevenlabs", [
6095
+ var { MODELS: MODELS24 } = defineModels("elevenlabs", [
5744
6096
  // ── TTS ───────────────────────────────────────────────────────────
5745
6097
  {
5746
6098
  id: "eleven-v3",
@@ -5942,7 +6294,7 @@ var buildElevenLabsMusicPayload = (input) => ({
5942
6294
  model_id: "music_v2",
5943
6295
  force_instrumental: input.isInstrumental ?? false
5944
6296
  });
5945
- registerPayloads(MODELS23, {
6297
+ registerPayloads(MODELS24, {
5946
6298
  "elevenlabs-music-v2": buildElevenLabsMusicPayload
5947
6299
  });
5948
6300
 
@@ -5964,7 +6316,7 @@ var buildHeyGenVideoAvatarPayload = (ctx) => ({
5964
6316
  var dynamicVoiceConfig = {
5965
6317
  ...params.voiceId([], "", { required: true })
5966
6318
  };
5967
- var { MODELS: MODELS24 } = defineModels("heygen", [
6319
+ var { MODELS: MODELS25 } = defineModels("heygen", [
5968
6320
  // ── Photo Avatar (i2v) ────────────────────────────────────────────
5969
6321
  {
5970
6322
  id: "heygen-talking-photo",
@@ -6036,7 +6388,7 @@ var buildMinimaxMusicPayload = (ctx) => ({
6036
6388
  ...ctx.isInstrumental != null ? { is_instrumental: ctx.isInstrumental } : {},
6037
6389
  ...ctx.outputFormat ? { output_format: ctx.outputFormat } : { output_format: "url" }
6038
6390
  });
6039
- var { MODELS: MODELS25 } = defineModels("minimax", [
6391
+ var { MODELS: MODELS26 } = defineModels("minimax", [
6040
6392
  {
6041
6393
  id: "minimax-02-hd",
6042
6394
  name: "MiniMax 02 HD",
@@ -6117,7 +6469,7 @@ var buildIdeogramV4GeneratePayload = (ctx) => ({
6117
6469
  ...ctx.renderingSpeed ? { rendering_speed: ctx.renderingSpeed } : {},
6118
6470
  ...ctx.enableCopyrightDetection ? { enable_copyright_detection: true } : {}
6119
6471
  });
6120
- var { MODELS: MODELS26 } = defineModels("ideogram", [
6472
+ var { MODELS: MODELS27 } = defineModels("ideogram", [
6121
6473
  {
6122
6474
  id: "ideogram-v4",
6123
6475
  name: "Ideogram 4.0",
@@ -6237,7 +6589,7 @@ var imagenParams = {
6237
6589
  ...params.enhancePrompt(),
6238
6590
  ...params.negativePrompt()
6239
6591
  };
6240
- var { MODELS: MODELS27 } = defineModels("google", [
6592
+ var { MODELS: MODELS28 } = defineModels("google", [
6241
6593
  {
6242
6594
  id: "imagen-4.0",
6243
6595
  name: "Imagen 4.0",
@@ -6294,7 +6646,7 @@ var buildImagenPayload = (modelId) => (
6294
6646
  ...input.negativePrompt ? { negativePrompt: input.negativePrompt } : {}
6295
6647
  })
6296
6648
  );
6297
- registerPayloads(MODELS27, {
6649
+ registerPayloads(MODELS28, {
6298
6650
  "imagen-4.0": buildImagenPayload("imagen-4.0-generate-001"),
6299
6651
  "imagen-4.0-ultra": buildImagenPayload("imagen-4.0-ultra-generate-001"),
6300
6652
  "imagen-4.0-fast": buildImagenPayload("imagen-4.0-fast-generate-001")
@@ -6363,7 +6715,7 @@ var qwenV1Params3 = {
6363
6715
  ...qwenV1Params,
6364
6716
  ...p.enum("promptExtendMode", ["direct", "agent"], "direct")
6365
6717
  };
6366
- var { MODELS: MODELS28 } = defineModels("qwen", [
6718
+ var { MODELS: MODELS29 } = defineModels("qwen", [
6367
6719
  {
6368
6720
  id: "qwen",
6369
6721
  name: "Qwen",
@@ -6511,7 +6863,7 @@ var buildRecraftExploreSimilarPayload = (ctx) => ({
6511
6863
  similarity: ctx.similarity ?? 3,
6512
6864
  ...ctx.aspectRatio ? { size: ctx.aspectRatio } : {}
6513
6865
  });
6514
- var { MODELS: MODELS29 } = defineModels("recraft", [
6866
+ var { MODELS: MODELS30 } = defineModels("recraft", [
6515
6867
  // ── V4.1 family (raster only — vector variants exist in API but not exposed here) ─
6516
6868
  {
6517
6869
  id: "recraftv4_1",
@@ -6977,7 +7329,7 @@ var TOPAZ_VIDEO_MODEL_OPTIONS = [
6977
7329
  "Starlight Fast 1",
6978
7330
  "Starlight Fast 2"
6979
7331
  ];
6980
- var { MODELS: MODELS30 } = defineModels("topaz", [
7332
+ var { MODELS: MODELS31 } = defineModels("topaz", [
6981
7333
  {
6982
7334
  id: "topaz-upscale-image",
6983
7335
  name: "Topaz Image Upscale",
@@ -7028,7 +7380,7 @@ var buildTopazVideoPayload = (input) => ({
7028
7380
  upscale_factor: 2,
7029
7381
  H264_output: false
7030
7382
  });
7031
- registerPayloads(MODELS30, {
7383
+ registerPayloads(MODELS31, {
7032
7384
  "topaz-upscale-image": buildTopazImagePayload,
7033
7385
  "topaz-upscale-video": buildTopazVideoPayload
7034
7386
  });
@@ -7114,7 +7466,7 @@ var buildPcpSanaSprintPayload = (ctx) => {
7114
7466
  height: h
7115
7467
  };
7116
7468
  };
7117
- var { MODELS: MODELS31 } = defineModels("picsart", [
7469
+ var { MODELS: MODELS32 } = defineModels("picsart", [
7118
7470
  {
7119
7471
  id: "picsart-change-bg",
7120
7472
  name: "Picsart Change Background",
@@ -7270,7 +7622,7 @@ var buildLyria3Payload = (apiModelId) => (ctx) => ({
7270
7622
  ...ctx.imageUrls?.length === 1 ? { image: imagePart(ctx.imageUrls[0]) } : {},
7271
7623
  ...(ctx.imageUrls?.length ?? 0) > 1 ? { images: ctx.imageUrls.slice(0, 10).map(imagePart) } : {}
7272
7624
  });
7273
- var { MODELS: MODELS32 } = defineModels("google", [
7625
+ var { MODELS: MODELS33 } = defineModels("google", [
7274
7626
  {
7275
7627
  id: "lyria-3-clip",
7276
7628
  addedAt: "2026-03-26",
@@ -7393,7 +7745,7 @@ var buildHH11R2VPayload = (ctx) => {
7393
7745
  var HH_AR = ["16:9", "9:16", "1:1", "4:3", "3:4"];
7394
7746
  var HH_RES = ["720P", "1080P"];
7395
7747
  var HH_DURATIONS = [5, 10, 15];
7396
- var { MODELS: MODELS33 } = defineModels("happyhorse", [
7748
+ var { MODELS: MODELS34 } = defineModels("happyhorse", [
7397
7749
  {
7398
7750
  id: "happyhorse-1.0-t2v",
7399
7751
  name: "Happy Horse 1.0",
@@ -7538,7 +7890,7 @@ var baseFeatures = [
7538
7890
  feat("Up to 1080p", "resolution"),
7539
7891
  feat("5-15 sec", "duration")
7540
7892
  ];
7541
- var { MODELS: MODELS34 } = defineModels("pixverse", [
7893
+ var { MODELS: MODELS35 } = defineModels("pixverse", [
7542
7894
  // ── V6 ─────────────────────────────────────────────────────────────
7543
7895
  {
7544
7896
  id: "pixverse-v6",
@@ -7656,7 +8008,7 @@ var buildReferenceToVideoPayload = (model) => (input) => ({
7656
8008
  aspect_ratio: input.aspectRatio ?? "16:9",
7657
8009
  image_references: (input.imageUrls ?? []).map((url) => ({ url }))
7658
8010
  });
7659
- registerPayloads(MODELS34, {
8011
+ registerPayloads(MODELS35, {
7660
8012
  "pixverse-v6": buildTextToVideoPayload("v6"),
7661
8013
  "pixverse-v6-image": buildImageToVideoPayload("v6"),
7662
8014
  "pixverse-v6-fusion": buildReferenceToVideoPayload("v6"),
@@ -7666,7 +8018,7 @@ registerPayloads(MODELS34, {
7666
8018
  });
7667
8019
 
7668
8020
  // src/vendors/catalog/async-ai.ts
7669
- var { MODELS: MODELS35 } = defineModels("async", [
8021
+ var { MODELS: MODELS36 } = defineModels("async", [
7670
8022
  {
7671
8023
  id: "async-flash-v1",
7672
8024
  name: "Async Flash v1.0",
@@ -7706,7 +8058,7 @@ var buildAsyncTtsPayload = (input) => {
7706
8058
  }
7707
8059
  };
7708
8060
  };
7709
- registerPayloads(MODELS35, { "async-flash-v1": buildAsyncTtsPayload });
8061
+ registerPayloads(MODELS36, { "async-flash-v1": buildAsyncTtsPayload });
7710
8062
 
7711
8063
  // src/vendors/catalog/llm.ts
7712
8064
  var ADDED = "2026-06-16";
@@ -7828,7 +8180,7 @@ var { MODELS: GEMINI_LLM } = defineModels("google", [
7828
8180
  }
7829
8181
  }
7830
8182
  ]);
7831
- var MODELS36 = [...ANTHROPIC, ...OPENAI_LLM, ...GEMINI_LLM];
8183
+ var MODELS37 = [...ANTHROPIC, ...OPENAI_LLM, ...GEMINI_LLM];
7832
8184
 
7833
8185
  // src/vendors/catalog/llm.payloads.ts
7834
8186
  var CLAUDE_MAX_TOKENS = 8192;
@@ -7879,7 +8231,7 @@ var buildGeminiPayload = (modelId) => (input) => {
7879
8231
  ...level ? { generationConfig: { thinkingConfig: { thinkingLevel: level } } } : {}
7880
8232
  };
7881
8233
  };
7882
- registerPayloads(MODELS36, {
8234
+ registerPayloads(MODELS37, {
7883
8235
  "claude-opus-4-8": buildClaudePayload("claude-opus-4-8"),
7884
8236
  "claude-sonnet-4-6": buildClaudePayload("claude-sonnet-4-6"),
7885
8237
  "claude-haiku-4-5": buildClaudePayload("claude-haiku-4-5"),
@@ -7920,15 +8272,16 @@ var ALL_MODELS = [
7920
8272
  ...MODELS25,
7921
8273
  ...MODELS26,
7922
8274
  ...MODELS27,
7923
- ...MODELS32,
7924
8275
  ...MODELS28,
8276
+ ...MODELS33,
7925
8277
  ...MODELS29,
7926
8278
  ...MODELS30,
7927
8279
  ...MODELS31,
7928
- ...MODELS33,
8280
+ ...MODELS32,
7929
8281
  ...MODELS34,
7930
8282
  ...MODELS35,
7931
- ...MODELS36
8283
+ ...MODELS36,
8284
+ ...MODELS37
7932
8285
  ];
7933
8286
  var getModelsByMode = (mode, includeDisabled = false) => ALL_MODELS.filter((m) => m.mode === mode && (includeDisabled || isVisibleForReleases(m)));
7934
8287
 
@@ -9839,6 +10192,7 @@ var ElevenlabsSfx = "elevenlabs-sfx";
9839
10192
  var Flux2Flex = "flux-2-flex";
9840
10193
  var Flux2Max = "flux-2-max";
9841
10194
  var Flux2Pro = "flux-2-pro";
10195
+ var Flux3Video = "flux-3-video";
9842
10196
  var FluxKontextMax = "flux-kontext-max";
9843
10197
  var FluxKontextPro = "flux-kontext-pro";
9844
10198
  var Gemini25FlashImage = "gemini-2.5-flash-image";
@@ -9976,6 +10330,7 @@ var RunwayGen3aTurbo = "runway-gen3a-turbo";
9976
10330
  var RunwayGen4Aleph = "runway-gen4-aleph";
9977
10331
  var RunwayGen4Ref = "runway-gen4-ref";
9978
10332
  var RunwayGen45 = "runway-gen4.5";
10333
+ var SeedAudio10 = "seed-audio-1.0";
9979
10334
  var Seedance15Pro = "seedance-1.5-pro";
9980
10335
  var Seedance20 = "seedance-2.0";
9981
10336
  var Seedance20Fast = "seedance-2.0-fast";
@@ -10031,6 +10386,7 @@ var Models = {
10031
10386
  Flux2Flex,
10032
10387
  Flux2Max,
10033
10388
  Flux2Pro,
10389
+ Flux3Video,
10034
10390
  FluxKontextMax,
10035
10391
  FluxKontextPro,
10036
10392
  Gemini25FlashImage,
@@ -10168,6 +10524,7 @@ var Models = {
10168
10524
  RunwayGen4Aleph,
10169
10525
  RunwayGen4Ref,
10170
10526
  RunwayGen45,
10527
+ SeedAudio10,
10171
10528
  Seedance15Pro,
10172
10529
  Seedance20,
10173
10530
  Seedance20Fast,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@picsart/ai-sdk",
3
- "version": "3.22.0",
3
+ "version": "3.24.0",
4
4
  "type": "module",
5
5
  "description": "Type-safe SDK for 100+ AI models — image, video, audio, and text generation with Picsart",
6
6
  "license": "MIT",