You need to enable JavaScript to run this app.
文档中心
AI 数据湖服务

AI 数据湖服务

复制全文
下载 pdf
音频生成
语音合成
复制全文
下载 pdf
语音合成
语音合成算子将文本或支持的 SSML 合成为语音,默认使用豆包语音合成 2.0。通过同步 Process 接口以 SSE 逐帧返回音频、字幕和合成结束事件,支持配置音色、采样率、语速和音量。​
算子介绍​
Operator ID: las_tts​
适用场景​
  • 短剧旁白、视频配音、课程音频和客服播报。​
  • 需要在合成过程中持续接收并播放音频的在线服务。​
  • 需要同步获取字级字幕与时间戳的音视频生产流程。​
核心能力​
  • 文本与 SSML 语音合成:将完整文本一次提交并合成为指定音色的语音;支持的中英文音色还可使用 SSML,满足普通朗读和需要精细控制的内容生产。​
  • 支持预置音色与复刻音色:既可使用语音合成 2.0 的预置音色,也可使用已开通的声音复刻 2.0 音色,便于根据角色、内容风格或品牌声音选择合适的音色。​
  • 支持边合成边处理:通过 SSE 持续返回音频分片,无需等待整段语音全部生成后再获取结果,适合在线播放及需要实时接收音频的生产流程。​
  • 灵活控制声音和音频规格:支持调节语速、音量、音调及句尾静音;部分音色还支持通过语音指令控制说话风格。输出可选择 MP3、OGG Opus、PCM 或 WAV,并可设置采样率和码率,方便适配不同播放、编辑和存储需求。​
  • 输出字幕与时间信息:使用支持的资源时,可在合成音频的同时返回字幕及字级时间戳,便于完成字幕生成、音画对齐和后续剪辑。​
效果展示​
以下示例面向短剧解说场景:使用同一英文旁白和男声音色,通过 SSML 设置戏剧性停顿,并调整语速、音量和音调,生成适合不同剪辑节奏的旁白。四组示例均输出 MP3,并启用字幕时间戳。​
  • 实际输入的 SSML 文本​
  • ​
    <speak>​
    Last night, the Sterling mansion went dark for exactly nine minutes.​
    <break time="700ms"/>​
    When the lights came back, the family heirloom was gone, and every security camera had been wiped clean.​
    <break time="900ms"/>​
    Emily was the only one who stayed in the east wing.​
    <break time="500ms"/>​
    She said she heard footsteps behind the locked gallery door, then a voice whispering her name.​
    <break time="800ms"/>​
    But the old butler noticed something no one else did.​
    <break time="600ms"/>​
    The broken window was staged from the inside, and the muddy footprints led back into the house.​
    <break time="900ms"/>​
    Now, as the family gathers for the reading of the will, Emily must decide whether to expose the truth, or protect the person who betrayed her first.​
    <break time="800ms"/>​
    Outside, the rain begins again. In the reflection of the dining room glass, Emily sees a second envelope hidden beneath her father portrait.​
    <break time="600ms"/>​
    It carries no signature, only a warning written in silver ink: tell the truth tonight, or the next disappearance will not be a jewel.​
    <break time="900ms"/>​
    The room falls silent as she reaches for the envelope. Every guest watches her hand, but only one of them already knows what is inside.​
    </speak>​
    ​
  • 标准旁白​
  • 适用场景:常规短剧解说​
  • 参数:语速 0、音量 0、音调 0​
  • 时长:约 67 秒​
  • ​
    ​
    0:00 / 1:07
    ​
    ​
  • 快速预览​
  • 适用场景:快节奏短视频​
  • 参数:语速 20、音量 0、音调 0​
  • 时长:约 53 秒​
  • ​
    ​
    0:00 / 0:53
    ​
    ​
  • 柔和悬疑​
  • 适用场景:悬疑开场或情绪铺垫​
  • 参数:语速 -10、音量 -15、音调 -2​
  • 时长:约 70 秒​
  • ​
    ​
    0:00 / 1:09
    ​
    ​
  • 戏剧预告​
  • 适用场景:预告片式高光剪辑​
  • 参数:语速 5、音量 15、音调 2​
  • 时长:约 57 秒​
  • ​
    ​
    0:00 / 0:57
    ​
    ​
​
支持的地域​
  • 北京:cn-beijing​
  • 上海:cn-shanghai​
  • 广州:cn-guangzhou​
输入与输出要求​
输入要求​
​
​
细分项​
详细要求​
支持的输入数据模态​
* 文本​
​
输出要求​
​
​
细分项​
详细要求​
支持的输出数据模态​
  • 音频​
  • 文本(字幕与时间戳)​
输出数据:音频​
  • 格式:mp3、ogg_opus、pcm、wav;流式场景建议使用 pcm 或 mp3​
  • 其他:支持通过请求参数设置生成音频的采样率、码率、语速等音频参数。​
输出方式​
通过 POST /api/v1/process 返回 SSE 流;客户端按接收顺序解码音频分片。​
​
计费说明​
  • 计费标准​
  • ​
  • ​
    细分项​
    计费标准说明​
    计费项​
    基于原始请求文本字符数统计用量进行计费,仅成功任务计费。计费字符数按原始 req_params.text 解码后的 Unicode 字符统计,SSML 标签、英文字母、标点、特殊符号、空格和换行均计入,不按 UTF-8 字节数统计。​
    计费类型​
    按量计费。​
    单价​
    3 元/万字符​
    ​
