10/11/2026

10/11/2026

10/11/2026

Introducing NeuTTS-Max

Introducing NeuTTS-Max

Introducing NeuTTS-Max

Waveform of the sentence "Low latency speech with precise control." split into word-level timestamps, with speech starting at 0 ms and the first word, "Low", lasting 0.24 s.
Waveform of the sentence "Low latency speech with precise control." split into word-level timestamps, with speech starting at 0 ms and the first word, "Low", lasting 0.24 s.

Illustration of word-level timestamps: each word comes back with its start time and duration, and speech begins at 0 ms.

Illustration of word-level timestamps: each word comes back with its start time and duration, and speech begins at 0 ms.

NeuTTS-Max is our most capable text-to-speech model, built for low-latency, real-time voice agents. It covers 44 languages and multiple dialects, with word-level timestamps, IPA pronunciation control in 10 languages, and context-aware formatting of phone numbers and addresses.


It is efficient enough to run locally on a laptop, and still benefits from parallel processing on a GPU.


In our own test on 12 October 2026, measured from London to each provider’s European endpoint, NeuTTS-Max reached first audible speech in a median 83 ms, with a p90 of 95 ms. ElevenLabs took 143 ms and Cartesia 231.5 ms at the median.

NeuTTS-Max is our most capable text-to-speech model, built for low-latency, real-time voice agents. It covers 44 languages and multiple dialects, with word-level timestamps, IPA pronunciation control in 10 languages, and context-aware formatting of phone numbers and addresses.


It is efficient enough to run locally on a laptop, and still benefits from parallel processing on a GPU.


In our own test on 12 October 2026, measured from London to each provider’s European endpoint, NeuTTS-Max reached first audible speech in a median 83 ms, with a p90 of 95 ms. ElevenLabs took 143 ms and Cartesia 231.5 ms at the median.

How we built NeuTTS-Max

How we built NeuTTS-Max

Our models are composed of an LLM backbone (think text in, tokens out), and an audio codec (tokens in, audio, wav out).


We’re able to build more efficient models as we compress audio more efficiently, allowing smaller models to characterise this representation more easily. We built Neucodec, and continue to build on it, thanks to its single codebook efficiency and low frame rate, so the focus of this release was to optimise the backbone for improved features and performance.


The starting point for the backbone is to take advantage of well trained foundational models, like Qwen or Llama. These are then augmented to learn how to take in text, and output audio. The training procedure we rebuilt for this release involved rearchitecting what it meant to have a “unit”. Conventional models treat sentences or the text you input as a “unit” => thereby generating everything at once.


Try NeuTTS-Max on our playground or via API.

Follow the docs to learn more about integrating NeuTTS into your application.

Our models are composed of an LLM backbone (think text in, tokens out), and an audio codec (tokens in, audio, wav out).


We’re able to build more efficient models as we compress audio more efficiently, allowing smaller models to characterise this representation more easily. We built Neucodec, and continue to build on it, thanks to its single codebook efficiency and low frame rate, so the focus of this release was to optimise the backbone for improved features and performance.


The starting point for the backbone is to take advantage of well trained foundational models, like Qwen or Llama. These are then augmented to learn how to take in text, and output audio. The training procedure we rebuilt for this release involved rearchitecting what it meant to have a “unit”. Conventional models treat sentences or the text you input as a “unit” => thereby generating everything at once.


Try NeuTTS-Max on our playground or via API.

Follow the docs to learn more about integrating NeuTTS into your application.

Where can I deploy NeuTTS-Max?

Where can I deploy NeuTTS-Max?

NeuTTS-Max runs in Neuphonic's cloud, on-prem, and on-device. For on-prem deployment, it runs on your own servers or private cloud, including sovereign, isolated and air-gapped set-ups.

NeuTTS-Max runs in Neuphonic's cloud, on-prem, and on-device. For on-prem deployment, it runs on your own servers or private cloud, including sovereign, isolated and air-gapped set-ups.

How fast is NeuTTS-Max?

How fast is NeuTTS-Max?

In Neuphonic's test on 12 October 2026, NeuTTS-Max reached first audible speech in a median 83 ms and a p90 of 95 ms. 95% of its requests reached speech in under 100 ms; none of ElevenLabs' or Cartesia's did. These are Neuphonic's own measurements.

