Chatterbox Voice Twin

Create expressive text-to-speech with voice cloning. Upload a reference sample or use the default Eigen AI voice.

Backend online

Enter Text

0 / 1000

Style Exaggeration

0.50

Lower values stay close to the reference voice, higher values push more expressive delivery.

Voice Reference

🎙️

Drop a voice clone reference or click to upload

Supports WAV, MP3, M4A, OGG up to 30MB

Quick Starts

🔌 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.