AIREITER

ZONOS3-Mini Review: Voice Cloning in Your Browser (2026)

Last Updated: 2026-11-10 07:31:03

A Mac mini generated 38.5 seconds of audio in 2.81 seconds, locally, with no cloud bill. That is the claim now attached to Zyphra's ZONOS3-Mini, an 800-million-parameter mixture-of-experts text-to-speech model released November 9, 2026 that keeps only about 100 million parameters active per step. The catch, voiced repeatedly by early testers, is that the demo was in English on strong hardware, and your text, language, and GPU will decide whether you see anything close.

Zyphra ZONOS3-Mini official model page showing API usage and pricing limits

What ZONOS3-Mini is, and every way to run it

ZONOS3-Mini is a zero-shot voice-cloning TTS model from Zyphra: give it text plus a short reference clip and it speaks in that voice, or pick from 27 stock voices and reshape age, accent, and texture. The weights are Apache 2.0 and the runtime code is MIT, so local and commercial reuse is permitted. Only clone voices you own or have permission to use.

Under the hood it is a sparse MoE with 64 experts and top-2 routing, 11 layers in a 3:1 mix of Gated DeltaNet and global attention, and a new Zyphra Audio Codec 1 (ZAC-1) running at 15 frames per second instead of the 86 Hz DAC used by ZONOS2. Zyphra reports that change cuts speech tokens from 774 to 150 per second and, under matched data, yields roughly 10x lower word error rate than DAC.

Key specs: 44.1 kHz output, generations up to 10 minutes, raw-clone references capped at 60 seconds and embedding-clone references at 120 seconds, and training on 112 NVIDIA H100 GPUs for 2.5 days.

Five ways to run it:

  • Browser WebGPU playground with no install
  • Native C++/ggml on CPU, CUDA, Metal, or Vulkan
  • Apple MLX server
  • SGLang or vLLM on NVIDIA servers
  • Zyphra's hosted API at zyphra/zonos3-mini through an OpenAI-compatible /v1/audio/speech endpoint

Vendor latency figures are under 570 ms time-to-first-audio in a Pixel 9 browser and under 150 ms on an M3 MacBook Air, with 57–80 ms median on one H100 via SGLang and up to 457 audio-seconds per second peak throughput. Treat the phone and laptop numbers as best-case. Zyphra's own launch thread quoted the more conservative under 800 ms and under 450 ms for the same devices, so test on your hardware before promising anything.

Two gaps the launch materials leave open: the technical post says 800M total parameters while the model page says 886M, and neither describes watermarking, abuse controls, or data retention for uploaded reference voices.

Start in the browser before you install anything

The browser playground runs inference on your own GPU through WebGPU, with no server and no install step. The part nobody advertises is the first visit: one early tester reported the page fetching about 920 MB of model plus codec before anything generates, after which the browser caches it.

Use the playground as a free first test: try cloning and span-level control, then compare latency on your weakest target device, since WebGPU behavior varies by browser, driver, and GPU.

"Don't cheer 'cloud TTS is dead' every time a small model runs in a browser! WebGPU compatibility across browsers and drivers is full of pitfalls! An English demo looking great says nothing about whether your production text will survive!" — @GKev1n, real user cautioning against replacing hosted TTS on demo evidence alone

If your users are on old phones, integrated graphics, or non-Chromium browsers, do not extrapolate the Pixel 9 figure without testing.

What you get: cloning without a transcript, plus word-level steering

  • Zero-shot cloning: up to 60 seconds of reference audio, no transcript needed; raw-clip mode for the most natural result or a reusable speaker embedding you reshape later.
  • Voice design: age targets, masculine-to-feminine presentation, American, British, and Australian accent steering, and combinable texture settings such as soft, raspy, bright, and deep.
  • Delivery steering: pace, emotion, projection, liveliness, arousal, and whisper, down to word spans — whisper only "I didn't say" while the rest of the sentence stays neutral.
  • Post-generation editing: a VoiceCraft-style model changes words after generation while keeping the voice and settings, so one misread name does not force a full re-render.

