Skip to content

ChatTTS

简洁描述:使用 ChatTTS 模型将文本转换为语音。


概览

  • 请求方法:POST
  • 路径:/v1/audio/speech
  • 内容类型:application/json

认证方式

  • Header:Authorization: Bearer <token>
  • 可选 Header:Accept: */*

请求示例

请求体参数

参数类型必填描述
modelstring模型名称,固定填写 ChatTTS
inputstring需要生成语音的文本,最大长度 4096 字符
voicestring音色名称,可选 alloyechofableonyxnovashimmer
extra_bodyobject额外参数对象,用于控制输出风格和采样设置
extra_body.promptstring口语化程度,值范围 oral_1oral_9
extra_body.temperaturenumber采样温度,范围 0.01.0,值越高输出越随机
extra_body.top_Pnumbertop_p 采样值,范围 0.01.0,决定候选词覆盖概率
extra_body.top_Knumbertop_k 采样值,范围 020,决定候选词数量
extra_body.voice_urlstring自定义音色文件 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 二进制内容>

注意:响应通常直接返回所选音频格式的音频文件内容。