In Neuphonic's test on 12 October 2026, NeuTTS-Max reached first audible speech in a median 83 ms and a p90 of 95 ms. 95% of its requests reached speech in under 100 ms; none of ElevenLabs' or Cartesia's did. These are Neuphonic's own measurements.

Provider
Model tested
p50
p90
p95
Requests under 100 ms
Source / date
NeuphonicNeuTTS-Max83 ms95 ms99 ms95.4%Neuphonic's test, 12 Oct 2026 (UTC)
ElevenLabsTurbo v2.5143 ms267.9 ms284.9 ms0%Neuphonic's test, 12 Oct 2026 (UTC)
CartesiaSonic 3.5231.5 ms284.8 ms316.8 ms0%Neuphonic's test, 12 Oct 2026 (UTC)
Provider
Model tested
p50
p90
p95
Requests under 100 ms
Source / date
NeuphonicNeuTTS-Max83 ms95 ms99 ms95.4%Neuphonic's test, 12 Oct 2026 (UTC)
ElevenLabsTurbo v2.5143 ms267.9 ms284.9 ms0%Neuphonic's test, 12 Oct 2026 (UTC)
CartesiaSonic 3.5231.5 ms284.8 ms316.8 ms0%Neuphonic's test, 12 Oct 2026 (UTC)

Time to speech here means first byte plus any leading silence, measured from a London client, so it includes the network round trip. Each provider served 432 requests that day, with none failing. We sent 3 requests per provider every 10 minutes from London throughout the day.


The p90 matters for voice agents. A median describes a typical turn, but callers notice the slow ones. One turn in ten took longer than 95 ms on NeuTTS-Max, against over 265 ms on ElevenLabs and Cartesia.

Time to speech here means first byte plus any leading silence, measured from a London client, so it includes the network round trip. Each provider served 432 requests that day, with none failing. We sent 3 requests per provider every 10 minutes from London throughout the day.


The p90 matters for voice agents. A median describes a typical turn, but callers notice the slow ones. One turn in ten took longer than 95 ms on NeuTTS-Max, against over 265 ms on ElevenLabs and Cartesia.

What does 0 ms median leading silence mean?

What does 0 ms median leading silence mean?

What does 0 ms median leading silence mean?

Many TTS APIs send their first audio bytes quickly, but those bytes are silent. The listener still waits for the first word. In Neuphonic's test, NeuTTS-Max had a median leading silence of 0 ms, and 83% of its responses started with speech straight away. ElevenLabs had a median of 30 ms of leading silence and Cartesia 120 ms. Cartesia's first byte arrived in a median 105 ms, but its first audible speech came at 231.5 ms.


This matters most in voice agents. Every millisecond of silence after a user stops talking adds to the gap before the agent answers. Leading silence is easy to miss in a benchmark that only times the first byte, which is why we count it.

Many TTS APIs send their first audio bytes quickly, but those bytes are silent. The listener still waits for the first word. In Neuphonic's test, NeuTTS-Max had a median leading silence of 0 ms, and 83% of its responses started with speech straight away. ElevenLabs had a median of 30 ms of leading silence and Cartesia 120 ms. Cartesia's first byte arrived in a median 105 ms, but its first audible speech came at 231.5 ms.


This matters most in voice agents. Every millisecond of silence after a user stops talking adds to the gap before the agent answers. Leading silence is easy to miss in a benchmark that only times the first byte, which is why we count it.

What does time to speech count?

What does time to speech count?

Time to speech = time to first byte + leading silence. The first part is how long the server takes to start sending audio. The second is how much of that early audio is silence before the first word. Counting both gives the delay a listener actually hears.

Time to speech = time to first byte + leading silence. The first part is how long the server takes to start sending audio. The second is how much of that early audio is silence before the first word. Counting both gives the delay a listener actually hears.

How do I fix how a word is pronounced?

How do I fix how a word is pronounced?

Put the word's IPA spelling in a <phoneme:…> tag where the word would go. Only the tagged word changes; the rest of the sentence is spoken as normal. The pronunciation tool in the Neuphonic dashboard gives you the IPA for a word.


Please welcome <phoneme:ˈdeɪtə>, our guest.

Bare, /slashed/ or [bracketed] IPA all work, and ˈ marks the stressed syllable. IPA control works in 10 languages: English, German, Dutch, French, Italian, Spanish, Portuguese, Russian, Hindi and Korean. Use the phonemes of the language you are synthesising, or the request is rejected. For Castilian Spanish or Brazilian Portuguese, set ipa_key to es-castilian or pt-br.


