diff --git a/packages/i18n/src/locales/en/settings.yaml b/packages/i18n/src/locales/en/settings.yaml
index 6d91d0d04..03d58c011 100644
--- a/packages/i18n/src/locales/en/settings.yaml
+++ b/packages/i18n/src/locales/en/settings.yaml
@@ -1405,6 +1405,20 @@ pages:
description: App ID of the project where you can obtain in Console
label: App ID
title: Volcano Engine
+ volcengine-streaming:
+ title: Volcengine Streaming TTS
+ description: Low-latency Volcengine TTS through the AIRI UnSpeech bridge
+ login-required: Sign in to AIRI so the browser can securely use the WebSocket proxy.
+ config-description: Configure the X-Api-Key from the Volcengine new console. The existing Volcengine V1 provider is unchanged.
+ model-placeholder: Choose a streaming model
+ privacy-title: How your key is used
+ privacy-description: Your key stays in this device's provider settings. For each WSS session, AIRI forwards it in memory only to authenticate UnSpeech and does not store it server-side.
+ preview-text: Hello, this is a preview of Volcengine bidirectional streaming speech synthesis.
+ fields:
+ api-key:
+ label: X-Api-Key
+ description: X-Api-Key from the Volcengine new console. App ID and the old-console Access Key are not supported by this streaming endpoint.
+ placeholder: Enter your X-Api-Key
volcengine-coding-plan:
description: Volcengine Coding Plan
title: Volcengine Coding Plan
diff --git a/packages/i18n/src/locales/es/settings.yaml b/packages/i18n/src/locales/es/settings.yaml
index 5956a172f..5d69d9a16 100644
--- a/packages/i18n/src/locales/es/settings.yaml
+++ b/packages/i18n/src/locales/es/settings.yaml
@@ -1350,6 +1350,20 @@ pages:
description: ID de App del proyecto que puedes obtener en la Consola
label: ID de App
title: Volcano Engine
+ volcengine-streaming:
+ title: Volcengine Streaming TTS
+ description: Low-latency Volcengine TTS through the AIRI UnSpeech bridge
+ login-required: Sign in to AIRI so the browser can securely use the WebSocket proxy.
+ config-description: Configure the X-Api-Key from the Volcengine new console. The existing Volcengine V1 provider is unchanged.
+ model-placeholder: Choose a streaming model
+ privacy-title: How your key is used
+ privacy-description: Your key stays in this device's provider settings. AIRI only forwards it in memory for each WSS session and does not store it server-side.
+ preview-text: Hello, this is a preview of Volcengine bidirectional streaming speech synthesis.
+ fields:
+ api-key:
+ label: X-Api-Key
+ description: X-Api-Key from the Volcengine new console. App ID and old-console Access Key are not supported.
+ placeholder: Enter your X-Api-Key
volcengine-coding-plan:
description: Plan de Codificación Volcengine
title: Plan de Codificación Volcengine
diff --git a/packages/i18n/src/locales/fr/settings.yaml b/packages/i18n/src/locales/fr/settings.yaml
index 94461ada4..75731a6d2 100644
--- a/packages/i18n/src/locales/fr/settings.yaml
+++ b/packages/i18n/src/locales/fr/settings.yaml
@@ -1350,6 +1350,20 @@ pages:
description: ID de l’application du projet, que vous pouvez obtenir dans la Console
label: ID de l’application
title: Volcano Engine
+ volcengine-streaming:
+ title: Volcengine Streaming TTS
+ description: Low-latency Volcengine TTS through the AIRI UnSpeech bridge
+ login-required: Sign in to AIRI so the browser can securely use the WebSocket proxy.
+ config-description: Configure the X-Api-Key from the Volcengine new console. The existing Volcengine V1 provider is unchanged.
+ model-placeholder: Choose a streaming model
+ privacy-title: How your key is used
+ privacy-description: Your key stays in this device's provider settings. AIRI only forwards it in memory for each WSS session and does not store it server-side.
+ preview-text: Hello, this is a preview of Volcengine bidirectional streaming speech synthesis.
+ fields:
+ api-key:
+ label: X-Api-Key
+ description: X-Api-Key from the Volcengine new console. App ID and old-console Access Key are not supported.
+ placeholder: Enter your X-Api-Key
volcengine-coding-plan:
description: Volcengine Coding Plan
title: Volcengine Coding Plan
diff --git a/packages/i18n/src/locales/ja/settings.yaml b/packages/i18n/src/locales/ja/settings.yaml
index f0a0502c3..27704f45e 100644
--- a/packages/i18n/src/locales/ja/settings.yaml
+++ b/packages/i18n/src/locales/ja/settings.yaml
@@ -1350,6 +1350,20 @@ pages:
description: コンソールで取得できるプロジェクトのApp ID
label: App ID
title: Volcano Engine
+ volcengine-streaming:
+ title: Volcengine Streaming TTS
+ description: Low-latency Volcengine TTS through the AIRI UnSpeech bridge
+ login-required: Sign in to AIRI so the browser can securely use the WebSocket proxy.
+ config-description: Configure the X-Api-Key from the Volcengine new console. The existing Volcengine V1 provider is unchanged.
+ model-placeholder: Choose a streaming model
+ privacy-title: How your key is used
+ privacy-description: Your key stays in this device's provider settings. AIRI only forwards it in memory for each WSS session and does not store it server-side.
+ preview-text: Hello, this is a preview of Volcengine bidirectional streaming speech synthesis.
+ fields:
+ api-key:
+ label: X-Api-Key
+ description: X-Api-Key from the Volcengine new console. App ID and old-console Access Key are not supported.
+ placeholder: Enter your X-Api-Key
volcengine-coding-plan:
description: Volcengine Coding Plan
title: Volcengine Coding Plan
diff --git a/packages/i18n/src/locales/ko/settings.yaml b/packages/i18n/src/locales/ko/settings.yaml
index 4e9f88d6a..cf25599a3 100644
--- a/packages/i18n/src/locales/ko/settings.yaml
+++ b/packages/i18n/src/locales/ko/settings.yaml
@@ -1350,6 +1350,20 @@ pages:
description: 콘솔에서 얻을 수 있는 프로젝트의 애플리케이션 ID
label: 애플리케이션 ID
title: Volcano 엔진
+ volcengine-streaming:
+ title: Volcengine Streaming TTS
+ description: Low-latency Volcengine TTS through the AIRI UnSpeech bridge
+ login-required: Sign in to AIRI so the browser can securely use the WebSocket proxy.
+ config-description: Configure the X-Api-Key from the Volcengine new console. The existing Volcengine V1 provider is unchanged.
+ model-placeholder: Choose a streaming model
+ privacy-title: How your key is used
+ privacy-description: Your key stays in this device's provider settings. AIRI only forwards it in memory for each WSS session and does not store it server-side.
+ preview-text: Hello, this is a preview of Volcengine bidirectional streaming speech synthesis.
+ fields:
+ api-key:
+ label: X-Api-Key
+ description: X-Api-Key from the Volcengine new console. App ID and old-console Access Key are not supported.
+ placeholder: Enter your X-Api-Key
volcengine-coding-plan:
description: Volcengine Coding Plan
title: Volcengine Coding Plan
diff --git a/packages/i18n/src/locales/ru/settings.yaml b/packages/i18n/src/locales/ru/settings.yaml
index 42a71d2ad..3e851c072 100644
--- a/packages/i18n/src/locales/ru/settings.yaml
+++ b/packages/i18n/src/locales/ru/settings.yaml
@@ -1350,6 +1350,20 @@ pages:
description: App ID проекта (получается в Console)
label: Идентификатор приложения (App ID)
title: Volcano Engine
+ volcengine-streaming:
+ title: Volcengine Streaming TTS
+ description: Low-latency Volcengine TTS through the AIRI UnSpeech bridge
+ login-required: Sign in to AIRI so the browser can securely use the WebSocket proxy.
+ config-description: Configure the X-Api-Key from the Volcengine new console. The existing Volcengine V1 provider is unchanged.
+ model-placeholder: Choose a streaming model
+ privacy-title: How your key is used
+ privacy-description: Your key stays in this device's provider settings. AIRI only forwards it in memory for each WSS session and does not store it server-side.
+ preview-text: Hello, this is a preview of Volcengine bidirectional streaming speech synthesis.
+ fields:
+ api-key:
+ label: X-Api-Key
+ description: X-Api-Key from the Volcengine new console. App ID and old-console Access Key are not supported.
+ placeholder: Enter your X-Api-Key
volcengine-coding-plan:
description: План кодирования Volcengine
title: План кодирования Volcengine
diff --git a/packages/i18n/src/locales/vi/settings.yaml b/packages/i18n/src/locales/vi/settings.yaml
index 614d35049..329f42bf7 100644
--- a/packages/i18n/src/locales/vi/settings.yaml
+++ b/packages/i18n/src/locales/vi/settings.yaml
@@ -1350,6 +1350,20 @@ pages:
description: App ID của dự án (lấy trong Console)
label: App ID
title: Volcano Engine
+ volcengine-streaming:
+ title: Volcengine Streaming TTS
+ description: Low-latency Volcengine TTS through the AIRI UnSpeech bridge
+ login-required: Sign in to AIRI so the browser can securely use the WebSocket proxy.
+ config-description: Configure the X-Api-Key from the Volcengine new console. The existing Volcengine V1 provider is unchanged.
+ model-placeholder: Choose a streaming model
+ privacy-title: How your key is used
+ privacy-description: Your key stays in this device's provider settings. AIRI only forwards it in memory for each WSS session and does not store it server-side.
+ preview-text: Hello, this is a preview of Volcengine bidirectional streaming speech synthesis.
+ fields:
+ api-key:
+ label: X-Api-Key
+ description: X-Api-Key from the Volcengine new console. App ID and old-console Access Key are not supported.
+ placeholder: Enter your X-Api-Key
volcengine-coding-plan:
description: Volcengine Coding Plan
title: Volcengine Coding Plan
diff --git a/packages/i18n/src/locales/zh-Hans/settings.yaml b/packages/i18n/src/locales/zh-Hans/settings.yaml
index ec236e14a..396c47d3f 100644
--- a/packages/i18n/src/locales/zh-Hans/settings.yaml
+++ b/packages/i18n/src/locales/zh-Hans/settings.yaml
@@ -1350,6 +1350,20 @@ pages:
description: 可在控制台获取的 App ID
label: App ID
title: 火山引擎
+ volcengine-streaming:
+ title: 火山引擎(双向流式 TTS)
+ description: 通过 AIRI UnSpeech 代理使用低延迟火山引擎语音合成
+ login-required: 请先登录 AIRI,以便浏览器安全使用 WebSocket 代理。
+ config-description: 配置火山引擎新控制台的 X-Api-Key。现有火山引擎 V1 提供商不会受到影响。
+ model-placeholder: 选择流式模型
+ privacy-title: 密钥使用方式
+ privacy-description: 密钥保存在当前设备的提供商设置中。每次 WSS 会话中,AIRI 仅在内存中转发密钥用于 UnSpeech 鉴权,不会在服务端持久化。
+ preview-text: 你好,这是火山引擎双向流式语音合成的试听样例。
+ fields:
+ api-key:
+ label: X-Api-Key
+ description: 火山引擎新控制台提供的 X-Api-Key。此流式接口不支持 App ID 与旧控制台 Access Key。
+ placeholder: 输入 X-Api-Key
volcengine-coding-plan:
description: 火山引擎 Coding Plan
title: 火山引擎 Coding Plan
diff --git a/packages/i18n/src/locales/zh-Hant/settings.yaml b/packages/i18n/src/locales/zh-Hant/settings.yaml
index 2e36c952e..f54d21140 100644
--- a/packages/i18n/src/locales/zh-Hant/settings.yaml
+++ b/packages/i18n/src/locales/zh-Hant/settings.yaml
@@ -1350,6 +1350,20 @@ pages:
description: 可在控制台取得的 App ID
label: 應用程式 ID
title: 火山引擎
+ volcengine-streaming:
+ title: 火山引擎(雙向串流 TTS)
+ description: 透過 AIRI UnSpeech 代理使用低延遲火山引擎語音合成
+ login-required: 請先登入 AIRI,讓瀏覽器安全使用 WebSocket 代理。
+ config-description: 設定火山引擎新控制台的 X-Api-Key。現有火山引擎 V1 提供商不受影響。
+ model-placeholder: 選擇串流模型
+ privacy-title: 金鑰使用方式
+ privacy-description: 金鑰保存在目前裝置的提供商設定中。每次 WSS 工作階段中,AIRI 僅在記憶體轉發金鑰供 UnSpeech 驗證,不會儲存在伺服器。
+ preview-text: 你好,這是火山引擎雙向串流語音合成的試聽範例。
+ fields:
+ api-key:
+ label: X-Api-Key
+ description: 火山引擎新控制台提供的 X-Api-Key。此串流介面不支援 App ID 與舊控制台 Access Key。
+ placeholder: 輸入 X-Api-Key
volcengine-coding-plan:
description: Volcengine Coding Plan
title: Volcengine Coding Plan
diff --git a/packages/stage-pages/src/pages/settings/providers/speech/official-provider-speech-streaming.vue b/packages/stage-pages/src/pages/settings/providers/speech/official-provider-speech-streaming.vue
index 4d5cf617b..a3f3a002e 100644
--- a/packages/stage-pages/src/pages/settings/providers/speech/official-provider-speech-streaming.vue
+++ b/packages/stage-pages/src/pages/settings/providers/speech/official-provider-speech-streaming.vue
@@ -97,6 +97,10 @@ async function handleGenerateSpeech(input: string, voiceId: string, _useSSML: bo
throw new Error(`Streaming model id missing backend prefix: ${requestedModel}`)
const apiResourceId = requestedModel.slice(slashIndex + 1)
const result = await streamingSynthesize({
+ connection: {
+ credentialMode: 'official',
+ providerId,
+ },
model: requestedModel,
voice: voiceId,
input,
diff --git a/packages/stage-pages/src/pages/settings/providers/speech/volcengine-streaming.vue b/packages/stage-pages/src/pages/settings/providers/speech/volcengine-streaming.vue
new file mode 100644
index 000000000..06bbd5c27
--- /dev/null
+++ b/packages/stage-pages/src/pages/settings/providers/speech/volcengine-streaming.vue
@@ -0,0 +1,187 @@
+
+
+
+
+