Chatterbox Voice Twin
Create expressive text-to-speech with voice cloning. Upload a reference sample or use the default Eigen AI voice.
Backend online
🔌 API Access
Generate expressive speech or clone custom voices through the unified Eigen AI API.
🔑 API Keys
Authenticate every request with your Eigen AI API key. Manage API keys →
POST
/api/v1/generate
Generate Speech with Chatterbox
Set model=chatterbox, provide your text, and optionally attach audio_prompt_file to clone a voice.
Cost:
0.1 credits per audio minute
Credits are charged on rendered audio length. Short prompts return faster and cost less.
Request (cURL)
curl -X POST https://app.eigenai.com/api/v1/generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "model=chatterbox" \
-F "text=Hey there! I am your friendly voice twin from Eigen AI." \
-F "exaggeration=0.50" \
# Optional voice reference
# -F "audio_prompt_file=@voice_reference.wav" \
--output chatterbox_output.wav --show-error
Request (Python)
from pathlib import Path
import requests
url = "https://app.eigenai.com/api/v1/generate"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
data = {
"model": "chatterbox",
"text": "Give today's highlights in a confident anchor voice.",
"exaggeration": "0.65"
}
prompt_path = Path("voice_reference.wav") # Optional voice reference to clone
if prompt_path.exists():
with prompt_path.open("rb") as prompt:
files = {"audio_prompt_file": (prompt_path.name, prompt, "audio/wav")}
response = requests.post(url, headers=headers, data=data, files=files)
else:
response = requests.post(url, headers=headers, data=data)
if response.status_code == 200:
with open("chatterbox_output.wav", "wb") as wav:
wav.write(response.content)
else:
print("Error:", response.text)
Request (JavaScript/Node.js)
const fs = require("fs");
const FormData = require("form-data");
const axios = require("axios");
const form = new FormData();
form.append("model", "chatterbox");
form.append("text", "Record today's release notes in an upbeat style.");
form.append("exaggeration", "0.55");
const promptPath = "voice_reference.wav"; // Optional voice reference to clone
if (fs.existsSync(promptPath)) {
form.append("audio_prompt_file", fs.createReadStream(promptPath));
}
axios.post("https://app.eigenai.com/api/v1/generate", form, {
headers: {
...form.getHeaders(),
Authorization: "Bearer YOUR_API_KEY"
},
responseType: "arraybuffer"
}).then((response) => {
fs.writeFileSync("chatterbox_output.wav", response.data);
});
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
model |
string | ✅ Yes | Must be chatterbox. |
text |
string | ✅ Yes | Content to convert to speech (≤ 1,000 characters recommended). |
exaggeration |
number | Optional | Expressiveness factor. 0.0 = subtle, 1.0 = balanced, 2.0 = highly animated (default 0.5). |
audio_prompt_file |
file | Optional | Voice reference clip (WAV/MP3/M4A/OGG) used for cloning. Omit to use the default Eigen AI voice. |
Output Preview
⚡ Powered by Chatterbox
Waiting for your first request. Enter text and generate to hear the output.