vargai 0.4.0-alpha60 → 0.4.0-alpha61

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/package.json CHANGED
@@ -70,7 +70,7 @@
70
70
  "zod": "^4.2.1"
71
71
  },
72
72
  "sideEffects": false,
73
- "version": "0.4.0-alpha60",
73
+ "version": "0.4.0-alpha61",
74
74
  "exports": {
75
75
  ".": "./src/index.ts",
76
76
  "./ai": "./src/ai-sdk/index.ts",
@@ -642,9 +642,13 @@ export function getTitleFilter(
642
642
  ? `:fontfile='${escapeDrawText(layer.fontPath)}'`
643
643
  : "";
644
644
  const fontFamily = layer.fontFamily ? `:font='${layer.fontFamily}'` : "";
645
+ const border =
646
+ layer.outline != null
647
+ ? `:borderw=${layer.outline}:bordercolor=${layer.outlineColor ?? "black"}`
648
+ : "";
645
649
  const enable = getEnableExpr(layer.start, layer.stop, clipDuration ?? 9999);
646
650
 
647
- return `[${baseLabel}]drawtext=text='${text}':fontsize=${fontSize}:fontcolor=${color}:x=${x}:y=${y}${fontFile}${fontFamily}${enable}`;
651
+ return `[${baseLabel}]drawtext=text='${text}':fontsize=${fontSize}:fontcolor=${color}:x=${x}:y=${y}${border}${fontFile}${fontFamily}${enable}`;
648
652
  }
649
653
 
650
654
  export function getSubtitleFilter(
@@ -87,6 +87,8 @@ export interface TextLayer extends BaseLayer {
87
87
  textColor?: string;
88
88
  fontPath?: string;
89
89
  fontFamily?: string;
90
+ outline?: number;
91
+ outlineColor?: string;
90
92
  }
91
93
 
92
94
  /**
@@ -14,7 +14,8 @@ import type { MusicModelV3, MusicModelV3CallOptions } from "../music-model";
14
14
  const VOICES: Record<string, string> = {
15
15
  rachel: "21m00Tcm4TlvDq8ikWAM",
16
16
  domi: "AZnzlk1XvdvUeBnXmlld",
17
- bella: "EXAVITQu4vr4xnSDxMaL",
17
+ sarah: "EXAVITQu4vr4xnSDxMaL",
18
+ bella: "EXAVITQu4vr4xnSDxMaL", // alias — ElevenLabs calls this voice "Sarah"
18
19
  antoni: "ErXwobaYiN019PkySvjV",
19
20
  elli: "MF3mGyEYCl7XYWbV9V6O",
20
21
  josh: "TxGEqnHWrfWFTfGW9XjX",
@@ -24,9 +25,14 @@ const VOICES: Record<string, string> = {
24
25
  };
25
26
 
26
27
  const TTS_MODELS: Record<string, string> = {
28
+ // First-class model IDs (pass directly to ElevenLabs API)
27
29
  eleven_multilingual_v2: "eleven_multilingual_v2",
30
+ eleven_v3: "eleven_v3",
28
31
  eleven_turbo_v2: "eleven_turbo_v2",
29
- eleven_monolingual_v1: "eleven_monolingual_v1",
32
+ eleven_turbo_v2_5: "eleven_turbo_v2_5",
33
+ eleven_flash_v2: "eleven_flash_v2",
34
+ eleven_flash_v2_5: "eleven_flash_v2_5",
35
+ // Legacy aliases
30
36
  multilingual_v2: "eleven_multilingual_v2",
31
37
  turbo_v2: "eleven_turbo_v2",
32
38
  turbo: "eleven_turbo_v2",
@@ -25,9 +25,12 @@ export type Resolution = z.infer<typeof resolutionSchema>;
25
25
  export const voiceNameSchema = z.enum([
26
26
  "rachel",
27
27
  "domi",
28
- "bella",
28
+ "sarah",
29
+ "bella", // alias for sarah
29
30
  "antoni",
31
+ "elli",
30
32
  "josh",
33
+ "arnold",
31
34
  "adam",
32
35
  "sam",
33
36
  ]);
@@ -63,8 +66,11 @@ export type SoulQuality = z.infer<typeof soulQualitySchema>;
63
66
  // ElevenLabs TTS model IDs
64
67
  export const elevenLabsModelSchema = z.enum([
65
68
  "eleven_multilingual_v2",
66
- "eleven_monolingual_v1",
69
+ "eleven_v3",
67
70
  "eleven_turbo_v2",
71
+ "eleven_turbo_v2_5",
72
+ "eleven_flash_v2",
73
+ "eleven_flash_v2_5",
68
74
  ]);
69
75
  export type ElevenLabsModel = z.infer<typeof elevenLabsModelSchema>;
70
76
 
@@ -190,7 +190,8 @@ export class ElevenLabsProvider extends BaseProvider {
190
190
  export const VOICES = {
191
191
  RACHEL: "21m00Tcm4TlvDq8ikWAM",
192
192
  DOMI: "AZnzlk1XvdvUeBnXmlld",
193
- BELLA: "EXAVITQu4vr4xnSDxMaL",
193
+ SARAH: "EXAVITQu4vr4xnSDxMaL",
194
+ BELLA: "EXAVITQu4vr4xnSDxMaL", // alias — ElevenLabs calls this voice "Sarah"
194
195
  ANTONI: "ErXwobaYiN019PkySvjV",
195
196
  ELLI: "MF3mGyEYCl7XYWbV9V6O",
196
197
  JOSH: "TxGEqnHWrfWFTfGW9XjX",
@@ -30,7 +30,7 @@ export async function renderSpeech(
30
30
  const { audio } = await generateSpeech({
31
31
  model,
32
32
  text,
33
- voice: props.voice ?? "adam",
33
+ voice: props.voice ?? "rachel",
34
34
  cacheKey,
35
35
  } as Parameters<typeof generateSpeech>[0]);
36
36
 
@@ -11,6 +11,8 @@ export function renderTitle(element: VargElement<"title">): TitleLayer {
11
11
  text,
12
12
  textColor: props.color,
13
13
  position: props.position,
14
+ outline: props.outline,
15
+ outlineColor: props.outlineColor,
14
16
  start: props.start,
15
17
  stop: props.end,
16
18
  };
@@ -158,6 +158,8 @@ export interface TalkingHeadProps extends BaseProps {
158
158
  export interface TitleProps extends BaseProps {
159
159
  position?: Position;
160
160
  color?: string;
161
+ outline?: number;
162
+ outlineColor?: string;
161
163
  start?: number;
162
164
  end?: number;
163
165
  children?: string;