资讯动态

AIRI 接入火山引擎(Volcengine)语音合成:从凭证准备到模块启用的完整配置指南

发布时间:2026/10/16 1:19:43 来源:尧图企业网站定制
人工智能AI AgentMCP 服务工具调用GUI 自动化语音数字人交互助手【免费下载链接】airi 自托管、归你拥有的 Grok 风格 AI 伴侣与 waifu / 赛博生命灵魂容器目标是接近 Neuro-sama 的高度支持实时语音聊天、Minecraft 和 Factorio 游玩支持 Web / macOS / Windows。项目地址https://gitcode.com/moeru-ai/airi点击查看免费下载导读本文围绕 AIRI 的Volcano Engine (TTS)语音合成提供商配置展开完整覆盖火山引擎语音应用的凭证准备、在 AIRI 提供商页面填写 API Key 与 App ID、通过 Playground 验证音色、以及在「语音合成」模块中启用该提供商让普通对话回复发声的全流程。读完本文你将掌握火山引擎 TTS 在 AIRI 中的接入方法、默认网关的信任边界与底层请求链路并能借助仓库源码与测试用例快速定位配置失败和无声问题的原因。火山引擎语音应用凭证准备Volcengine 语音合成在 AIRI 中需要的核心凭证是API Key与App ID两项二者必须来自同一个账号下的同一个语音应用。准备步骤登录火山引擎语音控制台Speech 控制台新建或打开一个语音应用。复制该应用的App ID并在控制台为其创建对应的API Key。核对两项信息是否来自同一账号与同一应用配置——这是后续校验能否通过的前提。如果此前已经在火山引擎创建过语音应用并管理过语音资源这些既有配置可以直接在 AIRI 中复用无需重复开通。⚠️密钥安全不要把 API Key 或 App ID 提交进代码仓库、出现在截图里或分享给任何人。一旦密钥或 ID 泄露应立即在火山引擎控制台作废并重新生成新 Key。在 AIRI 中配置 Volcano Engine 提供商在 AIRI 界面中依次打开设置 → 服务来源Providers→ 语音合成 → Volcano Engine然后填写两项内容API Key火山引擎语音应用的访问令牌。App ID火山引擎语音应用的应用标识。在中文界面中该字段在 i18n 词条中描述为「可在控制台获取的 App ID」提供商名称为「火山引擎」。默认 Base URL 与信任边界配置页中的默认 Base URL 是https://unspeech.hyp3r.link/v1/这是AIRI/UnSpeech 网关而不是火山引擎的直连 API。你的凭证、待合成的文本、模型/音色选择以及返回的音频都会经过该网关转发。这一点在源码中有明确佐证提供商配置的 unspeech 网关 schema中baseUrl默认值即为该网关地址同时火山引擎提供商 schema 在通用 schema 之上额外要求app.appId字段配置校验规则validateUnspeechConfig会同时校验 API Key、Base URL 与 App ID 三者是否齐备。只有在能够接受「第三方网关代为转发凭证与音频」这一信任边界时才建议使用默认网关否则可以填写一个兼容的自托管网关 URL或改用直连火山引擎的其他提供商方案。注意 Base URL 必须以/结尾否则校验会报错。火山引擎特有的配置项火山引擎提供商页面volcengine.vue中除通用字段外还包含配置项说明默认值 / 范围providerId提供商标识volcengine默认模型页面默认选用的 TTS 模型v1speedRatio语速语速倍率写入providerConfig.audio.speedRatio默认1.0范围0.5–2.0步进0.01App ID应用标识存于providers.volcengine.app.appId必填当 API Key、Base URL 或 App ID 任一变化时页面会以 500ms 防抖延迟自动触发「配置校验 拉取音色列表」校验通过后才会加载可用音色。用提供商 Playground 验证配置配置完成后在同一页面的Playground实验平台中即可验证在下拉列表中选择一个可用音色。该页面使用 AIRI 默认的火山引擎语音合成模型前端默认v1。在输入框中输入一段短文本点击合成并确认音频可以正常播放。Playground 的用途是验证凭证与链路它会先通过validateProviderConfig做本地配置校验再调用loadVoicesForProvider从网关拉取音色目录详见 speech store最终调用speechStore.speech()完成合成并返回音频。音色目录由 UnSpeech 侧内置并在服务端按流式兼容音色过滤若配置了具体的 API 资源 ID如seed-tts-2.0还会按compatible_models进一步收敛参见 volcengineAdapter.getVoiceCatalog。让普通 AIRI 回复启用该语音Playground 只能测试凭证是否可用要让 AIRI 的日常对话回复真正开口说话还需要最后一步打开设置 → 模块 → 语音合成在提供商列表中选择Volcano Engine然后选择可用的模型与音色。这一步的模块页面实现在 speech.vue 中它负责把「模块」与「提供商」的选择持久化写入tts_provider_id等配置并在发声时通过getProviderInstance实例化对应提供商后调用其speech()方法。也就是说「提供商」负责定义与校验凭证而「模块」决定 AIRI 回复时实际使用哪个提供商发声二者需要配合完成。底层原理请求如何从 AIRI 流向火山引擎服务端 TTS 适配器注册表服务端将所有 TTS 提供商收敛为「适配器」注册表tts/index.ts当前注册了azure、dashscope-cosyvoice、stepfun、volcengine四个适配器getAdapter(volcengine)即可取出火山引擎适配器未知 ID 会返回 400 以便运维排查配置失同步。volcengineAdapter 的请求构造volcengine.ts 中定义了火山引擎适配器的默认值与请求拼装逻辑参数默认值说明DEFAULT_VOLCENGINE_VOICEBV001_streaming火山引擎标准中文通用流式音色DEFAULT_VOLCENGINE_FORMATmp3默认音频编码与 OpenAI 形态默认一致DEFAULT_VOLCENGINE_CLUSTERvolcano_tts通用托管 TTS 端点对应的集群 ID可用adapterParams.cluster覆盖adapterParams.appid必填火山引擎应用 ID缺失时抛 500请求以 OpenAI 兼容形态发给 UnSpeech 网关/v1/audio/speech核心参数为{ model: volcengine/api_resource_id, voice: BV001_streaming, response_format: mp3, extra_body: { app: { appid: app-id, cluster: volcano_tts }, user: { uid: airi-server }, audio: { speed_ratio: 1.0 }, request: { reqid: uuid, operation: query } } }注意其中的认证细节AIRI 侧发送的是普通Authorization: Bearer token由 UnSpeech 网关在转发到火山引擎上游时改写成火山引擎要求的非标准Bearer; token格式分号紧随 Bearer。另外火山引擎不支持 Voice Pack 的pitch音高与volume音量参数一旦请求携带会立即以 400 拒绝。网关与音频返回链路实际网络请求由 unspeech.ts 中的sendSpeechViaUnSpeech完成它调用 unspeech SDK 的generateSpeechResponse将上游返回的 base64 音频帧解码为二进制ArrayBuffer并附带 MIME 类型返回上游非 2xx 响应会被包装为TtsUpstreamResponseError供路由层执行配置的兜底策略详见 types.ts 中的TtsAdapterContext与TtsResult。流式语音与模型 ID值得留意的是AIRI 的流式语音 WebSocket 通道audio-speech-ws/session.ts目前仅由火山引擎 UnSpeech 适配器支撑其音色目录请求固定拼接providervolcenginemodelresourceId。官方流式语音测试official-provider-speech-streaming.browser.test.ts中使用的模型 ID 为volcengine/seed-tts-2.0Seed TTS 2.0可作为该链路的代表性示例。常见问题排查结合官方文档与 适配器测试用例可归纳出以下排查路径配置校验失败确认 App ID 与 API Key 来自同一个应用同时检查 Base URL 是否以/结尾、API Key 与 App ID 是否都已填写三者缺一不可。合成请求报 500服务端要求adapterParams.appid必填缺失时会直接抛内部错误——请回到提供商配置页确认 App ID 已保存。请求报 400如果请求中携带了pitch或volume参数火山引擎适配器会快速失败并拒绝调用上游因为该提供商不支持音高/音量调节请移除相关 Voice Pack 参数。没有声音输出确认应用已在火山引擎控制台开启语音合成能力且「语音合成」模块中确实选择了火山引擎提供商并选中了具体音色——Playground 试听成功不代表模块已启用。延伸阅读同主题英文版文档docs/content/en/docs/manual/config/providers/speech/volcengine.md火山引擎提供商前端配置页packages/stage-pages/src/pages/settings/providers/speech/volcengine.vue提供商定义与校验规则含 App ID 必填逻辑packages/provider-inference/src/providers/cloud/unspeech/index.ts服务端火山引擎适配器server/apps/api/src/services/adapters/tts/volcengine.tsTTS 适配器注册表与类型契约server/apps/api/src/services/adapters/tts/index.ts、server/apps/api/src/services/adapters/tts/types.ts适配器测试用例server/apps/api/src/services/adapters/tts/index.test.ts同类语音合成提供商文档可横向对比接入方式docs/content/zh-Hans/docs/manual/config/providers/speech/alibaba-cloud-model-studio.md赞分享人工智能AI AgentMCP 服务工具调用GUI 自动化语音数字人交互助手【免费下载链接】airi 自托管、归你拥有的 Grok 风格 AI 伴侣与 waifu / 赛博生命灵魂容器目标是接近 Neuro-sama 的高度支持实时语音聊天、Minecraft 和 Factorio 游玩支持 Web / macOS / Windows。项目地址https://gitcode.com/moeru-ai/airi点击查看免费下载相关推荐AIRI 火山引擎Volcengine语音合成接入指南凭据配置、网关调用链与故障排查AIRI 火山引擎Volcengine语音合成接入指南凭据配置、网关调用链与故障排查 本文是一份面向 AIRI 用户的火山引擎 TTS语音合成接入实操人工智能AI AgentMCP 服务工具调用GUI 自动化语音数字人交互助手后端AIRI 火山引擎Volcengine语音合成配置指南从 App ID 凭据到音色试听全流程AIRI 火山引擎Volcengine语音合成配置指南从 App ID 凭据到音色试听全流程 本篇技术指南以 AIRI 项目中「服务商 → 语音合成 →人工智能AI AgentMCP 服务工具调用GUI 自动化语音数字人交互助手后端DLSS Swapper 完整指南如何升级、降级并回滚游戏中的 DLSS 版本DLSS Swapper 完整指南如何升级、降级并回滚游戏中的 DLSS 版本 某天你发现游戏里新引入的 DLSS 构建出现了画面鬼影而开发组短期内不会发布桌面应用上一篇OptiScaler完整解析打破硬件壁垒的终极游戏性能优化方案下一篇终极图形修复GTAIV.EFLC.FusionFix完整配置指南让GTA4重获新生创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