This is useful for brand names, surnames and medical or product terms that a model would otherwise guess.

Put the word's IPA spelling in a <phoneme:…> tag where the word would go. Only the tagged word changes; the rest of the sentence is spoken as normal. The pronunciation tool in the Neuphonic dashboard gives you the IPA for a word.


Please welcome <phoneme:ˈdeɪtə>, our guest.

Bare, /slashed/ or [bracketed] IPA all work, and ˈ marks the stressed syllable. IPA control works in 10 languages: English, German, Dutch, French, Italian, Spanish, Portuguese, Russian, Hindi and Korean. Use the phonemes of the language you are synthesising, or the request is rejected. For Castilian Spanish or Brazilian Portuguese, set ipa_key to es-castilian or pt-br.


This is useful for brand names, surnames and medical or product terms that a model would otherwise guess.

Can I get word-level timestamps?

Can I get word-level timestamps?

Yes. Set timestamps=true and each message carries an alignment object with every word's start time, duration and character offsets in your original text (word timings docs). Use them for captions, lip-sync, highlighting text as it is read, or knowing exactly where a user interrupted the agent.

Yes. Set timestamps=true and each message carries an alignment object with every word's start time, duration and character offsets in your original text (word timings docs). Use them for captions, lip-sync, highlighting text as it is read, or knowing exactly where a user interrupted the agent.

json
"alignment": {
"units": ["Your"],
"unitStartTimesMs": [0],
"unitDurationsMs": [208],
"charStartOffsets": [0],
"charEndOffsets": [4]
}
json
"alignment": {
"units": ["Your"],
"unitStartTimesMs": [0],
"unitDurationsMs": [208],
"charStartOffsets": [0],
"charEndOffsets": [4]
}

Offsets point at the text you sent, so "$42" comes back as one entry covering its whole read-out. For scripts written without spaces, such as Japanese, Chinese and Thai, a "word" is the smaller unit natural to that script.

Offsets point at the text you sent, so "$42" comes back as one entry covering its whole read-out. For scripts written without spaces, such as Japanese, Chinese and Thai, a "word" is the smaller unit natural to that script.

How do I add a pause?

How do I add a pause?

Add <pause:500ms> or <pause:2s> anywhere in your text, or use SSML's <break time="500ms"/> (inline pauses doc).

Add <pause:500ms> or <pause:2s> anywhere in your text, or use SSML's <break time="500ms"/> (inline pauses doc).

Can I clone a voice with NeuTTS-Max?

Can I clone a voice with NeuTTS-Max?

Yes. Send a short audio sample to POST /voices and the API returns a new voice_id you can use like any standard voice. Cloning is available for all supported languages (voice cloning docs).


Neuphonic transcribes your sample and aligns the transcript with the audio before it creates the voice. If the sample cannot be aligned, for example because it is mostly noise or music, the API rejects it with a 400 error. That check stops poor samples from producing poor voices. Use a clean recording of 3 to 10 seconds of natural speech.


In the Python SDK, cloning is one call:

Yes. Send a short audio sample to POST /voices and the API returns a new voice_id you can use like any standard voice. Cloning is available for all supported languages (voice cloning docs).


Neuphonic transcribes your sample and aligns the transcript with the audio before it creates the voice. If the sample cannot be aligned, for example because it is mostly noise or music, the API rejects it with a 400 error. That check stops poor samples from producing poor voices. Use a clean recording of 3 to 10 seconds of natural speech.


In the Python SDK, cloning is one call:

clone_voice.py
from pyneuphonic import Neuphonic
import os
client = Neuphonic(api_key=os.environ["NEUPHONIC_API_KEY"])
response = client.voices.clone(
voice_name="support-agent",
voice_file_path="sample.wav",
)
print(response.data) # includes the new voice_id
clone_voice.py
from pyneuphonic import Neuphonic
import os
client = Neuphonic(api_key=os.environ["NEUPHONIC_API_KEY"])
response = client.voices.clone(
voice_name="support-agent",
voice_file_path="sample.wav",
)
print(response.data) # includes the new voice_id

Only clone voices you have permission to use. (Acceptable-use policy)

Only clone voices you have permission to use. (Acceptable-use policy)

Which languages does NeuTTS-Max support?

Which languages does NeuTTS-Max support?

