必须通过ListAITranslationSpeech接口查询音色ID,预设音色直接传ID,自定义音色需同时传speaker_id="custom_speaker_id"和custom_speaker_id字段,且状态须为“可用”。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在火山引擎TTS服务中准确选用符合场景需求的AI音色,必须区分预设音色调用、自定义音色训练与音色设计三大路径,不能直接在控制台界面点选就完事——错误的音色ID或未完成鉴权会导致合成请求直接返回400错误。
查可用音色列表(含预设+自建)
调用ListAITranslationSpeech接口获取当前账号下全部可选音色,这是唯一权威来源,控制台UI展示可能滞后或不全。
构造GET请求:https://vod.volcengineapi.com?Action=ListAITranslationSpeech&Version=2025-01-01&SpaceName=your_space_name&SpeechTypeFilter=Preset,User&Language=zh
注意:SpaceName必须是你在视频点播控制台创建的真实空间名,【填错将返回空列表】;SpeechTypeFilter若只传Preset,则查不到你训练好的自建音色。
响应体中每个音色对象含id、name、language、type字段,其中id字段才是TTS合成时真正要传的speaker_id值。
调用预设音色(免训练,开箱即用)
方法一:直接使用官方音色ID(推荐新手)
从VOICE_PROFILES字典里选一个,比如四川话对应zh_male_sichuan_xiaoming_bigtts,把它作为speaker_id参数值传入TTS合成接口即可。
方法二:用音色名称模糊匹配(需自行解析ListAITranslationSpeech返回)
遍历接口返回结果,筛选name字段含“四川”且type为Preset的项,取其id字段。这一步容易漏掉带版本后缀的音色(如_xxx_v2),导致调用失败。
方法三:在控制台能力体验页试听后复制ID(仅限调试)
进入豆包语音控制台→能力体验→输入文本→播放任意音色→打开浏览器开发者工具→抓Network中tts/synthesis请求→查看POST body里的speaker_id字段。该ID真实有效,但【不可用于生产环境批量调用,因无权限校验】。
启用自定义音色(需提前训练)
第一步:确认音色已训练完成且状态为“可用”
登录火山引擎控制台→豆包语音→声音复刻→查看目标custom_speaker_id对应任务的状态。若显示“处理中”或“失败”,此时调用必报错。
第二步:严格按格式组装speaker_id与custom_speaker_id
请求体JSON中必须同时存在两个字段:speaker_id固定填"custom_speaker_id"字符串,custom_speaker_id填你训练时设定的合法ID(如my_sichuan_voice_01)。
第三步:首次合成即扣费,务必先试听
在正式业务流中调用前,先用极短文本(如“你好”)发起一次合成请求,拿到audio返回后立即播放验证音色效果。一旦合成成功,系统立刻收取音色槽位费,【无法退款,也无法撤回】。











