ChatTTS
简洁描述:使用 ChatTTS 模型将文本转换为语音。
概览
- 请求方法:
POST - 路径:
/v1/audio/speech - 内容类型:
application/json
认证方式
- Header:
Authorization: Bearer <token> - 可选 Header:
Accept: */*
请求示例
请求体参数
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| model | string | 是 | 模型名称,固定填写 ChatTTS |
| input | string | 是 | 需要生成语音的文本,最大长度 4096 字符 |
| voice | string | 是 | 音色名称,可选 alloy、echo、fable、onyx、nova、shimmer |
| extra_body | object | 否 | 额外参数对象,用于控制输出风格和采样设置 |
| extra_body.prompt | string | 否 | 口语化程度,值范围 oral_1 到 oral_9 |
| extra_body.temperature | number | 否 | 采样温度,范围 0.0 到 1.0,值越高输出越随机 |
| extra_body.top_P | number | 否 | top_p 采样值,范围 0.0 到 1.0,决定候选词覆盖概率 |
| extra_body.top_K | number | 否 | top_k 采样值,范围 0 到 20,决定候选词数量 |
| extra_body.voice_url | string | 否 | 自定义音色文件 URL,需为 .pt 格式 |
curl 示例
bash
curl -X POST "https://api.gpt.ge/v1/audio/speech" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxx" \
-H "Accept: */*" \
-d '{
"model": "ChatTTS",
"input": "您好,我是 vapi 的 TTS 小助手,感谢体验我们的 API 服务!",
"voice": "alloy",
"extra_body": {
"prompt": "oral_1",
"temperature": 0.2,
"top_K": 20
}
}'JavaScript (fetch) 示例
javascript
fetch('https://api.gpt.ge/v1/audio/speech', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer sk-xxxx',
'Accept': '*/*'
},
body: JSON.stringify({
model: 'ChatTTS',
input: '您好,我是 vapi 的 TTS 小助手,感谢体验我们的 API 服务!',
voice: 'alloy',
extra_body: {
prompt: 'oral_1',
temperature: 0.2,
top_K: 20
}
})
}).then(r => r.blob()).then(console.log)Python 示例(requests)
python
import requests
response = requests.post(
'https://api.gpt.ge/v1/audio/speech',
headers={
'Content-Type': 'application/json',
'Authorization': 'Bearer sk-xxxx',
'Accept': '*/*'
},
json={
'model': 'ChatTTS',
'input': '您好,我是 vapi 的 TTS 小助手,感谢体验我们的 API 服务!',
'voice': 'alloy',
'extra_body': {
'prompt': 'oral_1',
'temperature': 0.2,
'top_K': 20
}
}
)
print(response.status_code)
print(response.content[:20])返回示例(200)
text
<直接返回音频文件数据,例如 MP3 或 WAV 二进制内容>注意:响应通常直接返回所选音频格式的音频文件内容。