Kokoro vs Chatterbox: the local TTS head-to-head, decided job by job
Kokoro wins on speed. It is about six times faster per character on measured lanes. A plain CPU runs it. It also outranks Chatterbox on blind listening with stock voices. Chatterbox wins on voices. It clones a speaker from five seconds of audio. It carries an emotion dial, and it speaks 23 languages. This page settles the pair with dated numbers, then names the winner per job.
The pair shows up in one search for plain reasons. Both are free to download. Both run on one consumer machine. Each sits near the top of the open-weight speech field. Kokoro is an 82M-parameter model from hexgrad under Apache 2.0. Chatterbox is a 0.5B-parameter family from Resemble AI under MIT. The first page for this query is mostly spec tables, listing pages, and forum arguments. Few of those pages carry measured numbers. This page works the decision in hard numbers: measured curves, named sources, dated reads, and a verdict per job.
One framing fact comes first. On the Artificial Analysis speech arena, Kokoro scores 1,061 and Chatterbox scores 1,023. The arena is a public blind-listening board. That read is from 28 October 2026. The 82M model outranks the 0.5B one on stock voices. Size buys cloning and range, not preference. That inversion is why this matchup cannot end with the bigger model sounds better.
The short answer
Three sentences carry the page. Run Kokoro when speech is volume: narration, batch clips, agents that talk all day, CPU-only boxes. Run Chatterbox when speech is character: one specific voice, expressive reads, languages outside Kokoro's eight. Need both? Run both behind one OpenAI-compatible endpoint. That is the shape this platform serves on its two speech lanes as of 2026-10-28.
The speed gap is not a rounding error. This platform measured both lanes in September 2026. Kokoro ran at about 0.0149 seconds per input character. Chatterbox took 0.085. That is close to six times longer per character on the Chatterbox side. The daily ceilings agree. The Kokoro lane moved about 7.0 million characters per day. The Chatterbox lane moved about 0.73 million. That is near a tenfold gap.
The cloning gap is just as sharp, in the other direction. Kokoro speaks in 54 fixed voice packs and cannot clone. Chatterbox clones a new voice zero-shot from a short reference clip. Resemble's own model page says five seconds is enough. No amount of speed replaces that if the job is one person's voice.
The comparison table
| Row | Kokoro 82M | Chatterbox |
|---|---|---|
| Parameters | 82M | 500M (Turbo 350M, Nano 110M) |
| License | Apache 2.0 | MIT |
| Languages | 8 | 23 (v3 family counts 25 with dialects and packs) |
| Voices | 54 fixed packs | 29 fixed on the hosted lane, plus zero-shot cloning locally |
| Voice cloning | No | Yes, from about 5 seconds of reference audio |
| Emotion control | No | Yes, exaggeration and CFG dials |
| Watermark on local output | None | PerTh neural mark on every file, no documented off switch |
| Local GPU memory | - (no official figure; user builds report under 2 GB) | - (no published floor; user reports span about 1.5 to 7 GB) |
| Local CPU run | Yes, through ONNX exports | Smallest model only, slower than real time in one dated timing |
| Synthesis on this platform's lane | ~0.8 s + 0.0149 s per char, September 2026 | ~6.8 s at 50 chars + 0.085 s per char, September 2026 |
| Input cap per request | 3,500 characters | 400 characters |
| First-byte budget | 55 s | 45 s |
| Daily ceiling on this platform | ~7.0M chars/day | ~0.73M chars/day, one request at a time |
| Blind-listening arena score | 1,061 | 1,023 (28 October 2026 read) |
Two cells carry a dash by law, not by accident. Chatterbox publishes no official local memory figure. The cell stays empty, and the user-reported range sits in prose below. No measured CPU number exists for the main 500M model either. Only its smallest sibling has one, so that cell names what it names.
What Kokoro is
Kokoro is an open-weight speech model with 82 million parameters. It builds on the StyleTTS 2 design with an ISTFTNet decoder, no diffusion. The model card records v1.0 shipping in January 2025. It shipped with 8 languages and 54 voices. Training used a few hundred hours of permissively licensed audio. It cost about 1,000 US dollars of A100 time. The whole training budget is smaller than one month of a mid-range GPU. That origin explains the model's whole character. It is small, fast, cheap to run, and honest about being a fixed-voice narrator.
Local, the install is one pip package. The repository shows the full path. Install with pip install kokoro. Add espeak-ng for out-of-dictionary words. Then call the pipeline with a language code and a voice name like af_heart. Output lands at 24 kHz. The eight languages are English in American and British voice groups, Japanese, Mandarin Chinese, Spanish, French, Hindi, Italian, and Brazilian Portuguese. Memory needs are modest. The weights sit in the hundreds of megabytes. No official memory spec exists. User builds report GPU use well under 2 GB of VRAM and CPU-only runs near 4 GB of RAM through ONNX exports. Treat those as report figures. Want the OpenAI request shape on your own box? The standard pick is Kokoro-FastAPI. It is a Docker wrapper for the /v1/audio/speech route, on port 8880. CPU, NVIDIA, and AMD images exist.
Hosted, the kokoro-tts lane carries the same open weights behind one metered endpoint. Its measured curve is about 0.8 seconds plus 0.0149 seconds per input character. The number comes from an RTX 3060 12GB-class card, re-verified in September 2026. The lane takes 3,500 characters per request inside a 55 second first-byte budget. At concurrency eight it measured 7.0 million characters per day. The cost side of that lane is its own page, break-even math included: Kokoro local vs API cost.
What Chatterbox is
Chatterbox is a family of open-weight speech models from Resemble AI, MIT licensed. It builds on a 0.5B Llama-style backbone trained on about half a million hours of audio. The official repository lays out the family. The first English model shipped in May 2025. The 23-language model followed in September 2025. Multilingual v3 landed on 10 June 2026, with tighter speaker similarity and six tuned per-language packs. Two efficiency siblings joined the family. Turbo sits at 350M with a distilled single-step decoder and paralinguistic tags like [laugh]. Nano sits at 110M for CPU and on-device use. The repo counted about 27,400 stars on 28 October 2026.
Three things define the family. First, zero-shot cloning. A reference clip of about five seconds is enough to speak in a new voice. That is per Resemble's model page. Second, emotion control. Chatterbox was the first open-source speech model with an exaggeration dial. The dial moves output from monotone to dramatic. Defaults sit at 0.5 exaggeration and 0.5 CFG. Third, watermarking. Every file the open-source pipeline emits carries Resemble's PerTh neural mark. The signal is inaudible. The model card calls it robust to compression and editing. Detection runs near 100 percent on untouched files.
Local, the install is also one pip package: chatterbox-tts. The repo's usage code runs the family on CUDA, CPU, or Apple MPS. In practice the 500M model wants an NVIDIA GPU. The wrapper this platform's own lane builds on is the open-source Chatterbox TTS Server. It serves the whole family through one endpoint. It adds a web UI, voice tools, and large-text chunking. CUDA, ROCm, AMD, and Apple Silicon are covered, with a CPU fallback. Users report real memory use around 6 to 7 GB for the stock build, in the repository's own hardware thread from May 2025. The same thread reports cutting that to as little as 1.5 GB with cache clearing and CPU offloading. Treat those as reports, not specs. Resemble publishes no floor.
Hosted, the chatterbox-tts lane carries the v2-generation checkpoint behind the same endpoint shape. Its measured curve is about 6.8 seconds at 50 characters plus 0.085 per character. The date is September 2026. The cap is 400 characters inside a 45 second first-byte budget. A full-cap request synthesizes about 41 seconds before its first byte. A warm short request serves in about 7 seconds. The lane takes one request at a time. It measured 0.73 million characters per day. The hosted surface speaks 29 fixed voices. It does not take reference audio uploads, so cloning stays local-only.
Speed: the measured gap, on both sides
The hosted numbers give the cleanest read. Both lanes were measured the same way in the same September 2026 window. Per character, that is 0.0149 against 0.085 seconds. Take a 400 character script, the most the Chatterbox cap allows in one piece. Kokoro finishes near 7 seconds of synthesis. Chatterbox takes near 41. The caps compound the gap. One 1,200 character script is a single Kokoro request. The same script is three Chatterbox requests, sliced at sentence boundaries and joined at playback.
Local, the numbers come from named projects and dated reads, not vendor averages. The Kokoro-FastAPI project publishes streaming first-audio times. GPU serves about 300 milliseconds at 400 characters. An older i7 CPU serves about 3.5 seconds at 200 characters. A third-party July 2026 benchmark put the ONNX build at 1.6 times faster than real time. The test machine was a 4-core Xeon. Desktop chips report wider margins. Kokoro is the model you run on hardware you already own. That includes a laptop with no GPU.
On the Chatterbox side, the official numbers describe hardware most readers do not own. Resemble's June 2026 post reports Multilingual v3 at under 300 milliseconds to first byte. It reports about five times real time on a single H100, unoptimized PyTorch, as posted. Those are that model on that card, labeled as such here. On CPU, the repo claims 3 times real time for the 110M Nano sibling on eight cores. A separate timed test in October 2026 measured Nano on a six-core laptop, no GPU. It ran at about 1.9 seconds of compute per second of speech. That is slower than real time and about six times off the published figure. The lesson holds either way. CPU Chatterbox means the smallest sibling, and even that is a stretch.
Quality: what blind listeners say
Blind listening is the only quality evidence worth quoting. It is the only kind that does not care whose marketing paid for the page. The same arena scores Kokoro at 1,061 and Chatterbox at 1,023. The read is from 28 October 2026, on stock voices. Kokoro's own card preserves arena screenshots from February 2025. Those date to a month after v1.0 shipped. Its 82M run against larger systems was the story then. The pattern has held for most of two years. The small model keeps pace with the model six times its size. Here it leads.
That score covers stock voices saying ordinary text. It does not cover the jobs Chatterbox exists for. No fixed-pack model competes on sound like this specific person. That category is cloning, and Kokoro does not clone. Expressive reads are the same shape. The emotion dial is a real control on one side of this pair and absent on the other. One disclosure from the same board. A Chatterbox HD entry scores about 1,111, above both models here. That entry is not one of the open-weight downloads this page compares. The two models on this page are the ones you can download and run. They stand at 1,061 and 1,023.
The honest close on quality: judge with your own ears on your own text. No page on this platform carries audio samples this round. The arena numbers say the stock-voice gap is small. Speed, memory, and cloning should decide the choice, not naturalness.
Cloning, consent, and the watermark
Cloning is the sharpest line between the two. Kokoro's 54 voice packs are fixed. You pick a name, you get that voice. Chatterbox's zero-shot cloning takes about five seconds of reference audio. It then speaks in that voice, with no training step. Wherever you clone, use voices you have the right to use, with the owner's consent. That rule does not bend for open weights.
The watermark is the second difference. It only touches the local side. Every file the Chatterbox pipeline emits carries the PerTh neural mark. The October 2026 timing test found it on every clip. There was no setting to disable it. Need machine-readable marks on generated speech? That is a feature. Cannot carry an inaudible signal in your pipeline? That is a constraint you cannot compile away. Kokoro emits unmarked audio. On this platform's hosted lanes, the Chatterbox lane removes the watermark stage. The Kokoro lane emits none. Detector checks recorded both lanes in August 2026.
Languages: eight against twenty-three
Kokoro v1.0 speaks eight languages, with the voice counts on its card. Chatterbox Multilingual lists 23 languages on its card. The June 2026 v3 release pushes the family to 25. That count includes dialect variants and the six tuned per-language packs. Work beyond eight languages can decide the pair on that count alone. Two cautions come from the official materials. A reference clip in one language colors the output with that accent. The repo's own tip: zero the CFG weight to avoid it. The hosted Chatterbox lane here is an English-default surface. It takes no per-request language parameter. Language selection is a local-run path on this platform, as of 2026-10-28.
XTTS v2 is the third name in this query's family. It clones from a 6 second clip. It speaks 17 languages by its own model card. Its license is non-commercial. If your project ships, the two open models above are the legal set.
The same request, both lanes
Both models answer one request shape on this platform. Trying the pair costs one key and two model strings. First call, Kokoro lane:
curl -sS $IRONSTRATUM_BASE_URL/v1/audio/speech \
-H "Authorization: Bearer $IRONSTRATUM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "kokoro-tts", "input": "Kokoro takes this line in one request.", "voice": "af_heart"}' \
--output kokoro.mp3
Same call, Chatterbox lane, same wallet, shorter input:
curl -sS $IRONSTRATUM_BASE_URL/v1/audio/speech \
-H "Authorization: Bearer $IRONSTRATUM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "chatterbox-tts", "input": "Chatterbox gives this line its dramatic side.", "voice": "default"}' \
--output chatterbox.wav
Four contract facts before you loop either lane into production. The body requires model, input, and voice. The model string is the catalog alias, not the display name. Voices are per model. One free call to GET /v1/audio/voices with the model query lists every valid id. Responses are chunked binary with no Content-Length. Set client read timeouts above synthesis time. The Chatterbox lane buffers about 41 seconds at its 400 character cap. Both lanes cap input length. Over the cap, the lane rejects with a 400 before synthesis and before billing: 3,500 characters for Kokoro, 400 for Chatterbox. Longer text is split client-side at sentence boundaries. Metering is per input character against a prepaid wallet on both lanes. A key with an empty wallet is refused at request time, not billed into the red.
Cost shape, not cost math
Both lanes meter the same unit, the input character, from the same wallet. The same script bills the same character count on either lane. Three things differ: the rate per character, the request cap that slices your script, and the speed of each piece. Rates for this platform's speech lanes render below from the live catalog and never by hand. The break-even math for any lane is its own guide: the break-even guide. The Kokoro-specific numbers live on the cost page named above.
| Model | Context | $/1M in | $/1M out | $/1M cached |
|---|---|---|---|---|
| Qwen | ||||
| qwen3.8-27b | 262K | $0.35 | $2.55 | $0.105 |
| qwen3.6-35b | 131K | $0.11 | $0.8 | $0.044 |
| Minimax | ||||
| minimax-m2.7 | 197K | $0.24 | $0.95 | $0.072 |
| Muse | ||||
| muse-glimmer-30b | 131K | $0.28 | $1.2 | $0.084 |
| Ornith | ||||
| ornith-1.5-35b | 100K | $0.35 | $2.55 | $0.105 |
| ornith-1.5-9b | 100K | $0.1 | $0.3 | $0.03 |
| Glm | ||||
| glm-5.3-flash | 1049K | $0.11 | $0.35 | $0.033 |
| Deepseek | ||||
| deepseek-v4-flash-0731 | 1311K | $0.15 | $0.42 | $0.045 |
| Gemma | ||||
| gemma-4-31b-it | 262K | $0.22 | $0.49 | $0.066 |
| Deepseek | ||||
| deepseek-v4-pro | 1000K | $1.13 | $2.21 | $0.339 |
| deepseek-v4.1-flash | 1000K | $0.19 | $0.71 | $0.06 |
| deepseek-v4.1-flash-1017 | 1049K | $0.16 | $0.65 | $0.003 |
| Glm | ||||
| glm-5.3 | 1000K | $1.32 | $4.25 | $0.4 |
| Flux | ||||
| flux-1-schnell | — | $0.003/image | ||
| flux-pro-1.1 | — | $0.04/image | ||
| Chatterbox | ||||
| chatterbox-tts | — | $25/1M chars | ||
| Kokoro | ||||
| kokoro-tts | — | $15/1M chars | ||
| pocket-tts | — | $16/1M chars | ||
| Audio | ||||
| audio8-tts | — | $8/1M chars | ||
| Hayamimi | ||||
| hayamimi-stt | — | $0.6/audio-hr | ||
| Bge | ||||
| bge-m3 | — | $0.05/1M tokens | ||
| bge-reranker-v2-m3 | — | $1.5/1k searches | ||
| Ocr | ||||
| ocr-print | — | $1/1k pages | ||
| ocr-archival | — | $3/1k pages | ||
| Whisper | ||||
| whisper | — | $0.12/audio-hr | ||
| Iab | ||||
| iab-2x | — | $0.7/1k pages | ||
| iab-3x | — | $0.7/1k pages | ||
| Gliner | ||||
| gliner-extract | — | $0.9/1k searches | ||
| Jev | ||||
| jev-fast | 1K | $0.03 | $0 | — |
| jev-causal | 1K | $0.03 | $0 | — |
| jev-batch | 1K | $0.03 | $0 | — |
| Wemm | ||||
| wemm-embed | — | $0.09/1M tokens | ||
| Molmo | ||||
| molmo2-er | 8K | $1 | $5 | $0.5 |
| Cosmos | ||||
| cosmos-reason2-2b | 4K | $0.1 | $0.4 | $0.05 |
| Sam | ||||
| sam2.1-base | — | $0.02/image | ||
| Da | ||||
| da3-small | — | $0.05/image | ||
| Smolvla | ||||
| smolvla | — | $0.001/call | ||
| Openvla | ||||
| openvla-oft | — | $0.006/call | ||
| Act | ||||
| act | — | $0.001/call | ||
Local cost is the same shape on both sides. You pay for hardware and power. There is no per-character bill. Kokoro's side of that arithmetic is the cheap end of the field. A few hundred MB of weights run on a machine you already own. Chatterbox's side prices a real GPU with several gigabytes free. That is the same hardware class the break-even guide works its tables on. Current per-unit rates for every lane sit on the pricing page.
Decision rules
| Your job | The rule |
|---|---|
| Volume narration, batch clips, agents that talk all day | Kokoro. 5.7 times the per-character speed, a 3,500 character cap, and a ceiling near 7.0M characters a day hosted. |
| One specific person's voice | Chatterbox, run locally. Cloning from about 5 seconds of reference audio is the capability Kokoro does not have. |
| Expressive or dramatic reads | Chatterbox. The exaggeration dial and CFG control are unique in this pair. |
| No GPU, laptop or small box only | Kokoro. CPU builds run through ONNX exports; the dated CPU timing of Chatterbox's smallest model is slower than real time. |
| Multilingual work beyond eight languages | Chatterbox. 23 languages against 8, with per-request language ids on the local path. |
| Provenance marks required on generated audio | Chatterbox locally. PerTh marks every file; Kokoro emits unmarked audio. |
| You want both | Run both. Two model strings, one endpoint, one wallet on this platform. |
The CPU-class corner with Pocket TTS is its own page: Pocket TTS vs Kokoro on CPU. The vendor-constraint side of cloning and streaming lives in the voice cloning limits guide.
Frequently asked questions
Is Kokoro better than Chatterbox?
On stock voices, the blind listening evidence says yes, narrowly. The arena reads 1,061 against 1,023 as of 28 October 2026. On cloning, expressiveness, and language count, Chatterbox is better, and no arena score changes that. Neither model wins outright. The job picks the winner, which is why this page is organized by job.
Which one is faster?
Kokoro, by about six times per character on this platform's measured lanes. The September 2026 numbers read 0.0149 against 0.085 seconds per input character. The gap holds locally. Kokoro runs on a CPU. The main Chatterbox model wants a GPU. Resemble's H100 numbers are faster still. That is a data-center card, not the machine on your desk.
Can Chatterbox run on CPU only?
The 110M Nano sibling is the CPU target. The repo claims 3 times real time on 8 CPU cores. A separate October 2026 timing on a 6-core laptop measured it slower than real time. The main 500M model runs on CPU in the repo's usage code. In practice it is built for CUDA. For CPU-only work in this weight class, Kokoro is the safer pick.
Can Kokoro clone voices?
No. Kokoro speaks in 54 fixed voice packs and has no cloning path. Need one specific voice? Use a cloning-capable model. The split that works: clone the narrator once on a cloning lane. Run the volume through a fast fixed-voice lane.
Where does XTTS fit?
XTTS v2 rides along in some versions of this query. It clones from a 6 second clip and speaks 17 languages. Its community license is non-commercial, which rules it out for shipped products. For commercial work, the open pair on this page is the field.
Is there a Chatterbox 2?
There is no product named Chatterbox 2. The family's generations are easy to list. The first English model shipped in May 2025. The 23-language model followed in September 2025. Multilingual v3 landed on 10 June 2026. Turbo and Nano complete the family. Search tails for a 2 keep churning because the version history is easy to miscount. The repo's releases are the authority.
Do Kokoro and Chatterbox sound natural?
Both sit near the top of the open-weight field on blind listening. The arena gap between them is 38 points. That is small. Speed, memory, and cloning should decide your choice. The Kokoro card claims parity with larger systems. That claim has held on public boards since February 2025. Test on your own text before you commit a narrator. This platform carries no audio samples this round.
Prices and metering units for every lane sit on the pricing page. To try both lanes: sign up, create a key, and put a small balance behind it. Both model strings answer the same endpoint.
Last verified: 2026-10-28