Chatterbox chatterbox
Text-to-speech in 23 languages with a built-in voice and voice cloning from a short clip, with expressiveness and pacing controls.
Speech
$0.00028 / second
region ATL Hugging Face ResembleAI/chatterbox
Limits
What one subscription may send this model. Limits says what happens past them.
| Requests a minute | At once |
|---|---|
| 20 | 5 |
Inputs
| Input | Accepts |
|---|---|
text | max prompt 4,800 characters |
Parameters
Streams with stream: true.
| Parameter | Type | Values | Default |
|---|---|---|---|
voice | string | default, clone | |
language | any | ||
input_references | array | up to 2 items | |
response_format | string | mp3, opus, flac, wav, pcm | mp3 |
stream_format | string | audio, sse | audio |
speed | number | 0.25–4 | 1 |
seed | integer | ||
temperature | number | 0–2 | |
top_p | number | 0–1 | |
top_k | integer | ||
exaggeration | number | 0.25–2 | 0.5 |
cfg_weight | number | 0–1 | 0.5 |
Endpoints
A request
curl https://api.vultrinference.com/v1/audio/speech \
-H "Authorization: Bearer $VULTR_INFERENCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "chatterbox",
"input": "Welcome to Vultr Serverless Inference.",
"voice": "aiden",
"instructions": "Warm and upbeat, like a radio host."
}'import os
import requests
response = requests.post(
"https://api.vultrinference.com/v1/audio/speech",
headers={"Authorization": f"Bearer {os.environ['VULTR_INFERENCE_API_KEY']}"},
json={
"model": "chatterbox",
"input": "Welcome to Vultr Serverless Inference.",
"voice": "aiden",
"instructions": "Warm and upbeat, like a radio host.",
},
)
print(response.status_code)const response = await fetch("https://api.vultrinference.com/v1/audio/speech", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.VULTR_INFERENCE_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "chatterbox",
"input": "Welcome to Vultr Serverless Inference.",
"voice": "aiden",
"instructions": "Warm and upbeat, like a radio host."
}),
});
console.log(response.status);