语音合成
生成音频,此 API 可以使用 TTS 模型生成音频。
请求地址
POST https://api.stepfun.com/v1/audio/speech
请求参数
-
modelstringrequired
需要使用的模型名称,当前支持step-tts-2、step-tts-mini和step-tts-vivid。 -
inputstringrequired
要生成的文本,最大长度为 1000 个字符 -
voicestringrequired
生成时使用的音色信息,支持官方音色和开发者自生成音色。 -
response_formatstringoptional
返回的音频格式,支持wav,mp3,flac,opus,pcm. 默认为mp3格式 -
speedfloatoptional
语速,取值范围为 0.5~2,默认值 1.0。0.5 表示 0.5 倍速。 -
volumefloatoptional
音频,取值范围为 0.1~2.0,默认值 1.0。0.1 表示缩小至 10% 音量;2.0 表示扩大至 200% 音量。 -
voice_labelobjectoptional
音色标签,使用自定义音色时需要传入。language、emotion 和 style 三个自动同时只能有一个字段有值,暂不支持多个组合。 -
sample_rateintegeroptional
采样率,支持 8000、16000、22050、24000 四个选项。默认值为 24000。采样率越高,音质越好,但文件体积也会更大。 -
pronunciation_mapobject arrayoptional
定义某个文字或符号注音或发音替换规则,在中文文本中,声调用数字表示:一声为1,二声为2,三声为3,四声为4,轻声为5。注:step-tts-vivid 模型暂不支持该字段。tonestringrequired
具体发音映射规则,以“/”隔开,示例:["绯闻/fei1闻","扁舟/偏舟","嫉妒/ji2妒"]
请求响应
音频文件
示例
from pathlib import Path
from openai import OpenAI
speech_file_path = Path(**file**).parent / "step-tts.mp3"
client = OpenAI(
api_key="STEP_API_KEY",
base_url="https://api.stepfun.com/v1"
)
response = client.audio.speech.create(
model="step-tts-mini",
voice="cixingnansheng",
input="智能阶跃,十倍每个人的可能.",
extra_body={
"volume":1.0 ,# volume 在拓展参数里
"voice_label":{
"language": "粤语", # 可选:语言
"emotion": "高兴", # 可选:情感
"style": "慢速" # 可选:说话语速
},
"pronunciation_map":{
"tone":[
"阿胶/e1胶",
"扁舟/偏舟",
"LOL/laugh out loudly"
]
}
}
)
response.stream_to_file(speech_file_path)