Zyphra's own caveat applies throughout: emotion and delivery values are targets, not guarantees, and pace steering can also shift loudness and pitch while liveliness steering can shift pitch and duration.

Published hardware tests: speed, VRAM, and two Windows traps

SetupMeasured resultSource
RTX 5080, quantized ggml (0.66 GB backbone + 0.45 GB decoder)~7.1 s Japanese speech in 0.40 s; 2.4 GB total VRAM — a 0.056 real-time factor, ~18x faster than real timeVRAM16 benchmark
Same rig: 31 s passage; CPU-only 7.2 s clip1.50 s at 2.5 GB on GPU; CPU took 1.45 s of compute (2.38 s launch-to-finish)VRAM16 benchmark
64 GB M5 Pro Mac mini, MLX server38.5 s audio in 2.81 s; 75–100 ms time-to-first-audio; ~16 GB peak at first cloning@pratikg

The GPU result runs about twice as fast as the same benchmark's earlier OmniVoice measurement and far ahead of the 0.63x it measured for VoxCPM2.

Bar chart comparing seconds to generate about 7 seconds of speech across three open TTS models

The full 2.2 GB decoder pushed usage to 4.2 GB with no audible verdict the tester could confirm. Transcriptions via Whisper large-v3 matched the intended Japanese and English text, which proves intelligibility rather than naturalness or similarity to the reference voice.

The fastest local report comes from an Apple Silicon tester on a 64 GB M5 Pro Mac mini using the MLX server:

"BENCHMARKED: ... runs up to 13.7X faster than realtime. This is on my 64GB M5 Pro Mac mini (fully locally using their MLX server): ~75-100 ms Time-to-First-Audio (TTFA) using stock voices. Generated a 38.5 s audio clip in 2.81 s. Cloned a new voice from an 11-13 s audio clip, which then spoke after ~1.3 s. ... WER of 0-4%. Used only a few GB of memory (~16 GB peak for the initial voice cloning)." — @pratikg, real user with published dataset and notes

Note the qualifier buried in that result: initial cloning peaked near 16 GB of memory, while cached clones ran as fast as stock voices. If you plan batch cloning of many speakers, budget for the spike, not the steady state.

Windows source builders hit two traps the VRAM16 tester documented with patches. Microsoft's compiler rejected a struct with a member also named head that GCC and Clang accepted, so build only zonos3-cli, zonos3-server, and spk-encoder-cli with the supplied rename patch. Separately, Japanese Windows passes CLI text as CP932 rather than UTF-8, producing garbage audio until the program re-reads the command line through GetCommandLineW. JSON requests to zonos3-server should already be UTF-8 but were not verified.

Practical setup: use a path without spaces or non-ASCII characters such as C:\zonos3, install Visual Studio 2022 with C++ tooling plus Git and FFmpeg, and expect about five minutes for a clean CUDA setup with roughly 1.2 GB of default weights plus about 2 GB of local CUDA (install notes).

Hosted API math: what $10 per million UTF-8 bytes means

The hosted path is an OpenAI-compatible speech endpoint at https://api.zyphracloud.com/api/v1/audio/speech, called with model zyphra/zonos3-mini and a bearer ZYPHRA_API_KEY. The snippet below starts a local SGLang-Omni server (SGLang cookbook) using the same request shape as the cloud API. That shared shape is the point: prototype against localhost, then swap the base URL to Zyphra Cloud.

sgl-omni serve --model-path Zyphra/ZONOS3-Mini --port 8000

curl -X POST http://localhost:8000/v1/audio/speech \
  -H "Content-Type: application/json" \
  -d '{"input": "Hello from ZONOS3-Mini!"}' \
  --output output.wav

