nineninesix.ai

KaniTTS to Gepard: which model to use

Nursultan Bakashov5 min read
Title card reading From KaniTTS to Gepard, in the nineninesix.ai orange and charcoal palette
On this page

Three generations and 28 repos on Hugging Face. Gepard 1.0 is 555.7M parameters under Apache 2.0; KaniTTS weights are not. Which model to actually use.

There are 28 nineninesix repositories on Hugging Face. Most people arrive at one of them from a search result and have no idea whether they have landed on the current model, an old one, a backbone, or a checkpoint from the middle of a training run.

This is the map. It covers what each generation actually changed, what the naming convention means, and the licence difference that matters more than any of the benchmark numbers.

What are the three generations?#

KaniTTS, KaniTTS2 and Gepard. Each generation replaced the backbone, and the last one also replaced the licence.

Diagram of three model generations from KaniTTS through KaniTTS2 to Gepard 1.0, showing backbone and licence for each

KaniTTS (370M / 400M). A two-stage pipeline: a language model predicts audio tokens, an FSQ neural codec turns them into a waveform. The backbone is Liquid AI's LFM2. This generation went widest on languages, with per-language fine-tunes for English, German, Arabic, Chinese, Spanish, Korean and Kyrgyz, plus MLX ports so it runs on Apple Silicon.

KaniTTS2 (400M). Same two-stage shape, with frame-level position encodings and tuning aimed squarely at realtime conversation. It is the most liked model we have published — kani-tts-2-en has 184 likes against Gepard's 131 — which is a reasonable proxy for how well it landed with people running models locally.

Gepard 1.0 (555.7M). A different design goal. Where Kani was a good model that could be served, Gepard is a model shaped by the constraint that it must run on stock vLLM without patching anyone's compute kernels. The backbone is Qwen3.5: 14 blocks, hidden dimension 1024, 8 attention heads, about 500M parameters, plus an audio interface and a voice-cloning compressor to reach 555.7M. Audio is NVIDIA NeMo NanoCodec, FSQ, 22.05 kHz, 21.5 frames per second, 1.89 kbps.

Which model do people actually download?#

Downloads from the Hugging Face API, read on 25 August 2026:

Repository Downloads Likes What it is
gepard-1.0 4,978 131 current flagship
qwen3_5-full-attn-only-14 2,197 0 Gepard's backbone, not a TTS model
kani-tts-2-en 707 184 KaniTTS2, English
kani-tts-2-pt 655 42 KaniTTS2 pretrained base
kani-tts-370m 298 163 KaniTTS, six languages
kani-tts-400m-en 241 39 KaniTTS, English fine-tune
kani-tts-400m-ky 217 5 KaniTTS, Kyrgyz fine-tune

Horizontal bar chart of Hugging Face downloads across the nineninesix model family

The second row is worth explaining, because 2,197 people downloading a backbone is not 2,197 people using a TTS model. qwen3_5-full-attn-only-14 is the full-attention Qwen3.5 variant Gepard is built on. It is published because reproducing our training requires it, not because it does anything on its own.

What do the suffixes mean?#

The naming is systematic once you know the rule, and confusing until you do.

Suffix Meaning
-pt pretrained checkpoint, the base produced by the pretraining stage
-ft fine-tuned checkpoint derived from a -pt base
-en, -de, -ky, -ar, -es, -ko, -zh per-language fine-tune
-MLX, -mlx Apple Silicon port
-mlx-8bit quantised Apple Silicon port

So kani-tts-450m-0.2-pt is a pretrained base at the 450M size, version 0.2, and kani-tts-450m-0.2-ft is what came out of fine-tuning it. If you are looking for something to run rather than something to train from, you want a -ft or a language-suffixed model, not a -pt.

Which licence covers which weights?#

This is the part that costs people time if they get it wrong, so it goes in its own section rather than a footnote.

Model Weights licence Commercial use
Gepard 1.0 Apache 2.0 unrestricted
KaniTTS (all sizes) Liquid AI LFM 1.0 see licence terms
KaniTTS2 Liquid AI LFM 1.0 see licence terms
Diamond 1.0 Apache 2.0 unrestricted

Gepard's audio codec carries its own terms as well: NanoCodec is under the NVIDIA Open Model License Agreement, separate from the Apache 2.0 on our weights.

Important

A repository badge tells you about the code. The weights are a separate artefact and frequently carry a separate licence. Read the licence file on the model, not the badge on the repo. This bit us in our own catalogue and we would rather you did not repeat it.

