





















@@ -83,6 +83,13 @@ function normalizeVoiceSetting(value: unknown, min: number, max: number): number
8383return number !== undefined && number >= min && number <= max ? number : undefined;
8484}
858586+function normalizeElevenLabsSeed(value: unknown): number | undefined {
87+const seed = asFiniteNumber(value);
88+return seed !== undefined && Number.isSafeInteger(seed) && seed >= 0 && seed <= 4_294_967_295
89+ ? seed
90+ : undefined;
91+}
92+8693function normalizeVoiceSettings(
8794rawVoiceSettings: Record<string, unknown> | undefined,
8895): Partial<ElevenLabsProviderConfig["voiceSettings"]> {
@@ -119,7 +126,7 @@ function normalizeElevenLabsProviderConfig(
119126baseUrl: normalizeElevenLabsBaseUrl(trimToUndefined(raw?.baseUrl)),
120127voiceId: trimToUndefined(raw?.voiceId) ?? DEFAULT_ELEVENLABS_VOICE_ID,
121128modelId: trimToUndefined(raw?.modelId) ?? DEFAULT_ELEVENLABS_MODEL_ID,
122-seed: asFiniteNumber(raw?.seed),
129+seed: normalizeElevenLabsSeed(raw?.seed),
123130applyTextNormalization: trimToUndefined(raw?.applyTextNormalization) as
124131| "auto"
125132| "on"
@@ -141,7 +148,7 @@ function readElevenLabsProviderConfig(config: SpeechProviderConfig): ElevenLabsP
141148baseUrl: normalizeElevenLabsBaseUrl(trimToUndefined(config.baseUrl) ?? defaults.baseUrl),
142149voiceId: trimToUndefined(config.voiceId) ?? defaults.voiceId,
143150modelId: trimToUndefined(config.modelId) ?? defaults.modelId,
144-seed: asFiniteNumber(config.seed) ?? defaults.seed,
151+seed: normalizeElevenLabsSeed(config.seed) ?? defaults.seed,
145152applyTextNormalization:
146153(trimToUndefined(config.applyTextNormalization) as "auto" | "on" | "off" | undefined) ??
147154defaults.applyTextNormalization,
@@ -389,9 +396,9 @@ export function buildElevenLabsSpeechProvider(): SpeechProviderPlugin {
389396 ...(trimToUndefined(talkProviderConfig.modelId) == null
390397 ? {}
391398 : { modelId: trimToUndefined(talkProviderConfig.modelId) }),
392- ...(asFiniteNumber(talkProviderConfig.seed) == null
399+ ...(normalizeElevenLabsSeed(talkProviderConfig.seed) == null
393400 ? {}
394- : { seed: asFiniteNumber(talkProviderConfig.seed) }),
401+ : { seed: normalizeElevenLabsSeed(talkProviderConfig.seed) }),
395402 ...(trimToUndefined(talkProviderConfig.applyTextNormalization) == null
396403 ? {}
397404 : {
@@ -441,7 +448,9 @@ export function buildElevenLabsSpeechProvider(): SpeechProviderPlugin {
441448 ...(trimToUndefined(params.outputFormat) == null
442449 ? {}
443450 : { outputFormat: trimToUndefined(params.outputFormat) }),
444- ...(asFiniteNumber(params.seed) == null ? {} : { seed: asFiniteNumber(params.seed) }),
451+ ...(normalizeElevenLabsSeed(params.seed) == null
452+ ? {}
453+ : { seed: normalizeElevenLabsSeed(params.seed) }),
445454 ...(normalize == null
446455 ? {}
447456 : { applyTextNormalization: normalizeApplyTextNormalization(normalize) }),
@@ -492,7 +501,7 @@ export function buildElevenLabsSpeechProvider(): SpeechProviderPlugin {
492501voiceId: trimToUndefined(overrides.voiceId) ?? config.voiceId,
493502modelId: trimToUndefined(overrides.modelId) ?? config.modelId,
494503 outputFormat,
495-seed: asFiniteNumber(overrides.seed) ?? config.seed,
504+seed: normalizeElevenLabsSeed(overrides.seed) ?? config.seed,
496505applyTextNormalization:
497506(trimToUndefined(overrides.applyTextNormalization) as
498507| "auto"
@@ -530,7 +539,7 @@ export function buildElevenLabsSpeechProvider(): SpeechProviderPlugin {
530539voiceId: trimToUndefined(overrides.voiceId) ?? config.voiceId,
531540modelId: trimToUndefined(overrides.modelId) ?? config.modelId,
532541 outputFormat,
533-seed: asFiniteNumber(overrides.seed) ?? config.seed,
542+seed: normalizeElevenLabsSeed(overrides.seed) ?? config.seed,
534543applyTextNormalization:
535544(trimToUndefined(overrides.applyTextNormalization) as
536545| "auto"
@@ -567,7 +576,7 @@ export function buildElevenLabsSpeechProvider(): SpeechProviderPlugin {
567576voiceId: trimToUndefined(overrides.voiceId) ?? config.voiceId,
568577modelId: trimToUndefined(overrides.modelId) ?? config.modelId,
569578 outputFormat,
570-seed: asFiniteNumber(overrides.seed) ?? config.seed,
579+seed: normalizeElevenLabsSeed(overrides.seed) ?? config.seed,
571580applyTextNormalization:
572581(trimToUndefined(overrides.applyTextNormalization) as
573582| "auto"
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。