语音合成
语音合成算子将文本或支持的 SSML 合成为语音,默认使用豆包语音合成 2.0。通过同步 Process 接口以 SSE 逐帧返回音频、字幕和合成结束事件,支持配置音色、采样率、语速和音量。
算子介绍
适用场景
核心能力
- 文本与 SSML 语音合成:将完整文本一次提交并合成为指定音色的语音;支持的中英文音色还可使用 SSML,满足普通朗读和需要精细控制的内容生产。
- 支持预置音色与复刻音色:既可使用语音合成 2.0 的预置音色,也可使用已开通的声音复刻 2.0 音色,便于根据角色、内容风格或品牌声音选择合适的音色。
- 支持边合成边处理:通过 SSE 持续返回音频分片,无需等待整段语音全部生成后再获取结果,适合在线播放及需要实时接收音频的生产流程。
- 灵活控制声音和音频规格:支持调节语速、音量、音调及句尾静音;部分音色还支持通过语音指令控制说话风格。输出可选择 MP3、OGG Opus、PCM 或 WAV,并可设置采样率和码率,方便适配不同播放、编辑和存储需求。
- 输出字幕与时间信息:使用支持的资源时,可在合成音频的同时返回字幕及字级时间戳,便于完成字幕生成、音画对齐和后续剪辑。
效果展示
以下示例面向短剧解说场景:使用同一英文旁白和男声音色,通过 SSML 设置戏剧性停顿,并调整语速、音量和音调,生成适合不同剪辑节奏的旁白。四组示例均输出 MP3,并启用字幕时间戳。
支持的地域
输入与输出要求
输入要求
输出要求
计费说明
注意与前提
Rest API 调用
接口说明
通过 POST /api/v1/process 将文本合成为语音。请求头携带 Authorization: Bearer <LAS_API_KEY> 和 Content-Type: application/json,并设置 Accept: text/event-stream。
将 data.stream 设为 true,持续接收音频、字幕和合成结束事件。不传或设为 false 时只返回第一条消息。每条 SSE data: 消息为一个 LAS 响应对象,其 data 字段仍是 JSON 字符串,需要二次解析。
正常消息的 metadata.task_status 均为 RUNNING,包括合成结束消息。客户端应先收到内层 code=20000000,再读到 data: [DONE],以确认流正常结束。若连接提前中断或未收到合成成功结束事件,请将结果视为未完成,并记录 metadata.request_id 以便排查。
请求参数
operator_id string 必选 示例值: las_tts
算子 ID,固定为 las_tts。
operator_version string 必选 示例值: v1
算子版本,固定为 v1。
data tts_data 必选
语音合成参数。
stream boolean Optional 示例值: true
默认 false。设置为 true 才能取得全部音频、字幕和结束事件;不传或为 false 时只返回第一条消息。
resource_id string Optional 示例值: seed-tts-2.0
语音资源 ID,默认 seed-tts-2.0。语音合成使用 seed-tts-2.0,声音复刻使用 seed-icl-2.0。须与 speaker 的音色版本一致。
user tts_user Optional
调用方用户标识;不传则不附加用户信息。
uid string Optional 示例值: user_001
由调用方自定义的用户标识。
req_params tts_req_params 必选
text string 必选 示例值: 欢迎使用语音合成。
待合成文本。长度须满足所选资源限制,超限返回 Tts.TextLimitExceeded。
ssml string Optional
SSML 标记文本,仅支持中英文音色。使用时同时提供 text,并在 additions 中设置 disable_markdown_filter=false。
speaker string 必选 示例值: zh_female_vv_uranus_bigtts
音色 ID,须与 resource_id 及文本语种匹配,可选音色及对应版本见音色列表。未授权或非法音色返回 Tts.SpeakerPermissionDenied。 model string Optional 示例值: seed-tts-2.0-standard
声音复刻 2.0 的模型版本,默认 seed-tts-2.0-standard。设置此项时不能同时配置 additions.context_texts。
audio_params tts_audio_params 必选
输出音频设置;可传空对象 {} 使用默认值。
format string Optional 示例值: mp3
音频格式,默认 mp3。可选 mp3、ogg_opus、pcm、wav;流式播放或拼接音频分片建议使用 mp3 或 pcm,不建议直接拼接 wav 分片。
sample_rate integer Optional 示例值: 24000
采样率,单位 Hz。MP3、PCM、WAV 默认 24000;OGG Opus 仅支持 48000。
bit_rate integer Optional 示例值: 64000
码率,单位 bit/s。MP3 默认 64000;MP3、OGG Opus 可选 64000、160000,启用低码率后可选 16000、32000。
speech_rate integer Optional 示例值: 0
语速,范围 -50~100,默认 0;-50 为 0.5 倍速,100 为 2 倍速。
loudness_rate integer Optional 示例值: 0
音量,范围 -50~100,默认 0;-50 为 0.5 倍音量,100 为 2 倍音量。
enable_subtitle boolean Optional 示例值: true
默认 false。开启后返回字级时间戳,仅支持中文和英文;信息位于 sentence 中。
additions string Optional 示例值: {"silence_duration":500}
扩展设置的合法 JSON 字符串,不能直接传 JSON 对象;不传时使用默认设置。例如 "{\"silence_duration\":500}" 表示在音频末尾增加 500 毫秒静音。
req_params.additions 必须是合法的 JSON 字符串,不能直接传 JSON 对象。以下字段的支持范围以音色和资源版本为准。
返回数据
metadata tts_metadata
请求状态、错误信息与请求 ID。
task_status string 示例值: RUNNING
正常消息中为 RUNNING;收到 code=20000000 并随后收到 [DONE] 时,合成成功完成。
business_code string 示例值: 0
业务状态码,0 表示当前消息无错误;失败时返回对应业务码。
error_msg string
错误说明,成功时为空。
request_id string 示例值: <request-id>
本次请求 ID,用于问题排查。
data string 示例值: {"code":0,"data":"<base64-audio-chunk>"}
内层事件的 JSON 字符串,需要二次解析。code=0 时可同时包含 Base64 音频和 sentence;结束帧为 code=20000000,usage.text_words 是计费字符数。
请求示例
返回示例
实际接口逐帧返回 SSE 消息。以下示例将事件按接收顺序整理为数组,并将每条事件中的 data JSON 字符串解码后展开。
错误码
最近更新时间:2026.10.16 10:27:42