NeuTTS-Max supports 44 languages, listed on the Neuphonic languages page. Several come with regional accents, so a contact centre can match the caller's region.


• English: US and UK.

• Spanish: Castilian, Argentinian, Mexican, Colombian, Peruvian and Venezuelan.

• Portuguese: Brazilian and European.

• Arabic: Modern Standard Arabic, Maghrebi and Saudi.

• Also listed: German, Polish, Japanese, Korean, Chinese, Hindi, Thai, Turkish, Urdu and Vietnamese, among others.

NeuTTS-Max supports 44 languages, listed on the Neuphonic languages page. Several come with regional accents, so a contact centre can match the caller's region.


• English: US and UK.

• Spanish: Castilian, Argentinian, Mexican, Colombian, Peruvian and Venezuelan.

• Portuguese: Brazilian and European.

• Arabic: Modern Standard Arabic, Maghrebi and Saudi.

• Also listed: German, Polish, Japanese, Korean, Chinese, Hindi, Thai, Turkish, Urdu and Vietnamese, among others.

How do I try NeuTTS-Max?

How do I try NeuTTS-Max?

Get an API key, install the Python SDK and send your first request. It takes a few minutes.

Get an API key, install the Python SDK and send your first request. It takes a few minutes.

Get a key and install the SDK

Create an API key in the Neuphonic playground, then install the SDK:

Get a key and install the SDK

Create an API key in the Neuphonic playground, then install the SDK:

bash
pip install pyneuphonic
export NEUPHONIC_API_KEY=<your key>
bash
pip install pyneuphonic
export NEUPHONIC_API_KEY=<your key>

Send your first request

This sample streams speech over SSE and saves it to a WAV file. It uses Paul, the default English voice; client.voices.list() shows every voice and its language. For a live agent that speaks many turns, use the websocket client and keep one connection open per call.

Send your first request

This sample streams speech over SSE and saves it to a WAV file. It uses Paul, the default English voice; client.voices.list() shows every voice and its language. For a live agent that speaks many turns, use the websocket client and keep one connection open per call.

quickstart.py
from pyneuphonic import Neuphonic, TTSConfig, save_audio
import os
client = Neuphonic(api_key=os.environ["NEUPHONIC_API_KEY"])
sse = client.tts.SSEClient()
tts_config = TTSConfig(
lang_code="en",
voice_id="59f9cb97-c00f-44c5-ad52-f43b52ae8378", # Paul, default English voice
sampling_rate=24000,
)
response = sse.send("Your order ships on Tuesday.", tts_config=tts_config)
save_audio(response, "output.wav")
quickstart.py
from pyneuphonic import Neuphonic, TTSConfig, save_audio
import os
client = Neuphonic(api_key=os.environ["NEUPHONIC_API_KEY"])
sse = client.tts.SSEClient()
tts_config = TTSConfig(
lang_code="en",
voice_id="59f9cb97-c00f-44c5-ad52-f43b52ae8378", # Paul, default English voice
sampling_rate=24000,
)
response = sse.send("Your order ships on Tuesday.", tts_config=tts_config)
save_audio(response, "output.wav")

Tested against the live API on 10 November 2026.

Tested against the live API on 10 November 2026.

Does NeuTTS-Max work with LiveKit, Pipecat and Twilio?

Yes. Neuphonic documents integrations with LiveKit, Pipecat, Twilio and VideoSDK. For phone calls, request 8 kHz pcm_mulaw output so the audio needs no resampling before it reaches the carrier.

Does NeuTTS-Max work with LiveKit, Pipecat and Twilio?

Yes. Neuphonic documents integrations with LiveKit, Pipecat, Twilio and VideoSDK. For phone calls, request 8 kHz pcm_mulaw output so the audio needs no resampling before it reaches the carrier.

#neuttsmax

#neuttsmax

#neuttsmax

#texttospeech

#texttospeech

#texttospeech

#voiceAI

#voiceAI

#voiceAI

FAQ

Everything you need to know about NeuTTS-Max.

NeuTTS-Max is Neuphonic’s most capable text-to-speech model. Built for real-time voice agents and supports voice cloning, IPA pronunciation control, word timestamps and context-aware formatting in 44 languages.

In Neuphonic's test on 12 October 2026, NeuTTS-Max reached first audible speech in a median 83 ms and a p90 of 95 ms, measured from London to Neuphonic's European deployment. In the same test, ElevenLabs' median was 143 ms and Cartesia's 231.5 ms.

