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
| Engine | Best for | Send |
| โก Turbo | English โ best quality, fastest (~16ร realtime) | engine=turbo |
| ๐๏ธ OmniVoice | 646 languages + voice cloning | engine=omnivoice |
Base URL
https://tts.chatterboxgondal.org/v1 ยท header
xi-api-key ยท credits unlimited.
Numbers & symbols โ auto-handled
| You write | It speaks |
1942 | nineteen forty-two |
2,500 / 1000000 | two thousand five hundred / one million |
$5 / ยฃ10.50 | five dollars / ten pounds and fifty cents |
50% / 99.5% | fifty percent / ninety-nine point five percent |
Dr. Mr. St. | Doctor / Mister / Saint |
1st 3rd 22nd | first / third / twenty-second |
10:30 / 9:05 | ten thirty / nine oh five |
2020-2025 | twenty twenty to twenty twenty-five |
e.g. i.e. etc. vs | for example / that is / and so on / versus |
& @ # / + | and / at / number / or / plus |
km kg AM/PM | kilometers / 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 sentences | fast, 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.