diff --git a/packages/stage-ui/src/stores/providers.ts b/packages/stage-ui/src/stores/providers.ts index 8534da216..9b6a7244d 100644 --- a/packages/stage-ui/src/stores/providers.ts +++ b/packages/stage-ui/src/stores/providers.ts @@ -10,6 +10,7 @@ import type { } from '@xsai-ext/providers/utils' import type { ProgressInfo } from '@xsai-transformers/shared/types' import type { + ListVoicesOptions, UnAlibabaCloudOptions, UnDeepgramOptions, UnElevenLabsOptions, @@ -70,6 +71,11 @@ const ALIYUN_NLS_REGIONS = [ type AliyunNlsRegion = typeof ALIYUN_NLS_REGIONS[number] +function toListVoicesOptions(provider: VoiceProviderWithExtraOptions, options?: T): ListVoicesOptions { + const { fetch: _fetch, ...voiceOptions } = provider.voice(options) + return voiceOptions +} + export interface ProviderMetadata { id: string order?: number @@ -949,9 +955,7 @@ export const useProvidersStore = defineStore('providers', () => { listVoices: async (config) => { const provider = createUnElevenLabs((config.apiKey as string).trim(), (config.baseUrl as string).trim()) as VoiceProviderWithExtraOptions - const voices = await listVoices({ - ...provider.voice(), - }) + const voices = await listVoices(toListVoicesOptions(provider)) if (!voices || !Array.isArray(voices)) { return [] @@ -1054,9 +1058,7 @@ export const useProvidersStore = defineStore('providers', () => { listVoices: async (config) => { const provider = createUnDeepgram((config.apiKey as string).trim(), (config.baseUrl as string).trim()) as VoiceProviderWithExtraOptions - const voices = await listVoices({ - ...provider.voice(), - }) + const voices = await listVoices(toListVoicesOptions(provider)) return voices.map((voice) => { return { @@ -1120,9 +1122,7 @@ export const useProvidersStore = defineStore('providers', () => { listVoices: async (config) => { const provider = createUnMicrosoft((config.apiKey as string).trim(), (config.baseUrl as string).trim()) as VoiceProviderWithExtraOptions - const voices = await listVoices({ - ...provider.voice({ region: config.region as string }), - }) + const voices = await listVoices(toListVoicesOptions(provider, { region: config.region as string })) return voices.map((voice) => { return { @@ -1266,9 +1266,7 @@ export const useProvidersStore = defineStore('providers', () => { listVoices: async (config) => { const provider = createUnAlibabaCloud((config.apiKey as string).trim(), (config.baseUrl as string).trim()) as VoiceProviderWithExtraOptions - const voices = await listVoices({ - ...provider.voice(), - }) + const voices = await listVoices(toListVoicesOptions(provider)) return voices.map((voice) => { return { @@ -1341,9 +1339,7 @@ export const useProvidersStore = defineStore('providers', () => { listVoices: async (config) => { const provider = createUnVolcengine((config.apiKey as string).trim(), (config.baseUrl as string).trim()) as VoiceProviderWithExtraOptions - const voices = await listVoices({ - ...provider.voice(), - }) + const voices = await listVoices(toListVoicesOptions(provider)) return voices.map((voice) => { return {