If your legal review turns on this, the longer piece on open weights against closed vendors works through what Apache 2.0 does and does not grant.

How does Gepard score, including where it loses?#

Measured on the public Seed-TTS-eval set: 1,088 paired prompts, identical UUIDs and texts across every model.

Model WER ↓ SIM ↑ UTMOS ↑ NISQA-MOS ↑ NOI ↑ COL ↑ DIS ↑
VoxCPM2 0.015 0.867 2.42 3.97 3.86 3.96 4.30
Fish-S2 0.016 0.789 2.80 4.18 3.87 4.14 4.44
OmniVoice 0.016 0.848 2.63 4.17 4.14 4.13 4.44
Qwen3-TTS 0.017 0.833 2.87 4.18 3.89 4.14 4.43
Echo-TTS 0.022 0.824 2.60 4.08 3.78 4.07 4.36
Gepard 1.0 0.036 0.585 2.64 4.25 4.16 4.16 4.51
Chatterbox 0.063 0.796 2.70 4.19 4.12 4.12 4.46

Read the row honestly. Gepard leads on every perceived-quality axis: highest naturalness on NISQA-MOS, cleanest on noise, colouration and discontinuity. It is sixth of seven on word error rate and last on speaker similarity by a wide margin, 0.585 against 0.867 for the leader.

That is the trade the streaming-first design bought. If your product needs a cloned voice to be mistakable for the original, SIM 0.585 is a real problem and you should look elsewhere. If it needs a clean, natural voice that starts speaking in 50 milliseconds, the same row reads as a good deal.

Where does Diamond fit?#

It does not, quite. diamond-1.0 is in the same organisation and is not a TTS model at all: it restores degraded speech to 44.1 kHz using an autoregressive RQ-Transformer over Descript Audio Codec tokens. 166.6M parameters, trained from scratch in 63 GPU-hours, Apache 2.0.

Mentioned here only because it shows up in searches next to the speech models and gets mistaken for one.

So which one do I use?#

For anything shipping to users today the answer is Gepard 1.0, and the rest of this list exists because a handful of real cases point elsewhere. All 28 repositories are on the nineninesix Hugging Face organisation.

  • Voice agent, production, English or Spanish or Portuguese or Dutch. Gepard 1.0, either self-hosted or through the hosted API. The API is $5 per million characters.
  • Running locally on a Mac. KaniTTS MLX ports. Gepard's realtime figures assume a CUDA GPU.
  • A language Gepard does not cover. A KaniTTS language fine-tune, or fine-tune Gepard yourself.
  • Training your own from our base. qwen3_5-full-attn-only-14 plus the gepard-train pipeline.
  • Cleaning up bad recordings. Diamond, and it is unrelated to everything above.

Frequently asked questions

What is the difference between KaniTTS and Gepard?
KaniTTS is a two-stage model built on an LFM2 backbone, released in 370M and 400M sizes with per-language fine-tunes. Gepard 1.0 is a 555.7M-parameter model on a Qwen3.5 backbone, designed to be served by stock vLLM, with voice cloning and roughly 50 ms time to first audio. The licences also differ: Kani weights are LFM 1.0, Gepard weights are Apache 2.0.
Which nineninesix model should I use for a voice agent?
Gepard 1.0. It is the only one of the family built for realtime serving under concurrency, it is the one behind the hosted API, and its weights are Apache 2.0 so you can self-host without a licence review.
Are KaniTTS weights Apache 2.0?
No. The KaniTTS weights are released under Liquid AI's LFM 1.0 licence, not Apache 2.0. Only Gepard 1.0 ships Apache 2.0 weights. The distinction is easy to miss because repository code and model weights are often licensed separately.
What do the -pt and -ft suffixes mean on the model names?
-pt marks a pretrained checkpoint, the base produced by the pretraining stage. -ft marks a fine-tuned checkpoint derived from it. A language suffix such as -en, -ky or -de indicates a per-language fine-tune of the same base.
Can I run these models on a Mac?
Some of them. KaniTTS has MLX ports for Apple Silicon, including an 8-bit variant, published alongside an MLX build of the NanoCodec. Gepard's realtime numbers come from the vLLM path and assume a CUDA GPU.
Portrait of Nursultan Bakashov

Nursultan Bakashov

Co-founder, nineninesix.ai

Co-author of the Gepard technical report. Works on real-time speech models and the infrastructure that serves them, and writes about the parts of text-to-speech that only show up in production.

Try it on your own text

Gepard is open source under Apache 2.0 and the hosted API starts free. No card, no sales call.