在火山引擎使用文字转语音功能,通常需要完成四个关键步骤:注册账号并完成实名认证、开通语音合成服务、创建应用并获取 APP ID/Access Key/Secret Key,最后通过 HTTP 或 WebSocket 接口发起调用;如果只是想先试用,网页端也提供了便捷的在线体验入口。

想在火山引擎平台上把文本转换为语音,必须先依次完成账号注册、服务开通、应用创建和凭证获取这四个环节,任何一步缺失,后续所有 API 请求都可能返回 401 鉴权错误。
注册账号并开通语音合成服务
进入火山引擎官网控制台(console.volcengine.com),点击“立即注册”,使用手机号完成账号注册;注册成功后还需要进行实名认证,否则无法继续创建应用;登录控制台后,可在顶部搜索框输入“语音合成”,或按路径进入【产品】→【人工智能与算法】→【智能语音交互】→【语音合成】,然后点击“立即开通”;开通后系统通常会默认提供试用额度,无需提前充值,但要注意试用期结束后如果没有转为正式版,服务会自动停用。
创建应用并获取关键凭证
进入语音合成控制台后,点击左侧菜单【应用管理】→【创建应用】;按提示填写应用名称(例如“客服播报系统”)和应用简介,并勾选“语音合成”能力;创建完成后,在应用列表中点击对应应用名称进入详情页;在【密钥管理】模块中复制以下三项核心信息:【APP ID】、【Access Key】、【Secret Key】;其中 APP ID 和 Access Key 是调用文字转语音接口时常用的鉴权参数,而 Secret Key 只会在首次展示时出现,务必立即妥善保存,页面刷新后将无法再次查看。
Python调用HTTP接口实现文本转语音
方法一:使用 requests 发送 POST 请求(适合单次短文本的语音合成场景)
第一步:安装依赖 → pip install requests
第二步:设置环境变量或临时硬编码凭证(开发调试阶段可以短期硬编码,正式上线前一定要改为环境变量等更安全的方式)
第三步:构造请求体。其中,text 字段必须为 UTF-8 编码的纯文本,最大长度为 1000 个字符。而 voice_type 参数必须从控制台【音色列表】中选择真实有效的值(例如 zh_female_aisjy),如果填写错误就会返回 400 请求错误。此外,format 支持 mp3、wa v、pcm 等音频格式,实际使用中更推荐 mp3,因为文件体积更小、传输更省带宽。
第四步:发送请求 → 在 Authorization 请求头中使用 Bearer+Access Key,接口地址为 https://openspeech.bytedance.com/api/v1/tts;当响应状态码为 200 时表示调用成功,返回的 body 为二进制音频数据,直接写入本地文件后即可播放。
配置流式WebSocket连接(适用于大模型实时交互)
WebSocket 连接地址是固定的,即 wss://openspeech.bytedance.com/api/v3/tts/bidirection,并不支持自动降级到 HTTP。在建立连接前,必须先完成三项配置:第一,需要生成带时间戳的签名,sign 参数要使用 Secret Key 对 timestamp+app_id+nonce 进行 HMAC-SHA256 运算;第二,需要在 header 中将 Authorization 设置为 Bearer+Access Key;第三,需要在首帧 JSON 消息中传入 app_id、token(即 Access Key)、voice_type 等必填参数。如果其中任意字段缺失,或格式不符合要求,服务端通常会在 1 秒内主动关闭连接,并且不返回详细错误信息。实际开发时,建议使用 websockets 库配合 structlog 记录握手日志,这样更便于排查 WebSocket 连接被拒绝的原因。
网页端快速体验(无需代码)
登录火山引擎控制台 → 进入语音合成服务页面 → 找到【功能体验】模块;左侧可选择音色并进行试听,右侧输入框可直接粘贴文本内容(支持中文、英文以及中英混排),还可以调节语速(0.6–1.5)、音量(0–100)和音调(0–100);点击“立即合成”后,页面会自动播放生成的语音,右上角同时会出现下载按钮;导出的 MP3 文件默认命名为 tts_output_时间戳.mp3,无水印,适合用于功能测试、方案演示或快速体验火山引擎文字转语音效果。
