Model reference · open weights
vui is an open-weight audio or speech model from fluxions. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.
Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.
What it is
| Released by | fluxions |
|---|---|
| Type | Audio & music |
| Task | Text→speech |
| Runs with | vui |
| Released | 2025-06-05 |
| Popularity | 571 downloads / month |
| Licence | Open weights |
About
👉 Full code, install, docs, and the streaming voice assistant: github.com/fluxions-ai/vui
📖 Launch blog post — design notes, demos, and what's next.
Vui Nano is a small, context-aware text-to-speech model trained on real conversations: 219M active parameters (305M total), Apache 2.0, with voice cloning, real-time streaming, and a dependency-free C build that runs on CPU.
Most TTS models synthesise one utterance in isolation. Vui Nano generates each reply inside the conversation: the whole dialogue so far — your text and the actual audio of your turn — lives in the KV cache it decodes from, across a ~6-minute context. It was trained on two-speaker dialogue with an explicit speaker-change token, so it carries prosody across turns and produces the things real speech has and read-aloud corpora don't: breaths, laughter, hesitations, and overlap.
The handful of other open models that condition on dialogue acoustics this way are an order of magnitude larger and GPU-only. Vui Nano does it at 219M active parameters, and the C build runs it on a CPU with no Python, PyTorch, or ONNX at runtime.
It ships inside Vui, a real-time voice assistant: speak into your mic, the model transcribes, runs a local LLM, and streams a TTS reply back — all from a single Python server.
ws://…/v1/realtime for clients written against OpenAI's spec (docs/realtime-api.md)POST /v1/voice-note runs the whole ASR → LLM → TTS pipeline in a single HTTP call (audio in, JSON out)demo.py Gradio playground for the model on its ownmaeve, abraham, rhian, harry)openai realtime provider at Vui for a fully-local voice front-endcurl -fsSL https://install.fluxions.ai | bash
Clones into ~/vui, auto-detects Docker vs. native, installs deps (uv, Ollama, ffmpeg, Claude Code CLI), pulls the Ollama LLM, and launches the stack on .
Full Docker compose / native install, mobile setup, configuration, ASR options, and the Claude task server — all in the GitHub README.
git clone https://github.com/fluxions-ai/vui
cd vui
uv sync
python demo.py # Gradio UI — upload your own voice prompt
python demo.py --render --prompt prompts/abraham.wav # CLI render with a preset voice
The Vui checkpoint and Qwen codec download automatically from this repo on first run.
| Voice | Description |
|---|---|
maeve | Recommended Default — Female Irish accent, beautiful but may be hard for non-UK listeners |
abraham | British, well-spoken, exciting energy and personality — conscientious, good at emotionally difficult subjects |
rhian | More traditional British accent, slightly hesitant speaking style |
harry | British male accent, mumbly |
More personalities coming soon! Got a voice or character you'd like to hear? Open an issue or let us know on Discord.
from vui.engine import Engine, GenConfig
engine = Engine() # vui-nano-1.1 by default; Engine("vui-190k") / Engine("vui-nano") for the others
with engine.new_row() as row:
codes, audio = row.render( # render() returns (codes (T,Q), audio (1,1,S))
"So [breath] the thing about this is, it's not what you'd expect, right?",
GenConfig(temperature=0.7),
)
Cloning is a prefill: hand the model Segment(text, codes) — a reference transcript plus its encoded audio — and everything rendered afterwards follows that speaker.
import torch
from julius.resample import resample_frac
from torchcodec.decoders import AudioDecoder
from torchcodec.encoders import AudioEncoder
from vui.engine import Engine, GeFrom the published model card. Full card on the HuggingFace links in the sidebar.
Using it via the API
Once AxForge deploys vui for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (vui below is illustrative; you get the exact model name on deployment.)
$ curl -sS https://api.axforge.ai/v1/audio/transcriptions \ -H "Authorization: Bearer $AXFORGE_API_KEY" \ -F model="vui" -F file=@audio.mp3
Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.