Pricing is byte-based, not per character or per audio minute: $10.00 per 1 million UTF-8 bytes, with 1 concurrent request, 100 generations per day, unlimited input characters, and the 60/120-second clone caps above. For plain English at roughly one byte per character, assuming about 800–900 characters per spoken minute, $10 buys on the order of 1,100–1,250 minutes, under a cent per minute. The same arithmetic punishes CJK text because each character costs about three bytes — roughly 3x per character, so run your own scripts to get a per-minute figure for Chinese, Japanese, or Korean input.

Local or browser inference has near-zero marginal cost after hardware, while the hosted tier suits prototyping and bursts but cannot carry production scale at one concurrent request and 100 generations a day. Teams needing throughput should price a self-hosted SGLang or vLLM deployment instead of extrapolating the $10 figure.

Against ElevenLabs, Fish, Qwen, and the #1 badge

Zyphra's pages compare ZONOS3-Mini against Fish Audio, Qwen, Cartesia, ElevenLabs, and OmniVoice across three scripts: a dramatic trailer monologue, a long comedic "straight to jail" passage testing consistency, and a conversational podcast-style passage. There is also a Pareto chart of latency versus throughput. Listen to those samples yourself. The pages provide players but no written winner, no competitor model versions, no seeds, and no matched-settings statement.

The numerical ranking deserves the same treatment. Zyphra's ZTTS2-Eval covers 35 clean languages and 20 in-the-wild languages across 420 metric-by-set-by-language items, and its Capability Index puts ZONOS3-Mini first among open models ahead of Fish S2 Pro and MOSS TTS v1.5. That is the vendor grading its own homework with a new test it designed. The method is public, but this review found no independent reproduction at publication time, and closed-model comparisons are audio-only with no shared score.

Because Zyphra provides no per-language scores or independent listening wins, Mandarin tone accuracy, Japanese pitch accent, polyphonic characters, and long-form emotion remain unproven. Test them before committing. The honest read is that ZONOS3-Mini leads on efficiency and deployment flexibility while quality leadership is unproven.

Who should switch now

TeamVerdictWhy
Offline, on-device, or privacy-sensitive (games, readers, kiosks)Test nowApache 2.0, 1.2 GB default download, 2.4 GB VRAM, CPU-viable, no per-minute meter
Audiobook or NPC pipeline needing many voicesPilotWord-level steering plus post-generation editing cuts re-render cost, but verify cloning similarity per speaker
Non-English, especially Chinese productionWait for your own evalNo per-language vendor scores; word-error and prosody claims are English-leaning until you test polyphones and tones
High-concurrency hosted TTSSelf-host or stayCloud tier caps at 1 concurrent request and 100 generations/day; SGLang/vLLM is the real production path
Teams needing watermarking or audit trailHoldRelease materials describe no watermarking or retention policy for reference clips

Test in this order — browser playground, weakest-device local build, then hosted API — and switch only if your hardware clears the 2.4 GB VRAM and WebGPU bars and your language passes blind listening; otherwise keep your closed API and revisit after independent multilingual benchmarks land.

FAQ

How much VRAM does ZONOS3-Mini need?

About 2.4–2.5 GB total on the tested RTX 5080 setup (full decoder: 4.2 GB; initial Mac cloning spike: ~16 GB).

Can it run in a browser or on CPU?

Yes: WebGPU with a ~920 MB first-visit download, and CPU-only synthesis took about one-third of real time including launch in the one published test.

How good is voice cloning?

Zero-shot from up to 60 seconds without a transcript; one independent test reported 0–4% word error, but per-speaker similarity needs your own listening test.

Is it commercially usable?

Weights are Apache 2.0 and code is MIT, but you need rights or consent for any cloned voice.

What is the API endpoint and cost?

OpenAI-compatible POST https://api.zyphracloud.com/api/v1/audio/speech with model zyphra/zonos3-mini at $10 per million UTF-8 bytes (1 concurrent request, 100/day).

Related reading: Best Text-to-Speech API, Best Voice Cloning API 2026, Kokoro 82M TTS Local Guide