注意与前提​
​
​
细分项​
注意与前提​
开通 LAS​
  • 如果您是一个全新的火山引擎用户,此前未开通过 LAS 产品,您可先开通 LAS,不使用 LAS 的计费功能仅开通 LAS 产品不会产生费用。开通操作请参见准备工作。​
费用​
调用算子前,您需先了解使用算子时的模型调用费用,详情请参见大模型调用计费。​
鉴权(API Key)​
调用算子前,您需要先生成算子调用的API Key,并建议将API Key配置为环境变量,便于更安全地调用算子,详情请参见获取 API Key 并配置。​
BaseURL​
调用算子前,您需要先根据您当前使用的LAS服务所在地域,了解算子调用的BaseURL,用于配置算子调用路径参数取值。​
详情请参见获取 Base URL,下文中的调用示例仅作为参考,实际调用时需替换为您对应地域的路径取值。​
​
Rest API 调用​
Process​
接口说明​
通过 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 字符串,需要二次解析。​
​
​
内层 code​
事件​
处理方式​
0​
音频帧​
data 为 Base64 音频时,将每个分片独立解码后按接收顺序拼接字节,不要直接拼接 Base64 字符串​
0​
字幕或句子信息​
包含 sentence 时分别处理字幕和时间戳;同一帧也可能同时携带音频​
20000000​
合成结束帧​
表示合成成功结束,并通过 usage.text_words 返回计费字符数​
​
正常消息的 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 必选​
文本、音色与音频参数。以下为参数的要点介绍,更多能力说明与配置要求可参见火山单向流式 HTTP 文档。​
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 毫秒静音。​
​
​
​
​
​
additions 常用字段​
req_params.additions 必须是合法的 JSON 字符串,不能直接传 JSON 对象。以下字段的支持范围以音色和资源版本为准。​
​
​
字段​
类型​
说明​
silence_duration​
integer​
文本末尾静音,默认 0,范围 0~30000 毫秒​
disable_default_bit_rate​
boolean​
设置为 true 后可使用 16000、32000 等低码率​
disable_markdown_filter​
boolean​
默认 false;使用 SSML 时须为 false​
explicit_language​
string​
指定合成语种,例如 zh-cn、en​
context_texts​
array​
语音风格指令,仅 TTS 2.0 音色支持;其文本不计费,不能与 req_params.model 同时使用​
tone_fidelity​
boolean​
仅声音复刻 2.0 支持,用于还原参考音频的音色和风格​
post_process.pitch​
integer​
音调调整,默认 0,范围 -12~12​
enable_auto_language_recognition​
boolean​
自动识别语种;显式设置 explicit_language 时优先使用指定语种​
latex_parser​
string​
取值 v2 时启用 LaTeX 朗读,同时设置 disable_markdown_filter=true​
​
返回数据​
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 是计费字符数。​
​
​
​
请求示例​
​
curl -N --location "https://operator.las.cn-beijing.volces.com/api/v1/process" \​
--header "Content-Type: application/json" \​
--header "Accept: text/event-stream" \​
--header "Authorization: Bearer $LAS_API_KEY" \​
--data '{​
"operator_id": "las_tts",​
"operator_version": "v1",​
"data": {​
"stream": true,​
"resource_id": "seed-tts-2.0",​
"req_params": {​
"text": "欢迎使用语音合成。",​
"speaker": "zh_female_vv_uranus_bigtts",​
"audio_params": {​
"format": "mp3",​
"sample_rate": 24000,​
"enable_subtitle": true​
},​
"additions": "{\"silence_duration\":500}"​
}​
}​
}'​
​
返回示例​
实际接口逐帧返回 SSE 消息。以下示例将事件按接收顺序整理为数组,并将每条事件中的 data JSON 字符串解码后展开。​
​
[​
{​
"metadata": {​
"task_status": "RUNNING",​
"business_code": "0",​
"error_msg": "",​
"request_id": "<request-id>"​
},​
"data": {​
"code": 0,​
"message": "",​
"data": "<base64-audio-chunk>"​
}​
},​
{​
"metadata": {​
"task_status": "RUNNING",​
"business_code": "0",​
"error_msg": "",​
"request_id": "<request-id>"​
},​
"data": {​
"code": 20000000,​
"message": "OK",​
"data": null,​
"usage": {"text_words": 9}​
}​
},​
"[DONE]"​
]​
​
错误码​
​
​
HttpStatusCode​
错误码​
错误信息​
描述​
400​
Parameter.Invalid​
The parameter is invalid.​
请求体格式错误、资源非法或缺少必选参数​
400​
Operator.InvalidId​
The operator is invalid.​
算子 ID 非法或未注册​
400​
Operator.InvalidVersion​
The operator version is invalid.​
算子版本非法​
400​
Tts.TextLimitExceeded​
The synthesis text length exceeds the limit.​
提交文本超过所选资源限制​
400​
Tts.SpeakerPermissionDenied​
The speaker is not authorized or invalid.​
音色未授权或音色 ID 非法​
401​
Authorization.Missing​
The authorization header is missing.​
缺少 Authorization 请求头​
401​
ApiKey.Invalid​
The api key is invalid.​
API Key 无效​
429​
Server.Busy​
Server is Busy, please try again later.​
达到并发限制或服务繁忙​
500​
Server.InternalError​
General Internal Error​
服务异常​
500​
Tts.InternalError​
TTS Internal Error​
语音合成服务异常​
​
​
最近更新时间:2026.10.16 10:27:42
这个页面对您有帮助吗?
有用
有用
无用
无用