โ† Back to Studio
ChatterboxGondal

Voice Guide

How to get clean, human, natural voiceovers โ€” and what the engine handles for you.

โœ… Good news: the server now auto-cleans your text โ€” numbers, money, percentages, dates, Dr., e.g., symbols and emoji are converted to spoken words automatically before Chatterbox speaks. You mostly don't have to worry about the table below โ€” it just shows what happens under the hood.

Two engines, one API key

EngineBest forSend
โšก TurboEnglish โ€” best quality, fastest (~16ร— realtime)engine=turbo
๐ŸŽ™๏ธ OmniVoice646 languages + voice cloningengine=omnivoice
Base URL https://tts.chatterboxgondal.org/v1 ยท header xi-api-key ยท credits unlimited.

Numbers & symbols โ€” auto-handled

You writeIt speaks
1942nineteen forty-two
2,500 / 1000000two thousand five hundred / one million
$5 / ยฃ10.50five dollars / ten pounds and fifty cents
50% / 99.5%fifty percent / ninety-nine point five percent
Dr. Mr. St.Doctor / Mister / Saint
1st 3rd 22ndfirst / third / twenty-second
10:30 / 9:05ten thirty / nine oh five
2020-2025twenty twenty to twenty twenty-five
e.g. i.e. etc. vsfor example / that is / and so on / versus
& @ # / +and / at / number / or / plus
km kg AM/PMkilometers / kilograms / A M / P M
emoji ๐Ÿ˜€removed

Emotion โ€” from TEXT, not sliders

โ€” (em-dash)natural pause / turn
...trailing, soft, thoughtful
?!shock / disbelief
CAPS (1โ€“2 words)emphasis
short sentencesfast, tense ยท long = calm, flowing
House rule Don't put [sigh]/[gasp] tags in scripts โ€” text-craft is enough.

API โ€” one call, full script

POST /v1/tts   (header: xi-api-key)
  text=<your full script โ€” 50,000+ words OK>
  voice_id=cbuser_Historian_Sleep
  engine=turbo
  srt=1            # optional: also get subtitles
โ†’ { task_id }

GET /v1/task/{task_id}  โ†’ { status:"done", audio_url, srt_url }
Send the whole script in one call โ€” the server chunks & batches it. Don't pre-split into tiny pieces (slower + worse). Voices: GET /v1/voices?engine=turbo.

For developers โ€” optional pre-clean module

The server already cleans text, but pipelines can also run the same normalizer locally (identical output). Modules live in D:\TOOLS HUB\chatterbox\:
// Node
const { clean } = require('D:/TOOLS HUB/chatterbox/chatterbox_clean.js');
text = clean(text);

# Python
from chatterbox_clean import clean
text = clean(text)
To disable server cleaning for a request, send clean=0.