In Neuphonic's test on 12 October 2026, NeuTTS-Max had a median leading silence of 0 ms, and 83% of its responses started with speech straight away.

Neuphonic sent 3 requests per provider every 10 minutes from London throughout 12 October 2026, 432 per provider, and timed each one to the first audible speech (first byte plus leading silence). The latency methodology page gives the full method, and our open benchmark script lets you test latency from your own location.

Yes. Put the word's IPA spelling in a <phoneme:...> tag where the word would go, for example <phoneme:ˈdeɪtə>. This works in 10 languages, including English, German, Spanish and Portuguese.

Yes. Set timestamps=true and each message carries an alignment object with every word's start time, duration and character offsets.

Yes. Send a 3 to 10 second sample to POST /voices to create a cloned voice; cloning works in all 44 supported languages. Samples that cannot be aligned with their transcript are rejected with a 400 error.

Yes. NeuTTS-Max runs on-prem on your own servers or private cloud, including air-gapped set-ups.

FAQ

Everything you need to know about NeuTTS-Max.

NeuTTS-Max is Neuphonic’s most capable text-to-speech model. Built for real-time voice agents and supports voice cloning, IPA pronunciation control, word timestamps and context-aware formatting in 44 languages.

In Neuphonic's test on 12 October 2026, NeuTTS-Max reached first audible speech in a median 83 ms and a p90 of 95 ms, measured from London to Neuphonic's European deployment. In the same test, ElevenLabs' median was 143 ms and Cartesia's 231.5 ms.

In Neuphonic's test on 12 October 2026, NeuTTS-Max had a median leading silence of 0 ms, and 83% of its responses started with speech straight away.

Neuphonic sent 3 requests per provider every 10 minutes from London throughout 12 October 2026, 432 per provider, and timed each one to the first audible speech (first byte plus leading silence). The latency methodology page gives the full method, and our open benchmark script lets you test latency from your own location.

Yes. Put the word's IPA spelling in a <phoneme:...> tag where the word would go, for example <phoneme:ˈdeɪtə>. This works in 10 languages, including English, German, Spanish and Portuguese.

Yes. Set timestamps=true and each message carries an alignment object with every word's start time, duration and character offsets.

Yes. Send a 3 to 10 second sample to POST /voices to create a cloned voice; cloning works in all 44 supported languages. Samples that cannot be aligned with their transcript are rejected with a 400 error.

Yes. NeuTTS-Max runs on-prem on your own servers or private cloud, including air-gapped set-ups.

FAQ

Everything you need to know about NeuTTS-Max.

NeuTTS-Max is Neuphonic’s most capable text-to-speech model. Built for real-time voice agents and supports voice cloning, IPA pronunciation control, word timestamps and context-aware formatting in 44 languages.

In Neuphonic's test on 12 October 2026, NeuTTS-Max reached first audible speech in a median 83 ms and a p90 of 95 ms, measured from London to Neuphonic's European deployment. In the same test, ElevenLabs' median was 143 ms and Cartesia's 231.5 ms.

In Neuphonic's test on 12 October 2026, NeuTTS-Max had a median leading silence of 0 ms, and 83% of its responses started with speech straight away.

Neuphonic sent 3 requests per provider every 10 minutes from London throughout 12 October 2026, 432 per provider, and timed each one to the first audible speech (first byte plus leading silence). The latency methodology page gives the full method, and our open benchmark script lets you test latency from your own location.

Yes. Put the word's IPA spelling in a <phoneme:...> tag where the word would go, for example <phoneme:ˈdeɪtə>. This works in 10 languages, including English, German, Spanish and Portuguese.

Yes. Set timestamps=true and each message carries an alignment object with every word's start time, duration and character offsets.

Yes. Send a 3 to 10 second sample to POST /voices to create a cloned voice; cloning works in all 44 supported languages. Samples that cannot be aligned with their transcript are rejected with a 400 error.

Yes. NeuTTS-Max runs on-prem on your own servers or private cloud, including air-gapped set-ups.

Bring Neuphonic into your product.

Building something with voice AI? Talk to us about your use case,

deployment requirements, and how Neuphonic can fit into your stack.

Building something with voice AI? Talk to us about your use case,

deployment requirements, and how Neuphonic can fit into your stack.